Ich habe noch einmal nachgedacht und mir nun folgendes überlegt.
Das Ganze besteht aus 3 verschiedenen Modulen.
A.) Lüfterregulierungs-Einheit
Hier dachte ich an einen Attiny261 der auf 8 (oder vielleicht auch 16) MHZ läuft und die Spannung von 3 Lüftern per PWM erzeugt und auch dessen 3 Tachosignale auswertet.
Mit Timer1 erzeuge ich 3 8bit PWM-Signale ohne Prescaler im FastPWM-Modus. Dann sollte ich ja auf knapp über 31 kHz kommen, wo die Resonanz nicht hörbar sein sollte (wenn der Mensch nur bis zu 20 kHz hören kann). Hinter jedem PWM-Ausgang kommt dann ein Tiefpass und ein Leistungstransistor um die Rechtecksignale auszugleichen.
Den Watchdogtimer nutze ich dann zur Zeitmessung und den Timer0 nur Tachosignalmessung. Dazu gehe ich mit jedem der 3 Tachosignale an einen Transistor, welche dann alle das Tachosignal auf T0 leiten, sobald ich über 3 Pins am uC Strom auf die Basen gebe. So kann ich dann die Tachosignale multiplexen und Timer0 zählt die jeweilige Drehzahl im vom Watchdog gemessenen Intervall.
B.) PWM-Mess-Einheit
Da ich ja die Gehäuselüfter passend zum Steuersignal von Grafikkarten- und CPU-Lüfter regeln will, muss ich ja den Dutycirce von den Steuersignalen herausfinden. Hier ist mir noch nichts so wirklich gescheites eingefallen.
Zum einen könnte ich wohl über den Input Capture Mode eines Counters den Dutycircle auslesen, aber das müsste wirklich schnell sein, da das Steuersignal bei, glaube ich, zwischen 30 und 40 kHz liegt und alles ausgewertet und gespeichert sein muss, bevor die nächste Messung reinkommt.
Meine 2. Idee wäre nun gewesen das umgekehrt wie bei der Lüfterregulierung zu machen. Ich nehme das Steuersignal über einen Optokoppler und jage es durch einen Tiefpass und Spannungsteiler und messe dann per ADC die Spannung aus.
C.) Steuereinheit
An der Steuereinheit (Atmega644P habe ich noch rumliegen) sollen dann ein Text-LCD, ein Speaker sowie etliche Taster dranhängen zur Ein-/Ausgabe. Die Steuereinheit regelt dann alles und arbeitet als I²C-Master. Sie empfängt dann die Ergebnisse von den Lüfter-Steuersignalen (PWM-Mess-Einheit dann als I²C Slave) und die Umdrehungen pro Minute (Lüfterregulierungs-Einheit auch I²C Slave) und sendet diesen auch den Dutycircle, den die Lüfterregulierungs-Einheiten ausgeben sollen.
So müsste man dann das ganze auch gut erweitern können, wenn es mehr als 3 Lüfter zu regulieren gilt. Bei meinen 4 Lüftern müssten dann also 2 von den Lüfterregulierungs-Einheiten rein.
Düfte das so in etwa klappen oder habe ich da noch einen Denkfehler?
Lesezeichen