Login
Задачи для начинающих
5160 просмотров
Перейти к просмотру всей ветки
in Antwort AlexNek 29.01.21 14:17
Я спрашивал, где это в задании?Я спрашивал, где это в задании?
Задание толком не написано, решил действовать сам, и сам всё делать (придумывать концепцию, до имплементации кода). Ну вот чтобы кота за хвост не тянуть, решил перейти из теории в практику... Значит, сделал как написано было в "учебнике", для начинающего электронщика, точнее это https://images-na.ssl-images-amazon.com/images/I/61xObTMZJ...:
Собрал как написано было в книжке, на шину посадил термистор и резистор, но забыл откалибровать, т.е. покрутить переменный резистор (слева):
В итоге показывает неправильно температуру.
Показывает -26°C, хотя в квартире как минимум +25°C градусов есть.
Когда закрываю рукой, хотя она тёплая +36°C, программа почему-то показывает -40°C.
Вот код измерения температуры с формулой:
Private Sub Timer2_Timer() . ' Die Timer2-Routine zwei wurde am Ende wie folgt erweitert ' um den NTC-Widerstand und die Temperatur zu ermitteln Dim U_mess_1000 As Single Dim R_NTC As Single ' OP hat zweifache Verstärkung! U_mess_1000 = (il × 2.5 / Val(Me.lb_2_5_Volt.Text)) / 2 ' Widerstand nach Masse = 1000 Ohm, Spannung daran ist U_mess_1000 ' U_mess_1000/1000 = U_NTC/R_NTC ' U_NTC = 5 Volt -U_mess_1000 ' R_NTC = U_NTC/U_mess_1000 × 10000 = ' R_NTC = (5 V-U_mess_1000) /U_mess_1000 × 1000 R_NTC = 1000 × (5 –U_mess_1000) / U_mess_1000 ' Anzeige des NTC Widerstands in kOhm Me.lb_R_NTC.Caption = Format(R_NTC / 1000, "0.0") & " K" ' Werte aus Tabelle B Wert und R25 Wert ' und in Temperatur umrechnen Me.lb_temp.Caption = _ Format(1 / (Log(R_NTC / 4472) / 3977 + 1 / 298) –273, "0") & "°C" CloseHandle: If FT_Close(lngHandle) <> FT_OK Then LoggerList.AddItem "Fehler bei Aufruf: FT_Close" Exit Sub Else End If . End Sub
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение