Hallo Zusammen,
ich möchte mit einem Arduino (ATMEGA 328) einen 4 Pin PC-Lüfter steuern,
dazu habe ich diesen Thread gefunden:
Beitrag "Steuerung 4 Pin PC PWM Lüfter"
Aber auf die Frage:
1. Wie funktioniert die Ansteuerung eines PWM-Lüfer eigentlich genau?
Liegen am stromführenden Lüfterkabel z.B. permanent 12 V an und das
PWM-Steuerkabel liefert dem Lüftermotor die entsprechenden
Schaltimpulse. Also ein/aus. Dies aber mit einer gänzlich anderen
Spannung. z.B. 5,25 V?
wird keine Antwort gegeben.
Aus dieser Spec entnehme ich das ich 25khz als pwm Frequenz brauche:
http://www.formfactors.org/developer/specs/REV1_2_Public.pdf
Also hab ich sie wie hier beschrieben auf 32khz angepasst:
http://softsolder.wordpress.com/2009/02/21/changing-the-arduino-pwm-frequency/
Eine LED habe ich zum Test angeschlossen, die blinkt genau wie erwartet,
nur der Lüfter verändert nichts an seiner Drehzahl. Osziloskop zum
Kontrollieren habe ich nicht. Wo kann der Fehler liegen?
Gruß
Marc
32 khz weil ich nich weiß ich auf 25khz komme ;)
es sollte aber auch mit 32khz gehen, da die Frequenz nur so hoch sein
muss, dass sie nicht vom Menschen hörbar ist.
Ich lese im Datenblatt
> PWM Frequency: Target frequency 25 kHz> acceptable operational range 21 kHz to 28 kHz
Also muss 32kHz meiner Meinung nach nicht zwingend funktionieren...
naja, das Problem ist, das ist kein Datenblatt sondern eine
Spezifikation (ich glaube von Intel) wie es die Mainboard Hersteller zu
implimentieren haben. Ein echtes Datenblatt zu dem Lüfter finde ich
nicht (es handelt sich um diesen hier:
http://www.arctic-cooling.com/catalog/images/spec_sheet_ARCTIC_F_PWM.pdf)
Das es mit 32khz auch Funktionieren soll, hab ich in irgendeinem Forum
gelesen, mit der Begründung das der Lüfter die PWM Frequenz in hörbare
Töne umsetzt, und daher 25khz+ verwendet werden, das sie vom Menschen
nicht wahrnehmbar sind.
12V liegen immer an, die PWM geht von 20-100% über einen Transistor, der
einen PullUp-Widerstand von den 5V schaltet. Am Kollektor/Drain kommt
der PWM Anschluss des Lüfters. Das ganze mit ca. 25 KHz.
ext4 schrieb:
> das was du da gelesen hast wird für lüfter gewesen sein die keinen pwm> integriert haben ...
Würd ich auf den ersten Blick auch so sehen.
Hi Chris,
ich kann's dir anhand meines ATmega88 beschreiben.
Dies gilt auch für die anderen µC mit kleinen Änderungen.
Du brauchst 25kHz zum regeln, duty-cycle sollte zwischen 20 und 100%
sein.
Habe ne kleine Rechnung, zu den folgenden Angaben:
CPU=10MHz
CKDIV8 ist ausgeschaltet
Fast-PWM Mode mit TCCR1A und TCCR1B einstellen
Non-inverting Mode mit COM1A1 und COM1A0 einstellen
16-bit Timer/Counter
Prescaler N = 1 mit TCCR1B einstellen
= 399
Also ist der ICR1 = 399 als dein TOP definiert, ist Modus 14.
Den duty-cycle stellst du mit OCR1A ein: für 100% ist der Wert 399
für 20% ist der Wert 79,8 also
79
Und nimm dir nen N-FET selbstsperrend mit Logic-level BUZ11 wird passen.
Kannst direkt an µC Pin anschliessen.
so ein update: also es scheint zu Funktionieren, ich kann die
Geschwindigkeit des Lüfters verändern, allerdings nicht im gesamten
Rahmen, sondern nur Geschätzt von 40-50%. Woran kann das liegen?
Ich setze die PWM also erst auf 40 dann auf 254, bei 40 dreht er auch
leiser wie bei 254 aber der Lüfter geht lange nicht an seine max.
Drezahl ran.
Für Tips bin ich dankbar.
Hi,
die Frequenz kann ich nich überprüfen da ich kein Oszi hab. Code steht
weiter oben. Könnte sich eventuell mal jemand Opfern der einen PWM
PC-Lüfter hat und es ausprobieren. Ansonsten bin ich weiterhin für
Vorschläge offen.
Hi,
ich mach das gleiche, dass du gerad machen willst.
Ich regle mit nem Mega32 3 PWM-Lüfter.
Die PWM Signale erzeuge ich über den 16Bit-Timer im Fast-PWM-Modus und
ich meine CTC (OC1A/B PINS kontaktiert..).
Über ein Reg stellt man dann die Obergrenze für den Timer ein
(entspricht f des PWM) und über ein anderes das Tastverhältnis (liegt
natürlich zwischen 0 und dem erstgenannten Register).
Bei mir funktioniert das wunderbar, ich hab die PWM-Leitung des Lüfters
direkt an den Portpin gehängt - an einen anderen sogar 2.
In Ermangelung eines Oszi hab ich mir den PWM aber nie angesehen. Da die
Lüfter aber brav langsamer und schneller werden, ist das für mich i.O.
Einzige Nebenwirkung:
Tachosignal ist dann irgendwie verkrüppelt.. Drehzahlberechnung haut
nimmer hin.
Ich kann heute Nachmittag mal den Code für das Einstellen des PWM
posten..
>Bei mir funktioniert das wunderbar, ich hab die PWM-Leitung des Lüfters>direkt an den Portpin gehängt - an einen anderen sogar 2.
Gut dann werde ich das nochmals so probieren.
>Einzige Nebenwirkung:>Tachosignal ist dann irgendwie verkrüppelt.. Drehzahlberechnung haut>nimmer hin.
Das hab ich auch schon gelesen, scheint das man damit leben muss.
Hat jemand ne Info darüber wieviel Strom der Open Collector (oder Open
Drain) Ausgang des Tachosignals abführen kann? Dazu finde ich in der
Spec keine Info.
Kann mir jemand einen Programmcode für eienen PWM Lüfter geben? Ich will
2 Taster verwenden. Einer für niedrige Geschwindigkeit ud einen für hohe
Geschwindigkeit. Vielen Dank für eure Hilfe!
#3