Forum: Mikrocontroller und Digitale Elektronik 12 V PWM aus ESP32 funktioniert nur so "halb"


von Thorsten (mitglied19541)


Angehängte Dateien:

Lesenswert?

Moin,

für ein Wohnraumlüftungsgerät mit 2 48V-Papst-Lüftern brauche ich ein 12 
V PWM-Signal zur Drehzahlsteuerung. Ich generiere dazu mit einem ESP32 
jeweils ein PWM-Signal (10 kHz) auf Pin 13 und 14 für Zuluft und Abluft. 
Das 3,3 V PWM-Signal des ESP bringe ich mit MOSFET-Treibermodulen auf 12 
V. Der ESP32 hängt per USB an einem Raspi 5 auf dem Homeassistant zur 
Smarthome-Steuerung läuft.

Lüfter: EBMPapst R1G175-AB41
MOSFET: https://www.amazon.de/dp/B0CBK7D1GD?tag=psblog-21 [Anzeige]

Problem 1: Die Drehzahlregelung funktioniert anscheinend nur etwa im 
Bereich 30-50%. Das ich die Drehzahl nicht auf 1% runter bekomme, ist 
mir klar, aber nach oben hin sollten 100% möglich sein. Bei voller 
Drehzahl sollen die Lüfter mit 3100 U/min rotieren und jeweils 34 W 
verbrauchen. Auch wenn ich am ESP32 das PWM-Signal auf 100% regele, 
verbrauch ein Lüfter nur 18W und läuft definitiv nicht auf voller 
Drehzahl (zu leise verglichen mit der alten Steuerung).

Problem 2: An PIN 5 des ESP32 hängen per I2C-Bus 8 
DS18B20-Temperatursensoren. Wenn ich die Lüfter einschalte, also das 
PWM-Signal generiere, fallen die meisten DS18B20-Temperatursensoren mit 
"scratch pad checksum invalid" aus.

Vermutlich ist meine Schaltung grob fehlerhaft. Es fehlen Widerstände 
o.ä? Ich habe mal die Schaltung skizziert und hänge den Schaltplan für 
die Lüfter an. Kann bitte mal jemand drauf gucken, der im Gegensatz zu 
mir ein bisschen Ahnung von Elektronik hat?

Herzlichen Dank!

Beitrag #7947668 wurde vom Autor gelöscht.
von Rainer W. (rawi)


Lesenswert?

Zumindest scheint dein PWM-Signal verpolt am MOSFET Treibermodul 
angeschlossen zu sein, falls du die Schaltung so aufgebaut hast, wie in 
plan1.png gezeigt.

: Bearbeitet durch User
von Matthias S. (dachs)


Lesenswert?

Auf den ersten Blick: es fehlt die Doku zu den MOSFET-Treibermodulen.

von Rainer W. (rawi)


Lesenswert?

Bei den Photos in der verlinkten Produktbeschreibung der MOSFET 
Treiberplatinen scheint einiges durcheinander geraten zu sein und das 
letzte zeigt sogar eine andere Platine.
Wie sieht DEINE Platine aus (Photo Vor- und Rückseite)?

: Bearbeitet durch User
von Thorsten (mitglied19541)


Angehängte Dateien:

Lesenswert?

Vielen Dank für Deine Antwort, aber ich bin zu doof, um zu erkennen, was 
am MOSFET verpolt ist. In der Grafik die vorgesehene Beschaltung.

von Jens M. (schuchkleisser)


Lesenswert?

Soweit ich weiß schalten die FETs Masse, und sie sind auch nicht für 
Ansteuerung mit 3,3V geeignet.
Das ist sowas von das falsche für die Lüfteransteuerung.

Die Schaltung im Lüfter-Dabla unten links zeigt schon ganz gut wie es 
geht, da fehlt noch ein Widerstand vor der Basis und dann ist das 
fertig, allerdings muss die PWM des ESP dann invertiert sein: H bzw. 
100% bedeutet Motor steht.
Entweder falschrum rechnen oder das Signal invertiert ausgeben lassen.

von Matthias S. (dachs)


Lesenswert?

Thorsten schrieb:
> In der Grafik die vorgesehene Beschaltung.

Sorry, das ist keine Doku.
Aus Sicht von jedem, der Schaltpläne lesen kann, ist das ein 
zusammenhangloses Gefasel mit Buzzworten ohne praktischen Nutzen.

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Thorsten schrieb:
> Vielen Dank für Deine Antwort, aber ich bin zu doof, um zu erkennen, was
> am MOSFET verpolt ist.

Die Gnd-Leitung vom ESP-Modul muss an den mit "GND" bezeichneten 
Anschluss des MOSFET-Moduls (grün markiert). Auf der Unterseite wird 
auch noch eine Beschriftung vorhanden sein, aber wenn du nicht DEINE 
Platine zeigst, tappt man da etwas im Dunkeln.

Die Beschriftungen "Erdung" und "Trigger-/Pulsweitenmodulation" in dem 
Bild sind vertauscht.

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Jens M. schrieb:
> Soweit ich weiß schalten die FETs Masse

Dies.

Für 3,3V sind sie geeignet, aber halt nicht so wie im Bild des 
Eingangsbeitrags.

von Rainer W. (rawi)


Lesenswert?

Jack V. schrieb:
> Für 3,3V sind sie geeignet, ...

Da sagt das Datenblatt etwas anderes. Bei 3,3V Ansteuerung kann der 
AOD4184A nur wenige Ampere schalten, aber lange nicht die spezifizieren 
50A. Ein garantierter Wert ist erst für eine U_GS von 4,5V angegeben. 
Für einen kleinen Lüfter mögen die 3,3V vielleicht reichen.
https://www.aosmd.com/res/datasheets/AOD4184A.pdf

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

