Forum

Einloggen | Registrieren | RSS  

Fjury

E-Mail

02.05.2021,
16:28
 

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP) (Schaltungstechnik)

Hallo zusammen und einen schönen Sonntag!

ich möchte gerne mehrere NTC Widerstände über den Analog Digitalwandler Eingang ADC des ESP8266 auslesen.

Jeder 470Ohm NTC ist dazu mit einem 470Ohm Widerstand zwischen Masse auf einen GPIO Ausgang des ESP geschaltet.
Also der klassische Spannungsteiler.... Und der Schaltbare Ausgang ist da, um die Eigenerwärmung des NTC zu minimieren.

Mit einem einzelnen NTC funktioniert das auch sehr gut und die ermittelte Temperatur entspricht der tatsächlichen Umgebungstemperatur ohne große Schwankungen am ADC.

Da der ESP8266 leider nur über einen ADC Eingang verfügt, ich aber 8 NTCs messen möchte, dachte ich, ich sperre die Leitung zwischen NTC und ADC jeweils mit einer Diode.
Das funktioniert zwar, aber das Ergebnis ist leider um ca. 2-3 °C verfälscht.

Ich nehme an, dies liegt an der verwendeten Diode 1N4007, welche noch eine zu große Durchlassspannung hat. Oder habe ich sonst irgendwo einen Denkfehler?

Da ich mich in dem Wald voller Dioden nicht ganz zurecht finde, möchte ich euch um Hilfe bitten.
Falls meine 0815 Schaltung mit Dioden für mein Ziel zu einfach ist, bin ich gerne für alternative Vorschläge offen.

Besten Dank und einen schönen Sonntag.
Gruß Chris

matzi682015(R)

E-Mail

Aachen,
04.05.2021,
23:28
(editiert von matzi682015
am 05.05.2021 um 02:44)


@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » » Handelt es sich nicht bei dem von bigdie vorgeschlagenen CD4066 um
» solch
» » » einen Multiplexer?
» »
» » Schau dir ehr 74HC4051 an.
»
» Danke
»
» Das ist ja ein klasse Teil, sieht gut aus :D
»
» Mit den Eingängen 8,9,10 gebe ich binär mit 3 Ausgängen vom Controller vor,
» welchen der 8 Analog Eingänge ich auslesen möchte.
» Den Pin Ebar benötige ich denke ich nicht, da ich nicht zwischen IN/OUT
» umschalten muss. Somit auch nicht den Pin 7 VEE.
» Pin 16 VCC und Pin 8 GND sind auch klar.
» Die nicht benötigten Pins muss ich gegen Masse legen, oder frei lassen
» :confused:

Auf Masse / 0V legen :-) Also nur die Eingänge, die Ausgänge bloß nicht!

--
greets from aix-la-chapelle

Matthes :hungry:

Fjury

E-Mail

03.05.2021,
23:01

@ Hartwig

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » » während Hartwig mit dem
» » Vorschlag CD74HC4051 um die Ecke kam, welche direkt 8 Eingänge hat.
» » http://www.ti.com/product/cd74hc4051?qgpn=cd74hc4051
» nee, das war xy!
» Ich weiß ja nicht, welchen µC du verwendest, aber oft gibt es in den
» Unterlagen oder Anwendungsbeispielen Vorschläge - das würde dann auch Deine
» Fragen hinsichtlich der nicht benutzten Pins klären können. Es lohnt sich
» immer, da mal zu googeln und einige Schaltungskonzepte anzusehen und sich
» dann zu entscheiden bzw. dem Vorschlag von xy folgen. Oder auch mal den
» DS18B20 von Dallas anschauen - der geht auch ohne Multiplexer.
» Edit: ok, ich hab gerade gelesen, dass andere Sensoren keine Option für
» dich sind. Bleibt also die elektronische Umschaltung. Je nach Deinen
» Anforderungen wäre es theoretisch denkbar, die von dir eingangs gezeigte
» Entkoppelung durch die Dioden umzusetzen und den durch diese entstehenden
» Messfehler in der Software “herauszurechnen“. Ist eine Frage der
» Genauigkeit und des Aufwandes - der nicht sehr stabile Fehler liegt schnell
» in der Größenordnung des Nutzsignals (oder darüber), also der
» Spannungsänderung des NTC

