Forum: Mikrocontroller und Digitale Elektronik Lüftersteuerung per GPIO und Transistor


von Dennis L. (dennis_lin)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte meinen Lüfter (Link: 
https://noctua.at/de/nf-a20-flx/specification) im Betrieb weniger laut 
hören. Der Lüfter hat 3Pins.
Der mitgelieferte "Low Noise Adapter"(LNA) verhindert aber am 12V 
Netzteil (Link: 
https://www.amazon.de/gp/product/B071S77653/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1) 
ein zuverlässiges Anlaufen.
Da ich mich als SW-Entwickler immer sehr schwer tue mit der analogen 
Elektrotechnik plane ich eine Lösung auf Basis von GPIOs und einem 
µC-DevBoard (zB ESP32).
Meine Idee ist per GPIO A das Gate eines Transistors-Q1 zu versorgen und 
dadurch zB 30 Sekunden 12V zum Lüfter zu schalten und anschließend 
diesen GPIO A zu deaktivieren und stattdessen an einem GPIO B ein 
anderes Transistor-Gate zu versorgen, wodurch Transistor-Q2 den Strom 
durch den LNA fließen lässt.

Kann bitte jemand Feedback geben zu meiner Schaltung, die ich mit 
LTSpice gebaut und simuliert habe?
Fehlen irgendwo Schutz-Dioden? zB während des Wechselns von GPIO A zu 
GPIO B?

- R1 soll dem LNA entsprechen.
- V1 und V2 sollen die GPIOs sein. V1 soll die 12V zum Lüfter lassen und 
V2 dann 12V+LNA.
- R2 und R3 hab ich vorgesehen, damit das Gate sich entladen kann. (pull 
down?)
- Sind R4 und R5 sinnvoll bzw. nötig? Wollte meine GPIOs schützen.
- D1 (LED) habe ich statt Lüfter verwendet, weil Motoren in LTSpice wohl 
kompliziert sind.

Danke & schönen 2. Advent

von hmmmmmm (Gast)


Lesenswert?

Dennis L. schrieb:
> Kann bitte jemand Feedback geben zu meiner Schaltung, die ich mit
> LTSpice gebaut und simuliert habe?

Ich vermisse die Gates an den Transistoren.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

hmmmmmm schrieb:
> Ich vermisse die Gates an den Transistoren.

Das kann man getrost erstmal ignorieren, ist halt Wochenende.
R2 und R3 kannst du bei stromgesteuerten Bauteilen wie BJTs weglassen, 
die ziehen sich von alleine auf null. Aber ein PWM gesteuerter Lüfter 
hat keine Anlaufprobleme, da er ja wenigstens für kurze Zeit mit voller 
Spannung betrieben wird. Die untere Stufe und den 50 Ohm Widerstand 
kannste also weglassen. Wenn du dir wirklich Sorgen machst, steuere den 
Lüfter auf der Highside und werte sein Tachosignal mit dem MC aus.
Für sowas kann man die beiliegende Schaltung benutzen, dann bleibt der 
Massebezug des Lüftersignals erhalten.
Ein BC547 kann nur 100mA. Ich würde ihn deswegen durch einen BC337 oder 
BC639 ersetzen. Vorsichtige Naturen legen noch eine Freilaufdiode über 
den Lüfter, denn der hat immerhin geschaltete Spulen.

: Bearbeitet durch User
von Robert (Gast)


Lesenswert?

Dennis L. schrieb:
> Da ich mich als SW-Entwickler immer sehr schwer tue mit der analogen
> Elektrotechnik

Wie wäre es damit?

https://www.youtube.com/watch?v=YZBdO9iFby4

von H. H. (Gast)


Lesenswert?

Dennis L. schrieb:
> Der mitgelieferte "Low Noise Adapter"(LNA) verhindert aber am 12V
> Netzteil (Link:
> 
https://www.amazon.de/gp/product/B071S77653/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1)
> ein zuverlässiges Anlaufen.

Das ist kein Wunder, das ist einfach übler Murks.

https://www.reddit.com/r/electronics/comments/7pza22/the_inside_of_a_lownoise_adapter_for_a_pc_fan/

Nimm ein paar 1N400x, und parallel zu denen einen Elko von einigen 
1000µF.

von Dieter H. (kyblord)


Lesenswert?

naja zum anlaufen des lüfters musst du den transistor kurzzeitig voll 
durchsteuern. wie wäre es mit einem C parallel zum R. Dann fließt im 
ersten moment ein hoher Strom ins Gate bis der C eben voll geladen ist. 
Freilaufdiode nicht vergessen, sonst stirbt die schaltung

von Heinz R. (heijz)


Lesenswert?

Warum steuerst DU ihn nicht einfach per PWM an, wenn Du eh schon einen 
Mikrocontroller nutzt?
Am einfachsten über einen Mosfet - evtl. noch Elko oder Spule dazu damit 
er nicht singt...

Habe ich bei mir mehrfach erfolgreich mit einem ESP8266 am laufen

von Dennis L. (dennis_lin)


Angehängte Dateien:

Lesenswert?

hmmmmmm schrieb:
> Ich vermisse die Gates

Bin nicht sicher, ob ich das richtig verstehe. Habe in LTSpice den "npn" 
gewählt. Es gab auch npn2 und npn3. Links vom Bauteul jeweils ist ne 
Leitung am Gate? (Siehe Screenshot) Der Plot zeigt auch Stromfluss.

Matthias S. schrieb:
> PWM
hätte ich dafür nicht das Modell mit 4 Adern kaufen müssen? Meiner hat 
ja nur 3. Oder PWMe ich dann die 12V? Also Anfangs 100% und später dann 
zB 70% duty-cycle am Gate?

H. H. schrieb:
> Nimm ein paar 1N400x, und parallel zu denen einen Elko von einigen
> 1000µF.

Hab die Dioden bei ebay bestellt, Elkos hab ich noch.
Du meinst, dass ich µC und Transistoren weglasse und einfach nur 12V 
durch die Dioden zum Lüfter leite? Und der C parallel sorgt durch seine 
langsame "Füllung" dafür, dass der Lüfter mit der Zeit weniger V 
bekommt? Ich brauch bestimmt 30s oder ähnliches, damit der Lüfter gut 
hörbar max-speed erreicht hat.

Dieter H. schrieb:
> naja zum anlaufen des lüfters musst du den transistor kurzzeitig voll
> durchsteuern. wie wäre es mit einem C parallel zum R. Dann fließt im
> ersten moment ein hoher Strom ins Gate bis der C eben voll geladen ist.
Welches R meinst du? Die R4 und R5, welche vor dem Gate sitzen? Laut 
"hmmmmmm" kann ich den komplett weglassen?

Dieter H. schrieb:
> Freilaufdiode nicht vergessen, sonst stirbt die schaltung
Ahja danke, hatte ich schonmal irgendwo gesehen. Einfach parallel zum 
Lüfter, oder? Habe gerad 1N4001 bestellt. Gehen die?

Heinz R. schrieb:
> Warum steuerst DU ihn nicht einfach per PWM an, wenn Du eh schon einen
> Mikrocontroller nutzt?
Gute Frage. Dachte, der beigelgte Adapter wäre evtl sinnvoll 
dimensioniert. Die Lautstärke damit gefiel mir auch, als er lief.
PWM hätte wahrscheinlich den Vorteil, das die Herausforderungen eher im 
Code liegen als in der E-Technik.
Ist folgendes korrekt?:
GPIO an kleinem NPN, dieser schaltet dann 12V welche nicht zum Lüfter 
gehen sondern zu einem MOSFET Gate? Und der passende Mosfet schaltet 
dann erst den Lüfter? Und nach zB 30s 100% fange ich dann an den GPIO 
mit zB 70% duty-cycle zu togglen? Ich probiers mal aus.

von Dennis L. (dennis_lin)


Lesenswert?

Hab gesehen, dass es Logic-Level MOSFETs gibt. Habe gerade mal IRL540 
bestellt und werde deren Gate vom GPIO auffüllen. Meine kleinen NPNs 
werden zu heiß.. dann spar ich mir auch diese Treiberschaltung mit NPN 
vor Mosfets.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Dennis L. schrieb:
> hätte ich dafür nicht das Modell mit 4 Adern kaufen müssen?

Ja richtig, da habe ich nicht aufgepasst. Überwachen geht nur mit 4-Pin.

von Heinz R. (heijz)


Lesenswert?

Dennis L. schrieb:
> Matthias S. schrieb:
>> PWM
> hätte ich dafür nicht das Modell mit 4 Adern kaufen müssen? Meiner hat
> ja nur 3. Oder PWMe ich dann die 12V? Also Anfangs 100% und später dann
> zB 70% duty-cycle am Gate?

ja, ganz genau so , 50% duty cycle sind dann halt ca 6 Volt

Dennis L. schrieb:
> Hab gesehen, dass es Logic-Level MOSFETs gibt. Habe gerade mal IRL540
> bestellt und werde deren Gate vom GPIO auffüllen.

dann hast ja quasi schon alles für die PWM-Ansteuerung


Bevor DU bei Null anfängst, schau DIr mal ESPEasy an, flashe das auf 
einen EP8266, da hast Dein Problem zu 95% erschlagen

Erstelle eine Rule die mit 100% beginnt, dann runter regelt

von Dennis L. (dennis_lin)


Angehängte Dateien:

Lesenswert?

Hab die neue Schaltung hochgeladen.
Ist es tatsächlich so einfach mit nem Logic-Level MOSFET und PWM am 
GPIO? Fehlen da keine Widerstände?
Als µC hab ich aktuell nen STMF407-Discovery und den GPIO als PULL_DOWN 
konfiguriert.
Als MOSFET wirds ein IRL540N. In LTSpice war aber nur der IRL530NS_L.
Als D2 würde ich ne 1N4001 nutzen?

von Wolfgang (Gast)


Lesenswert?

Dennis L. schrieb:
> Fehlen da keine Widerstände?

Irgendwie solltest du das Gate vom FET schon auf einen definierten Pegel 
legen, während der µC noch hochfährt, z.B. per Pull-Down von 100kΩ

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Dennis L. schrieb:
> und den GPIO als PULL_DOWN
> konfiguriert.

Besser als Push-Pull. Dann wird das Gate nicht nur gut ge-, sondern auch 
wieder entladen.

Dennis L. schrieb:
> Als D2 würde ich ne 1N4001 nutzen?

Die Diode muss den Strom des Motors in voller Höhe aushalten - wobei das 
bei Lüftern mit ihren BLDCs ein wenig anders funkt. Aber die 1N4001 
sollte es schon machen. Wenn du besser simulieren möchtest, nimm eine 
Induktivität mit Serienwiderstand statt der LED.

Dennis L. schrieb:
> hab ich aktuell nen STMF407-Discovery

Ich hoffe, der hat noch mehr zu tun ausser dem blöden Lüfter :-)

: Bearbeitet durch User
von Heinz R. (heijz)


Lesenswert?

ich sehe bei einem Ventilator keinen Grund hier überhaupt eine Diode zu 
verwenden?
Mosfet, 2 Widerstände, fertig

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Heinz R. schrieb:
> ich sehe bei einem Ventilator keinen Grund hier überhaupt eine Diode zu
> verwenden?

Geht auch oft ohne, aber schaden tut sie auf keinen Fall, kostet unter 
5ct und vermeidet Probleme mit dem Lüftermotor. Meine PC Lüfter 
jedenfalls haben da schon Spitzen auf der Leitung.

von Warnender Finger (Gast)


Lesenswert?

Heinz R. schrieb:
> ich sehe bei einem Ventilator keinen Grund hier überhaupt eine Diode zu
> verwenden?

Sicherheitsreserven sind äussert schädlich, sie kosten Geld,
machen mehr Aufwand bei der Herstellung (insbesondere bei
Einszelstücken im Hobbybereich) und machen die Schaltung so
kompliziert dass sie unbeherrschbar unübersichtlich wird.

Also bloss nicht Verschwendungswahn geraten, hier liegt der
Sachverhalt ähnlich wie bei den Abblock-Kondensatoren in
Digitalschaltungen - alles unnötiger Ballast und geht auch
ohne.

von Paul G (Gast)


Lesenswert?

Ist bestimmt auch keine schlechte Idee zwischen mosfet Gate und dem uc 
gpio einen Widerstand zur Strombegrenzung einzufügen. Gucke Mal ins db 
des mosfet, das Gate braucht schon ein wenig Strom um ordentlich durch 
zu schalten, halt gucken wieviel "zieht" der Lüfter, wieviel Strom 
braucht das Gate um das zu schalten, was kann der gpio liefern und 
entsprechend den Widerstand dimensionieren. Falls nötig n mosfet Treiber 
benutzen aber denke das brauchst du hier nicht.
...just mit 2 cents.

von Dennis L. (dennis_lin)


Lesenswert?

Danke erstmal für die ganze Hilfe!
Heute sind die LogicLevel MOSFETs bekommen und ich konnte meine
Test-LEDs per PWM dunkler dimmen - im zweiten Anlauf.
Anfangs (Anfängerfehler?) habe ich mein µC Board per USB-Netzteil
versorgt und für meine LEDs (später Lüfter) ein PC Netzteil (später
12V Netzteil) verwendet. Das lief sehr schlecht. Je nach
verwendetem USB Netzteil flackerten die LEDs stärker und schwächer.
Manchmal gingen sie nie aus, obwohl die PWM geendet hatte. Liegt
das am Masse-Unterschied durch 2 verschiedene Netzteile (12V LEDs, 5V 
µC)?
Als ich auch dem PC Netzteil die 5V für den µC verwendete und 
gleichzeitig 12V für die LEDs liefs exakt wie erwartet und LEDs ließen 
sich dimmen per PWM.

Weder mein STM32F4 noch der ESP32 erlauben 12V Versorgungs-Spannung, die
ich ja aber für den Lüfter benötige.
Sollte ich jetzt
A) einen 12V zu 5V DCDC Stepdown Spannungswandler besorgen und auf das
USB-Netzteil des µC verzichten? Also insgesamt nur noch 1x 12V Netzteil
für Lüfter und µC verwenden? zB
- Ebay-Artikel Nr. 252715004185
- Ebay-Artikel Nr. 253093535843
- 
https://www.conrad.de/de/p/voltcraft-smp-20a-dc-dc-wandler-12-v-dc-12-v-dc-1-5-a-18-w-511720.html
oder geht auch
B) Lüfter und µC weiterhin aus verschiedenen Netzteilen versorgen und
die Masse vom 12V Netzteil und die Masse vom 5V Netzteil verbinden?

