Modulare Lüftersteuerung (Projekt)

Cynob

Cadet 4th Year
Registriert
Aug. 2021
Beiträge
66
Hallo zusammen,
falls ich hier im falschen Unterforum angekommen bin könnt Ihr mich ja verschieben.
- Falls nicht > Die Zeile obendrüber einfach ignorieren.

Die Ausgangssituation:
Ich hab nen netten älteren PC mit einer GTX1080ti Sea Hawk und nem Ryzen 1600X welche beide ganz friedlich wassergekühlt liefen. Bis sich irgendwann der Weichmacher aus den Schläuchen fortgemacht hat und seitdem in komischen Fäden sich durchs Wasser wandert. Da mir das zu heiß wurde ließ ich den PC aus und wurschtle seitdem mit dem Notebook weiter.
Bis vor kurzem. Da bekam ich auf Geburtstag ne neue Pumpe und einen 360*360er Radiator was meinen Basteltrieb mal wieder zum leben erweckte. Anstelle eines Gehäuses kommt der Radi an ein TV Stativ/Ständer welcher eigentlich für 60Zoll Fernseher gedacht ist. Die Pumpe und der AGB soll auch auf diesem Gestell seinen Platz finden.
Der Aufbau von dem Teil dürfte aber einen eigenen Forumseintrag füllen und ist hier nur als Hintergrundinfo nützlich.

Für die Steuerung der Lüfter / Pumpe/ Temperatursensor usw. hatte ich bisher ein "Aqua Octo" im Einsatz.
Das ist von der GUI und von den Funktionen ja ganz nett aufgebaut. Die tollste Funktion finde ich das man eine (in meinem Fall) Wasser Temperatur angeben kann und die Lüfter in einzelnen Leistungskurven arbeiten um diese zu halten bzw. zu unterschreiten.
Was mir weniger gefällt ist das diese AquaSuite Software nur für Windows zur Verfügung steht und die Preisgestaltung der einzelnen angebotenen Baugruppen jetzt auch nichts für den schmalen Geldbeutel ist. Dazu kommt noch dieses "für jede Funktion ne upgrade Lizenz - die Technik hast du schon, wir lassen dich sie nur nicht nutzen und verlangen für jeden Furz extra". Ganz zu schweigen von dem "Unser System ist alles! - nur auf keinster Weise mit einem anderen kompatibel". Dicht gefolgt von "Für was bitte willst du Hobbyentwickler ne API, Bibliothek oder gar ne binary- das artet ja schon in Konkurenz aus!"
Das tolle an der ganzen Sache ist: Mein gehate die paar Zeilen obendrüber kann man auf jeden Hersteller übertragen. Bei der Beleuchtung ist es das beste Beispiel. Man muss sich fast an einen Hersteller ketten da die ganzen RGB/A_RGB/IC*irgendwas* und Konsorten alle ein eigenes Protokoll haben nur um so ein paar LEDs zu adressieren und zu schalten. Es muss sich also keiner benachteiligt fühlen - die sind alle gleich gut/schlecht.

Mit dieser Erkenntnis hab ich mal Github und Co nach ner alternativen und brauchbaren Steuerung abgegrast. Gibt zwar einige aber alle immer zu spezialisiert auf ein bestimmtes Projekt (z.B. aktive Kühlung des Druckkopfes eines 3D Druckers) oder einfach lieblos hingeklatscht ohne richtige Beschreibungen der Bauteile, deren Aufbau und des dazugehörigen Codes.

Vielleicht war ich bis jetzt einfach zu blöde was zu finden oder die Anzahl derer welche unbekümmert dreistellige Beträge für eine Steuerung ausgeben wollen und können ist einfach zu hoch und ich lauf am Markt vorbei...
Falls dem nicht so ist würde ich mich über einen Kommentar freuen (sonst natürlich auch).

Wie man dem ganzen geschriebenen jetzt entnehmen oder erahnen kann möchte ich eine Open Source Lüfter bzw. Systemsteuerung entwickeln. Diese soll modular aufgebaut sein damit man sich nur die benötigten Teile zusammenstecken/bauen/löten muss welche man auch wirklich braucht. Die Bauteile müssen in ausreichender Anzahl auf dem Markt verfügbar sein und durch Alternativen austauschbar. Man könnte z.B. anstelle eines ICs die Schaltung mit Transistoren aufbauen. Die bekommt man immer irgendwo günstig im 10er Pack falls mal einer abraucht. Für die Rechenoperationen lieber ein Arduino mit einem Wlan Modul an den Pins als ein hochintegriertes Bauteil von irgend nem ebay/amazon China Händler welches in 5 Jahren nichtmehr käuflich erwerbbar ist. Ob man dann den PWM Takt mit einem NE55 erzeugt oder über Timer/interrupt von einem Microprozessor ausgeben lässt werden wir noch sehn.
Zum herstellen "meiner" Platinen bzw. den Prototypen werde ich nen handelsüblichen regelbaren Lötkolben, Silberdraht, Lötzin und halt die entsprechenden Bauteile verwenden (Kann man im Wohnzimmer nachbauen). Wenn das ganze irgendwann die Versionsnummer 1.0 trägt und genügend mitmachen kann man ja die Schaltpläne in z.B. Eagle aufreissen und sich fertige Platinen über nen Dienstleister zuschicken lassen. Bis es so weit ist wird aber denk ich noch ne ganze Weile vergehen.

