Lüftersteuerung (4-Pin) ausschalten

Hallo zusammen

Ich versuche gerade eine Lüftersteuerung zu bauen, bei dem die Drehzahl des Lüfters variabel der Temperatur angepasst wird. Dazu dann noch ein Display um verschieden Informationen anzuzeigen. Zuerst habe ich das mit dem MOSFET Modul und einem 12V Lüfter (2-PIN) versucht. Das hat dann aber zu arg gebrummt und bin auf die 4-PIN variante umgestiegen. Das funktioniert soweit. Nun würde ich den Lüfter gerne auch komplett zum Stillstand bringen können.

Soweit ich mich schlau gemacht hab funktioniert das nicht über das PWM Signal. Deshalb wollte ich es via MOSFET Modul machen und die 12V am Lüfter zu schalten. Seltsamerweise funktioniert das nur wenn das PWM Signal nicht angeschlossen ist. Solange das PWM Signal dran hängt dreht der Lüfter trotzdem auf niedriger Drehzahl weiter. Auch wenn ich ihn von Hand stoppe, fängt er nach kurzer Zeit wieder an langsam zu drehen.

Ohne das PWM Signal lässt sich der Lüfter wie gewünscht An- und Ausschalten. Wenn ich die 12V am Lüfter trenne, das PWM Signal drauf ist, dreht sich der Lüfter nicht. Müsste doch mit dem MOSFET funktionieren oder täusche ich mich?

Hier die verbauten Komponenten:
Lüfter: Be Quiet - Wing 2

MOSFET – Modul:

Netzteil :

word VentPin = 3;
word MOSFETPin = 8;

void setup() {
  pinMode(VentPin, OUTPUT);
  pinMode(MOSFETPin,OUTPUT);
  pwm25kHzBegin();
}

void loop() {
  digitalWrite(MOSFETPin,HIGH);
  pwmDuty(19); // 25% (range = 0-79 = 1.25-100%)
  delay(5000);
  pwmDuty(39); // 50% (range = 0-79 = 1.25-100%)
  delay (5000);
  pwmDuty(59); // 75% (range = 0-79 = 1.25-100%)
  delay (5000);
  pwmDuty(79); // 100% (range = 0-79 = 1.25-100%)
  delay (5000);
  digitalWrite(MOSFETPin,LOW);
  //pwmDuty(0);
  delay (20000);
}

void pwm25kHzBegin() {
  TCCR2A = 0;                               // TC2 Control Register A
  TCCR2B = 0;                               // TC2 Control Register B
  TIMSK2 = 0;                               // TC2 Interrupt Mask Register
  TIFR2 = 0;                                // TC2 Interrupt Flag Register
  TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20);  // OC2B cleared/set on match when up/down counting, fast PWM
  TCCR2B |= (1 << WGM22) | (1 << CS21);     // prescaler 8
  OCR2A = 79;                               // TOP overflow value (Hz)
  OCR2B = 0;
}

void pwmDuty(byte ocrb) {
  OCR2B = ocrb;                             // PWM Width (duty)
}

Moin @sickle89 ,

wenn ich es recht verstehe, stoppt der Lüfter, wenn kein Signal (oder LOW?) am Lüftereingang anliegt. Du müsstest das PWM-Pin dann nur stabil auf den gewünschten Pegel legen, solange der Lüfter stehen soll, korrekt?

Hast Du die Ansteuerung mal mit der TimerOne Library probiert? Damit lässt sich das PWM Signal komfortabel steuern und stoppen, ggf. muss der Output-Pin angepasst werden:

Siehe hier https://deepbluembedded.com/arduino-timerone-library/

Beispiel auf gitHub:

https://github.com/PaulStoffregen/TimerOne/blob/master/examples/FanSpeed/FanSpeed.ino

und eine weitere umfassende Erläuterung

https://www.pjrc.com/teensy/td_libs_TimerOne.html

Ausprobieren kostet nix (außer etwas Zeit) ... :wink:

Viel Erfolg!
ec2021

P.S.: Der von Dir verlinkte Lüfter WINGS 2 wird im Datenblatt als 3-Pin Lüfter bezeichnet, den es aber gemäß Hersteller auch als 4-Pin PWM-Variante gibt. Diese hast Du dann wahrscheinlich ...

Dieses Verhalten ist gewollt, daß der Lüfter max Drehzahl dreht wenn das PWM Signal fehlt oder LOW ist. Das ist ein Schutz des zu kühlenden Teils.]Um den Lüfter zu stoppen mußt Du das PWM Signal auf 0% regeln und mit einem MOSFET die 12V abschalten.
[NACHTRAG] Du mußt den Pluspol der 12V unterbrechen [/NACHTRAG]
Grüße Uwe

Genau das habe ich versucht. Aber scheinbar muss ich was falsch mit dem Mosfet machen. Der Lüfter dreht auch, wenn auch nur viel langsamer wenn ich den Mosfet dazwischen hab. (Aber wie oben beschrieb nur wenn das PWM Signal an PIN 4 des Lüfters anliegt)

Wenn ich das richtig sehe schaltet dein Mosfet-Board GND von Lüfter weg. Dann sucht sich die Versorgungsspannung einen andern GND. Z.b. dein PWM...

