Forum: Mikrocontroller und Digitale Elektronik ESP32 Digitalpoti AD8400 Störsignal


von Moritz (mover)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe folgende Schaltung mit dem ESP32 aufgebaut:

- Widerstandsmessung mittels ratiometrischer Messung
- Druckmessung (BME280)

- Widerstand kann vorgegeben werden mittels: R1 + (Digitalpotentiometer 
AD8400 II R2)

Im Anhang findet ihr ein Foto des Aufbaus, im oberen Bereich befindet 
sich das Digitalpoti mit den Widerständen.

Das Digitalpoti wird mittels ESP32 angesteuert und versorgt. Der ESP32 
bekommt den Strom via Mikro-USB und Netzteil 
(https://www.elpro.org/de/yingjiao-ys10-serie/242391-ys10-0502100-usb.html).

Nun habe ich folgendes Problem:
Abhängig vom Ort funktioniert die Schaltung oder auch nicht.

Fehlerbild: Es wird ein zu geringer Widerstand vom externen Messgerät 
gemessen. Zusätzlich schwankt der Widerstand.

Versorge ich den µC über eine Powerbank tritt das Problem nicht mehr 
auf.

--> Meine Annahme: Da das Problem in einem Raum mit Heizungspumpen 
auftritt wirken sich Störfrequenzen über die Stromleitung auf das 
Digitalpoti aus.
Macht das Sinn? Und falls ja, wie kann ich das Problem angehen? 
Entstörkondensatoren? Woher weiß ich, welche ich verbauen muss?

Ich bin gespannt auf eure Antworten!

von Monk (roehrmond)


Lesenswert?

Moritz schrieb:
> Ich bin gespannt auf eure Antworten!

Wenn du nicht faul wirken willst, reiche noch einen Schaltplan nach.

von Rainer W. (rawi)


Lesenswert?

Moritz schrieb:
> Und falls ja, wie kann ich das Problem angehen?

Mit geeigneten Gegenmaßnahmen. Was alles fehlt, hängt davon ab, was du 
bisher schon umgesetzt hast.

Wie sieht deine bisherige Schaltung aus (Schaltplan)? Woher bekommt die 
Schaltung ihren Strom und was ist da sonst noch extern angeschlossen?

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
> ich habe folgende Schaltung mit dem ESP32 aufgebaut:
> Widerstandsmessung mittels ratiometrischer Messung
> Druckmessung (BME280)
> Widerstand kann vorgegeben werden mittels: R1 + (Digitalpotentiometer
> AD8400 II R2)
Ich finde Schaltpläne super, denn an ihnen erkannt man ohne viele Worte, 
wie was womit verschaltet ist. Und das wunderbare: sie sind sprach- und 
länderübergreifend verständlich.

> Nun habe ich folgendes Problem
Hast du auch ein Oszi, um Messungen an deiner Schaltung vorzunehmen?

> Abhängig vom Ort funktioniert die Schaltung oder auch nicht.
> Fehlerbild: Es wird ein zu geringer Widerstand vom externen Messgerät
> gemessen. Zusätzlich schwankt der Widerstand.
Was für ein "externes Messgerät"? Wenn da externe Geräte betiligt sind: 
dir ist schon bekannt, dass Digitalpotis NICHT potentialfrei sind? Du 
kannst sie also nicht einfach wie ein Drehpoti mit Plastikgriff irgendwo 
anschließen.

: Bearbeitet durch Moderator
von Peter D. (peda)


Lesenswert?

Moritz schrieb:
> - Widerstandsmessung mittels ratiometrischer Messung

Falls es um einen RTD (PT1000) geht, nimmt man eine Konstantstromquelle 
und mißt den Spannungsabfall.
Einige ADCs haben extra dafür interne Stromquellen, z.B. der AD7793.

https://de.wikipedia.org/wiki/Vierleitermessung

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Falls es um einen RTD (PT1000) geht, nimmt man eine Konstantstromquelle
> und mißt den Spannungsabfall.
Aber auch dann stellt sich die Frage nach dem Potentialbezug.

Moritz schrieb:
> wie kann ich das Problem angehen?
1. Zeichne einen Schaltplan mit allen beteiligten Komponenten
2. Gib den Komponenten Namen und schreibe Bauteilwerte dazu
3. Auch das "externe Messgerät" ist eine Komponente deiner Schaltung
4. Zeichne in diesen Schaltlpan auch die Versorgungen und die 
Massebezüge ein

Besonders spannend ist es, ob du das "externe Messgerät" überhaupt auf 
deine ESP32-Masse ziehen darfst. Aber wie gesagt: fang erst mal bei 1. 
an.

> Da das Problem in einem Raum mit Heizungspumpen auftritt
Willst du evtl. einem "externen Temperaturmessgerät" aka. 
"Heizungssteuerung" einen Widerstandswert vorgaukeln?

: Bearbeitet durch Moderator
von Moritz (mover)


Angehängte Dateien:

Lesenswert?

Erstmal vielen Dank für die raschen Antworten!

Den Schaltplan findet ihr im Anhang. Da ich noch keine Berührungspunkte 
mit eagle hatte habe ich ihn mit Powerpoint erstellt.

Ich habe ein Oszi, um Messungen durchzuführen.

Grüße!

von Monk (roehrmond)


Lesenswert?

Moritz schrieb:
> Meine Annahme: ...
> Macht das Sinn?

Ich halte deine Annahme für unwahrscheinlich.

Für ein Mikrocontroller-Programm gilt: Shit In -> Shit Out

Daher immer zuerst den Input kontrollieren. Ich würde nicht nur mit 
einem Multimeter messen, sondern auch mit einem Oszilloskop, damit 
ungewollte Schwingungen erkannt werden. Kontrolliere auch die 
Stromversorgung mit einem Oszilloskop, ob sie stabil ist.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Ist die Frage:
a) Der ESP wackelt mit dem Poti.
Dann ist das ein Problem mit den Eingängen oder den Berechnungen des 
ESP.

