-         

Ergebnis 1 bis 5 von 5

Thema: Temperaturmessung mit einem KTY81-220

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    44
    Beiträge
    180

    Temperaturmessung mit einem KTY81-220

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    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

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Hmmm.. das ist einfach ´n bisschen Mathe.

    Am einfachsten ist es, wenn Du mal ein Blatt Milimeterpapier nimmst und ein Koordinatensystem draufmalst. X-Achse = Temperatur, Y-Achse = GetADC-Wert. Dann misst Du bei ein paar beliebigen Temperaturen innerhalb des Messbereiches die GetADC-Werte, trägst die Punkte in das Koordinatensystem ein und verbindest sie mit ´ner Linie.

    Weil der ADC-Wert von 0 Grad nicht 0 sein wird, musst Du genau diesen Wert als erstes abziehen - dann ist 0 Grad schon mal 0.

    Als nächstes rechnest Du aus, wieviele ADC-Einheiten einem Grad entsprechen (d.h. also wie "steil" die Gerade ist). Das kannst Du machen, indem Du Dir die Wertepaare von zwei beliebigen Punkten auf der Gerade nimmst.

    Und durch diese (konstante) Zahl teilst Du dann den GetADC-Wert (nachdem Du die erste Konstante abgezogen hast) - fertig.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    44
    Beiträge
    180
    super, das werde ich gleich mal versuchen!

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2006
    Ort
    Nidda
    Alter
    44
    Beiträge
    180
    jetzt fehlt mir aber doch noch ein Wert?!
    Wie kommt es zu dem Multiplikator ( V_alt = W * 0.0025 ) bzw. welche Rolle spielt er überhaupt?

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Poste doch einfach mal ein paar Werte-Paare - am konkreten Beispiel geht das immer viel besser!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •