Aufgabenstellung: In meinem PC sind sieben PWM-Lüfter verbaut. Drei in der Front, drei vor einem Radiator im Deckel und einer in der Rückseite. Die mit dem SilentBase 802 mitgelieferte Lüftersteuerung stellt die Drehzahl der Lüfter über den Tastgrad eines PWM-Signals eine Schiebeschalter auf 50%, 75% oder, 100% Drehzahl. In der Stellung Auto übernimmt das Mainboard die Regelung der Lüfter. Genau das funktioniert aber nicht. Die Idee ist daher, eine funktionierende Lüfterregelung zu bauen.
Die Lüfterregelung soll die Lüfter in drei Gruppen ansteuern können: Front, Deckel und Rückseite. Die Drehzahl soll über den Schieberegler (50%, 75%, 100% und Auto) eingestellt werden können. Dazu muss ein PWM-Signal vom Mainboard eingelesen und ein Tachosignal ausgegeben werden.
Wenn die Lüftergruppen (Front, Deckel, Rückseite) getrennt geregelt werden können sollen, müssen drei PWM-Signale mit 25kHz erzeugt werden. Das wäre mit einem Arduino Nano möglich (siehe meinen Flaschenkühler).
Wenn die Tachosignale der Lüfter individuell eingelesen können werden sollen, werden sieben digitale Eingänge benötigt. Soweit ich weiß, können die analogen Pins am Arduino Nano auch als digitale Eingänge genutzt werden. Das wären dann auch genug.
Schließlich muss der Schiebeschalter angeschlossen werden. Wenn es schlecht läuft, belegt der vier Inputs, wenn es gut läuft nur einen. Das müsste geklärt werden.
Der Arduino Nano hat drei Timer, die sich auf die PWM-Frequenz verschiedener Pins auswirken:
Der timer 0 wirkt sich auf die Befehle millis(); micros() und delay() aus, so dass er nicht verändert werden sollte.
Die Tachosignale können an den analogen Pins ausgelesen werden. Acht davon stehen zur Verfügung, sieben reichen aus.