[i] 4-Kanal-Lüfterendstufe
Willkommen in der Mk-Community › Foren › Community › Ideen und Innovationen › [i] 4-Kanal-Lüfterendstufe
- Dieses Thema hat 0 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 15 Jahren, 8 Monaten von Hallo1001.
-
AutorBeiträge
-
-
24. August 2008 um 21:08 Uhr #489743Hallo1001Teilnehmer
Hallo Meisterkühler Gemeinde!
Ich möchte Euch Heute meine 4-Kanal-Lüfterendstufe vorstellen. Hierbei handelt es sich um den „Leistungsteil“, der unabhängig vom „Steuerteil“ arbeitet. Durch diesen Modularen Aufbau kann sich jeder selber sein „Steuerteil“ aufbauen und dieses dann so gestalten wie er will. Damit lassen sich sehr individuelle Lüftersteuerungen erstellen, die genau auf die jeweiligen Bedingungen angepasst werden können.
Übersicht über den Funktionsumfang:
* 4 Analoge Kanäle, mit je 5W (bei ausreichender Kühlung bis zu 24W pro Kanal bei 12V)
* 8 Lüfteranschlüsse mit Tachosignalauswertung
* 2 Mobo Anschlüsse (Weiterleitung der Tachosignale zum Mobo)
* Versorgungsspannung 12V bis 20V
* Ansteuerung über den I2C-Bus
* hohe Auflösung von 0,1V (Lüfter können auf 0,1V genau eingestellt werden)
* geringe Abmessung – Platine 80mm x 70mmMaterialkosten: ca. 15 Euro (Reichelt Bestellung)
Der Aufbau
Beim anschrauben des kleinen Alu-Kühlkörpers gibt es allerdings einiges zu beachten. Die 4 Leistungs-FETs führen am TO220 Gehäuse die gleiche Spannung die auch an den Lüftern anliegt. Dass heißt also dass die 4 FETs isoliert auf dem Alu-Kühlkörper angeschraubt werden müssen. In der beiliegenden Stückliste habe ich bereits Isolierscheiben und Isolierbuchsen mit herausgesucht. Am leichtesten lassen sich die Isolierscheiben ausrichten indem man etwas Wärmeleitpaste darunter verteilt. Dadurch rutschen sie bei der Montage nicht weg. Zwischen Isolierscheibe und TO220 Gehäuse würde ich auch noch etwas Wärmeleitpaste mit vorsehen, Sicher ist Sicher…Dass TO220 Gehäuse vom 5V Festspannungsregler muss nicht unbedingt mit isoliert werden. Dieses Gehäuse führt Masse, genau so wie dass PC Gehäuse. Dadurch kann der kleine Alu-Kühlkörper auch direkt mit dem PC Gehäuse verbunden werden, wodurch eine viel bessere Kühlung der FETs erreicht wird (bei Lasten größer 5W erforderlich). Wer aber unbedingt einen Potentialfreien Kühlkörper haben möchte, der muss dann den 5V Festspannungsregler auch noch mit isolieren und zusätzlich darauf achten dass die Schrauben nicht den Kühlkörper berühren (Schrauben isolieren, oder Plaste Schrauben verwenden).
Durch den Modularen Aufbau ist es aber auch möglich mehrere Lüfterendstufen miteinander zu kombinieren. Wer eine 6-Kanal Lüfterendstufe benötigt, der baut sich einfach eine Platine auf die voll bestückt ist und eine Platine die nur mit 2-Kanälen bestückt ist. Damit ist man sehr flexibel und man kann Kosten sparen. Hier ist eine Übersicht welche Bauteile zu welchem Kanal gehören:
Mir rot gekennzeichnet ist der Kanal1, welcher für die Lüfter1 und Lüfter2 zuständig ist. Mit grün gekennzeichnet ist der Kanal2, welcher für die Lüfter3 und Lüfter4 zuständig ist. Mit blau gekennzeichnet ist der Kanal3, welcher für die Lüfter5 und Lüfter6 zuständig ist. Und mit gelb ist der Kanal4 gekennzeichnet, welcher für die Lüfter7 und Lüfter8 zuständig ist. Außerdem habe ich auch noch einige Teile grau eingefärbt. Diese grauen Teile sind für die Tachosignalauswertung aller 8 Lüfter zuständig. Wer also keine Tachosignale auswerten möchte, der kann die grauen Bauteile auch weglassen.
Die Programmierung
Herzstück der Lüfterendstufe ist hier ein AVR ATmega8 Mikrokontroller, der die Ansteuerung der FETs und die Auswertung des I2C-Busses übernimmt. Damit der ATmega8 diese Aufgaben übernehmen kann muss er aber erst einmal auf die Hardware eingestellt werden und dass dafür benötigte HEX-Programm muss auch noch übertragen werden. Diese Einstellungen werden über den ISP-Programmer vorgenommen. Wer bereits von einem anderen AVR schon einen ISP-Programmer besitzt, der kann diesen natürlich auch verwenden. Ich habe aber auch noch einmal einen sehr einfachen ISP-Programmer den Anlagen mit beigelegt.Der ISP-Programmer wird unter anderen von PonyProg erkannt. PonyProg ist ein kostenloses Tool mit dem der ATmega8 programmiert werden kann und es kann hier herunter geladen werden: http://ponyprog.sourceforge.net Nach der Installation von PonyProg wird die Hardware angeschlossen und mit Strom versorgt. Als Datenkabel vom ISP-Programmer zum PC wird ein RS232-Kabel mit einer 1:1 Belegung benötigt.
Damit ist die Hardware bereit und es kann mit der Programmierung angefangen werden. Zunächst einmal muss der ISP-Programmer in PonyProg eingestellt werden. Dazu muss man dass „Interface Setup“ aufrufen.
Und anschließend muss noch der Mikrokontroller ATmega8 eingestellt werden.
Damit sind die Einstellungen abgeschlossen und es kann mit der Programmierung des ATmega8 begonnen werden. Zuerst einmal müssen wir dem ATmega8 sagen dass er jetzt mit dem externen 16MHz Quarz arbeiten soll. Dazu müssen die Fuse-Bits des ATmega8 verändert werden. Dazu muss dass kleine Schloss in PonyProg angeklickt werden. Und anschließend werden die „original“ Fuse noch einmal eingelesen. Diese sollten dann bei einem Werksneuen ATmega8 so aussehen.
Anschließend müssen die Häkchen verändert werden und diese Veränderungen müssen dann zu dem ATmega8 übertragen werden. Also erst die Häkchen setzen, dann auf „Write“ klicken und dann erst auf OK.
Der ATmega8 ist damit konfiguriert und es kann jetzt dass eigentliche HEX Programm übertragen werden. Im Anhang befindet sich die Datei „4-kanal.hex“. Diese Datei muss nun zum ATmega8 übertragen werden. Dazu wird die Datei zuerst in PonyProg geladen und anschließend zum ATmega8 übertragen.
Nach der erfolgreichen Übertragung der HEX Datei nimmt die Lüfterendstufe die Arbeit auf. Es werden jetzt alle 4-Kanäle für 5 Sekunden mit der maximalen Spannung angesteuert. Nach den 5 Sekunden werden alle 4-Kanäle auf 7,0V eingestellt. Bei der ersten Inbetriebnahme stimmen die Lüfterspannungen aber noch nicht, diese müssen jetzt erst mit Hilfe der Feintrimmer eingestellt werden.
Wenn die Feintrimmer so eingestellt werden, dass jetzt 7,0V im Messgerät angezeigt wird, dann kann man jetzt die Lüfterspannungen auf ca. 0,1V genau einstellen. Damit lassen sich später die Lüfterspannungen in der „Steuereinheit“ sehr leicht bestimmen und man muss keine schwierigen Rechenoperationen mit der „Steuereinheit“ veranstalten…
Die Ansteuerung über den I2C-Bus
Der I2C-Bus ist ein Datenbus und er besteht im Wesentlichen aus drei Drähten – die SCL-Leitung, die SDA-Leitung und der gemeinsamen Masse. Über die SDA-Leitung werden die Datenpakete verschickt und die SCL-Leitung gibt dabei den Takt (die Geschwindigkeit) vor.Die Steuereinheit wird hier als „Master“ bezeichnet und die 4-Kanal-Lüfterendstufe ist hier der „Slave“. Alle Slave Bausteine verfügen über Adresspins, mit deren Hilfe eine I2C-Bus Adresse eingestellt werden kann. Anhand dieser Adressen weis dann der Master welchen Slave er ansteuern muss. Die Lüfterendstufe verfügt genau wie ein original I2C-Bus Baustein über drei Adresspins (A0, A1 und A2), mit denen die Adresse eingestellt wird.
Sind alle drei Adresspins offen, dann hat die Lüfterendstufe die Adresse 16. Und sind alle drei Adresspins geschlossen, dann hat die Lüfterendstufe die Adresse 30. Es lassen sich also mit den Adresspins 8 Adressen einstellen. Damit können also maximal 8 von den Lüfterendstufen an einen I2C-Bus betrieben werden. Man könnte also eine Lüftersteuerung mit 32 Kanälen aufbauen…
Die Steuereinheit – der Master
Als Master eignen sich alle Mikrokontroller, die in der Lage sind den I2C-Bus anzusteuern. Ich würde hier aber die Open-Micro, Open-Mini oder die Open-Midi empfehlen. Eine sehr ausführliche Anleitung zu den OMs findet man hier: http://om.dharlos.de Die OM ist insbesondere für „Programmieranfänger“ sehr gut geeignet, da sie sich unkompliziert in Basic programmieren lässt und sehr gut Dokumentiert ist. Außerdem gibt es hier bereits ein fertiges I2C-Modul, mit dem die OM den I2C-Bus mit 100KHz treiben kann. Für meine ersten Tests habe ich mein altes OM PE-Board verwendet.Damit kann ich nun über den PC alle 4-Kanäle ansteuern. Die Ansteuerung über den I2C-Bus ist dabei sehr einfach:
i2c_start
i2c_write(Adresse)
i2c_write(Kanal1)
i2c_write(Kanal2)
i2c_write(Kanal3)
i2c_write(Kanal4)
i2c_write(Mobo1)
i2c_write(Mobo2)
i2c_stopZuerst wird also der I2C-Bus gestartet. Dann wird die I2C-Bus Adresse von der 4-Kanal-Lüfterendstufe übertragen. Anschließend werden die einzelnen Daten für jeden Kanal übertragen und danach werden die Multiplexer Einstellungen für Mobo1 und Mobo2 eingestellt. Und zu guter letzt wird der I2C-Bus wieder angehalten. Eine einzelne Übertragung über den I2C-Bus könnte z.B. so aussehen:
i2c_start
i2c_write(16) —> Zahlen 16, 18, 20, 22, 24, 26, 28 und 30 sind erlaubt
i2c_write(50) —> Zahlen von 0 bis 255 sind erlaubt
i2c_write(75) —> Zahlen von 0 bis 255 sind erlaubt
i2c_write(120) —> Zahlen von 0 bis 255 sind erlaubt
i2c_write(0) —> Zahlen von 0 bis 255 sind erlaubt
i2c_write(1) —> Zahlen von 0 bis 8 sind erlaubt
i2c_write(5) —> Zahlen von 0 bis 8 sind erlaubt
i2c_stopDieses Wirrwarr heißt auf Deutsch: Es wird die 4-Kanal-Lüfterendstufe angesprochen die Hardwareseitig auf Adresse 16 (alle drei Adress-Jumper offen) eingestellt ist. Kanal1 (Lüfter1 und Lüfter2) werden mit 5,0V betrieben, Kanal2 (Lüfter3 und Lüfter4) werden mit 7,5V betrieben, Kanal3 (Lüfter5 und Lüfter6) werden mit 12,0V betrieben und Kanal4 (Lüfter7 und Lüfter8) werden mit 0V betrieben, sie sind also aus. Des weiteren wird dass Tachosignal von Lüfter1 an Mobo1 ausgegeben und dass Tachosignal von Lüfter5 wird an Mobo2 ausgegeben. Die Mobo1 und Mobo2 Anschlüsse sind galvanisch getrennt und sie können direkt mit dem Mobo verbunden werden. Es kann so jedes der 8 Tachosignale an Mobo1 und/oder Mobo2 ausgegeben werden.
Da dass aber alles auf den ersten Blick sehr schwierig aussieht, habe ich auch kurzer Hand einen Master erstellt, der die Lüfterendstufe mittels eines Potis ansteuern kann.
Der 5V Jumper muss hier geschlossen sein, damit der Master auch mit 5V versorgt wird. Werden mehrere Slaves verwendet, oder besitzt der Master eine eigene Stromversorgung, dann MUSS der Jumper unbedingt offen bleiben.
Da hier aber leider nur ein Poti zur Verfügung steht steuere ich alle 4-Kanäle gleich an. Dass Basic Programm der OM sieht dann so aus:Zuerst wird der Wert vom Poti eingelesen. Danach wird der Wert über den I2C-Bus geschickt. Und anschließend wird 1 Sekunde gewartet und dann fängt dass Programm wieder von vorne an. Mit dem kleinen Progi werden nun Zahlen von 0 bis 255 übertragen, je nach Stellung des Potis. Und dass war auch schon die ganze Aufgabe des Masters (der Steuereinheit).
Man kann also sehr leicht eine Lüftersteuerung aufbauen, indem man nur den Master selber herstellen muss. Die Vorteile liegen hier auf der Hand. Der Master kann beliebig langsam arbeiten und man braucht sich über Zeitkritische Abläufe nicht den Kopf zerbrechen. Was der Master alles können muss, dass muss jeder selbst entscheiden. Wer hier mehrere Temperatursensoren und ein LCD-Display vorsehen möchte, der kann dass jetzt individuell gestalten…
Alle erforderlichen Daten können hier heruntergeladen werden:
http://www.pcfilter.de/Hallo1001/4_Kanal/4-Kanal.zipLG Jens
Hinweis
Ich übernehme keinerlei Haftung für Personen- oder Sachschäden die durch den Nachbau dieser Schaltung entstehen.Kommentare, Fragen, Verbesserungsvorschläge und Diskussionen zu diesem Artikel sollten nicht hier, sondern im extra dafür angelegten Diskussionsthread gestellt werden. Bitte in diesem Thread keine Kommentare, Fragen usw. stellen!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.