Jens M. schrieb:
> Soweit ich weiß schalten die FETs Masse,

Kann man auf der Rückseite der Platine sehr gut erkennen.

von Jack V. (jackv)


Lesenswert?

Rainer W. schrieb:
> Bei 3,3V Ansteuerung kann der
> AOD4184A nur wenige Ampere schalten, aber lange nicht die spezifizieren
> 50A.

2×7,5A sind gefordert. Das ganze Ding wird mit 15A beworben, und zwei 
MOSFETs sitzen drauf. Hier sollte ein PWM-Eingang eines Lüfters bedient 
werden, da ist das sowieso völlig irrelevant – wenn’s denn ansonsten 
geeignet wäre, was es nicht ist.

Edit: War’s bei den Lüftern nicht so, dass der PWM-Eingang eh gegen GND 
geschaltet wird? In dem Fall würde ein einfacher LL-N-MOSFET den Job 
tun.

: Bearbeitet durch User
von Thorsten (mitglied19541)


Lesenswert?

Vielen Dank für die Antworten! In der Produktbeschreibung der 
MOSFET-Platinen bei Amazon steht: "Trigger-Signalquelle: Digitaler hoher 
und niedriger Pegel (DC3.3V-20V)". Insofern dachte ich, dass die 
geeignet sind.

Also jetzt die Leitungen, die das PWM-Signal vom ESP32 zum MOSFET 
übertragen, vertauschen oder eine ganz andere Schaltung/Platine, um die 
3,3V vom ESP32 auf 12 V zu bringen? Gibt es dazu Empfehlungen?

Nur noch zur Einordnung: Es geht darum, ein 23 Jahre altes 
Paul-Lüftungsgerät "smart" zu machen. Mit der Originalsteuerung ist nur 
eine primitive, zeitgesteuerte Drehzahlsteuerung möglich (z.B. Mittags 
100%, nachts 50%, sonst 75%). Ich möchte die Lüfter dynamisch in 
Abhängigkeit vom CO2-Wert und VOC-Wert der Luft steuern. Die 
Programmierung ist auch nicht das Problem, aber ich habe von der 
Elektronik keine Ahnung. Löten, auch von SMD-Teilen ist kein Problem.

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


Angehängte Dateien:

Lesenswert?

Thorsten schrieb:
> Vermutlich ist meine Schaltung grob fehlerhaft. Es fehlen Widerstände o.ä?
Ja klar, zumindest der 33k Pullup fehlt.

Jack V. schrieb:
> In dem Fall würde ein einfacher LL-N-MOSFET den Job tun.
So ist es. Einfach den BJT im plan2.png unten links durch so einen 
N-Kanal-Logic-Level Mosfet ersetzen. Dank der Z-Diode braucht es dann 
auch nicht extra noch eine 12V-Versorgung.

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Lesenswert?

Jack V. schrieb:
> 2×7,5A sind gefordert. Das ganze Ding wird mit 15A beworben, und zwei
> MOSFETs sitzen drauf.

Den Strom kann er bei 3,3V noch schalten - würde also passen, falls es 
nicht aufs letzte Milliohm ankommt.

Jack V. schrieb:
> Edit: War’s bei den Lüftern nicht so, dass der PWM-Eingang eh gegen GND
> geschaltet wird?

Die Lüfterbeschaltung für PWM-Ansteuerung ist in plan2.png unter "Speed 
Setting via PWM 1-10kHz" gezeigt.

> In dem Fall würde ein einfacher LL-N-MOSFET den Job tun.

Ja, sicher. Selbst bei 48V Lüfterversorgung müssen nur 1,5 mA geschaltet 
werden. Das Signal muss an den Anschluss "0-10 VDC" (Klemme 3) des 
Lüfters.
Der dicke MOSFET wird das auch schalten können, aber den angegebenen 
Pull-Up von 33kΩ wird er schon brauchen.

p.s.
Den mit "PWM" bezeichneten Anschluss aus plan1.png gibt es laut 
plan2.png nicht. Gemeint ist wohl "0-10 VDC"?

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


Lesenswert?

Lothar M. schrieb:
> Dank der Z-Diode
Es dürfte mit den 48V Versorung sogar ganz ohne Z-Diode gehen, denn der 
0-10V-Eingang laut geht laut "Full speed" Beschaltung links oben im 
plan2 auch nicht kaputt, wenn 48V dort reinkommen.

Allerdings wird sich dann der Reaktionsbereich des Lüfters auf 1/4..1/5 
des PWM-Bereichs beschränken.

Rainer W. schrieb:
> p.s.
> Den mit "PWM" bezeichneten Anschluss aus plan1.png gibt es laut
> plan2.png nicht. Gemeint ist wohl "0-10 VDC"?
Nach dem Ausschlussverfahren bleibt nur der noch übrig. Gegen solche 
Verwirrung hilft es, im Schaltplan die Klemmennummern zu verwenden. Und 
im Schaltplansymbol dann die selbe Klemmenreihenfolge wie die 
Klemmennummern...

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Es dürfte mit den 48V Versorung sogar ganz ohne Z-Diode gehen, ...

Aber nicht jeder kleine LL-MOSFET mag 48 V U_DS.

> Allerdings wird sich dann der Reaktionsbereich des Lüfters auf 1/4..1/5
> des PWM-Bereichs beschränken.

