Regelbarer Lüfter
DIY-Projekt

Ein regelbarer Lüfter

Arduino · PWM · 12-Volt-Lüfter · Potentiometer
Regelbarer Lüfter
Ein einfacher 12-Volt-Lüfter wird über einen Arduino, ein Potentiometer und einen MOSFET geregelt. Der Arduino liest die Stellung des Potis aus und erzeugt daraus ein PWM-Signal. Der MOSFET schaltet den Lüfter entsprechend dieses Signals schnell ein und aus, wodurch sich die Drehzahl verändert.

Aufbau

Wir brauchen:

- einen leisen 12-Volt-Lüfter, zum Beispiel aus einem alten PC-Gehäuse
- einen Arduino Uno oder vergleichbaren Mikrocontroller
- ein Breadboard / Steckbrett
- ein altes Netzteil mit 12 V Ausgang
- eine passende Buchse, Typ DC Jack, mit zwei Kabelenden
- einen Potentiometer als Regler, 10 kΩ
- einen MOSFET vom Typ IRLZ34N
- farbige Kabel / Dupont-Kabel

Regelbarer Lüfter

Schaltung

Alle Kabelfarben beziehen sich auf die schematische Darstellung, nicht auf das obere Foto.

Unten links liegen 12 Volt vom Netzteil an. Auf dem Steckbrett wird diese Spannung abgegriffen: Schwarz geht zu GND, Rot zum Spannungseingangs-Pin Vin am Arduino.

Von der unteren Stromleiste führt eine Minus-Leitung zum rechten Kontakt des MOSFET. Der linke Fuß des MOSFET wird mit Pin 9 des Arduino verbunden. Der mittlere Fuß des MOSFET wird an die Masse des Lüfters gelegt. Der Pluspol des Lüfters wird direkt mit 12 Volt versorgt.

Vom Arduino werden 5 Volt und GND auf die obere Stromleiste des Steckbretts gelegt. Damit wird der Potentiometer versorgt. Der mittlere Fuß des Potis wird mit Pin A0 am Arduino verbunden.

Das Programm liest die Stellung des Potis über A0 und gibt daraus ein PWM-Signal über Pin 9 an den MOSFET. Dieser schaltet die Versorgung des Lüfters per PWM und regelt dadurch die Drehzahl.

Für Fachleute: Die Stellung des Potis wird gemappt. Der analoge Eingangswert wird in einen digitalen Wertebereich umgewandelt und per Pulsweitenmodulation ausgegeben.

Schaltung regelbarer Lüfter

Arduino-Code

Der Sketch kann hier markiert und kopiert werden.

  
// Regelbarer 12-Volt-Lüfter per Arduino und MOSFET

#define PWMPIN 9
#define POTIPIN A0

unsigned short potiIn;
unsigned short fanSpeed = 0;

void setup() {
  TCCR1B = TCCR1B & 0b11111000 | 0x01; // Timer1 auf ca. 31300 Hz setzen
  // Serial.begin(9600);

  pinMode(PWMPIN, OUTPUT);
  pinMode(POTIPIN, INPUT);
}

void loop() {
  potiIn = analogRead(POTIPIN);
  fanSpeed = map(potiIn, 51, 1023, 60, 255);

  if(potiIn < 51) {
    analogWrite(PWMPIN, 0);
  }
  else {
    analogWrite(PWMPIN, fanSpeed);
    // Serial.println(fanSpeed);
  }
}

← Zurück zu den DIY-Projekten