ich suche leider erfolglos eine Ansteuerung eines 3 Pin Lüfters mit Drehzahlüberwachung. Anscheinend habe ich nicht die richtigen Stichworte zur Suche verwendet. Die Ansteuerung per PWM ist ja nichts Besonderes. Das ich mit einem P-Kanal MOSFET oder einem pnp Transistor arbeiten muß, um Plus zu schalten, weil der Tacho-Pin Impulse von Masse ausgibt, habe ich schon per Google rausgefunden. Nur die Auswertung des Tachosignals macht mir noch Kopfzerbrechen.
Ich will das Ganze dann noch etwas aufbohren zu einem Temperaturmanagment Controller, der universell in verschiedenen Projekten verwendbar ist.
Bürstenlose Gleichstrommotore wie Lüfter funktionieren nicht gut mit PWM.
Da ist es besser Du nimmst einen mit PWM regelung ( 4 Anschlüsse) und kannst diesen einfach mittels eines PWM-Ausgangs regeln ohne zusätzlichen Transistor/MOSFET.
Zur Drehzahlkontrolle kannst Du einfsch die Zeit zwischen 2 Impulsen des Tachosignals mittele pulsein() (ist blockierend) oder mittel Interrupt messen.
Davon habe ich zwar auch schon gelesen, aber ich habe mit mehreren 2 und 3 Pin Lüftern festgestellt, das sie prima mit PWM funktionieren. Allerdings läuft der Lüfter ruhiger, wenn man ein Register so manipuliert, das die PWM Frequenz größer wird. Ich habe das mit einem Tiny85 getestet:
//Konstante Variablen
const int FanPin = 1; // Lüfter an Pin 9 angeschlossen
// const int PotiPin = A0 ; // Potenzometer am analogen Eingang Pin 0 angeschlossen
// Variablen
int FanSpeed1 = 255; // Variable für die Lüftergeschwindigkeit
int FanSpeed2 = 210;
void setup()
{
TCCR0B = TCCR0B & 0b11111000 | 0x01;
analogWrite(FanPin, FanSpeed1);
}
void loop() {
delay (1000);
analogWrite(FanPin, FanSpeed2);
}
Der Sketch läßt den Lüfter zunächst 1 Sekunde mit voller Geschwindigkeit laufen, da Lüfter mit niedriger Drehzahl nicht immer zuverlässig anlaufen. Danach wird dann in den Flüstermodus umgeschaltet.
Ich will das Ganze für eine 60W Power-LED mit 1-10V Vorschaltgerät verwenden. Die LED ist auf einen Pentium 4 Kühlkörper montiert, auf den KK kommt noch ein DS18B20. Ich will, wenn die KK Temperatur zu hoch wird oder der Lüfter nicht läuft, der Controller eingreift und die LED zwangsweise runterdimmt, so das sie nicht überhitzt.
Die Hardware macht mir keine Probleme, aber wie werte ich das Tachosignal per Software aus? Da suche ich noch einen Sketch, wo ich "borgen" kann
Die Hardware bekomme ich schon hingebogen. Als p-Kanal FET habe ich AUIRF9Z34N. Das ich da noch einen kleinen npn davorhänge, ist mir schon klar. Eventuell das PWM Signal noch mittels Map zu invertieren kriege ich auch gerade noch hin