b) der ESP hält das Poti stabil, aber die externe Schaltung sieht 
wackelnde Werte.
Das könnte daran liegen, das so ein elektronisches Poti nicht 
potentialfrei ist, und billige USB-Netzteile sind zweipolig am Netz, 
d.h. sie haben Ableitströme vom Netz auf die USB-Buchse. Wenn die in 
eine fremde Schaltung fließen, kann da alles mögliche passieren, bis zum 
"der magische Rauch kommt raus".

Für b spricht, das es mit einer Powerbank geht.

Das loszuwerden ist schwer, wenn man die innere gesteuerte Schaltung 
nicht kennt.
Es kann sein, das du einfach nur USB erden musst. Kann aber auch 
knallen.
Ein anderes Netzteil für den ESP kann helfen.
Oder du brauchst nur die Massen deiner Schaltung plus der gesteuerten 
Schaltung verbinden. Da kann aber das Poti was gegen haben.
Oder du musst voll reingehen und eine galvanische Trennung der 
Potiansteuerung realisieren und das Poti mit der gesteuerten Schaltung 
versorgen. Bleibt trotzdem möglich, das es mit dem Potichip nicht geht 
weil "Wiper must be between Vcc and Vdd".

von Peter D. (peda)


Lesenswert?

Moritz schrieb:
> Den Schaltplan findet ihr im Anhang.

Der ist unvollständig, das Wichtigste fehlt.
Was ist an den Kullern bei R1, R2 und wo sind A, B und Wiper des Potis?

von Rainer W. (rawi)


Lesenswert?

Moritz schrieb:
> Prototyp3_Widerstaende.pdf

Was ist beim BME280 los. Im Plan steht "I²C-Komm.", aber es sind 3 
Leitungen, die an GPIOs gehen. Das passt nicht zusammen.

von Rainer W. (rawi)


Lesenswert?