B) fühlt sich für mich als Laien falsch an, weil ich dann Massen von
Netzteilen verbinde, die jeweils in einer 230V Steckdose stecken. Oder
ist das unkritisch, weil ich ja hinterm Netzteil nur mit niedrigen
Spannungen arbeite und das Masse-Delta gering sein muss, da beide ja aus 
der selben 230V gespeist werden?

Ob ich nochmal 20€ bei ebay oder conrad lasse ist egal. Es soll sicher 
sein.

: Bearbeitet durch User
von Heinz R. (heijz)


Lesenswert?

die Masse am Ausgang hat nichts mit der Netzspannung zu tun, die kannst 
problemlos parallel schalten

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nicht nur 'kannst', sondern sogar musst, um einen gemeinsamen 
Bezugspunkt für die Schaltung zu bilden. Also bitte PC Netzteil-GND und 
MC-GND verbinden. Mit den 230V aus der Steckdose hast du nichts zu tun, 
die werden in den Netzteilen galvanisch getrennt aufbereitet.
Die einzige Besonderheit bei PC-Netzteilen ist eine direkte Verbindung 
von Schutzerde (PE) und GND. Das haben sie alle und deswegen sollte man 
bei der Handhabung mehrerer PC-Netzteile das Hirn einschalten.
Aber damit hast du hier nichts zu tun.

