PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 30.06.2020, 19:30

Asselhead hat geschrieben:
30.06.2020, 13:33
Ob ich noch nen 4-Pin Lüfter zum testen da habe, muss ich auch mal schauen, ansonsten wird einer bestellt.
Musst du denn zwingend einen 4-pin PWM Lüfter einsetzen und den Aufwand mit den 25kHz PWM treiben?

Die klassischen 3-pin Lüfter kann man ganz normal mit "analogWrite" steuern.
https://www.electroschematics.com/ardui ... mperature/

Damit werd ich nachher mal noch ein bisschen rumspielen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von TomMajor » 30.06.2020, 19:47

jp112sdl hat geschrieben:
30.06.2020, 19:30
Asselhead hat geschrieben:
30.06.2020, 13:33
Ob ich noch nen 4-Pin Lüfter zum testen da habe, muss ich auch mal schauen, ansonsten wird einer bestellt.
Musst du denn zwingend einen 4-pin PWM Lüfter einsetzen und den Aufwand mit den 25kHz PWM treiben?

Die klassischen 3-pin Lüfter kann man ganz normal mit "analogWrite" steuern.
https://www.electroschematics.com/ardui ... mperature/

Damit werd ich nachher mal noch ein bisschen rumspielen.
Beim 3-pin Lüfter ist der Aufwand in HW größer da man eine Endstufe braucht, das entfällt beim 4-pin Lüfter.
Die verlinkte Schaltung ist sehr simple und wahrscheinlich nichtlinear bzgl. PWM value vs Drehzahl weil ja nur die B-E Strecke des npn Transistors dazwischen ist.
Normalerweise nimmt man einen OpAmp mit feedback + Mosfet Treiber für den Lüfter um eine lineare Kennlinie zu haben.
Viele Grüße,
Tom

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 30.06.2020, 19:52

TomMajor hat geschrieben:
30.06.2020, 19:47
Beim 3-pin Lüfter ist der Aufwand in HW größer da man eine Endstufe braucht, das entfällt beim 4-pin Lüfter.
Die verlinkte Schaltung ist sehr simple und wahrscheinlich nichtlinear bzgl. PWM value vs Drehzahl weil ja nur die B-E Strecke des npn Transistors dazwischen ist.
Normalerweise nimmt man einen OpAmp mit feedback + Mosfet Treiber for dem Lüfter um eine lineare Kennlinie zu haben.
Ja ok, kommt dann wirklich auf den Use Case an.
Wenn man nur 0%...25%...50%...75%...100% braucht, wird die simple Schaltung wohl ausreichen.

P.S.: Glückwunsch zum 1000. Beitrag :)

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von TomMajor » 30.06.2020, 20:05

Asselhead hat geschrieben:
30.06.2020, 13:33
Hallo Tom,

Das wäre Prima, dann würde ich Deinen Sketch erstmal nur für den 328PB anpassen und die PWM testen.

Ich hoffe ich habe vom 328PB noch welche. Werde gleich mal nachschauen.

Ob ich noch nen 4-Pin Lüfter zum testen da habe, muss ich auch mal schauen, ansonsten wird einer bestellt.
Könnte aber auch am Oscar kontrollieren.

Vielen Dank schon mal - Tom und Jérôme!
So sah mein code für 25kHz aus:

Code: Alles auswählen

pinMode(9, OUTPUT); // OC1A
TCCR1A = 1 << WGM11 | 1 << COM1A1 | 1 << COM1B1;    // Pwm, Phase Correct, Top value in ICR1
TCCR1B = 1 << CS10 | 1 << WGM13;                    // clk/1
ICR1   = 320;    // fPwm 25kHz (16MHz Quarz)
OCR1A  = 160;    // Pwm value 50%
Das war ein Arduino mit 16MHz. Bei 8MHz den Wert 320 auf 160 verringern, OCR1A Wert für 50% wäre dann natürlich 80.
Das ist ein Kanal, pin 9, OC1A.
Es geht mit dem gleichen Timer ein 2. Kanal, pin 10, OC1B (bei AskSinPP Geräten normalerweise für /CS CC1101 verwendet).