Warum sollte man das wollen, nur um die paar Cent für die Z-Diode zu 
sparen und dann auch noch Drehzahlschwankungen in Kauf zu nehmen, wenn 
die 48V nicht stabil sind?

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Thorsten schrieb:
> Vermutlich ist meine Schaltung grob fehlerhaft

Ein völlig ungeeignetes Modul.

Es reicht nicht, dass irgendwo das Wort PWM auftaucht beim billigsten 
was mam aus China erwerben kann

Baue zwischen ESP32-Ausgang und Lüfter:
1
      +48V----------- 4
2
        |
3
       33k
4
        |
5
        +--------+--- 3
6
        |       _|_
7
--3k3--|< BC547 /_\' ZD12
8
        |E       |
9
--------+--------+--- 1
wie schon im Datenblatt des Lüfters angedeutet und benutze DIE RICHTIGE 
PWM Frequenz.

von Thorsten (mitglied19541)


Lesenswert?

Nochmals vielen Dank für die Antworten! Ich hätte gleich hier fragen 
sollen...

Einen 33K-Widerstand bekomme ich wohl unfallfrei bestellt. Damit ich 
nicht ggf. wieder ins Klo greife: Kann mir jemand Links für den BC547 
und die ZD12-Diode einstellen. Oder falls Verlinken wegen Werbung nicht 
erlaubt ist, die Artikelnummer bei Reichelt oder sonstwo nennen? Unter 
BC547 hat Reichelt z.B. 6 Varianten. Mir sind teils die Unterschiede 
nicht klar.

von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Unter BC547 hat Reichelt z.B. 6 Varianten. Mir sind teils die Unterschiede
> nicht klar.

Die Unterschiede liegen im Verstärkungsfaktor "hFE" (gekennzeichnet in 
der Typenbezeichnung durch den zusätzlichen Buchstaben) und im 
Hersteller. Für deine Anwendung ist das völlig egal.

Vergiss den 3,3kΩ Widerstand an der Basis nicht.

Bei der Z-Diode reicht die kleinste Leistungsklasse (0,3W ... 0,5W). Bei 
12V und 1,5mA hast du an der Z-Diode eine Leistung von 18 mW. Such dir 
aus, welche Bauform du löten kannst/magst.
https://www.reichelt.de/de/de/shop/kategorie/zenerdioden-8533?filter=3%23~%23%2A%23~%2312%20V%23~%2312%23~%230

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


Lesenswert?

Thorsten schrieb:
> Unter BC547 hat Reichelt z.B. 6 Varianten.
Wenn du es dir eh' aussuchen kannst, dann nimm den mit der höchsten 
Stromverstärkung endend mit 'C'.

Rainer W. schrieb:
> Vergiss den 3,3kΩ Widerstand an der Basis nicht.
Oder einfach 2 Stück von den 33k bestellen. Das tuts dann auch...

von Frank O. (frank_o)


Lesenswert?

Thorsten schrieb:
> Problem 1: Die Drehzahlregelung funktioniert anscheinend nur etwa im
> Bereich 30-50%. Das ich die Drehzahl nicht auf 1% runter bekomme, ist
> mir klar, aber nach oben hin sollten 100% möglich sein. Bei voller
> Drehzahl sollen die Lüfter mit 3100 U/min rotieren und jeweils 34 W
> verbrauchen. Auch wenn ich am ESP32 das PWM-Signal auf 100% regele,
> verbrauch ein Lüfter nur 18W und läuft definitiv nicht auf voller
> Drehzahl (zu leise verglichen mit der alten Steuerung).

Das sind doch alles erstmal Mutmaßungen. Hast du die Drehzahl gemessen?

Außerdem konnte ich die tatsächliche Spannung für die Motoren hier nicht 
finden. Wenn du nur eine geringe Spannung hast, dann brauchst du dich in 
den unteren Drehzahlenbereich nicht wundern, dass die nicht richtig 
laufen.
Dann mach in deine Programmierung eine kurze Anlaufphase von 100% PWM 
rein und gehe dann auf die gewünschte Drehzahl runter. Der Motor braucht 
immer deutlich mehr Strom zum anlaufen.

Beitrag #7947784 wurde von einem Moderator gelöscht.
Beitrag #7947787 wurde von einem Moderator gelöscht.
Beitrag #7947791 wurde von einem Moderator gelöscht.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Frank O. schrieb:
> Hast du die Drehzahl gemessen?
Vor man die Drehzahl misst, reicht es schon aus, einfach mal die 
Spannung am 0-10V-Eingang (zwischen Klemme 3 und 1) zu messen. Wenn da 
nur 5V sind, dann kommt am Lüfter auch nur die halbe Drehzahl raus.

von Rainer W. (rawi)


Lesenswert?

Frank O. schrieb:
> Das sind doch alles erstmal Mutmaßungen. Hast du die Drehzahl gemessen?

Solange der MOSFET offensichtlich nicht einmal richtig angesteuert wird 
und der Pull-Up fehlt, um für die Drehzahlregelung des Lüfters ein 
vernünftiges PWM-Signal an seinem Steuereingang zu liefern, reicht doch 
die qualitative Erkenntnis, dass der Lüfter weniger dreht, als bei der 
alten Steuerung. Da braucht man nicht um die letzten 100rpm zu fälschen.

Zum Testen könnte man bei abgeklemmtem MOSFET-Modul eine einstellbare 
Spannung zwischen 0 und 10V an den Steuereingang des Lüfters anschließen 
(Klemmen 1: Gnd und 3: 0-10V).

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Rainer W. schrieb:
> Solange der MOSFET offensichtlich nicht einmal richtig angesteuert wird
> und der Pull-Up fehlt, um für die Drehzahlregelung des Lüfters ein
> vernünftiges PWM-Signal an seinem Steuereingang zu liefern, reicht doch
> die qualitative Erkenntnis, dass der Lüfter weniger dreht,

