Temperatur mit NTC und ESP8266 ermitteln

(Firma: privat) #7271496
Lesenswert?

Ich möchte mit einem ESP8266 die Temperatur in Celsius ermitteln, die 
als Spannungswert am analogen Eingang des ESP8266 anliegt. Zur 
Temperaturmessung setze ich einen NTC ein.

Ich möchte nun ein Adruino-Programm schreiben, das mir den analogen 
Spannungswert in Celsius umwandelt.

Ich habe mir folgende Lösung überlegt.

1. Am analogen Eingang des ESP8266 liegt ja die Spannung U_NTC an.
2. Als Erstes würde ich die Quantisierungsstufe berechnen (qu= 
3,3V/2^10) und U_NTC durch die Quantisierungsstufe qu teilen.
3. Von diesem Ergebnis (aus 2.) würde ich dann 273,15 abziehen, um die 
Temperatur in Celsius zu bekommen.

Löst dieser Algorithmus das Problem tatsächlich?
Gast #7271527
Lesenswert?

Deine Überlegung ist im Prinzip richtig. Leider sind die Bauteile nicht 
ideal.

Deine geheime Schaltung gibt mit 99% Wahrscheinlichkeit keine Spannung 
aus, die linear zur Temperatur steht. Dazu kommt, dass der ADC einen 
Offset hat und ebenfalls nicht linear arbeitet.

Wenn du keine Lust auf Abweichung von 5 Grad oder mehr hast, dann 
verwende eine Tabelle zur Übersetzung, deren Werte du manuell 
ermittelst. Und gehe mal davon aus, dass du das mit jedem ESP einzeln 
wiederholen musst, falls du davon mehrere baust.

Alternative: Sensoren mit digitalem Ausgang verwenden, z.B. DS1820.

Das könnte interessant sein:
https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx

Wenn du dort einen 10kΩ NTC verwendest, kommt man mit Rs=10kΩ und 
Rp=100kΩ auf eine fast lineare Spannung im Bereich von 
Zimmertemperaturen.

Aber es bleibt der Offset und die nicht-linearität des ADC.
https://microcontrollerslab.com/esp8266-nodemcu-adc-tutorial-measure-analog-voltage/
Gast #7271566
Lesenswert?

Jens G. schrieb:
> Wie genau willst Du denn die Temperatur messen, daß Dich die geringe
> Nicht-Linearität so sehr stört?

Ich will sie gar nicht messen, die Frage musst du den TO stellen.

Wir hatten hier schon genug Leute, die schockiert reagierten, als sie 
entdeckten, dass ihre 5 Thermometer alle etwas anderes im Bereich +/- 1 
Grad anzeigten.
Gast #7271571
Lesenswert?

Torben S. schrieb:
> Löst dieser Algorithmus das Problem tatsächlich?

Das kommt drauf an, in welchem Temperaturbereich du welche Genauigkeit 
erzielen möchtest und welche Kalibriermöglichkeiten dir zur Verfügung 
stehen.
Außerdem musst du klären, wie Referenzspannung des ADC und 
Versorgungsspannung am Spannungsteiler zusammenhängen. Da der NTC 
nichtlinear ist, musst du eventuell dessen Kennlinie bei der Umrechnung 
berücksichtigen.
#7271776
Lesenswert?

Torben S. schrieb:
> Löst dieser Algorithmus das Problem tatsächlich?

Nein, die Spannung eines NTC ist nicht linear mit der Temperatur, dazu 
müsstest du einen Halbleitersensor wie LM35 benutzen.

Ein NTC ist sowieso stark unlinear, der Wert ändert sich um 5% pro 
GradC, ideal um kleine Bereiche genau zu messen aber bei grossen 
Messbereich an den Rändern schwer an Auflösung verlierend.

Du musst schon (z.B. per Excel) berechnen welcher A/D-Wandlerwert zu 
welcher Temperatur gehört und den uC einfach nachgucken lassen.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32

Mit Parallelwiderständen kann man die NTC Kurve wenigstens etwas 
linearisieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren