Hallo,
das Thema ist nicht neu, "wie messe ich die Temeperatur mit einem KTY81-220?"
Es wurde zwar schon sehr oft hier im Forum behandelt. So ganz schlau bin ich allerdings nicht daraus geworden.
Es geht darum:
Zunächst wird die Spannung, die über den Spannungsteiler am Eingangsport ankommt mit einem Wert multipliziert werden. Wie ermittle ich diesen Wert?
Dann wird ein Referenzwert davon abgezogen. In allen Beispielen die ich gefunden haben wird hier der selebe Wert beschrieben.
Woher kommt der Wert von 1.1593?
Um die Spannungsänderung, z.B. 1V = 1Krad, anzupassen wird hier durch 0.0077125 geteilt. Wo kommt dieser Wert her?
Bei mir kommt mit diesen Werten, bei 0 Krad eine Anzeige von -10 Krad und bei einer Außentemp von 36 Krad eine Anzeige von 14,6Krad.
Wie nehme ich hier einen Abgleich vor?
Code:
'*******************************************************************************
'Temperaturmessung mit einem KTY 81-220
'*******************************************************************************
$regfile = "m32def.dat"
$crystal = 7372800
$baud = 9600
Dim W As Word
Dim V_alt As Single
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Const Refer = 1.1593
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5
Config Lcdmode = Port
Config Lcdbus = 4 '4 bit mode
Config Lcd = 16 * 2 'LCD-Display mit 16 Zeichen in 2 Zeilen verwendet
Initlcd
Wait 1
Start Adc
Cursor Off Noblink
Cls
'*******************************************************************************
Do
Gosub Temperatur
Loop
'*******************************************************************************
Temperatur:
'Anschluss Spannungsteiler +5V---R2,7K---|---KTY81-220---GND
' ADC7
'AGND - GND
'AVCC - +5V
'AVREF - +5V
W = Getadc(7)
Waitms 200
V_alt = W * 0.0025
V_alt = V_alt - Refer
V_alt = V_alt / 0.0077125
Locate 1 , 8
Lcd Fusing(v_alt , "#.#") ; Chr(4) ; "C" '
Return
Lesezeichen