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