Dennis L. schrieb:
> B) Lüfter und µC weiterhin aus verschiedenen Netzteilen versorgen und
> die Masse vom 12V Netzteil und die Masse vom 5V Netzteil verbinden?

Das ist ein richtiger Weg. Wenn die Schaltung im PC verbleiben soll, 
kannst du auch die 5V des PC Netzteils benutzen oder auch die 5V SB des 
Netzteiles.
Auch ein Stepdown wäre denkbar, ist aber nicht nötig, weil du ja 5V 
schon vor Ort hast.

: Bearbeitet durch User
von Dennis L. (dennis_lin)


Angehängte Dateien:

Lesenswert?

Update:
PWM lief sehr schlecht. Ich hatte über unterschiedliche Perioden-Längen 
nur die Wahl zwischen rattern, klackern, pfeifen und anderen nervigen 
Tönen...
Habe es dann im Endeffekt doch mit 2 MOSFETs gelöst. 60s lang liegen 12V 
an, dann 1s Pause und anschließend die selbeen 12V aber mit 50Ohm 
Vorwiderstand um ca auf 9V zu kommen und den Lüfter zu bremsen. Läuft 
gut und würde ich auch jedem empfehlen statt PWM (außer EVTL man hat PWM 
4-pin Lüfter und nicht nur 3-pin wie ich).