p.s.
Moritz schrieb:
> Da ich noch keine Berührungspunkte
> mit eagle hatte habe ich ihn mit Powerpoint erstellt.

Schaltpläne kannst du auch mit KiCAD zeichnen.

Autodesk stellt Verkauf und Support von EAGLE sowieso zum 2026-06-07 ein 
und bestehende Lizenzen können ab 2025-03-31 nicht mehr verlängert 
werden.
https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Autodesk-EAGLE-Announcement-Next-steps-and-FAQ.html
https://www.autodesk.de/support/technical/article/caas/sfdcarticles/sfdcarticles/DEU/Autodesk-EAGLE-Announcement-Next-steps-and-FAQ.html

: Bearbeitet durch User
von Moritz (mover)


Angehängte Dateien:

Lesenswert?

Moin,

vielen Dank für eure Anmerkungen. Ich habe nun das "externe Messgerät" 
(rechts unten) hinzugefügt - die roten Punkte zeigen an, wo die 
Schaltung am Regler angeschlossen ist.

Wenn ich euch richig verstehe wäre das einfachste, GND vom µC mit dem 
Potential des Reglers zu verbinden, richtig? Was gibt es da zu beachten 
bzw. was kann dabei schief gehen?

Danke für eure Hilfe!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
> Ich habe nun das "externe Messgerät" (rechts unten) hinzugefügt
Der 6er-Klemmenblock in der Mitte ist komplett auf "Fühler 
COM"-Potential? Oder ist das ein 2x 3er-Block, wo oben alles "N" ist und 
unten alles "Fühler COM"?

Am einfachsten wäre es, wenn du die Typbezeichnung und den Hersteller 
dieses Gerätes ebenfalls hinzufügen würdest. Dann müsste man nicht mit 
irgendwelchen Schaltplanschnipseln herumraten.

> Was gibt es da zu beachten
Du musst prüfen, ob du den "Fühler COM" mit deinem ESP- und Poti-GND 
verbinden darfst, ohne dass eines der Geräte Schaden nimmt.

> was kann dabei schief gehen?
Es kann sein, dass die Heizungssteuerung ein völlig anderes Potential 
hat.

Und was passieren kann, wenn der Potentialunterschied recht groß ist, 
das siehst du an den Blitzen bei einem Gewitter.

: Bearbeitet durch Moderator
von Moritz (mover)


Lesenswert?

> Der 6er-Klemmenblock in der Mitte ist komplett auf "Fühler
> COM"-Potential? Oder ist das ein 2x 3er-Block, wo oben alles "N" ist und
> unten alles "Fühler COM"?
Richtig, es gibt separate 2 Blöcke. Einmal "N", einmal "Fühler COM".

> Am einfachsten wäre es, wenn du die Typbezeichnung und den Hersteller
> dieses Gerätes ebenfalls hinzufügen würdest. Dann müsste man nicht mit
> irgendwelchen Schaltplanschnipseln herumraten.
Samson Trovis 5573 bzw. 5578


> Du musst prüfen, ob du den "Fühler COM" mit deinem ESP- und Poti-GND
> verbinden darfst, ohne dass eines der Geräte Schaden nimmt.
Top! Wie mache ich das am besten?


> Und was passieren kann, wenn der Potentialunterschied recht groß ist,
> das siehst du an den Blitzen bei einem Gewitter.
Verstehe ;-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
>> Du musst prüfen, ob du den "Fühler COM" mit deinem ESP- und Poti-GND
>> verbinden darfst, ohne dass eines der Geräte Schaden nimmt.
> Top! Wie mache ich das am besten?
1. sorge für eine potentialfreie Spannungsversorgung deiner Schaltung
2. miss mit einem hochohmigen Spannungsmesser die Spannung (AC und DC) 
zwischen dem (unverbundenen) "ESP-GND" und dem "Fühler COM"
3. wenn du annähernd 0V (0..20V AC oder DC) misst: kein Problem, 
verbinde die beiden "Massen", fertig
4. wenn du du aber eine Spannung >20V misst, dann verbinde GND und COM 
mit einem 1k Widerstand und miss noch zwischen GND und COM
5. wenn du jetzt eine Spannung <1V hast, verbinde die Massen, fertig
6. wenn die Spannung größer als 1V ist, dann tausche das Netzteil deiner 
Schaltung aus und beginne nochmal bei 1.