Ja klar, du und Lothar habt natürlich recht. Aber weiß das der TO 
wirklich auch? Ich finde es allein schon beeindruckend, dass man einen 
48V-Motor mit 12V betreiben und auch noch "vernünftig" regeln will.

von Rainer W. (rawi)


Lesenswert?

Frank O. schrieb:
> Ich finde es allein schon beeindruckend, dass man einen
> 48V-Motor mit 12V betreiben und auch noch "vernünftig" regeln will.

Wie kommst du darauf. Der Lüfter wird mit 48V versorgt.

Thorsten schrieb:
> plan1.png

von Frank O. (frank_o)


Lesenswert?

Rainer W. schrieb:
> Wie kommst du darauf. Der Lüfter wird mit 48V versorgt.

Eben das konnte ich nicht einwandfrei aus den Texten lesen.
Wenn das so ist, dann ist ja da schon einmal alles gut.

Dann soll er halt die Schaltung richtig verdrahten und ausprobieren.

Seine Programmierung ist nach seinen Aussagen nicht zu beanstanden ...
Wie auch immer.
Erstmal Fehler beheben und dann melden.

von Rainer W. (rawi)


Lesenswert?

Frank O. schrieb:
> Eben das konnte ich nicht einwandfrei aus den Texten lesen.

Deswegen hat in der Elektronik der Schaltplan ein höheres Gewicht als 
ausschweifende Lyrik.

von Thorsten (mitglied19541)


Lesenswert?

Frank O. schrieb:

> Ja klar, du und Lothar habt natürlich recht. Aber weiß das der TO
> wirklich auch? Ich finde es allein schon beeindruckend, dass man einen
> 48V-Motor mit 12V betreiben und auch noch "vernünftig" regeln will.

Man kann mir natürlich zurecht einiges an Unkenntnis vorwerfen, aber wo 
will ich einen 48-V-Motor mit 12V betreiben? Ich betreibe den Motor mit 
48V. Es geht um das Steuersignal für die Drehzahl mit 12 bzw. 10V.

Gemessen habe ich am PWM Eingang bzw 0-10 VDC-Eingang des Lüfters:
0% = 0 V
50% = 5,15 V
100% = 12,0 V

Die %-Angabe ist jeweils der gesetzte Wert im ESP für das PWM-Signal.
Unter 25% bleibt der Lüfter stehen (auch wenn er vorher mit einem 
höheren Wert lief). Bei 100% und 12V läuft der Lüfter aber nicht mit 
100% also 3.100 U/min. Das ist nicht gemessen, sondern dafür gibt es 2 
Indizien: Geräusch und Stromverbrauch.

Bei der Drehzahlmessung muss ich erst mal herausfinden, wie ich die 
Impulse am ESP32 zählen kann. Und dann muss
herausfinden, auf welcher Ader das "Tachosignal" liegt. Aus dem 
Lüftungsgerät kommt nur ein Kabelbaum mit 20 schwarzen Adern (12 davon 
werden genutzt) und einer grüngelben Ader. Die Adern sind nummeriert, 
aber ich habe keinen Schaltplan, was auf welcher Ader liegt. Auf welcher 
Ader +48V, GND und PWM1 und PWM2 liegen, konnte ich anhand der 
Leiterplattenbeschriftung des alten Steuergerätes herausfinden. Die 
anderen Anschlüsse sind nicht beschriftet. 2 werden das "Tachosignal" 
sein, 4 werden zu Temperatursensoren gehören und bei 2 weiteren habe ich 
gar keine Idee, wofür die sind.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Ich hatte doch schon geschrieben,  dass mir das mit den 48V nicht 
eindeutig klar war. Also alles gut.

von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Bei 100% und 12V läuft der Lüfter aber nicht mit 100% also 3.100 U/min.

Deshalb der Vorschlag mit 0..10V ohne MOSFET-Treiber und ohne irgendein 
PWM (ganz abgeklemmt). Wie benimmt sich der Lüfter dann?

Rainer W. schrieb:
> Zum Testen ...

Besitzt du ein Oszi oder andere Messgeräte?

: Bearbeitet durch User
von Rolf (rolf22)


Lesenswert?

Thorsten schrieb:
> Produktbeschreibung der MOSFET-Platinen bei Amazon steht

Bruhaha. Produktbeschreibung bei Amazon.

Solche Quellen liest du wörtlich? Laut dem, was bei A. steht, würde mein 
IP-Telefon gar nicht funktionieren, mein Multimeter wäre erdbebensicher, 
würde aber nur 50 g (statt 400 g) wiegen, ...

von Frank O. (frank_o)


Lesenswert?

Rainer W. schrieb:
> Deshalb der Vorschlag mit 0..10V ohne MOSFET-Treiber und ohne irgendein
> PWM (ganz abgeklemmt). Wie benimmt sich der Lüfter dann?

Das ist die richtige Idee, scheitert nur dran, dass er nicht die Leitung 
klar zuordnen kann, so wie ich ihn verstanden habe.

von Rainer W. (rawi)


Lesenswert?

Frank O. schrieb:
> Das ist die richtige Idee, scheitert nur dran, dass er nicht die Leitung
> klar zuordnen kann, so wie ich ihn verstanden habe.

Das ist doch kein Argument. Um das Ding per PWM zu steuern, müssen die 
Leitungen ebenfalls richtig zugeordnet sein. Sonst wird das sowieso 
nichts.

von Thorsten (mitglied19541)


