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?
Du hast einen Spannungsteiler, damit musst du den Widerstand berechnen. Daraus ergibt sich die Temperatur aus Tabelle/Formel. https://d-sensors.shop/media/pdf/cf/44/bf/Kennlinie_NTC-10kOhm.pdf https://support.maxongroup.com/hc/de/articles/360007861394-Temperatursensor-NTC
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/
Stefan F. schrieb: > Aber es bleibt der Offset und die nicht-linearität des ADC. Wie genau willst Du denn die Temperatur messen, daß Dich die geringe Nicht-Linearität so sehr stört?
:
Bearbeitet durch User
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.
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.
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.
Und wenn der WiFi im ESP8266 sendet, misst der ADC sowieso, was er will.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.