Lüftersteuerung, Open Source Projekt

Jo Danke,

die Technischen Details sind eher der Vollständigkeit halber.
Mit Debugger ist gemeint, dass ich mit diesem Programmieradapter quasi wärend die Lüftersteuerung läuft, in das laufende Programm reinschauen kann und so Fehler finden kann.

Die Geschichte mit Library (Bibliothek) bedeutet, dass ich mich um die eigentlich Ansteuerung des Displays selber nicht mehr kümmern muss, sondern im Programm einfach schreiben kann: zeige "XYZ" in Zeile und Spalte so und so an.

Das ist für mich einfacher und macht wenig Arbeit.

Mfg Bimbo385
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ok hört sich gut an...

Wegen Sponsoren hast du ne pn von mir :)
 
So hab den ersten Testaufbau der MOSFET Endstufe gemacht.

Mit 3 Lüftern dran (mehr habe ich gerade nicht rumfliegen) funktioniert diese tadellos.

Der Mosfet wird noch nicht mal handwarm. Ich hab ihn wahrscheinlich am meisten durch das ständige Anfassen und Nachfühlen erwärmt.

Also der Part kann schon mal ohne weiters und unkompliziert realisiert werden.

Der Test mit 9 Lüftern und mehr folgt natürlich, wenn mir diese dann zur Verfügung stehen!


Mit der jetzigen (und nach dem guten Testergebnis auch endgültigen) Variante der Endstufe, lässt sich der Lüfter theoretisch in 256 Abstufungen regeln.
Wobei die unteren 100 wahrscheinlich für die allermeisten Lüfter lediglich Stillstand bedeuten. Sodass man am Ende auf ca. 100-150 sinnvolle Abstufungen kommt, was ich für einen ziemlich guten Wert halte.

Die PWM arbeitet momentan noch bei ca. 16kHz was noch im hörbaren Bereich liegt. Die endgültige Frequenz beträgt dann aber das doppelte, sodass dann auch keinerlei fiepen mehr auftreten kann.

In meinem Testaufbau war aber auch jetzt nichts dergleichen zu hören.

Im Anhang 2 Bilder vom vorläufigen Testaufbau. Das Xplain samt Programmer ist ja noch im Zulauf, daher meine alte Atmel Entwicklungsumgebung. Zum Einsatz kam ein klassischer ATmega16 mit 8MHz internem Takt (daher auch die niedrigen 16kHz für die PWM).

Mfg Bimbo385

PS: @moritzl, PN zurück.
 

Anhänge

  • PICT0001.jpg
    PICT0001.jpg
    203,2 KB · Aufrufe: 250
  • pict0003.jpg
    pict0003.jpg
    185,1 KB · Aufrufe: 212
Zuletzt bearbeitet:
@ Bimbo
Hast wieder ne PN.

So für alle anderen, Aquatuning.de will uns unterstützen von den anderen Shops habe ich noch nichts gehört.
 
Steht noch nicht endgültig fest.

Pumpe, DFM und Lüfter sind hauptsächlich gewünscht.

Schönes Wochenende an alle.

Mfg Bimbo385
 
Sehr interessantes Projekt, ich mache mal Abo . Gutes gelingen.
 
Moin,
Sieht ja schon alles ganz gut aus. Find das Projekt echt klasse.
Werds aufjedenfall weiterverfolgen...
 
Zuletzt bearbeitet:
So also nun ist es offiziell, aquatuning.de ist Sponsor...

Bimbo könntest du das bitte dann, so wie besprochen in den Startpost übernehmen, mehr steht in der PN ;)
 
Super, dass das so geklappt hat!

Ein ganz dickes Danke an moritzl für deine gute Arbeit und an Aquatuning sowieso!

Startpost ist wieder aktuell. Moritzl, kannst du noch mal drüber schauen? Sollte so aber passen.

Außerdem ist mein Paket von Atmel (oder vielmehr von embedded projects) angekommen. Darin ein JTAGICE3 und ein Xplain Board mit einem Xmega.

Das soll zunächst als Testgrundlage für die Lüftersteuerung dienen, zumindest bis dann alles an sich funktioniert und die endgültige Platine geroutet wird.

Somit sollte dem Projekt nichts mehr im Wege stehen! Es werden aber immer noch fleißige Unterstützer und Mitarbeiter gesucht! Speziell zum Thema Windows GUI Entwicklung.


