Temperatur über analogen Eingang messen mit ESP8266

OP (Firma: privat) #7286611
Hallo,

ich möchte über den analogen Eingang des ESP8266 die Temperatur erfassen 
und verwende zur Temperaturmessung einen NTC. Den Schaltungsaufbau habe 
ich in der abgebildeten PDF modelliert.

Ich weiß leider nicht, wie ich den gemessenen Spannungswert in eine 
Temperatur umwandeln kann. Ein Freund hat mir seine Mitschrift 
zugesendet (siehe PDF). Ich habe Probleme, diese zu verstehen.

Wie kommt Formel 6 zustande?

Was genau ist in dieser Formel 7. mit raw gemeint und woher kommen die 
1023?

Vielen Dank.
Angehängte Dateien:
Gast
Mit einer anderen Schaltung wird es viel einfacher:

Ändere den Widerstand auf den selben Wert, den der NTC bei mittlerer 
Normaltemperatur hat. Schalte außerdem einen Widerstand mit 0x so viel 
Ohm parallel zum NTC. Dann bekommst du in einem relativ weiten Bereich 
eine Spannung heraus, die fast linear der Temperatur entspricht.

Berechnungshilfe: 
https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx

Allerdings ist der ADC des ESP ziemlich ungenau. Mit einem externen ADC 
oder einem digitalen Temperatursensor wirst du bestimmt glücklicher.
OP (Firma: privat)
Vielen Dank für die Rückmeldungen.

Ich weiß noch nicht genau, wie ich die Temperatur T (in Kelvin) 
ermitteln soll. T steckt ja in der Formel zur Berechnung des 
Widerstandes R_NTC drin.

Die Lösung liegt in Fomrmel 7. Ist diese Verhältnisgleichung 
allgemeingültig?
Gast
Torben S. schrieb:
> Ich weiß noch nicht genau, wie ich die Temperatur T (in Kelvin)
> ermitteln soll. T steckt ja in der Formel zur Berechnung des
> Widerstandes R_NTC drin.

So, ich mache mal deine Hausaufgaben:
Rückwärts einsetzen ergibt
.
Gast
Bevor ich die Formel von Johannes F. in einem µC unterbringen wollte, 
würde ich mir diese Seite anschauen: 
https://www.sebulli.com/ntc/index.php

Außerdem: Die Formel ist nur richtig für einen NTC mit B=4600 
(vielleicht nicht mal das?). Wenn du einen anderen NTC hast, muss man 
neu rechnen und andere Werte einsetzen.
Für den Code auf sebulli.com braucht man auch den B-Wert aus dem 
Datenblatt des NTC...

Torben S. schrieb:
> Ist raw der Wert den ich bekomme, wenn ich folgenden Befehl in Arduino
> ausführe?

Ein 10-Bit ADC liefert Werte zwischen 0 und 1023, das ist der RAW-Wert, 
wenn der Einganf zwischen 0V und Vref verändert wird.
Ob der Arduino-Befehl analog_read() da noch zusätzlich was macht, weiß 
ich nicht.
Gast
HildeK schrieb:
> Ein 10-Bit ADC liefert Werte zwischen 0 und 1023, das ist der RAW-Wert,
> wenn der Einganf zwischen 0V und Vref verändert wird.
> Ob der Arduino-Befehl analog_read() da noch zusätzlich was macht, weiß
> ich nicht.

Der Faktor 4600 ist ja nun geklärt.

Aber jetzt fragt sich die ganze Meute (den neu-deutschen Ausdruck 'pack' 
wollte ich vermeiden), wo im Formelwerk wohl die Vref unterzubringen ist 
...

face plants
(Firma: Q3)
Kann man alles machen, wenn man sein Wissen im Bereich (analoge) 
Elektrotechnik akademisch vertiefen möchte. So what ...

Wenn man einfach nur die Temperatur (und evtl. etwas mehr) erfahren 
will, nimmt man fertige digitale Sensoren mit One-Wire oder 
I2C-Anschluss. 3 Zeilen Code und die Chose läuft. So what?
Gast
Stefan F. schrieb:
> Ja. Schreibe doch direkt
>
> sensorValue = analogRead(A0);

"Guter" Vorschlag :-(
Spätestens, wenn das Programm ein bisschen gewachsen und eine Zeit 
geruht hat, taucht die Frage auf "was bedeutet dieses komische A0" an 
der Stelle.
"Magic Numbers" im Programmcode sind großer Käse.

Pin-Nummer an zentraler Stelle festzulegen, so dass man einen 
aussagekräftigen Namen dazu hat und sie später leicht ändern kann, ist 
schon der richtige Weg.
Ein #define wäre hier vielleicht noch sinnvoller.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.