- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Temperatur mit NTC oder PTC messen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2009
    Beiträge
    22

    Temperatur mit NTC oder PTC messen

    Anzeige

    Praxistest und DIY Projekte
    Hallo

    Möchte Temperatur von etwa -15 bis 120 Grad, mit einen NTC oder PTC messen. Hat das schon jemand gemacht?
    Den DS18xx möchte ich nicht benutzen weil ich es an einen Motor befestigen muss und dafür gibt es NTC und PTC die man einfach mit eine Schraube befestigen kann.

    Danke für jede Hilfe, Beispiel code wäre sehr hilfreich

    Gruss
    Pinto

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Im Prinzip nimmst du einen ADC Kanal und hängst da den NTC/PTC dran.
    Code ist dann quasi das ADC-Sample aus der Anleitung plus ein wenig Rumrechnen abhängig von deinem NTC/PTC.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Oder genauer:

    Du baust dir aus einem möglichst Temperaturstabilen Widerstand und dem NTC/PTC einen Spannungsteiler und misst die Spannung die an einem der beiden Widerstände abfällt.
    Das Messen erledigst du, wie oben bereits gesagt, mit Hilfe des ADCs.

    Sieht dann so aus:
    Bild hier  
    R1 ist der festwiderstand und R2 natürlich der NTC/PTC.

    Wegen dem Programm, schau mal hier: https://www.roboternetz.de/wissen/index.php/ADC_(Avr)
    Code:
    Config Adc = Single , Prescaler = Auto , Reference = [wenn du AVCC auf VCC gelegt hast] AVCC
    Start Adc
    Dim W As Word , Channel As Byte
    Channel = 0
    
    
    Do
      W = Getadc(channel)                'Womit "W" jetzt der Wert des ADCs zwischen 0 und 1023 wäre
    '...
    Loop
    End

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Referenzspannung für den AD erzeugt man sich am besten durch einen Spannungsteiler aus der Versorgungsspannung.

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    44
    Beiträge
    642
    Prinzipiell kann man mit NTC / PTC Temperaturen messen, aber leider
    haben diese Teile eine sehr "krumme" Kennlinie die man mittels Software
    "begradigen" muss. Wenn du noch nicht so viel Programmiererfahrung hast
    würde ich die eher einen LM335 empfehlen. Den kann man zwar nicht einschrauben aber der hat eine lineare Kennlinie und ist mit dem ADC einfacher auszuwerten.

    Gruß

    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die NTC haben in der Regel eine sehr steile, aber nichtlineare Kennlinie. Die PTCs haben oft eine ziehmlich linieare Kennlinie, wenn man den passenden Widerstand dazu nimmt (z.B. KTY81 + 2,7 Kohm).

    Eine andere alternative mit recht linearer Kennlinie (ca. -2 mV/K) hat ein Diode bzw. ein als Diode geschalteter Transistor. Die Transistoren im TO126 Gehäuse lassen sich auch gut anschrauben.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Da muss ich Neutro Recht geben! Hab das auch schon probiert, Temperaturen mit einem PTC messen - werde ich nie wieder!

    Wegen diesen Kurven muss man wirklich erst sehr viel rumrechnen und probieren!

    So hat die berechnung bei mir damals ausgesehen:
    Code:
    W = Getadc(channel)
    
      B = W * W
      C = B * 0.0000395965
      D = 0 - C
      E = 0.0415089404 * W
      F = D - E
      G = F + 47.7049853735
      H = Fusing(g , "#.#")
    Wobei das ganze aufgrund der Variablen Single (für das rechnen mit solchen Kommazahlen) natürlich auch noch extrem viel Speicher benötigte!
    Und dafür noch nicht mal für einen größeren Bereich als 20°C halbwegs genau blieb...

    Jetzt messe ich die Temperatur mit DS1820s, wobei auch das alles andere als leicht is

    Mit einem LM335 über den ADC sollte das ganze jedoch relativ schön und einfach funktionieren!

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn der feste Widerstand für die Messung halbwegs stimmt, sollte die Kennlinie schon recht gut linear sein. Das die Rechnung so umständlich ist, liegt aber auch an den etwas beschränkten Fähigkeiten von BASCOM. Etwas einfacher sollte aber auch gehen. Ein Polynom berechent man besser nicht als
    a + b*x+c*x*x
    sondern besser als
    a + x * (b+x*c)

    Das Spart schon mal einen Schritt. Außerdem sollte Bascom doch wenigstens direkt mit negativen Constanten arbeiten können. Oder etwa nicht ?

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    "Linear" wird so eine Kennlinie wohl nicht sein Höchstens "gleichmäßig"

    Ob Bascom direkt mit negativen Konstanten rechnen kann, kann ich nicht mehr sagen , aber ich habe die Single-Variable benutzt um überhaupt mit derartigen Kommazahlen zu rechnen

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    20.11.2005
    Beiträge
    88
    Hi,

    ich denke Dir könnte dieser Link weiterhelfen

    http://mikrocontroller.cco-ev.de/fil...nung_draft.pdf

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test