@ PcFreak, das mit deinem DFM hat sich somit erledigt, aber trotzdem nochmal Danke für dein Angebot.


Mfg Bimbo385
 
Zuletzt bearbeitet:
Hey zusammen,

es gab mal einen ähnlichen Ansatz hier im Forum, der aber scheinbar eingeschlafen ist. Ich hatte da auch angeboten mitzumachen und würde das hier auch gerne tun, wenn Bedarf besteht.
http://www.hardwareluxx.de/community/f241/projekt-pernis-langzeitprojekt-frozencontrol-764146.html

Ich spiele hier auch gerade mit einem Xplain herum und die neuen Funktionen von den Timern machen zb. auch die Auslese der Drehzahl extrem bequem.

Ich baue für AVR zwar alles in C, aber vielleicht kann man da einige Prinzipien benutzen für Bascom. Zur Windows GUI kann ich wahrscheinlich wenig beisteuern.

Eagle als Nonprofit-Lizenz hätte ich da.

Im Anhang mal meine Endstufe die hier auf dem Steckbrett (noch mit einem 5V AVR) läuft.

Was hast du dir denn so als Regelungsmethoden vorgestellt?

Gruß
 

Anhänge

  • unbenanntzjoi.png
    unbenanntzjoi.png
    5,1 KB · Aufrufe: 129
Kein Problem.. Immer wieder gerne :)
Ich könnte noch einen Pumpen Deckel anbieten, dann ist die Laing leiser :d
 
Hi Rage,

das Langzeitprojekt von Perni kannte ich auch noch gar nicht.
Hier hab ich mir die Ziele halt nicht so hoch gesteckt, dafür sehe ich diese aber auch für sicher umsetzbar an.

Drehzahl auslesen war bisher noch nicht vorgesehen und am ATXmega32A4 hätte ich dafür auch keine Pins mehr frei, zumindest nicht wenn man noch ein paar Taster als Bedienelemente vorsieht. Aber mal schauen.

Aber über deine Unterstützung würde ich mich freuen. Wenn du nichts dagegen hast trage ich dich im Startpost ein.

Deine Endstufe ist allerdings ziemlich suboptimal, da du ja einen Längsregler gebaut hast der einen Haufen Verlustleistung produziert.

Ich glätte die PWM nicht und steuere einen FET direkt an. Die Lüfter können das problemlos ab. Da ensteht so gut wie keine Verlustleistung.

Für die Laing hab ich mir ne Schaltung mit einem LM2576 Schaltregler überlegt. Aber die läuft bisher nur im Simulator. Aber Testaufbau schaff ich evtl. am WE.

Als Regelungsmethode soll eine einfache proportional Regelung ausreichen. Also eine min. und max. Temperatur vorgeben und in diesem Bereich skaliert die Lüftergeschwindigkeit linear.

Hab ich bei meinem Casecon auch schon so und funktioniert total gut und leise. PID Regler wie in meiner Lötstation ist auch wegen der sich ständig ändernden Lastverhältnisse der CPU/GPU relativ sinnlos.

Mfg Bimbo385

Edit: Deckel ist doch schon dabei.
 
Ob eine Linearregelung suboptimal ist kann man finde ich nicht pauschalisieren. Evtl. gibt es Anwender die gerne die Drehzahl sehen bzw. danach Regeln wollen. Da kommt man mit PWM nicht weit.
Für Lüfter sollte es am FET wärmetechnisch kaum eine Rolle spielen ob sie nun gepulst oder linear angesteuert werden. Bei Pumpen gebe ich dir natürlich Recht bzw. fehlt mir da die Erfahrung.
 
Zuletzt bearbeitet:
Evtl. gibt es Anwender die gerne die Drehzahl sehen bzw. danach Regeln wollen. Da kommt man mit PWM nicht weit.
Für Lüfter sollte es am FET wärmetechnisch kaum eine Rolle spielen ob sie nun gepulst oder linear angesteuert werden.

Ähm... hast du dich da vertan? Das ist so nicht richtig.

Die Drehzahl kann ich auch auslesen, wenn ich den Lüfter per PWM ansteuere. Solange ich den "high side" ansteuere hat das keinerlei Einfluss auf das Tachosignal.
Die Frage ist nur ob ich das mit dem Mikrocontroller auswerte, oder ob ich das nur durchschleife und es an das Mainboard hänge und da vom MoBo auswerten lasse.