Wie gesagt, ich würde vermuten der code läuft genau so mit Timer 3/4 beim PB wenn man die Register anpasst.

Belegung der OC3x/OC4x pins beim PB ist nicht ideal wie ich gerade sehe, die liegen auf der Seriellen Port 0 und pin D2.

pin D2/INT0 für CC1101 könnte man im AskSinPP sketch z.B. auf D3/INT1 legen.
Wenn du dann weiterhin die serielle nicht brauchst hättest du 3 unabhängige Kanäle an den pins D0, D1, D2 mit den beiden 16bit Timern 3/4..

Hope that helps,
Dateianhänge
ScreenShot 40.png
Viele Grüße,
Tom

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von TomMajor » 30.06.2020, 20:08

jp112sdl hat geschrieben:
30.06.2020, 19:52
TomMajor hat geschrieben:
30.06.2020, 19:47
Beim 3-pin Lüfter ist der Aufwand in HW größer da man eine Endstufe braucht, das entfällt beim 4-pin Lüfter.
Die verlinkte Schaltung ist sehr simple und wahrscheinlich nichtlinear bzgl. PWM value vs Drehzahl weil ja nur die B-E Strecke des npn Transistors dazwischen ist.
Normalerweise nimmt man einen OpAmp mit feedback + Mosfet Treiber for dem Lüfter um eine lineare Kennlinie zu haben.
Ja ok, kommt dann wirklich auf den Use Case an.
Wenn man nur 0%...25%...50%...75%...100% braucht, wird die simple Schaltung wohl ausreichen.

P.S.: Glückwunsch zum 1000. Beitrag :)
Danke. Das ist für dich wahrscheinlich nur Kleinvieh :lol:

ja genau, für ein paar Stufen wird es reichen. Man könnte auch versuchen die Nichtlinearität mit einer Tabelle zu kompensieren.
Viele Grüße,
Tom

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 30.06.2020, 20:22

TomMajor hat geschrieben:
30.06.2020, 20:08
Man könnte auch versuchen die Nichtlinearität mit einer Tabelle zu kompensieren
Oder das Tachosignal auswerten und dann langsam „anfahren“ bis die gewünschte Geschwindigkeit erreicht ist?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 30.06.2020, 22:26

Ich hab das jetzt einfach mal mit der Schaltung ausprobiert.

Geht bei meinem Lüfter auch etwa ab einem analogWrite Wert von 32, wie dort im Beispiel, los. Da läuft er ganz sachte - bis 255 = volle Power.

Die Auswertung des Tachosignals hab ich auf die Schnelle nicht hinbekommen. Die Pulse sind so unsauber, da kam nix vernünftiges bei raus.

Ob jetzt

Code: Alles auswählen

uint8_t in = 50;
analogWrite(FAN_PIN, map(in, 0, 100, 32, 255));
tatsächlich der halben Geschwindigkeit entspricht, kann ich nicht sagen.
Vom Geräuschpegel her könnte es in etwa stimmen ^^

Auf jeden Fall ist das für meinen Anwendungsfall (Hinterlüftung je nach Raumluftfeuchte) völlig ausreichend.
Top, die Baustelle wollte ich schon lange man angehen :roll:

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von TomMajor » 01.07.2020, 00:00

Für das Tachosignal kannst du auch erst mal einen Freq.messer nehmen. Pull-up an diesem Signal kann hilfreich sein.
Gängige PC Lüfter liefern 2 Pulse pro Umdrehung.
Viele Grüße,
Tom

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 01.07.2020, 00:08

TomMajor hat geschrieben:
01.07.2020, 00:00
Pull-up an diesem Signal kann hilfreich sein.
Ich hatte als Pullup 10k an Vcc vom Pro Mini.
Werd ich morgen noch mal schauen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von TomMajor » 01.07.2020, 00:28

ich glaube manche Lüfter haben auch an Tach einen pull-up nach 12V intern.
Am sichersten ist es diesen pull-up auch extern vorzusehen und danach einen Spannungsteiler auf 5V bzw. 3,3V. Ich habe solche Teiler auf Mainboard Schaltungen gesehen.
Viele Grüße,
Tom

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“