Witzigerweise war auch dieser Tipp nötig für mich:

Warnender Finger schrieb:
> und machen die Schaltung so kompliziert dass sie
> unbeherrschbar unübersichtlich wird.
> alles unnötiger Ballast und geht auch ohne

Durch die Diode hab ich meine erste Platine verbastelt und leider mit 
12V den ESP32 µC gebraten. Habs nun ohne Diode gebaut und bisher tuts.

: Bearbeitet durch User
von Arthur (Gast)


Lesenswert?

Dennis L. schrieb:
> Danke erstmal für die ganze Hilfe!
> Heute sind die LogicLevel MOSFETs bekommen und ich konnte meine
> Test-LEDs per PWM dunkler dimmen - im zweiten Anlauf.

Beim IRL540N ist Rds(on) nur ab 4V im Datenblatt spezifiziert, ist also 
für deinen 3,3V ESP Ausgang kein LogicLevel MOSFET. Die 80mA deines 
Lüfters wird er natürlich locker packen. Aber wenn du mal höhere Ströme 
schalten möchtest, solltest du daran denken, daß Rds(on) bei 3,3V höhere 
Werte annehmen kann.

Dennis L. schrieb:
> Update:
> PWM lief sehr schlecht. Ich hatte über unterschiedliche Perioden-Längen
> nur die Wahl zwischen rattern, klackern, pfeifen und anderen nervigen
> Tönen...

Genau das hätte ich erwartet. BLDC Lüfter ohne zusätzliche Glättung mit 
PWM zu beaufschlagen ist eine schlechte Idee. Das führt zu Schwebungen 
zwischen der PWM Frequenz und der durch die Drehzahl bestimmten 
pulsierenden Stromaufnahme des Lüfters.

> Habe es dann im Endeffekt doch mit 2 MOSFETs gelöst. 60s lang liegen 12V
> an, dann 1s Pause und anschließend die selbeen 12V aber mit 50Ohm
> Vorwiderstand um ca auf 9V zu kommen und den Lüfter zu bremsen. Läuft
> gut und würde ich auch jedem empfehlen statt PWM (außer EVTL man hat PWM
> 4-pin Lüfter und nicht nur 3-pin wie ich).

Wenn es nun funktioniert ist es ja gut, aber ich hätte einfach diesen 
Tipp ausprobiert:

H. H. schrieb:
> Nimm ein paar 1N400x, und parallel zu denen einen Elko von einigen
> 1000µF.

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.