Eine Regelschleife die einen Lüfter auf eine bestimmte Drehzahl bringt wäre theoretisch natürlich möglich, wenn man dem Mikrocontroller das Tachosignal auswerten lässt, oder ihm den Wert vom MoBo wieder über das Windows GUI zuspielt.
Da die die Lüfter aber nicht belastet werden, sprich die Umdrehungszahl einzig und alleine von der angelegten Spannung (bzw. PWM-Tastverhältnis) abhängt ist, halte ich das nicht für nötig.
Lediglich eine Alarmfunktion bei Lüfterausfall könnte man vorsehen, allerdings bieten das bereits fast alle MoBo's wenn man ihnen das Tachosignal weitergibt.

Einen Übertemperaturalarm ist bereits geplant.

An einem FET (genau wie an einem Transistor) spielt es sehr wohl eine Rolle, ob ich die Linear oder per PWM ansteuere.

Ein Beispiel, Lüfter mit 12W mit 50% Leistung.
Das entspricht bei PWM einem Tastverhältnis von 50%, bzw. bei einer Linearregelung einer Spannung von 12/Wurzel2, also 8.5V.

Bei PWM hab ich 50% der Zeit den Lüfter aus, also keinen Stromfluss und eine Spannung über dem FET von 12V macht eine Verlustleistung am FET von 0A * 12V = 0W.
Während den anderen 50% ist der Lüfter an, der FET ein einen Ron von 0,1 Ohm. Es fließt daher ein Strom von 991,7mA und über dem FET fallen 99mV ab. Macht eine Verlustleistung von 98mW. Die habe ich aber nur 50% der Zeit. Macht eine Gesamtverlustleistung von weniger als 50mW.
Allerdings habe ich noch die Verluste während der Schaltflanken, die sich so nicht einfach berechnen lassen. Damit kommt man wahrscheinlich auf ca. 250mW-500mW.

Bei deiner Linearregelung fließt konstant ein Strom von 708,3mA und es fallen über dem FET immer 3,5V ab. Macht eine Verlustleistung von 3,5V * 708,3mA = 2,47W. Also deutlich mehr.

Wenn man sich jetzt überlegt das 1A gerade mal ein drittel des vorgesehenen Nennstromes ist und man 3 solche Endstufen baut, dann bräuchte man alleine für die Lüftersteuerung eine Wasserkühlung. Schließlich soll man ja 9 Lüfter an einen Ausgang anschließen können.


Mfg Bimbo385
 
Zuletzt bearbeitet:
Das der Drehzahlausgang auch noch funktioniert, wenn man die Highside pulst ist mir neu. Muss ich direkt mal ausprobieren.

Bei der Wärmeentwicklung gebe ich dir natürlich auch Recht. Ich dachte da nicht in diesen Dimensionen pro Kanal.
 
So Update!


Das Aquatuning Paket ist heute angekommen (da waren sie mal wieder schnell).

Alles dabei Danke!


Da hab ich dann natürlich gleich ausgepackt und einen kleinen Teststand aufgebaut.
Verschlauchung ist soweit fertig, morgen werde ich ihn befüllen und einen ersten Test wagen. Natürlich erstmal ohne eigene HW, dann mit.

Hab morgen nur 2 Vorlesungen und den Nachmittag frei. Es geht also schon vor dem WE vorwärts :-)


Mfg Bimbo385
 

Anhänge

  • IMAG0136.jpg
    IMAG0136.jpg
    127,9 KB · Aufrufe: 132
  • IMAG0137.jpg
    IMAG0137.jpg
    147,9 KB · Aufrufe: 147
  • IMAG0138.jpg
    IMAG0138.jpg
    136,6 KB · Aufrufe: 131
  • IMAG0140.jpg
    IMAG0140.jpg
    180,1 KB · Aufrufe: 153
  • IMAG0141.jpg
    IMAG0141.jpg
    154,2 KB · Aufrufe: 163
Und noch 5 Bilder.

Was soll eigentlich das Limit von 5 Bildern pro Post?
Doppelposts provozieren?
 

