• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

Anfänger mit ESP32 Eigenversuch

Klimichris

Militanter Veganer
Hallo,
Ich bin ganz neu hier und eigentlich nur über Umwege auf euch gestoßen.
Meine größten Respekt für eure Leistung und Engagement. Ich bin schon durch manch andere Foren gestolpert, habe aber selten so konstruktive und trollfreie Threads gesehen.
👍
Nachdem ich mir im letzten Sommer nen Rogue zugelegt habe (vorher war’s nur kultivierte Fleischverbrennung), hab ich mir Gedanken über diese ganzen Grillthermometer usw. gemacht, war dann aber zu geizig (kosten/nutzen).

War dann so blauäugig zu denken:
Tempfühler vom Kollegen (Govee irgendwas) nen Pi (ist dann doch nen ESP32 geworden) ADC-Eingänge auswerten und fertig.

Mein Stand ist:
Fühler vermessen (2Parallel im Ölbad im Backofen)
Widerstand und Temp via Internet zu Steinhart Hart Koeffizienten gebracht.
Spannungsteiler zum ADC angeschlossen und Temperaturausgabe zum Seriall-Monitor gebracht.
Der Fühler hat bei 25 Grad 100K und bei 185 Grad 0,750k

Mein Problem:
Der ADC des ESP32 stimmt nicht mit der gemessen Spg. überein. (Grenzbereiche Verden angeschnitten)
Spannungsteiler mit 100k bis runter auf 2,5K ausprobiert.

Meine Frage:
Benutzt der Nano oder der Neue (ESP32) ext. ADC‘s via i2c und wie wird die Temp über den ganzen Bereich ermittelt.

Erstmal danke, das ihr bis hierhin gelesen habt,
Und danke für alle hilfreichen Hinweise.
Christian
 
Hi Christian,

ja, sowohl beim Nano (mit ESP8285/8266) wie auch bei den Minis (RPi oder ESP32) kommt ein externer ADC (I²C / SPI) mit separater Referenzspannungsquelle zum Einsatz. Der interne ADC eines Controllers (in deinem Fall der ESP32) ist zwar ganz nett, aber nicht vergleichbar mit einem richtigen ADC mit separater Referenzspannung. Ohne stabile Referenz driftet dir die Messung ganz schnell weg (durch induzierte Wärme, Schwankungen in der Spannungsversorgung und Messstrom). Je nachdem wie genau du später messen willst, muss man sich überlegen, was man nutzt. Reicht dir eine Genauigkeit von 1-2 Grad, kann man das mit dem internen ADC schon machen. Für mehr (bei Nano und Mini sind es ca. 0,1 - 0,2 Grad) würde ich was externes aufbauen.

Wie sieht denn deine Schaltung aktuell genau aus? Was du leider nicht schreibst ist, wie weit die Spannungen abweichen. Wie nutzt du den ESP32, als fertiges Modul oder z. B. den "nackten" WROOM. Bei Modulen sind ja meist schon eigene Spannungsteiler vorgeschaltet. Zudem hat der ESP32 eine interne Referenz, die aber nicht unbedingt in der eFuse gesetzt sein muss.

Wie die Spannung in Temperatur gewandelt wird, kannst du im OpenSource Code von Nano/Mini nachsehen.

Gruß
Steffen
 
Hallo Steffen,
Ich benutze folgendes Modul: SBC-NodeMCU-ESP32 von Joy-It
Meine Schaltung ist momentan ehr ein Versuchsaufbau:
3,3V—R—ADC—NTC—GND
R ist eine Reihenschaltung von 2 10KOhm Trimmpotis
Angeschlossen alles mit Jumperkabeln

Wenn ich nen hohen Vorwiderstand (20K) nehme habe ich zw. 25-150 Grad recht zuverlässige Werte (ADC bei 155 ca. 25#20mV gemessen hab ich 35mV).

Nehme ich nen niedrigen Vorwiderstand (2,5K) läuft mir bei unter 50 Grad der ADC über (4095 obwohl nur 3,2V gemessen).

Mein Ziel wäre ne Abdeckung von 25-250 Grad
Kann ich an der Beschaltung irgend etwas verändern (Paralellwiderstand/Kondensator)?

Danke für die Mühe
 
Hast du dir mal die Beschaltung der Messkanäle beim Mini / Nano angesehen?

Unbenannt.png


Ist im Grunde wie bei dir aktuell. VRef ist bei dir die 3V3 von der Versorgung (nicht ideal weil verrauscht). Dazu solltest du eventuell noch einen Filter aus 1K/100nF einbauen. NTC zwischen GND und ADC ist schomal gut, so vermeidest du Brückenbildung bei mehreren Fühlern.

Der Fühler hat bei 25 Grad 100K und bei 185 Grad 0,750k
Sieht mir nach dem gleichen Widerstandsmaterial aus, was auch in den iGrill-Fühlern verbaut ist. Die Messkurve an zwei Punkten abzugleichen ist nicht ganz sauber, aber dein zweiter Messpunkt liegt recht weit oben im Messbereich und hat gerade mal 1 Grad Differenz zur Kennlinie vom iGrill2. (Quelle)

Nehme ich nen niedrigen Vorwiderstand (2,5K) läuft mir bei unter 50 Grad der ADC über (4095 obwohl nur 3,2V gemessen).
Da hast du genau das Problem mit der Referenzspannung. Beim ESP32 liegt die interne Referenzspannung irgendwo zwischen 1,0 - 1,2 V. Wenn du Glück hast, hast du einen ESP bei dem die Referenzspannung gemessen wurde und im eFuse abgelegt wurde, von wo du sie auslesen kannst. Bei den fertigen Modulen wird dann meist ein ADC rausgeführt und mit einem Spannungsteiler 3,3V-tolerant gemacht. Nutzt du so einen? Ansonsten ist es kein Wunder, wenn der ADC bei 3,2 V vollläuft. Aber selbst wenn der ADC-Pin über einen Spannungsteiler verfügt, muss der ADC nicht bis 3,3V messen, wenn die interne Referenzspannung eben nicht genau 1,1V ist, worauf der Spannungsteiler ausgelegt ist. Am besten hältst du dich vom oberen Messspannungsbereich fern, wenn du ohne externe Referenzspannung arbeiten willst. Dann hast du zumindest nur noch die relativen Fehler in der Messung, aber keine absoluten.
 
Danke für die Tips und Aufklärung,
Werde mich mal an deiner Schaltung versuchen zu orientieren. Bezüglich der Referenzspannung steh ich zwar noch etwas auf dem Schlauch, werd aber versuchen selbst drauf zu kommen.
 
Zurück
Oben Unten