Hallo Hartwig, tut mir Leid dich des cd74hc4051 beschuldigt zu haben. Aber das ist und bleibt glaube ich die richtige Lösung.
Den Messfehler programmtechnisch herauszurechnen ist natürlich auch eine Lösung, die aber nicht sauber ist. Und zumal der NTC sich selbst erwärmt auch auf Dauer kein korrektes Ergebnis liefern wird. Ich hatte auch bereits einen Versuch mit PNP Transistoren gebaut, welcher zwar stabile Messwerte liefert, welche aber auch wieder um die -3 Grad daneben liegen. Im Raum sind es z.B. tatsächlich 22 Grad. Die NTCs durch Transistoren geschaltet messen jedoch 27-29 Grad. Fasse ich die NTC an habe ich eine Körpertemperatur von 47 Grad.... vielleicht ist das aber auch eine neue Mutation Corona :lol:

Ich habe mir gerade den Multiplexer bestellt. mal sehen wann der kommt.... Ich werde Euch allen von meinem Ergebnis sicherlich berichten und wünsche bis dahin noch allen - bleibt Gesund und kommt weiterhin gut durch diese verrückte Zeit.

Gast

03.05.2021,
21:46

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» Der Zustand lässt sich aber scheinbar nicht erzwingen.
Doch, schalte den PIN auf Eingang ohne Pullup oder Pulldown. Dann ist der PIN (Ausgang) hochohmig.

Fjury

E-Mail

03.05.2021,
21:43

