In diesem Kapitel wird mittels PWM ein PC-Gehäuse-Lüfter angesteuert. Durch die Pulsweitenmodulation ist es möglich, den Lüfter auf unterschiedlichen Geschwindigkeiten rotieren zu lassen. Da die meisten PC Lüfter auf 12V Basis operieren, der Arduino aber nur 5V zur Verfügung stellt, ist es notwendig, ein externes Netzteil für den Lüfter und den Arduino zu verwenden. Um den Lüfter mittels PWM und 12V zu versorgen, kommt ein Mosfet (IRLZ 34N) zum Einsatz. Der Aufbau sieht wie folgt aus:


Aufbau

Abb.: PC-Lüfter-Steuerung; Quelle: BBS2 Wolfsburg

Das verwendete Netzteil (Anschluss für das Netzteil rechts im Bild) liefert 12V und maximal 600 mA Strom.

Wichtig: Am Arduino muss für die positive Versorgung der Pin Vin verwendet werden! Die Verwendung anderer Pins zerstört den Arduino!


Nach erfolgreichem Aufbau kann die Programmierung erfolgen. Mittels Timer1 wird ein PWM Signal erzeugt und über Pin 9 (OC1A) ausgegeben. Die Taktfrequenz liegt aufgrund des 8-Bit-Timers und des Vorteilers 1 bei 62500 Hz.

Durch Änderung des Registers OCR1AL lässt sich das Puls-Pausen-Verhältnis des PWM Signals verändern. 0 bedeutet durchgehend Pause und damit 0V am Ausgang , 255 steht für konstant 5V (also einem konstanten High-Signal). Der mittels PWM angesteuerete Mosfet wird bei einem 100% (255) PWM Signal komplett durchgesteuert, damit liegen am Lüfter konstant 12V (gemessen 11,5V) und er läuft auf maximaler Leistung. Ein PWM Signal mit zunehmender Pausenzeit sorgt für ein Zusteuern des Mosfets und somit dreht sich der Lüfter langsamer (beispielsweise erzeugt 50% PWM (127) ein Mittelwert der Spannung am Mosfet von 2,5 V. Mittels dieser Ansteuerung liegen am Lüfter 8,6V an).


Quellcode:

#define F_CPU 16000000UL
#include <avr/io.h>

int main(void)
{
    DDRB = (1 << DDB1);				//digitaler Pin 9 als Ausgang
	TCCR1A = (1 << COM1A1) | (1 << WGM10);	//COM1A1 -> clear on compare match
	TCCR1B = (1 << WGM12) | (1 << CS10);	//WGM10 und WGM12 -> fast PWM mit  8 Bit
						//CS10 -> Vorteiler ist 1
	OCR1AL = 225;				//Compare-Wert zwischen 0-225 wählbar:
						//0 = 0% PWM
						//255 = 100% PWM
	
    while (1) 
    {
		
    }
}


Bild des Aufbaus:

Abb.: Realer Aufbau PC-Lüfter-Steuerung; Quelle: BBS2 Wolfsburg

Video:


Zuletzt geändert: Montag, 31. Januar 2022, 10:05