von Moritz (mover)


Lesenswert?

Danke für die ausführliche Anleitung!

> 1. sorge für eine potentialfreie Spannungsversorgung deiner Schaltung
Sorry, hier schon die erste Frage: Ist die Schaltung potentialfrei, 
indem ich sie via µC (5V und GND) versorge?
> 2. miss mit einem hochohmigen Spannungsmesser die Spannung (AC und DC)
> zwischen dem (unverbundenen) "ESP-GND" und dem "Fühler COM"
> 3. wenn du annähernd 0V (0..20V AC oder DC) misst: kein Problem,
> verbinde die beiden "Massen", fertig
> 4. wenn du du aber eine Spannung >20V misst, dann verbinde GND und COM
> mit einem 1k Widerstand und miss noch zwischen GND und COM
AC-Spannung liegt bei ca. 45V, mit Widerstand 0,01 V
> 5. wenn du jetzt eine Spannung <1V hast, verbinde die Massen, fertig
Das verstehe ich nicht, verbinde ich sie parallel zum 1k-Widerstand? 
Oder anstatt des 1k-Widerstands?

Mit 1k-Widerstand besteht das Problem weiterhin (Schwanken des 
gemessenen Werts)

> 6. wenn die Spannung größer als 1V ist, dann tausche das Netzteil deiner
> Schaltung aus und beginne nochmal bei 1.

Viele Grüße!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
> Ist die Schaltung potentialfrei, indem ich sie via µC (5V und GND)
> versorge?
Das kommt auf die Versorgung an.
Und um sicherzustellen, dass die Versorgung potentialfrei ist und 
problemlos verbunden werden kann, machst du die ganzen Messungen.

> Das verstehe ich nicht, verbinde ich sie parallel zum 1k-Widerstand?
> Oder anstatt des 1k-Widerstands?
Du verbindest den GND und den COM, indem du den 1k dazwischen schsltest.

Du misst dann die Spannung über dem Widerstan. Wenn kein Strom fließt, 
zeigt das Messgerät 0V AC und 0V DC an. Das ist gut.

Wenn es aber eine Spannung anzeigt, dann fließt ein Ausgleichstrom 
(wegen I = U/R).  Das ist schlecht.

von Moritz (mover)


Lesenswert?

Hi Lothar,
vielen Dank für deine Unterstützung!!

> Du misst dann die Spannung über dem Widerstan. Wenn kein Strom fließt,
> zeigt das Messgerät 0V AC und 0V DC an. Das ist gut.
>
> Wenn es aber eine Spannung anzeigt, dann fließt ein Ausgleichstrom
> (wegen I = U/R).  Das ist schlecht.

Jop, das verstehe ich. Ich habe mit dem Widerstand eine Spannung kleiner 
1V gemessen, trotzdem schwankt der gemessene Wert noch.

Probiere ich es mit einem hochwertigeren Netzteil für die Versorgung des 
µC? Hast du eine Empfehlung? Aktuell nutze ich dieses:

https://www.conrad.de/de/p/samsung-ep-ta200ewe-handy-ladegeraet-mit-schnellladefunktion-micro-usb-weiss-1406074.html

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
> Ich habe mit dem Widerstand eine Spannung kleiner 1V gemessen
wieviel kleiner?
> trotzdem schwankt der gemessene Wert noch.
Aber "kleiner als 1V" ist auch "kleiner als 1mA" und das hört sich 
unkritisch an.

