Hallo Leute (und Bastler),
Ich klemme mich mal da an
Das Wetter spielt ja wieder einmal nicht mit hier bei uns in der Gegend, weswegen ich vor einiger Zeit ein neues Projekt gestartet hatte.
Auf meiner ToDo-Liste stand eine Powerswitch.
Das Ding sollte einfach ein paar Ausgänge (12Volt) schalten und am besten noch über einen Timer verfügen der alle Ports zu einer bestimmten Zeit abschaltet.
Auch wäre es nicht schlecht, wenn er die Spannung und den Strom pro Port messen würde, also schrieb ich mir ein paar Features auf.
Herausgekommen ist Folgendes:
4 x Ports 12V mit max. ~ 4Ah/Port
1 x PWM
Strom und Spannungsmessung pro Ausgang
Timer für das Abschalten der Ausgänge
LEDs zeigen den Status des jeweiligen Ports an
2 x 5 Volt Ausgänge.
Temperatur und Feuchtigkeitsmessung.
Die ganze Switch sollte über den PC per WLAN gesteuert werden können.
Unterspannungsüberwachung falls eine Batterie alles Versorgt.
Da ich noch einige Controller und Bauteile von älteren Basteleien herumliegen hatte, macht ich mich ans Werk.
Allerdings stellte ich schnell fest, dass ich nur noch ein paar Wemos D1 Mini herumliegen hatte. Der Controller hat nicht genügend Ports, weswegen ich etwas tricksen musste. Gerade das Einlesen von Strom und Spannung sowie der Temperaturmessung an einem AD-Eingang war etwas fummelig.
Da die Anzahl der Ports begrenzt waren musste ich einige Sachen wegfallen lassen.
Keine USB-Ports und keine Feuchtigkeitsmessung. Kommt vielleicht bei 2.0 mal sehen.
Kurze Schaltungsbeschreibung für jene, die es interessiert.
4 Ports des Wemos D1 Mini steuern jeweils über einen BC847 einen IRF5305 an, der die 12 Volt vom Eingang auf einen Ausgang schaltet. Über einen 0.15 Ohm Shunt wird der Strom pro Ausgang gemessen.
Die Ansteuerung des PWM Ausgangs erfolgt ebenfalls über einen BC847. Das Signal wird aber über einen BC327 PNP Invertiert und ein BUZ11 legt den angeschlossenen Verbraucher gegen Masse. Auch der PWM-Port hat einen Shunt um den Stromverbrauch zu messen.
Die Temperaturmessung erfolgt mit einem LM50C und wird mit einem der Eingänge am ADC eingelesen. Da ich noch aus dem vorigen Jahrhundert ein paar übrig hatte, habe ich den verwendet.
Wer mag kann auch einen anderen verwenden, oder einfach weglassen.
Ich verwende 3 Ports des Wemos D1 Mini, um einen 3 zu 8 Decoder anzusteuern, dessen Ausgänge dann einen 2 x 4066 Analogschalter ansteuern. Die Ausgänge der beiden 4066 liegen alle auf dem AD-Eingang des Wemos so stehen mir sequentiell 7 AD-Eingänge zur Verfügung.
Für die 5V der Schaltung habe ich mich für einen SI8201 entschieden. Ein normaler LM7805 tut es aber auch.
Ich habe bei mir die 4 „Kanäle, oder Ports/Ausgänge“ folgendermaßen angeschlossen:
Kanal 1 = OnStep der EQ6
Kanal 2 = MyFokuserPro2
Kanal 3 = Frei
Kanal 4 = Ein 5V/5A Wandler versorgt den Raspberry Pi4 mit Spannung.
PWM 1 = Soll später eine Peltier-Kühlung für meine SV705c Kamera mit Strom versorgen. (Ist in Planung)
Das ist der 12V auf 5V Wandler an Kanal 4/Port/Ausgang angeschlossen.
Das ist ein 5V / 5Amp. Wandler. Leider hatte der nicht genug Leitung und der Pi hat dauernd wegen Unterspannung gemeckert.
Ich habe den jetzt gegen einen Buck-Wandler ersetzt und der Pi scheint nun zufrieden zu sein.
Ich habe auch einen Timer in die Software eingebaut, um die Ausgänge zu schalten.
Was in der Software noch fehlt, ist eine Abschaltung des Kanals bei einem Kurzschluss oder wenn der Stromverbrauch über die 4A geht.
Für die Anschlüsse habe ich mich für 5 x 4 polige GX12 und 1 x 4 polig GX16 entschieden. Die Stecker können fest verschraubt werden und lösen sich nicht von alleine.
Laut Datenblatt sind die für 5A ausgelegt.
Das einzige Gerät, welches eventuell den hohen Strom zieht, ist ein Peiltier-Element für die Kühlung einer Kamera.
Die GX12 verwende ich eigentlich zum Anschluss von Schrittmotoren und davon hatte ich noch ein paar. Den GX16 habe ich bei Ebay bestellt.
Zur Software.
Der Wemos verbindet sich mit meinem Wlan und ich kann den vom Laptop oder meinem PC aus Steuern. An einer App für die Steuerung per Tablet oder Smartphone arbeite ich noch.
Die Software ist in Python geschrieben und kann einfach mit python3 astro-powerswitch_xxx.py aus einer Konsole gestartet werden. Da ich nur Linux-Systeme verwende, kann ich leider bezüglich Windows nichts dazu sagen. Ich könnte mir aber vorstellen, dass die Software auch unter Windows läuft, wenn Python dort dann eingerichtet ist.
Wer die Switch nachbauen und verwenden möchte, muss allerdings die Wlan-Adresse das PW und die SSID im Arduino-Code an das eigene Netz anpassen bevor der Code auf den Wemos geflasht wird.
Das selbe gilt auch für den Python-Code. Dort muss noch der Pfad an das jeweilige System angepasst werden, aber ich denke, das sollte kein Problem sein. Der Code kann mit einem normalen Editor geändert und gespeichert werden.
Wird die Switch mit Strom versorgt, versucht sie sich in das WLAN-Netz einzuloggen. Das dauert bei mir max. 5 Sekunden, dann leuchtet die gelbe LED an der Switch auf.
Ein Zeichen das die Switch mit dem WLAN-Netz verbunden ist. Jetzt kann die SW auf dem Rechner gestartet werden.Die verbindet sich automatisch mit der Switch und liest den momentanen Status aus. Das ist deswegen wichtig weil ich vom PC aus oder vom Laptop aus die Verbindung herstellen kann. Wenn ich vom PC aus den Kanal 1 einschalte, dann wüsste der Laptop davon nichts. Durch die Synchronisation beim Start wird der Status auch auf dem Laptop aktualisiert und der Kanal 1 als „EIN“ gekennzeichnet.
Astro-Powerswitch mit dem Wlan verbunden.
Ausgang 1,2 und 4 verbunden.
Oben Links wird die Momentan gemessene Versorgungsspannung angezeigt sowie die minimale Batteriespannung. Wer die Abschaltung nicht möchte, kann entweder den Wert in der SW ändern oder einfach den Haken davor entfernen.
Unter der Angabe der Spannung befindet sich der Timer. Es werden nur die Stunden und Minuten verglichen. Darunter kann man auswählen welche Ports abgeschaltet werden und welche nicht.
Ich verwende die Switch auch im Garten und wenn ich keinen Bock darauf habe bis um 03:00 zu warten bis die Aufnahme fertig ist, dann schalte ich einfach der Timer ein und gehe ins Bett ohne mir darüber Gedanken machen zu müssen, ob die Batterie am Morgen Tiefentladen ist, oder die Kamera irgendwann dann am Stativ klebt.
Okay genug geredet. Wer das Ding nachbauen möchte,
HIER sind die Daten.
Noch der obligatorische Satz zum Schluss.
Ich bin nicht für eure Schäden verantwortlich. Nachbau auf eigene Gefahr!
Nur soviel. Bei mir funktioniert es ohne Probleme und ich kann nun gemütlich vom Wohnzimmer oder „Büro“ alles schalten.
Was die SW betrifft es muss vielleicht die eine oder andere Bibliothek von Python noch nach installiert werden. Leider kann ich nicht genau sagen welche bei euch fehlen, aber fragt im Zweifel oder Fehler einfach die KI, ChatGPT oder Gemini ist da hilfreich.
Ach noch etwas. Ich habe einen FONT verwendet der normalerweise nicht installiert ist.
Kopiert einfach digital-7.ttf nach ~/.local/share/fonts
Dann steht der dem System zur Verfügung und wird auch verwendet. Sieht Cooler aus
Viel Spaß beim Basteln.