Lesenswert?

Rainer W. schrieb:
> Deshalb der Vorschlag mit 0..10V ohne MOSFET-Treiber und ohne irgendein
> PWM (ganz abgeklemmt). Wie benimmt sich der Lüfter dann?

Ich habe ein altes stufenweise regelbares Netzteil mit 3/6/9/12V DC. Das 
kann ich heute Abend mal ranhängen und berichten, was die Lüfter bei den 
einzelnen Spannungen machen.

> Besitzt du ein Oszi oder andere Messgeräte?

Leider nur ein Multimeter.

Die einzigen beiden Adern, die ich (noch) nicht zuordnen kann, sind die, 
an denen ich die Impulse für die Ist-Drehzahl abgreifen müsste (2 
Impulse pro Umdrehung). Das hatte ich oben nur geschrieben, weil jemand 
nach einer Messung der Drehzahl fragte. Die Adern für Stromversorgung 
und das Steuersignal kann ich klar zuordnen.

Ich habe hier auch noch einen Beutel mit 4.7K-Widerständen (1W). Werde 
heute Abend mal 7 in Reihe schalten ;-), um 33K zu bekommen und 
berichten, was sich ggf. ändert.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Leider nur ein Multimeter.

Dann stell das auf den 20VDC-Messbereich und guck dir damit die Spannung 
am Lüfter zwischen "0-10 VDC" (3) und Gnd (1) an.
Die Chancen stehen relativ gut, dass du damit (auch bei richtiger 
PWM-Ansteuerung) einen vernünftigen und stabilen Wert angezeigt bekommst 
(Z-Diode muss eingebaut sein, alternativ: Widerstand 4,7kΩ von (3) nach 
ca. +12V.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Thorsten schrieb:
> berichten, was sich ggf. ändert.

Hört sich gut an, mach mal!

Beitrag #7947922 wurde von einem Moderator gelöscht.
Beitrag #7947944 wurde von einem Moderator gelöscht.
von Thorsten (mitglied19541)


Lesenswert?

Weil familiär ungeplant etwas dazwischen kam, hatte ich gestern Abend 
nur 10 Minuten Zeit und konnte nicht alles probieren. Folgende 
Feststellungen so weit:

Mit einem 33K-Widerstand zwischen 3 (Steuerungseingang/PWM) und 4 (+48V) 
lassen sich die Lüfter nun anscheinend auf 100% regeln. Ich messe dann 
74,2W Leistungsaufnahme am Lüftungsgerät. Das ist plausibel (2x34W für 
die 2 Lüfter plus ca. 6W Eigenverbrauch für Netzteil, Elektronik).

Damit funktioniert die Lüftersteuerung oberflächlich wie gewünscht. So 
lassen kann ich es aber trotzdem nicht, weil die MOSFET-Dinger nach wie 
vor die Auswertung der DS18B20-Temperatursensoren am ESP32 stören. Da 
ich nicht verstehe, was da elektronisch passiert, kann ich nur im 
Ausschlussverfahren vorgehen. Folgendes lässt sich immer wieder 
reproduzieren:

- PWM-Signal wird vom ESP32 ohne angeschlossene MOSFETs generiert: Alle 
Temperatursensoren funktionieren störungsfrei

- MOSFET angeschlossen, PWM-Signal auf 0%: 1 von 8 DS18B20 fällt aus

- MOSFET angeschlossen, PWM-Signal auf 60%: 4 von 8 DS18B20 fallen aus

- MOSFET angeschlossen, PWM-Signal auf 100%: 7 von 8 DS18B20 fallen aus

- Alle DS18B20 fallen laut ESPHome-Logs mit der Fehlermeldung "scratch 
pad checksum invalid" aus.

Irgendwas im Kontext der MOSFETs stört also den ESP32.

von Obelix X. (obelix)


Lesenswert?

Thorsten schrieb:
> Das ist nicht gemessen, sondern dafür gibt es 2
> Indizien: Geräusch und Stromverbrauch.

Die Leistung, die auf dem Motor steht, benötigt der Motor nicht immer 
und unter allen Umständen.

Thorsten schrieb:
> Irgendwas im Kontext der MOSFETs stört also den ESP32.

Foto vom Aufbau?

: Bearbeitet durch User
von Thorsten (mitglied19541)


Lesenswert?

Obelix X. schrieb:

> Die Leistung, die auf dem Motor steht, benötigt der Motor nicht immer
> und unter allen Umständen.

Ja, aber bei voller Drehzahl ist doch zu erwarten, dass die Lüfter in 
etwa die spezifizierte Leistungsaufnahme haben?

> Foto vom Aufbau?

Die kleinen MOSFET-Platinen sind ca. 3m vom ESP32 entfernt und 
dazwischen ist eine Trockenbauwand. Dass interpretiere ich so, dass es 
unwahrscheinlich ist, dass etwas elektromagnetisch dazwischen "funkt". 
Die Störung durch die MOSFETs kommt mutmaßlich über die Kabelverbindung, 
weil entweder etwas an der Schaltung falsch ist oder diese MOSFETs 
irgendwie ungeeignet für das Zusammenspiel mit dem ESP32 sind?

Ich würde sonst heute die Teile für die Schaltung von Michael bestellen:
1
       +48V----------- 4
2
         |
3
        33k
4
         |
5
         +--------+--- 3
6
         |       _|_
7
 --3k3--|< BC547 /_\' ZD12
8
         |E       |
9
 --------+--------+--- 1

Falls das noch relevant ist. Als Netzteil verwende ich das MeanWell 
RID-125-1248. Das liefert sowohl 12V DC als auch 48V DC.

von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Irgendwas im Kontext der MOSFETs stört also den ESP32.

Die MOSFETs schalten mit der PWM-Frequenz. Je nach Verkabelung, 
Anordnung und getroffenen Entstörmaßnahmen können sich Schaltstörungen 
leitungsgebunden oder per induktiver oder kapazitiver Kopplung im Aufbau 
ausbreiten.

Thorsten schrieb:
> Die Störung durch die MOSFETs kommt mutmaßlich ... oder diese MOSFETs
> irgendwie ungeeignet für das Zusammenspiel mit dem ESP32 sind?

Erklär mal konkret, was du damit meinst.

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


Lesenswert?

Thorsten schrieb:
> So lassen kann ich es aber trotzdem nicht, weil die MOSFET-Dinger nach
> wie vor die Auswertung der DS18B20-Temperatursensoren am ESP32 stören.
Glaube ich nicht. Da stört was anderes, oder du hast aus EMV-Sicht einen 
extrem windigen Aufbau.

Thorsten schrieb:
> Die kleinen MOSFET-Platinen sind ca. 3m vom ESP32 entfernt
Du fährst also mit der PWM 3m durch die Botanik. Wie ist die 
Leitungsführung dorthin? Sind die PWM-Leitung und die zugehörige 
Masseleitung verdrillt?

> Die Störung durch die MOSFETs kommt mutmaßlich
Teile und herrsche!
Klemm doch mal die Lüfter ab und lass nur die Mosfets dran. Wenns dann 
immer noch stört, kommt es von den Mosfets.

von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Mit einem 33K-Widerstand zwischen 3 (Steuerungseingang/PWM) und 4 (+48V)
> lassen sich die Lüfter nun anscheinend auf 100% regeln.

Was für eine Z-Diode hast du eingebaut?

von Obelix X. (obelix)


Lesenswert?

Thorsten schrieb:
> Die kleinen MOSFET-Platinen sind ca. 3m vom ESP32 entfernt

Problem gefunden!

von Thorsten (mitglied19541)


Angehängte Dateien:

Lesenswert?

Zunächst mal noch vielen Dank für die weiteren Rückmeldungen!

Ich habe jetzt mal in Szenario 1 die Verbindung unterbrochen, die das 
PWM-Signal von den MOSFETs zum Lüfter führt (siehe rote Xe in "Plan3"). 
Keine Änderung in den Symptomen. Je mehr ich das PWM-Signal hochdrehe, 
um so mehr DS18B20 sind gestört.

In Szenario 2 habe ich die Leitung, die das PWM-Signal von den MOSFETs 
zum Lüfter führt wieder angeschraubt und stattdessen die 12 
VDC-Zuführung zu den MOSFET unterbrochen. Dann treten keine Probleme 
beim Auslesen der DS18B20 am ESP auf. Die kleine rote LED auf den 
MOSFET-Platinen leuchtet trotzdem.

Eine Z-Diode ist nicht verbaut. Nur das, was im "Plan" zu sehen ist.

Falls das relevant ist: Die 3m Kabel zwischen ESP32 und MOSFET sind 
1,5mm² Lautsprecherlitze. Hatte gerade nichts anders zur Hand und wollte 
erstmal nur einen Testaufbau, ob das funktioniert. Wenn funktionierend, 
kommen Gehäuse, Kabelkanal und vernünftige Verdrahtung.

Die 2m Leitung, die das PWM-Signal von des MOSFETs und die 48V zu den 
Lüftern führt, ist der Original-Kabelbaum, bestehend aus 20 dünnen 
Litzen, soweit ich sehen kann ungeschirmt.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Du hast noch nicht verstanden wie das FET-Modul funktioniert, und du 
hast die Z-Diode vergessen.

Der Eingang des Lüfters ist nur 0-10V, eine 12V-Z-Diode ist schon 
grenzwertig. 48V sind alarmierend. Du hast echt Glück gehabt wenn da 
drin nichts abgebrannt ist.

Die FETs schalten Masse.
Wenn überhaupt muss das Modul nur an Masse und PWM angeschlossen werden, 
die 12V-Seite ist sinnlos.
Masse wäre dann rechts unten, PWM links unten. Die beiden oberen Klemmen 
sind eh durchverbunden und unbenutzt.

Das es grundsätzlich extrem gewagt ist, die schwachen 3,3V-Signale des 
ESP ohne Treiber und Schutzmaßnahmen durch 3m Strippe neben 48V xA 
PWM-verseuchte Signale zu führen wurde dir ja schon gesagt.
OneWire (die Datenverbindung zu den Sensoren) ist sehr schnell und damit 
störanfällig, 2m zu einem Sensor in einer elektrisch sauberen Umgebung 
sind schon grenzwertig.
8 Sensoren, lange Strippe und so ein Sender nebenan kann nicht dauerhaft 
funktionieren.

Warum hast du 3m Strippe vom WLAN zum Problem? Geht das WLAN nicht durch 
die Wand?

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Thorsten schrieb:
> Eine Z-Diode ist nicht verbaut. Nur das, was im "Plan" zu sehen ist.

Heißt das, dass du auf einen Eingang, der wahrscheinlich maximal 12,6V 
verträgt, eine Spannung von 48V (über den Widerstand) gibst?
Meinst du, der Lüfterhersteller zeichnet die Z-Diode zum Spaß ein?

Für die Lüfteransteuerung ist immer noch plan2.png relevant.

Du kannst von Glück reden, dass der Widerstand den Strom gut begrenzt.

Mit deinen 1-Wire Störungen hat das allerdings wahrscheinlich nichts zu 
tun.

Jens M. schrieb:
> OneWire (die Datenverbindung zu den Sensoren) ist sehr schnell und damit
> störanfällig, 2m zu einem Sensor in einer elektrisch sauberen Umgebung
> sind schon grenzwertig.

Gut, dass meine DS18B20 das nicht wissen. Die hängen sehr zufrieden, 
parasitär versorgt und zuverlässig, an teilweise 10m Kabel (allerdings 
bei 5V, d.h. 0,9V mehr Störabstand).

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


Lesenswert?

Rainer W. schrieb:
> einen Eingang, der wahrscheinlich maximal 12,6V verträgt
Hast du mal die Beschaltung für "Full Speed" in genau diesem plan2.png 
angeschaut? Dann muss man nicht mehr mit angenommenen 
"Wahrscheinlichkeiten" herumraten.

: Bearbeitet durch Moderator
von Jens M. (schuchkleisser)


Lesenswert?

Rainer W. schrieb:
> Gut, dass meine DS18B20 das nicht wissen. Die hängen sehr zufrieden,
> parasitär versorgt und zuverlässig, an teilweise 10m Kabel (allerdings
> bei 5V, d.h. 0,9V mehr Störabstand).

Offiziell sind da recht enge Grenzen, aber wir wissen alle das 
normalerweise wesentlich mehr geht.
Aber woher die Probleme hier kommen brauchen wir beide ja nicht zu 
diskutieren, oder?

Du hast einen Sensor an 10m Leitung und 5V, ohne den 48V-PWM-Kram mit 
etlichen Ampere in der Nähe, und alleine schon "die Strippen einen Meter 
entfernt verlegen" dürfte viele Fehler ausmerzen.
Aber das Parasitär und 10m funktionieren hätte ich auch nicht gedacht.

Andersrum:
Sonoff verkauft DS18B20, die angeblich bis zu 60m entfernt 
funktionieren, mit 4P4C-Westernsteckern an Telefonleitung, von denen man 
dann einfach mehrere 5m-Stücke aneinandersteckt.
Die Stromversorgung des Sensors z.B. in einem THR316D ist ein 3,3V-GPIO 
(!) des ESP32, aber in der Sensorleitung ist ein Chip versteckt, der aus 
OneWire UART macht, d.h. die 60m sind 59m UART und 1m OneWire. Daten zur 
UART sind mir nicht bekannt.
Meine Erfahrungen mit OneWire sind durchwachsen, wenn es geht wundert 
man sich wie gut, aber wenn es nicht klappt wundert man sich genau so 
wie fehleranfällig das alles ist.

von Udo S. (urschmitt)


Lesenswert?

Auf dem "Schaltplan" sehe ich nicht wie genau die Masse der 
unterschiedlichen Stromversorgungen verschalten sind.
Die Massen sollten mit möglichst kurzen und ausreichend "dicken" 
Leitungen im Stern verbunden sein.

von Cyblord -. (cyblord)


Lesenswert?

Udo S. schrieb:
> Auf dem "Schaltplan" sehe ich nicht wie genau die Masse der
> unterschiedlichen Stromversorgungen verschalten sind.

Blitznachricht: Udo kann aus einem Schaltplan kein Layout erkennen. WOW.

von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Hast du mal die Beschaltung für "Full Speed" in genau diesem plan2.png
> angeschaut?

Ok, nicht geguckt. Dann dient die Z-Diode wohl nur dazu, während der 
High-Phase den Strom, der in die (unbekannte) Eingangsbeschaltung rein 
fließt, zu reduzieren, damit die Kennlinie 0..10V etwa den 0..100% der 
PWM entspricht. Oft sitzt intern einfach ein Tiefpass, der dann beide 
Ansteuerarten zulässt.

: Bearbeitet durch User
von Thorsten (mitglied19541)


Lesenswert?

Die 3m Kabel zwischen ESP32 und den MOSFETs sind nötig, weil die Kabel 
der 8 DS18B20 alle an einer Stelle zusammenlaufen, wo dann der ESP 
installiert ist. Ich müsste ansonsten da noch mal 3m Kabel an die 
DS18B20 flicken (siehe unten) oder einen 2. ESP nur für die 
Drehzahlsteuerung einbauen.

OK, ansonsten alles doof, alles falsch. Wie mache ich es denn nun 
richtig? Wie gesagt: Die Lüfter wollen 48 VDC Betrübsspannung und 0-10 
VDC zur Drehzahlsteuerung. Ich habe ein Netzteil, dass 48 VDC und 12 VDC 
bereitstellt und am Ende möchte ich es über Homeassistant steuern 
können. Wenn ich für die Drehzahlsteuerung einen Shelly Plus 0-10V 
Dimmer verwende, kann ich den 10V-Ausgang des Shelly dann direkt an den 
Lüfter anschließen  oder braucht es dann auch Z-Diode, Widerstände, 
irgendwas zusätzlich an Elektronik?

Ohne jetzt eine Nebendiskussion zu eröffnen, nur zur Info: Die DS18B20 
habe ich mit werksseitig angebrachten Kabeln mit Längen zwischen 1 und 
10m gekauft, brauche diese Längen auch und zumindest bislang haben die 
mit 3.3V problemlos funktioniert (1x10m, 3x5m, 3x3m, 1x1m). Weil es eben 
schon bis zu 10m sind, ist es vermutlich suboptimal, noch mal 3m 
ranzuflicken.

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


Lesenswert?

Rainer W. schrieb:
> Dann dient die Z-Diode wohl nur dazu, während der High-Phase den Strom,
> der in die (unbekannte) Eingangsbeschaltung rein fließt, zu reduzieren,
> damit die Kennlinie 0..10V etwa den 0..100% der PWM entspricht.
Die Z-Diode begrenz bei 100% PWM die Spannung auf 12V, so dass bei 50% 
PWM dann 6V herauskommen. Der nutzbare Stellbereich ist dann also von 0% 
PWM bis 83% PWM (=10V).

Wenn die Z-Diode nicht drin wäre, dann wären bei 100% PWM nämlich 48V an 
der Eingangsklemme und bei 50% PWM noch 24V und bei 25% PWM immer noch 
12V. Erst eine PWM unter 21% (= 10V) würde dann eine Änderung der 
Drehzahl bewirken. Der nutzbare Stellbereich ist dann also nur 0..21% 
PWM.

Das ist der Hintergrund, zu dem was

ich schrieb:
>> Allerdings wird sich dann der Reaktionsbereich des Lüfters auf 1/4..1/5
>> des PWM-Bereichs beschränken.

Dass ohne Z-diode die Drehzahl zusätzlich von der Stabilität der 48V 
abhängt, ist hier nebensächlich, weil die Versorgung ein geregeltes 
Schaltnetzteil und nicht nur ein simples Trafonetzteil mit Gleichrichter 
und Kondensator ist.

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Die Z-Diode begrenz bei 100% PWM die Spannung auf 12V, so dass bei 50%
> PWM dann 6V herauskommen.

Möglicherweise - der Unterschied zum Betrieb ohne Z-Diode sollte dann 
allerdings auffällig sein. Ohne Z-Diode könnte es sein, dass man mit 50% 
DC dann bei 24V und damit bei voller Drehzahl liegt. Wer weiß das schon. 
Das hängt davon ab, für welchen Z-Diodenstrom die 33 kΩ dimensioniert 
sind und wie groß die Eingangsimpedanz am "0-10 VDC"-Eingang ist.

Thorsten schrieb:
> Gemessen habe ich am PWM Eingang bzw 0-10 VDC-Eingang des Lüfters:
> 0% = 0 V
> 50% = 5,15 V
> 100% = 12,0 V

Hier ist irgendwie nicht ganz klar, auf welche Schaltung sich diese 
Messung bezieht. Das sieht nach harten 12V, nicht nach Pull-Up aus. 
Unklar ist aber, woher die Nichtlinearität kommt.

Inzwischen ist der Thread ja vom Thema PWM-Steuerung durch einen ESP zur 
EMV abgedriftet.

: Bearbeitet durch User
von Thorsten (mitglied19541)


Lesenswert?

Rainer W. schrieb:
>> Gemessen habe ich am PWM Eingang bzw 0-10 VDC-Eingang des Lüfters:
>> 0% = 0 V
>> 50% = 5,15 V
>> 100% = 12,0 V
>
> Hier ist irgendwie nicht ganz klar, auf welche Schaltung sich diese
> Messung bezieht. Das sieht nach harten 12V, nicht nach Pull-Up aus.
> Unklar ist aber, woher die Nichtlinearität kommt.

Das war mit der originalen Schaltung aus "plan1.png" also noch ohne 33K 
zwischen 3 und 4.

Lothar und Michael hatten ja 2 Schaltungen eingeworfen
Beitrag "Re: 12 V PWM aus ESP32 funktioniert nur so "halb""
Beitrag "Re: 12 V PWM aus ESP32 funktioniert nur so "halb""

Beides funktioniert gleichwertig und 3m Kabellänge wären kein Problem? 
Wäre ein Shelly Plus 0-10V Dimmer auch eine Alternative?

von Frank O. (frank_o)


Lesenswert?

Thorsten schrieb:
> Wäre ein Shelly Plus 0-10V Dimmer auch eine Alternative?

Ausprobieren.

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


Lesenswert?

Rainer W. schrieb:
> Ohne Z-Diode könnte es sein, dass man mit 50% DC dann bei 24V und damit
> bei voller Drehzahl liegt. Wer weiß das schon.
Ich weiß das. Weil ich sowas schon gehabt habe. Diese 
"Universaleingänge" mit Poti-, Analog- und PWM-Eingang führen die PWM 
auf einen Tiefpass und mitteln den Spannungswert.

> wie groß die Eingangsimpedanz am "0-10 VDC"-Eingang ist.
Steht doch im plan2.png: mindestens 100k.

Damit verfeinere ich meine Rechnung nochmal: es kommen mit 33k ohne 
Z-Diode von den 48V noch 36V am Control-Eingang an. Bei 50% PWM sind das 
dann 18V, was zu Vollgas führt. Erst bei 27% PWM kommt die Spannung auf 
10V herunter. Damit ist der nutzbare Stellbereich bei höchstens 0..27% 
PWM.

Wenn die Impedanz dann 200k ist, bleiben nur noch 0..24% Stellbereich.

Das geht dann so lange, bis der Eingangswiderstand unendlich ist (auch 
das ist größer als 100k) und wir wieder bei den zuvor berechneten 0..21% 
herauskommen.

Thorsten schrieb:
> Beides funktioniert gleichwertig
Ähnlich.

> und 3m Kabellänge wären kein Problem?
Bei vernünftiger Kabelführung und nicht allzu hochohmiger Auslegung der 
Basis/Gate-Widerstände (ich würde kleiner als 5k bleiben). Und weils eh' 
niederohmig sein sollte, kannst du gleich den BJT nehmen. Das mit dem 
Verdrillen von PWM-Leitung und zugehöriger Masseleitung hatte ich ja 
schon erwähnt.

: Bearbeitet durch Moderator
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.