> Probiere ich es mit einem hochwertigeren Netzteil für die Versorgung des
> µC? Hast du eine Empfehlung?
Um Fehlmessungen auszuschließen: probiers mal mal mit einer 
USB-Powerbank. Wenn da immer noch was angezeigt wird, ist das ein 
Messfehler, denn die Powerbank ist garantiert potentialfrei.

von Peter D. (peda)


Lesenswert?

Moritz schrieb:
> Ich habe nun das "externe Messgerät"
> (rechts unten) hinzugefügt - die roten Punkte zeigen an, wo die
> Schaltung am Regler angeschlossen ist.

Ich sehe immer noch nicht, wie der GND des Poti mit der Schaltung an den 
Anschlüssen verbunden ist.

Ein Digitalpoti läßt sich nur als Spannungsteiler verwenden, aber nicht 
als Zweipol. Dann addiert sich nämlich der Wiperwiderstand und der 
schwankt mit der anliegenden Spannung bezogen auf GND des Digitalpotis.

Der On-Widerstand von Analogschaltern ist eine Parallelschaltung eines 
N-FET mit einem P-FET. Je nach Spannung zu GND leitet mal der eine bzw. 
der andere mehr oder weniger.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Ich sehe immer noch nicht, wie der GND des Poti mit der Schaltung an den
> Anschlüssen verbunden ist.
Der GND des Potis muss mit dem GND des ESP und mit dem COM/GND der 
Heizungssteuerung verbunden sein. Und mich würde nicht sehr wundern, 
wenn  alles noch mit dem N und mit dem PE verbunden ist.

Peter D. schrieb:
> Ein Digitalpoti läßt sich nur als Spannungsteiler verwenden, aber nicht
> als Zweipol.
Funktioniert aber trotzdem auch als Zweipol. Ich habe da einige 
zigtausend uralte Geräte mit uralten Potis im Feld, wo einer der beiden 
Endanschlüsse mit dem Wiper verbunden ist und das so als einstellbarer 
Widerstand verwendet wird. Und da geht es tadellos bei Klemmenspannungen 
um 1,5V.

: Bearbeitet durch Moderator
von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Funktioniert aber trotzdem auch als Zweipol.

Das hängt natürlich von der konkreten Dimensionierung ab.
Du hast 43k in Reihe, er hat 0,75k. Das ist schonmal Faktor 50 
Unterschied.
Und dann liegen bei Dir auch noch konstante 1,5V gegen GND an.

Ich steuere auch einen Buck am FB-Pin (0,6V) an. Ich benutze dazu einen 
einen 16Bit-DAC. R26, R23, R16 legen den Einstellbereich fest (0..9V).
Siehe Bild.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Das hängt natürlich von der konkreten Dimensionierung ab.
Korrekt. Scheint aber ja grundsätzlich irgendwie hinreichend gut zu 
funktionieren, denn

Moritz schrieb:
> Versorge ich den µC über eine Powerbank tritt das Problem nicht mehr auf.


Aber ich bin eben auch der, der am Anschluss AF1 Klemme 01 für die 
Minimal- und Maximaltemperatur den PT1000 mit Festwiderständen (820R = 
-45°C und 1k2 = 50°C) simulieren und dann einfach mal die Spannung an 
der Klemme 01 gegen COM messen würde.
Und dann genauso einfach mal an der Klemme diese Spannung einspeisen 
würde, statt hochumständlich und mit fraglichem Ergebnis einen 
Widerstand zu simulieren.

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> für die
> Minimal- und Maximaltemperatur den PT1000 mit Festwiderständen (820R =
> -45°C und 1k2 = 50°C)

Zum Testen oder Abgleichen eines PT1000 Eingangs würde ich 3 Widerstände 
und 2 AQY212 nehmen. Die Photomos sorgen für ideale galvanische Trennung 
und mit 0,08Ω verfälschen sie die Messung nicht. Man hat dann 3 
Stützwerte und Sensor-Break zur Auswahl, das sollte reichen.

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
Noch kein Account? Hier anmelden.