@ Gast

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » Klappt leider nicht. :-(
» »
» » Ergebnis ist das selbe wie im Eingangspost. Sobald der Zweite NTC
» » dazukommt
»
» Wie bitte? Du hast es nicht verstanden. Nicht DAZUSCHALTEN!!! Nochmal...
» Du hast z.B. 4 NTCs. Die sind an den Ausgängen 1 bis 4 angeschlossen. Das
» andere Ende der NTCs sind zusammengeschalten am analogen Input und der 470
» Ohm (wars glaub ich) geht vom Input gegen Masse.
» Im Programm schaltest du Ausgang 1 auf High, Ausgang 2, 3 und 4 Auf
» Tristate -> hochohmig. Mit dem Analogeingang liest du den Wert von NTC1
» ein.
» Dann schaltest du Ausgang 2 auf High, Ausgang 1, 3 und 4 auf Tristate.
» Jetzt liest du mit dem Analogeingang den Wert von NTC2 ein.
» Dann schaltest du Ausgang 3 auf High, Ausgang 1, 2 und 4 auf Tristate.
» Jetzt liest du mit dem Analogeingang den Wert von NTC3 ein.
» Dann schaltest du Ausgang 4 auf High, Ausgang 1, 2 und 3 auf Tristate.
» Jetzt liest du mit dem Analogeingang den Wert von NTC4 ein.
»
» Du schaltest also die 4 NTCs NACHEINANDER über die Ausgänge 1-4 ein und
» liest dann auch NACHEINANDER die 4 NTCs am analogen Eingang ein.
» Du musst also dein Programm anpassen, sollte so schwer nicht sein.

Danke dir für die ausführliche Auflistung.

Bei der Suche, wie man auf dem ESP6288 einen Pin auf den 3. Zustand schaltet, läuft die Suche leider ins leere, bzw man landet bei dem vorhin geposteten Text aus dem technischen Datenblatt.
Gemeint ist wohl hier der 3. Zustand während des bootens, so lange noch kein Pullup/-down Widerstand auf die Eingänge geschaltet ist. Der Zustand lässt sich aber scheinbar nicht erzwingen.

Ich werde es jetzt doch mit dem Multiplexer versuchen.

cmyk61(R)

E-Mail

Edenkoben, Rheinland Pfalz,
03.05.2021,
11:15
(editiert von cmyk61
am 03.05.2021 um 11:33)


@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

Hi,

es ist schon erstaunlich, wie computergläubig manche Menschen sind, anstatt ein DVM zu bemühen.

Mein Vorschlag: zeichne den Schaltplan mal etwas ausführlicher und trage Messwerte an den relevanten Stellen im Plan ein.
Hierzu wäre es sinnvoll, ein Hilfsprogramm zu schreiben, welches die betreffenden Ausgänge nacheinander (zB auf Tastendruck...) von hochohmig auf High und wieder zurück auf hochohmig schaltet. Mit diesen ermittelten Spannungen kannst Du dann möglicherweise besser auf den Fehler schließen.

Sowas wie hier:


Gruß
Ralf

» das hatte ich gerade versucht, nur messe ich dann leider 26 Grad, statt
» 23,4
» https://share.icloud.com/photos/07FLWc-7s4kuvBcf0qOhp9lCw

xy(R)

E-Mail

03.05.2021,
08:29

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » » Du meinst dann also, wie in der Skizze unter dem folgenden Link?
» » » https://share.icloud.com/photos/07FLWc-7s4kuvBcf0qOhp9lCw
» »
» » Ja, wenn nur ein Ausgang die 3V liefert und alle anderen NTCs an
» » hochohmigen Ausgängen in der Luft hängen, wird immer nur der eine NTC
» » gemessen.
»
» Klappt leider nicht. :-(
»
» Ergebnis ist das selbe wie im Eingangspost. Sobald der Zweite NTC
» dazukommt, steigt die gemessene Temperatur um 2-3 Grad.
» Allerdings schwankt der Messwert nicht mehr so stark. Ich vermute mal, die
» Ausgänge schalten nicht so sauber ab, wie gewünscht.

Da werden wohl die Pullups eingeschaltet sein.


"Each GPIO PAD can be configured with internal pull-up or pull-down..."

xy(R)

E-Mail

03.05.2021,
08:13

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» das hatte ich gerade versucht, nur messe ich dann leider 26 Grad, statt
» 23,4

Du wirst eh kalibrieren müssen.

simi7(R)

D Südbrandenburg,
03.05.2021,
08:06

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» »
»
» Hi Simi,
»
» das hatte ich gerade versucht, nur messe ich dann leider 26 Grad, statt
» 23,4
» https://share.icloud.com/photos/07FLWc-7s4kuvBcf0qOhp9lCw
Ich klicke ungern externe Links an (muss ich bei Firefox erst freischalten) deshalb mein doppeltgemoppelter Vorschlag, der ja der selbe ist.
Wenn du bei dieser Variante Fehlmessungen hast stimmt was anderes nicht.
Wenn die Anderen stromliefernden Ausgänge wirklich auf "offen" geschaltet sind hängen die anderen NTCs einseitig in der Luft. Sind schaltungstechnisch quasi nicht vorhanden.
Kann es sein, dass du über eventuell lange Leitungen irgendwelche Fremdspannungen einfängst?
Bei der rel. niederohmigen Beschaltung eigentlich unwahrscheinlich.

Miss mal den Strom zwischen NTC und offenen Ausgängen.

bigdie(R)

03.05.2021,
05:58

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

Rein theoretisch kannst du auch einfach einen 2. Mikrorechner dazu setzen z.B. irgend einen Atmega mit 8 analogen Eingängen oder einen Arduino Nano und die Daten seriell zum ESP schicken

Fjury

E-Mail

02.05.2021,
23:12

@ simi7

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » Most of the digital IO pins are bi-directional, non-inverting and
» » tristate,
» » including input and output buffers with tristate control. These pins can
» be
» » multiplexed with other functions, such
» » as the SDIO, UART, SPI, etc. (More details can be found in the Appendix,
» » Table IO_MUX.) For low-power
» » operations, the GPIOs can be set to hold their states.
»
» So könnte es gehen.
» Für den Fall dass doch mal ein OUT auf H und ein anderer auf L liegt wären
» die NTCs für die Strombegrenzung zuständig.
» Da fließt aber auch nicht viel mehr als beim Messvorgang.
»

Hi Simi,

das hatte ich gerade versucht, nur messe ich dann leider 26 Grad, statt 23,4
https://share.icloud.com/photos/07FLWc-7s4kuvBcf0qOhp9lCw

Hartwig(R)

02.05.2021,
22:46
(editiert von Hartwig
am 03.05.2021 um 09:11)


@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » während Hartwig mit dem
» Vorschlag CD74HC4051 um die Ecke kam, welche direkt 8 Eingänge hat.
» http://www.ti.com/product/cd74hc4051?qgpn=cd74hc4051
nee, das war xy!
Ich weiß ja nicht, welchen µC du verwendest, aber oft gibt es in den Unterlagen oder Anwendungsbeispielen Vorschläge - das würde dann auch Deine Fragen hinsichtlich der nicht benutzten Pins klären können. Es lohnt sich immer, da mal zu googeln und einige Schaltungskonzepte anzusehen und sich dann zu entscheiden bzw. dem Vorschlag von xy folgen. Oder auch mal den DS18B20 von Dallas anschauen - der geht auch ohne Multiplexer.
Edit: ok, ich hab gerade gelesen, dass andere Sensoren keine Option für dich sind. Bleibt also die elektronische Umschaltung. Je nach Deinen Anforderungen wäre es theoretisch denkbar, die von dir eingangs gezeigte Entkoppelung durch die Dioden umzusetzen und den durch diese entstehenden Messfehler in der Software “herauszurechnen“. Ist eine Frage der Genauigkeit und des Aufwandes - der nicht sehr stabile Fehler liegt schnell in der Größenordnung des Nutzsignals (oder darüber), also der Spannungsänderung des NTC

Hartwig(R)

02.05.2021,
22:39
(editiert von Hartwig
am 02.05.2021 um 22:53)


@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» » Sind die Ausgänge Tristate-Ausgänge? Dann würde ich die Dioden einsparen
» » und nur einen Widerstand gegen Masse nutzen.
»
» Der Beschreibung nach von espressif gehe ich davon aus.
»
wenn das die von bigdie erwähnten Temperatursensoren betrifft, ist das nicht relevant. Das sind sensoren (DS18B20 von Dallas z.B.), die keiner externen Beschaltung bedürfen. Die werden vom uC seriell über den one-Wire-bus angesprochen und geben dann ihrerseits den Temperaturwert als seriellen Datensatz aus (so kenne ich die zumindest).
Dann gibt es noch einzeln ansteuerbare Analogschalter - also wie Relais in einem IC-Gehäuse, nur nicht zwangsläufig mit Potenzialtrennung. Und es gibt die Multiplexer, die ebenfalls direkt digital angesteuer werden können, z.T. eben direkt passend zu uC Bussystemen.

Gast

02.05.2021,
21:14

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» Klappt leider nicht. :-(
»
» Ergebnis ist das selbe wie im Eingangspost. Sobald der Zweite NTC
» dazukommt

Wie bitte? Du hast es nicht verstanden. Nicht DAZUSCHALTEN!!! Nochmal...
Du hast z.B. 4 NTCs. Die sind an den Ausgängen 1 bis 4 angeschlossen. Das andere Ende der NTCs sind zusammengeschalten am analogen Input und der 470 Ohm (wars glaub ich) geht vom Input gegen Masse.
Im Programm schaltest du Ausgang 1 auf High, Ausgang 2, 3 und 4 Auf Tristate -> hochohmig. Mit dem Analogeingang liest du den Wert von NTC1 ein.
Dann schaltest du Ausgang 2 auf High, Ausgang 1, 3 und 4 auf Tristate. Jetzt liest du mit dem Analogeingang den Wert von NTC2 ein.
Dann schaltest du Ausgang 3 auf High, Ausgang 1, 2 und 4 auf Tristate. Jetzt liest du mit dem Analogeingang den Wert von NTC3 ein.
Dann schaltest du Ausgang 4 auf High, Ausgang 1, 2 und 3 auf Tristate. Jetzt liest du mit dem Analogeingang den Wert von NTC4 ein.

Du schaltest also die 4 NTCs NACHEINANDER über die Ausgänge 1-4 ein und liest dann auch NACHEINANDER die 4 NTCs am analogen Eingang ein.
Du musst also dein Programm anpassen, sollte so schwer nicht sein.

Fjury

E-Mail

02.05.2021,
21:12

@ bigdie

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

» »
» » An das Umschalten mit Relais hatte ich auch schon gedacht, aber das wird
» » mir alles zu groß. So viel Platz habe ich leider nicht im Gehäuse
» »
» https://www.phoenixcontact.com/online/portal/de/?uri=pxc-oc-itemdetail:pid=2202525
» » Da müssen schon 8 Relais oder SSR zum Schalten der Schütze der
» » Fußbodenheizung unterkommen...Aber erstmal muss das auslesen der NTCs
» » klappen.
» »
» Wie geschrieben, muss kein Relais sein, ein CD4066 schaltet 4 Kanäle
» https://cdn-reichelt.de/documents/datenblatt/A240/MOS4066_SMD4066%23STM.pdf

Ja genau, das hatte ich mir auch eben angeschaut, während Hartwig mit dem Vorschlag CD74HC4051 um die Ecke kam, welche direkt 8 Eingänge hat.
http://www.ti.com/product/cd74hc4051?qgpn=cd74hc4051

Danke und noch einen schönen Abend

bigdie(R)

02.05.2021,
21:03

@ Fjury

mehrere NTC Thermistoren an einem Analogeingang (ADC am ESP)

»
» An das Umschalten mit Relais hatte ich auch schon gedacht, aber das wird
» mir alles zu groß. So viel Platz habe ich leider nicht im Gehäuse
» https://www.phoenixcontact.com/online/portal/de/?uri=pxc-oc-itemdetail:pid=2202525
» Da müssen schon 8 Relais oder SSR zum Schalten der Schütze der
» Fußbodenheizung unterkommen...Aber erstmal muss das auslesen der NTCs
» klappen.
»
Wie geschrieben, muss kein Relais sein, ein CD4066 schaltet 4 Kanäle
https://cdn-reichelt.de/documents/datenblatt/A240/MOS4066_SMD4066%23STM.pdf