12 V PWM aus ESP32 funktioniert nur so "halb"

OP #7947659
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!

Angehängte Dateien:
Beitrag #7947668 wurde vom Autor gelöscht.
#7947676
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
#7947678
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.

#7947682
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.

Angehängte Dateien:
: Bearbeitet durch User
#7947693
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
#7947700
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
OP #7947708
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.

Moderator (Firma: Titel) Persönliche Seite #7947709
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.

Angehängte Dateien:
: Bearbeitet durch Moderator
#7947712
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
Moderator (Firma: Titel) Persönliche Seite #7947722
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
#7947731
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
#7947733
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.

OP #7947755
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.

#7947762
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
#7947782
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.
#7947795
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
#7947799
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.

#7947819
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.

OP #7947832
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
OP #7947898
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
#7947909
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
Beitrag #7947922 wurde von einem Moderator gelöscht.
Beitrag #7947944 wurde von einem Moderator gelöscht.
OP #7948227
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.

OP #7948237
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.

#7948264
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.

Moderator (Firma: Titel) Persönliche Seite #7948270
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.

OP #7948358
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.

Angehängte Dateien:
: Bearbeitet durch User
#7948361
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
#7948364
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
#7948397
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.

#7948409
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
OP #7948410
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.

Moderator (Firma: Titel) Persönliche Seite #7948417
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
#7948509
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
OP #7948626
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?

Moderator (Firma: Titel) Persönliche Seite #7948765
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren