Sicherer Anschluss eines 4-Pin-Lüfters an einen Arduino

Mir ist bewusst, dass hier schon einmal eine sehr ähnliche Frage gestellt wurde: https://electronics.stackexchange.com/questions/91015/how-connect-a-4-wire-fan-to-arduino-and-control-the -Geschwindigkeit

Bei der Überprüfung habe ich jedoch gemischtes Feedback erhalten, und ich habe den Eindruck, dass das meiste davon auf die Tatsache zurückzuführen ist, dass die meisten Leute die Lüftergeschwindigkeitssteuerung nur über 2 Pins durchführen und Transistoren erwarten. Also beschloss ich, hier in der Hoffnung auf weitere Informationen zu fragen.

Ich habe derzeit mein Arduino über USB mit Strom versorgt und separat meinen 12-DC-Lüfter mit eigener Stromversorgung. Sie teilen sich gemeinsame Masse und die PWM-Leitung vom Lüfter ist mit den Arduino-Ebern verbunden. Sonst nichts dazwischen (keine Transistoren, Widerstände oder Dioden).

Meine aktuellen Schaltpläne

Es funktioniert einwandfrei, aber ich habe es nicht lange laufen lassen, aus Angst, es könnte unsicher sein.

Sollte ich mir Sorgen um die als solche angeschlossene PWM-Leitung machen? Können die 12 V vom Netzteil des Lüfters den Arduino mit dieser Verbindung beschädigen?

Nach Recherchen scheint die PWM-Leitung eine maximale Spannung von 5,25 V zu haben. Ich bin mir nicht ganz sicher, aber schätze ich richtig, dass dies die maximale Spannung ist, die durch dieses Kabel gehen wird?

Ich stimme zu, dass eine Diode um den Lüfter eine gute Idee ist und werde das definitiv hinzufügen.

* Bearbeiten: Ich dachte, ich würde klarstellen, dass ich dieses Setup verwende, um die Geschwindigkeit meines Lüfters zu ändern.

Können Sie auf das Dokument verlinken, das die Verbindungen zu den vier Pins und den Stromverbrauch angibt?
Das ist ein anderer Fan als der Link in der Frage. Wie kann jemand antworten, ohne zu wissen, welchen Fan Sie meinen? Außerdem wird die Stromaufnahme des Lüfters benötigt.
können Sie das Datenblatt des Lüfters teilen, insbesondere den Teil, in dem der Pegel erwähnt wird, den das PWM-Signal haben muss
Die einzige Information, die ich zu diesem Thema gefunden habe, ist das Dokument zu Jonks Antwort. Ich habe versucht, nach Datenblättern für den jeweiligen Lüfter zu suchen, bin mir aber nicht sicher, ob ich die richtigen Informationen gefunden habe ... nmbtc.com/fans/part-numbers/DC-Axial-Fans/4715KL-04W-B46-P00/…

Antworten (2)

Verhält sich der Lüfter normgerecht, kann man seinen PWM-Pin mit einem Arduino ansteuern.

Der PWM-Pin akzeptiert einen 5-V-Eingang und liefert nicht mehr als 5 mA, also sollte es in Ordnung sein. Viele Fans sollten mit Arduinos Standard-PWM arbeiten. Die Norm besagt jedoch, dass Sie eine PWM-Frequenz von 25 kHz verwenden müssen, was etwas schwierig ist. Siehe den Post von AKA im Control PWM Fan Thread .

Ja, Arduino und die 12-V-Stromversorgung für den Lüfter müssen eine gemeinsame Masse haben.

PWM 4-Pin-Norm

Steuerung des PWM-Lüfter-Threads

Anmerkung des Moderators:
Diese Antwort ist als Ergebnis einer Zusammenführung zu diesem Thread gekommen. Die 4-Draht-Fassung im Original-Thread: AK-FN073 .

Ich habe noch nie versucht, die Pinbelegung eines PC-Lüfters zu untersuchen. Ich benutze sie, habe mich aber nie darum gekümmert, einen von ihnen zu kontrollieren. Also nie gestört.

