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:
Wie soll das Konstrukt aufgebaut sein:
Bei der Hardware hätten wir die üblichen Verdächtigen zur Auswahl:
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
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