Mikroprozessor gesteuerte Lüfterregelung

Eine Temperaturgesteuerte PWM-Lüfterregelung mit AT90S2313 Mikroprozessor.
Der Prototyp

Hardware

Schaltplan - klicken zum Vergrößern

Die Hardware des Lüftercontrollers ist recht übersichtlich. Das erzeugte PWM-Signal geht auf die beiden Darlington-Transistoren vom Typ Externer LinkTIP122, welche die Lüfter ansteuern. Hierbei sei bemerkt das diese Art der Ansteuerung nicht mit Lüftern mit Drehzahlausgang funktioniert.
Einige Lüfter haben Probleme mit PWM und fangen an zu Summen. Daher ist parallel zu den Lüftern noch ein Kondensator geschaltet. Diesen kann man ggf. erhöhen.
Die Messung der Temperatur ist sehr einfach gehalten. Sie besteht lediglich aus einem NTC und einem Kondensator.
Bei jedem Messvorgang wird der entsprechende Pin als Ausgang geschaltet und der Kondensator entladen. Anschließend wird auf Eingang geschaltet und die Zeit gemessen bis der Kondensator sich über den NTC wieder aufgeladen hat.
Als Anzeige ist ein Externer LinkStandard Textdisplay. Das von mir verwendete Display mit der Bezeichnung "DEC-32V0 567-SA" stammt aus einem alten Laserdrucker. Die Pinbelegung, welche ich erst mühsam ausmessen musste, findet sich im Schaltplan wieder.

Software

Die Software ist in Externer LinkBascom-Basic geschrieben. Die PWM-Erzeugung erfolgt in 32 Abstufungen per Timer-Interrupt. Die Hardware-PWM wurde hier nicht benutzt da im AT90S2313 nur ein Kanal zur Verfügung steht. Weitere Ausgänge sind mit der Software kein Problem.
Die erzeugten Signal haben eine Frequenz von ca. 1000 Hz. Hier kommt ganz schnell an die Grenzen des verwendeten Compilers da dieser für die Abarbeitung des Interrupts bereits 64 Takte verbrät (alle 32 Register auf den Stack und zurück). Eine Optimierung in Assembler wäre daher sinnvoll.
Die Temperaturmessung erfolgt über den gleichen Interrupt. Die Messgenauigkeit ist durchaus ausreichend, ein Problem ist jedoch die Nichtlinearität des NTC's.

Nachtrag: Veraltetes Design - Nachbau nicht empfehlenswert.
Tags: Lüfter Atmel AVR Mikrocontroller Projekte Projekt uC diy selbstbau tutorial µC selbstgebaut schaltung schaltplan schema bauplan bauanleitung schematic programmierung elektronik controller embedded Atmega8 Atmega32 arduino bascom avr-gcc avr studio atmega microcontroller isp