Abgesehen davon habe ich wahrscheinlich etwas Ähnliches gefunden wie Sie: 4-Wire Pulse Width Modulation (PWM) Controlled Fans Specification, September 2005, Revision 1.3 . Seite 9 scheint genug Informationen zu haben (kaum.)

"Dieses Signal muss innerhalb des Lüfters auf maximal 5,25 V hochgezogen werden. Hinweis: Bei neuen Lüfterdesigns wird dringend empfohlen, einen 3,3-V-Pullup zu implementieren ..."

Die PWM wird also im Lüfter auf eine relativ niedrige Spannung hochgezogen (viel weniger als die 12 v Strom, mit dem sie auch verbunden sind.) Sie brauchen einfach einen Pulldown-Schalter (aktiv niedrig) (fast jeder NPN ist in Ordnung.) Die Notizen sagen auch:

Absolut maximal bezogener Strom: Imax = 5 mA (Kurzschlussstrom)

Die Tatsache, dass sie "sourced" sagen, verleiht der Idee, dass dieser Input intern hochgezogen wird, noch mehr Gewicht. Der angegebene maximale Strom, der vom Eingang bezogen wird, kann von den Arduino-Ausgängen verarbeitet werden. Arduinos sind jedoch sowohl Senke als auch Source von ihren Versorgungsschienen und sie haben keine Open-Drain- oder Open-Collector-Konfiguration. Dies bedeutet im Grunde, dass sie bei LOW kompatibel sind, aber bei HIGH gibt es einige bescheidene "Bedenken" (die Spannungsschiene des Arduino kann sich von der unterscheiden, die ein Lüfterdesigner als interne Pull-up-Schiene verwendet hat). Sie sollten also wahrscheinlich verwenden ein externer Widerstand + NPN BJT oder ein NMOS mit Logikpegel, um ihn korrekt anzusteuern.

Danke für die Auskunft. Ich habe jedoch in den letzten Tagen versucht, etwas über all dies zu erfahren, und habe immer noch Probleme, einige Konzepte zu verstehen. Sie sagen also, dass es sicherer ist, einen Widerstand und einen Transistor am PWM-Kabel zu verwenden?
@AntsInPants Hmm. Ich sage, ich würde es so machen. Es ist schwer, Ihre genaue Situation vorherzusagen, da ich jedoch keine Details über Ihren Fan messen kann.
Vielen Dank für die Informationen. Es ist unglaublich hilfreich, hat neue Dinge gelernt und ist eine großartige Ressource für mich, um mein Wissen und meine Recherchen zu diesem Thema zu erweitern. Ich werde einige weitere Hausaufgaben machen, bevor ich das endgültige Ding zusammenstelle.
@AntsInPants Lesen Sie etwas über "Open Drain" und "Open Collector". Dies wird Ihnen sehr helfen. Obwohl die gesamte Logik so ziemlich wie erwartet funktioniert, variieren die genauen elektrischen Details für diese Logik je nach den Umständen ein wenig. Nicht alle Ein- und Ausgänge sind gleich und Sie müssen manchmal ein wenig "nachdenklich zusammenpassen" zwischen ihnen. Wenn die Spannungen auf Ihrer Arduino-Schiene und die vom Lüfterdesigner gewählten Spannungen gleich (oder nahe beieinander) sind, verursacht dies wahrscheinlich keine Probleme.
Nochmals vielen Dank, ich habe heute darüber gelesen, und obwohl es immer noch ein wenig entmutigend ist, sind die vielen Bedingungen, die es gibt (geschweige denn all die Terminologien, haha), aber es ist immer noch sehr hilfreich. Ich werde mal sehen, ob ich etwas über die Spannungsschienen herausfinden kann
@AntsInPants Sie messen einfach die Spannung am PWM-Pin des Lüfters, ohne ihn anzuschließen, aber wenn der Lüfter an seine 12-V-Versorgung gebunden ist. Sie ziehen es im Inneren hoch, sodass Ihr Voltmeter Ihnen die Pull-up-Spannung liefert. Wenn das in der Nähe Ihrer Arduino-Versorgungsschiene ist, können Sie das Problem wahrscheinlich überqueren. Ich würde wahrscheinlich immer noch die Idee mit dem zusätzlichen Transistor machen, weil es das Richtige ist und mit anderen Fans funktionieren wird.