Ja!
Du verwendest einen LowSideSwitch.
Musst aber einen HighSideSwitch einsetzen, damit das was wird.

Etwas Nachgedacht.

Ja. Du mußt den + Pol des Lüfters schalten. Du brauchst ein HIGH SIDE SWITCh oder ein Relais. ( oder einen PMOSFET und dazu noch einen NPN Transistor zum Ansteuern des MOSFET).

Das PWM SIGNAL auf 0% ist da auch nicht falsch.

Grüße Uwe

Das liegt wohl an der im Lüfter integrierten Regelung:

Weil die Lüfter-Regelung mit 2- und 3-Pins ungenau und komplex ist, hat Intel die PWM-Regelung im Jahr 2004 mit dem LGA775-Prozessor-Sockel eingeführt. Kurze Zeit später ist AMD dieser Entwicklung gefolgt. Der Drehzahlregler steckt nun im Lüfter selber. Er wird über das PWM-Signal indirekt über die Temperatur des Prozessors informiert.

Quelle: https://www.elektronik-kompendium.de/sites/com/1503111.htm

Insofern kommt man nicht ums direkte Abschalten der Versorgung herum.

Nein!
Wenn man dem Lüfter GND entzieht, holt er sich GND über den PWM Pin
Das überlastet den Pin gnadenlos, das mag bis zur Zerstörung gehen.

Auch: Über den Lüfter liegen dann 12V an dem Pin
Wie lange die Clampdiode das mit macht, KA!
Zudem reicht sie gar die 12V an die Versorgungspannung es µC weiter.
Spätestens im Tiefschlaf tötet es dann den µC.

Hab ich mir irgendwie schon gedacht, dass hier das Problem liegt :smiley:

Könnte man dann theoretisch eine Diode dazwischen hängen um das zu verhindern, oder ist das nicht ratsam?

Danke an allen soweit. Ich schaue heute was ich noch rumliegen hab oder poste hier was ich mir dann holen werde.

Bitte genau lesen: Das habe ich überhaupt nicht angezweifelt ...

Insofern kommt man nicht ums direkte Abschalten der Versorgung herum.

Dass der Lüfter sich nicht gesichert über das PWM-Signal zum Stillstand bringen lässt, ist aber wohl der im Lüfter(!) integrierten Regelung geschuldet.

Oder sehe ich das falsch?

Du hast Wahr!
Und ich wohl was überlesen.

1 Like

Daß sich der Lüfter per PWM nicht abschalten läßt ist ein Sicherheitmerkmal und so gewollt bzw die Ansteuerung des Motors ist so gebaut daß sie das so macht.

Grüße Uwe

Hallo Uwe,

ja, könnte man meinen ...

Ich habe tatsächlich aber eine andere Erklärung für dieses Verhalten gefunden:

Zum einen wird eine entsprechende Mindestdrehzahl eingehalten, um störende Lüftergeräusche unterhalb einer typspezifischen Drehzahl zu vermeiden, zum anderen stellen Motoren irgendwann die Arbeit ein oder laufen nicht mehr hoch:

Siehe hier
https://www.corsair.com/de/en/explorer/diy-builder/fans/what-is-pwm/

This is because, at this speed the power is pulsed at such a low frequency, that we enter the range of frequencies that humans can hear—around 20Hz to 20kHz. Anything outside this range is not perceived as sound. This is why PWM fans have a minimum speed that you can’t go below. It would create an unacceptable noise.

Hersteller von PWM-Steuerungen erlauben dem Nutzer den Lüfter zu stoppen:

https://techcompass.sanyodenki.com/de/training/cooling/fan_basic/014/index.html

Asus erlaubt das Abschalten ebenfalls (Auto-Fan Stop)

https://www.asus.com/de/support/faq/1034000/

Die Sicherheitsfunktionen zum Schutz des (PC-)Prozessors sind im jeweiligen Prozessor selbst verbaut, der die Taktrate runterskaliert und ggf. die Arbeit einstellt ..

Gruß
ec2021

Kann mir jemand helfen und sagen ob das so hinhauen würde? :slight_smile:

Mosfet:

NPN Transistor:

Der Wiederstand im Schema wäre 1KOhm:

Du brauchst noch einen Basiswi-e-derstand (ohne e).
Und mach bitte Schaltpläne:

TLDR: Nein

Ansonsten wirst du um ein ganz genaues Studium von Standard und Datenblättern nicht herumkommen.

Dann schneidest Du vom PWM Signal entweder den HIGH oder den LOW Anteil weg. In beiden Fällen hast Du kein Signal mehr. Wenn Du dann wieder einen PullDown-Widerstand dazuschaltest damit Du LOW bekommst, fließt durch den der Strom nach Masse.

Grüße Uwe

Der Lüfter¹ (PWM Pin) kommt mit 7V über dem High Pegel rein... Die Diode muss das abblocken. Dadurch fällt der LOW Anteil weg.

Ob der Lüfter mit High (5V) und Floating regelbar ist wage ich zu bezweifeln. Aber das Datenblatt vom Lüfter gibt da bestimmt Auskunft...


  1. Wenn der GND weggeschaltet ist

Danke an alle für die Unterstützung. Ich bin in Elektrotechnik immer noch Anfänger aber lerne hier immer mehr dazu.