Anhänge

  • IMAG0142.jpg
    IMAG0142.jpg
    131,8 KB · Aufrufe: 169
  • IMAG0143.jpg
    IMAG0143.jpg
    167,3 KB · Aufrufe: 150
  • IMAG0146.jpg
    IMAG0146.jpg
    176,8 KB · Aufrufe: 148
  • IMAG0149.jpg
    IMAG0149.jpg
    149,4 KB · Aufrufe: 146
  • IMAG0151.jpg
    IMAG0151.jpg
    115,9 KB · Aufrufe: 148
Ich wär schon sehr dafür dass man die Drehzahlen der Lüfter auch direkt über die Steurung ausliest oder zumindest die Option dazu hat. Wer unbedingt über das Mobo auslesen lassen möchte kann dies ja trotzdem noch tun, da die Lüftersteurung ja vom Tachosignal unabhängig steuert.
 
Zuletzt bearbeitet:
Das Problem hierbei ist, dass das Auslesen der Tachosignale nicht ganz einfach ist und das ich nicht genügend Anschlüsse an dem favorisierten Mikrocontroller habe.

Ich müsste dann auf einem im TQFP64 Gehäuse umsteigen, der sich noch schwieriger Löten lässt und außerdem teurer ist.

Aber ich denk drüber nach. Erstmal haben aber andere Punkte Priorität.

Mfg Bimbo385

PS: Wasser ist im Kreislauf, bin gerade bei der 1. Testsoftware für den DFM.
 
Wenn ich mal so bloed fragen darf: Wie (Protokoll?) wuerde man mit Java den Controller ansprechen? Ich bin nicht so bewandert in aufwaendiger Gui-Gestallung, haette aber zumindest Lust, mal rumzuprobieren.
 
Ich gehe mal davon aus, dass das über einen (emulierten) Comport laufen wird.
Welches Protokoll dann darüber laufen soll muss man sich zusammen überlegen.
 
Das ist einfach beantwortet.

Auf das Board kommt ein VCP Baustein von Microchip (MCP2200). Mit dem passenden Treiber von Microchip installiert sich eine Virtuelle COM Schnittstelle (RS232).

Über diese läuft dann die Kommunikation. Mein Controller verhält sich dabei Passiv.

Das bedeutet du sendest über die COM-Verbindung einen kurzen Befehlscode, z.B.: TEMP1+(CR)+(LF). CR ist Carriage Return und LF Line Feed, das sind die Steuerzeichen die normalerweise bei Betätigung der Enter-Taste gesendet werden.

Darauf antwortet mein Mikrocontroller mit TEMP1=35+(CR)+(LF), oder nur mit 35+(CR)+(LF). Heißt also Temperatur 1 ist 35°C.

Das genaue Befehlsprotokoll hab ich mir noch nicht ausgedacht.
Du kannst auch gerne erstmal eins ausarbeiten. Ich hab kein Problem das zu übernehmen.


Du musst also in deinem Programm die richtige COM-Schnittstelle öffnen und die richtigen Parameter einstellen, das sind:

57600 Baud, 1 Startbit, 1 Stopbit, 8 Bit Datenlänge, keine Parität, keine Flusssteuerung.

Die Baudrate ist immer unterschiedlich, die musst du auf jeden Fall richtig einstellen. Die anderen Parameter sind eigentlich Standard und sollte von Haus aus passen (ist zumindest bei VB so).

Zu vermeiden sind Abfragen ohne jegliche Pause dazwischen. Also am besten du fragst den allgemeinen Status alle 500ms oder so ab. Am besten mit Befehlen wie "gib alle Temperaturen" usw.

Andere Sachen wie z.B. eine Änderung der Konfiguration kannst du ja bei jeder Änderung direkt rüber senden.

Ich wünsch dir schon mal viel Spaß. Als Hilfe, ob dein Programm geht eignet sich übrigens super ein PC mit 2 COM-Schnittstellen (auch als USB Adapter) und ein Nullmodemkabel.

Dann kannst du eine COM-Schnittstelle für deine Software verwenden und die Andere mit einem Terminalprogramm (ich empfehle HTerm). Dann siehst du genau was deine SW macht.


Bezüglich der Tachosignale mal Klartext. Ich habe nach allen Features außer den Tastern/Drehimpulsgeber noch 5 I/O-Anschlüsse frei.

