Daniel Hundt - Elektronik Projekte

zurück zur Elektronik-Übersicht

Lüftersteuerung mit Tacho-Auswertung und PWM-Regelung auf ATMega8-Basis

Inhalt

DIY Lüftersteuerung
Selbst erdacht und zusammengebasteltes Lüftersteuerungsmodul

Da mir die Steuerung der Lüfter im PC nicht sonderlich gefallen hat, z.B. das gezielte Ausschalten bzw. Zuschalten von bestimmten Lüftern nicht möglich war und ich mich ein wenig mit Elektronik und Mikrocontrollern befassen wollte, ist dieses Projekt entstanden. Ich bin dabei modular vorgegangen:

  1. erst die Auswertung des Tacho-Signals,
  2. dann die Steuerung via PWM,
  3. anschließend die Spannungsversorgung via Buchse und über eine Sicherung
  4. danach noch die Ausgabe von Informationen auf dem Display
  5. außerdem noch das Abschalten von Lüftern
  6. und schließlich die Kommunikation Richtung Odroid (GPIO) oder via USB.

Via Mikrocontroller (ATMega8) kann das Tacho-Signal (Drehzahl) von bis zu 6 Lüftern ausgewertet werden. Außerdem können alle 6 Lüfter separat via Software-PWM (zugegeben mehr schlecht als recht) geregelt werden. Informationen (aktuelle Drehzahl und PWM-Leistung) werden auf dem eingebauten Display angezeigt. Die oberen 3 und/oder unteren 3 Lüfter können auch komplett stromfrei geschalten werden. Via GPIO (Data, Chip enable, Clock; z.B. via Raspberry Pi) oder UART (RX/TX; z.B. via USB) können die Tacho-Werte abgefragt und die PWM-Werte gesetzt werden.

Sicherheitshinweise

Achtung: Da ich mir den ganzen Aufbau selbst ausgedacht habe und ich bezüglich Elektronik noch nicht so ein umfangreiches Wissen hab, kann es gut sein, dass es den ein oder anderen groben Fehler gibt. Daher gilt: Umsetzung auf eigene Gefahr!.

  • Die eingebaute Sicherung ist nur für die 12V Leitung der Lüfter vorgesehen. Fehler auf der 5V Leitung sind nicht abgesichert.
  • Die Leistungstransistoren arbeiten ohne Kühlkörper. Im Kurzzeit-Test wurden diese nicht sonderlich warm.
  • Die Dimensionierung von Kondensatoren und Diode erfolgte "frei Schnauze". (sorry)
  • Der Schaltplan wurde ebenfalls nach und nach "frei Schnauze" ohne spezielle Software erstellt und erweitert.
  • Einige Bauteile liegen recht nah bei einander. Das Display verdeckt einen Widerstand und einige Brücken
  • Die Diagonale zwischen oberem Transistor und unterem Mikrocontroller Pin ist ebenfalls tricky.
  • Zum Einbau der PC-Buchse ("Molex") musste die Platine etwas aufgebohrt werden.
  • Der Mikrocontroller arbeitet mit der integrierten (ggf. nicht sonderlich stabilen) Frequenz von 8 MHz.
  • PWM erfolgt nur via Software. Die Standard-PWM-Frequenz von 25 kHz ist mit geringer Auflösung (0-10) möglich, fiept aber.
  • Mit geringerer Frequenz (Achtung: Außerhalb des Standards!) sind höhere Auflösungen (z.B. 0-100) möglich, ohne dass es fiept und trotzdem mit gewissem Regel-Effekt.

Schaltplan

Schaltplan Lüftersteuerung
Schaltplan der Lüftersteuerung

rechter Block - PWM und Tacho an Mikrocontroller

Auf der rechten Seite befindet sich der ATMega8 in Grundschaltung ohne Quarz (mit 10k Ohm Widerstand zwischen Vcc und Reset und 47uF Kondensator zwischen +5V und GND). Die Lüfter-Steckerleisten sind platzsparend mit dem Mikrocontroller an Port C (oben) und Port B (unten) angebunden. Die Masse für die Lüfter ist durchgezogen und mit der Masse vom Mikrocontroller verbunden. AVcc ist mit Vcc verbunden (sollte man wohl so machen).

Das Display ist an den Pins B6 (Chip enable), B7 (Clock) und D5 (Data) angebunden. Die Steuerung der Transistoren erfolgt über die Pins D6 (untere Lüfter) und D7 (obere Lüfter).

Die Pins D0 (RX), D1 (TX), D2 (INT0), D3 (INT1) und D4 (XCK) stehen weiterhin zur Verfügung (z.B. Kommunikation via UART).

mittlerer Block - Transistor Schalter mit Schutzschaltung

Im mittleren Block wird die Spannungsversorgung der Lüfter (+12 V) via Leistungstransistor (p-Channel-MOSFET) geschaltet. Das Gate wird via 10k Ohm Pull-Up-Widerstand auf +12 V gehoben und führt zur Unterbrechung der Stromversorgung der Lüfter. Via NPN Transistor wird das Gate mit GND verbunden, so dass der Leistungs-Transistor schließt und die Lüfter Strom bekommen. Der NPN Transistor ist via 10k Ohm Vorwiderstand mit dem Mikrocontroller verbunden und öffnet mit anliegenden +5V.

Vor dem MOSFET ist ein "größerer" Kondensator zur Verhinderung von Spannungsschwankungen Richtung Netzteil durch die zugeschaltete Last eingebunden (Dimensionierung ?!?). Dieser Kondensator wird innerhalb weniger Sekunden durch den parallel geschalteten Widerstand entladen, wenn keine Spannung und keine Last anliegt. Nach dem MOSFET ist ein "kleinerer" Kondensator zur Filterung der PWM-Spannung integriert (Dimensionierung?!?). Die in Sperrrichtung geschaltete Diode zwischen +12V und GND nach dem MOSFET dient als Freilaufdiode. Durch die Spule in den Motoren der Lüfter wird eine Spannung induziert, wenn der MOSFET ein- oder ausschaltet. Diese Spannungsspitze (Dimension?!?) kann zur Zerstörung des Transistors führen und wird daher durch die Diode abgeleitet.

linker Block - Spannungsversorgung mit Sicherung

Im linken Teil befindet sich die Buchse zur Spannungsversorgung (+12V / GND / GND / +5V). Zur Verhinderung von Schäden an Netzteil und Platine ist die 12V Leitung durch eine Sicherung vor zu hohen Strömen (4-5 A) geschützt.

Programmierung in C

Folgt später...