Vom Softwareumfang her soll es mindestens mit den etablierten Mitbewerbern konkurieren können. Also sammel ich jetzt einfach mal was ich alles so benötige und was mir sonst noch so einfällt wie ich das System hochziehe:
(Wie gesagt: über Ideen und konstruktive Beiträge freu ich mich)


Was soll das Konstrukt können:

  • Lüftersteuerung mit bis zu n Lüftern |> konstante Drehzahl, Kurve nach Temperatur usw.
  • Drehzahl der Lüfter einlesen
  • Temperatur/Feuchte/Feinstaubbelastung über diverse Sensoren einlesen
  • Fehler Handling bei abnormalen Werten ( Lüfter dreht nicht/ Wassertemperatur über Sollwert etc.)
  • Pumpensteuerung
  • Drucküberwachung / Lekageüberwachung
  • Loggen der Werte
  • starten und herunterfahren des PCs oder ausführen von Scripten/Funktionen über Alarm oder Website/Handy möglich
  • soll wahlweise über Kabel oder Funk kommunizieren (Wlan, 433Mhz, GSM, USB, TTL)
  • und bestimmt noch einige Dinge welche mir gerade nicht einfallen.


Wie soll das Konstrukt aufgebaut sein:

Bei der Hardware hätten wir die üblichen Verdächtigen zur Auswahl:
  • Raspberry Pi ( teuer zur Zeit und 3V auf den Pins was die Benutzung von Optokopplern nötig macht)
  • ESP32 (gibts mit Bluetooth und WLan. mit nem http Server von jedem Browser im Netzwerk aus konfigurierbar. Hat aber auch die 3V Problematik)
  • Arduino (wirds warscheinlich in einer 5V Version, Uno/Mega zum selberlöten und den Micro für die industriell erstellte Platine. Beides zum aufstecken)
  • Attiny85 (für kleinere Aufgaben wie z.B. der Garagentüröffner ;P)

Der Anfang macht ein ESP32 als zentrale Steuereinheit. Dieser bekommt zwei Relais oder Optokoppler welche über das Mainboard den PC an/ausschalten so wie Neustarts auslösen können. Damit das auch bei ausgeschaltenem PC funktioniert muss die 5V USB Schiene auf Dauerstrom im Bios eingestellt werden. Der ESP32 wird intern über USB angeschlossen und hat somit im ausgeschaltenen Zustand noch Energie. Wenn einem das starten über die Website (Handy) nicht ausreicht kann man direkt auch noch einen 433Mhz Funk Sender und Empfänger integrieren. So kann man sich seine eigene Funkfernbedienung zum PC starten /beenden/ausschalten bauen. Der Funkempfänger/Sender kann später auch zum schalten weit entfernter Objekte herhalten oder zum auslesen von Nachbars Temperatursender auf dessen Balkon.

Wenn der PC dann gestartet wurde macht der ESP32 nichts anderes als Daten sammeln und diese auf seiner Website anzuzeigen und im Speicher vorzuhalten. Die Kommunikation erfolgt entweder über WLan, 433Mhz Funk oder TTL / serieller Verbindung zwischen den einzelnen Modulen. Eventuell kann man das auch mit SPI erschlagen wenns kabelgebunden sein soll. Für die rein interne Verwendung kann man auch auf dem ESP32 so viele Pins wie möglich belegen um Lüfter und Temperatursensoren ohne weitere Chips verbauen zu müssen.
Wenn die internen Anschlüsse nicht genug sind kann man weitere Prozessoren anbinden wie z.B. einen ATTiny welcher eine Temperatur misst und in den Speicher des ESP32 einträgt. Der nächste angebundene Lüfterverbund mit dem Arduino trägt die jeweilige Drehzahl auch in den ESP ein und holt sich die Temperatur für weitere Berechnungen.
Die Schwellwerte oder besser wann der Lüfter schneller drehen soll und alle anderen Einstellungen werden sich über ein Tool einstellen lassen welches in Python geschrieben wird und mit ner feschen GUi herkommt. Dort lässt sich dann für jedes erkannte Modul die passenden Kurven und Einstellungen vornehmen. Das Programm wird auf Windows/Linux und dem Raspberry Pi laufen.