Das heißt, ich könnte für jeden Kanal ein Tachosignal auswerten und könnte noch 2 Taster vorsehen.
Mit 2 Tastern kann man keine benutzerfreundliche Bedienung realisieren. Ist aber evtl. auch gar nicht nötig, da es ja das Windows GUI geben soll. Da könnte man auch alle Taster weg lassen.

Alternativ könnte man auf den nächst größeren Mikrocontroller (ATXmega128A3) umsteigen, der kostet aber 4€ mehr und hat ein TQFP64-Gehäuse. Damit könnte man aber auch 3 Lüfter pro Kanal auslesen (insgesamt dann 9).

Ich würde ja bei dem kleineren ATXmega32A4 bleiben und 3 Lüfter auslesen. Was meint ihr?

Mfg Bimbo385
 
naja an 4€ soll nicht schietern....

Außer der Aufwand wäre zuuu groß ;)
 
Was hast du denn jetzt alles schon dran am Controller?

8 ADC, 4 PWM, 2 UART, 2 Drehgeber, 4-5 JTAG, x Display?, 1(?) DFM

kommt das so in etwa hin?

Man könnte zur Not die analogen Eingänge extern multiplexen. Würde nochmal 4 Pins freimachen.
 
Zur Microkontroller Frage:
Ich bin ebenfalls dafür bei dem ATXmega32A4 zu bleiben. Weniger Kosten, leichter zu löten.
Drehzahlen sind für den Betrieb ja völlig irrelevant.
Auslesen geht ja immernoch über das Mobo.
Ob eine Bedienung über Taster sinn macht weis ich nicht.
Das Display müsste recht groß sein und meist wird dann doch alles über die Windoof GUI gemacht da es einfach komfortabler ist.
 
Ob eine Bedienung über Taster sinn macht weis ich nicht.
Das Display müsste recht groß sein und meist wird dann doch alles über die Windoof GUI gemacht da es einfach komfortabler ist.

Das sehe ich genauso. Ich würde mal sagen 2Taster sind OK, damit kann man z.B. den alarm abschalten, wenn der PC zu warm geworden ist. Oder aber zwischen 2 Anzeigen wechseln.

Der ATXmega32A4 kommt im TQFP 44 Gehäuse und hat 34 I/O-Anschlüsse:

8x für Temperatursensor,
1x für DFM,
3x für Lüfterausgang,
3x für LED,
1x für Pumpe,
1x für Summer,
6x für LCD,
1x für LED Hintergrundbeleuchtung,
2x für RS232 (wird ja dann zu USB),
2x für I²C,
1x für DS18S20,

macht 29, bleiben also noch 5. Zum Programmieren benutze ich PDI. Die Pins sind extra.

Meine ursprüngliche Idee war ja die Tachosignale der Lüfter überhaupt nicht anzutasten und die ganz normal ans MoBo anzuschließen.
Wer das dann unbedingt will, kann sich die Lüftergeschwindigkeiten (genau wie die Temperaturwerte der MoBo-Sensoren) mit Everest anzeigen und an das Windows GUI weitergeben lassen.

Das kann dann die Umdrehungswerte und die Temperaturen an die Steuerung weitergeben und das kann die dann auch auf dem Display anzeigen.

Wem das halt zu aufwendig ist, lässt die Tachosignale halt einfach weg.


Extern multiplexen lohnt sich kaum, weil man dann noch einen Multiplexer und eventuell einen OPV braucht.
Ich wüsste jetzt auch nicht, dass es einen günstigen 8-fach Analog-Multiplexer bei Reichelt gibt. Außerdem brauchen die womöglich noch ne negative Versorgungsspannung, was dann ziemlich kompliziert wird und sicherlich nicht unter 4€ bleibt.


Mfg Bimbo385
 
Ich hätte jetzt an 74HC4051 gedacht. Aber die Frage ist wirklich ob sich der Aufwand lohnt.

Gibts die DOGM Displays nicht mit SPI? Das wären dann nur noch 3 pins
 
Die sind mit SPI, nur muss ich per SPI die komplette Ansteuerung selber schreiben,
für 4-Bit hat die Bascom fix und fertig.

Außerdem brauch ich für SPI 4 Pins (Enable nicht vergessen) und die 2 Pins lohnen den Aufwand nicht wirklich.

Mfg Bimbo385
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh