Hallo
ich habe das Problem das ich einen Lüfter per PWM, bei langsameren Drehzahlen ruhig laufen lassen will.
Hier die Fakten:
- Arduino Due
- IRF 3708 MOSFET, N-CH -> https://www.reichelt.de/mosfet-n-ch-...08-p90229.html
- Widerstand 5kΩ zu Absicherung auf GND
- SUN EEC0251B2-0 -> https://www.reichelt.de/axialluefter...0-p260581.html
---Spannung DC 12 V=
---Leistung 3,85 W
---Strom 0,321 A
---Drehzahl 2700 U/min
Also der Lüfter läuft. Zu erst habe ich es ganz klassisch per
Code:
pinMode(Luefter1_Pin, OUTPUT);
analogWrite(Luefter1_Pin, Luefter1_Val);
versucht. Auch an einem PWM Pin (D5) mit erhöhter Auflösung
Code:
analogWriteResolution(12);
pinMode(Luefter1_Pin, OUTPUT);
analogWrite(Luefter1_Pin, Luefter1_Val);
nur Summt und Fiebt der Lüfter bei niedrigeren Drehzahlen. (Eigentlich schon ab ~75-60%)
Bei meiner Suche nach eine Lösung habe ich Hinweise gefunden, das es sich hier wohl ein Problem mit der PWM Frequenz handelt.
Ich weiß auch das ich die Frequenz für "analogWrite" ändern kann, nur ändern sich damit auch die Timings z.B. für "mills()" und das brauche ich später auch noch.
Als Lösung habe ich eine spezial Library gefunden.
https://github.com/antodom/pwm_lib
Das ist eine PWM Library für den Arduino Due. (Daher auch der etwas exotische Pin 35) So kann ich direkt das Hardware PWM Signal des AT91SAM3X8E anzapfen.
Mit der Library kann man PWM_PERIOD und PWM_DUTY in "hundredths of microseconds" einstellen, beide Werte sind als uint32_t definiert. Also Werte von 0 bis 4294967295.
Ich finde jetzt nur keine guten Werte um den Lüfter langsam und ruhig laufen zu lassen.
Ich weiß das ich da ein Problem (Unwissen) über PWM habe. Ich habe mir ein Grundwissen angelesen, mir fehlen aber die Fachkenntnisse zum irgendwelche Berechnungen anzustellen.
Könnte mir da jemand helfen mit welchen Werten ich da spielen könnte oder hat sonst einen Tipp?
Schon mal herzlichen Danke!!!
Lesezeichen