Um das ganze zu visualisieren wird auch noch in einen 5,25Zoll Schacht gemoddet oder ein Display für den Schreibtisch aus einfach zu erwerbenden Dingen kreeiert welches über Funk sich die aktuellen Daten holt und anzeigt und das ändern der Einstellungen zulässt.

Soweit mal eine Ideen (hne jetzt noch weitere Seiten zu füllen)
Sobad es Fortschritte gibt werde ich berichten.
und kontruktive Kiik ist mmer gern gesehn ;)
Viele Grüße
 
Ich habe mal was gebastelt für einen Kumpel... schau dir das mal an, vielleicht wäre das ja eine Ausgangslage für dich... falls ja könnte man gern über weiteres reden.
Nach der rudimentären Ausarbeitung auf ESP8266, die ihren dienst bei ihm gut tut (siehe github: https://github.com/faeibson/ESPPWMFanControl) hatte ich eigentlich vor, das mit ihm dann noch mal richtig aufzuziehen auf ESP32 basis mit gescheiter platine etc, mit unterstützung für weitere sensoren und vor allem (dem zeitgeist entsprechend :D) RGB(A), leider ist das dann aber aus zeitgründen und verschobenen prioritäten eingeschlafen. die kicad daten und alles hab ich aber natürlich noch.. da habe ich eigentlich schon richtig viel zeit reingesteckt, allerdings bin ich weit weg davon ein elektroniker zu sein und daher gibts da noch einiges zu tun.
allerdings kann ich dir schon mal sagen, die anzahl der pins beim ESP32 ist zwar nominell groß, allerdings relativiert sich das bei der fülle an voneinander völlig unterschiedlichen features ziemlich schnell. da habe ich mich dann zwischenzeitlich schon nach alternativen umgesehen, aber wie gesagt... das ist dann leider eingeschlafen. irgendwann wollte ich mich da aber schon nochmal drum kümmern und auch nochmal das o.g. github repo aufarbeiten, den code nochmal in schön refactorn (das ist ja ehrlich gesagt nur so hingeklatscht) und auch ein ordentliches web interface gestalten.
wie gesagt, keine ahnung ob du das überhaupt für deine idee passend findest. falls ja, gib einfach bescheid.
 
hau alles in den müll und mach eine luftkühlung drauf - noctua. genauso leise und vermutlich kühler.

warum so ein riesen projekt um veraltete hardware?

wenn es eine art liebhabergeschichte ist, oder du zuviel zeit hast... ja mei ;). jedem das seine.

was soll das ganze reporting? reicht es nicht dass der bums zuverlässig läuft ohne probleme?
 
Nimm doch eine Aquaero. Die mit Display kann man auch so, auch wenn es etwas umständlich ist, programmieren. Einmal eingestellt, regelt die alles von alleine. Die braucht dann keine Verbindung mit dem PC mehr. Die ohne Display musst du dann einmal mit Windows einstellen und kannst sie dann "abklemmen".

https://geizhals.de/?cat=coolram&xf=10851_12~10859_Alarmfunktion~10859_aquabus~2294_Aqua+Computer

Die Lizenz bei Aquacomputer bekommst du doch immer mit dem Gerät dazu. Ich nutze seit Jahren Aquacomputer Geräte und ich habe noch nie etwas extra für die Lizenz bezahlt.

lazsniper schrieb:
hau alles in den müll und mach eine luftkühlung drauf - noctua. genauso leise und vermutlich kühler.
Nö und nö, einem 1080er Radiator kann keine Luftkühlung Ansatzweise das Wasser reichen.
 
Ich finde die Idee ziemlich toll, habe selbst schon in die Richtung gedacht, aber es wegen des Aufwands wieder verworfen. Wenn sich ein paar fähige Leute die Arbeit teilen, könnte das ein ziemlich cooles Projekt werden.
Eines nur vorweg: Die wenigsten Nutzer haben das Selbstvertrauen mehrere Platinen zusammenzulöten und das Ganze nach den eigenen Vorstellungen zu programmieren.
Es sollte sich an eine größere Zielgruppe richten und das funktioniert am besten mit plug&play. Die Modularität kann deswegen ja trotzdem erhalten bleiben.
Gerade bei Elektronik ist der Preis sehr stark an die Abnahmemenge gekoppelt. Ich halte es also für nicht effizient, wenn jeder sich seine Platine nach Eagle-Layout selbst bestellt. Vielleicht kann man eine kleinere Firma dafür gewinnen, bei der "Massenproduktion" zu unterstützen. Ich wüsste da sogar eine, glaub ich.

Sollte sich das Projekt in eine vielversprechende Richtung bewegen, werde ich mich im Rahmen meiner Möglichkeiten gerne beteiligen.
 
Zurück
Oben