Um ein groĂes Haus zu automatisieren, erschien die Aufgabe, starke Lasten ein- und auszuschalten - Poolpumpen, Kessel und sogar GĂ€stezimmer als Ganzes (wenn niemand in ihnen lebt), und ich wollte auch wissen, wie viel Energie von ihnen verbraucht wird. Es gab jedoch keine vorgefertigten GerĂ€te mit den erforderlichen Eigenschaften (und sogar in deren NĂ€he). Ich musste es selbst erfinden. Die erste Version erwies sich als nicht sehr wartungsfreundlich, zeigte jedoch, dass ein wenig Arbeit und Sie ein vollstĂ€ndig fertiges GerĂ€t erhalten.

Ehrlich gesagt habe ich praktisch keine Erfahrung mit der Erstellung leistungsfĂ€higer WechselstromgerĂ€te. Daher habe ich bei der Entwicklung dieses GerĂ€ts versucht, auf Nummer sicher zu gehen - Blitzableiter, breite Wege zum Löten leistungsstarker Kupferreifen und Abschirmung in den Zwischenschichten der Platine. In der ersten Version gab es einige ĂberschĂŒsse und Fehler (z. B. im Datenblatt des Stromversorgungsmoduls Spannungsausgang 1 und Vout1 - stellte sich heraus, dass sie nicht gleich waren. Daher musste ich die Spuren abschneiden und den Micro-USB-Anschluss einfach falsch trennen, sodass der Anschluss nicht teilte funktioniert).
Zum Schalten wurden bistabile 80-Ampere-Relais EW80 gewĂ€hlt. Ich muss sagen, dass die Auswahl nicht sehr erfolgreich ist - der Fall ist undicht und unter lokalen Bedingungen mit hoher Luftfeuchtigkeit möglicherweise ungeeignet. Leider ist die Auswahl an leistungsstarken bistabilen Relais von verfĂŒgbaren Lieferanten nicht zu groĂ, sodass Sie entweder jedes Relais einzeln oder das gesamte GehĂ€use abdichten mĂŒssen. Als Steuertasten habe ich die verfĂŒgbaren ADP3624-Mosfet-Treiber (einen fĂŒr jedes Relaispaar) verwendet, mit denen die Wicklungen in beiden PolaritĂ€ten erregt und nach dem Auslösen abgeschaltet werden können. Die Hallsensoren ACS759-100 messen den Verbrauch und die Netzspannung ĂŒber einen Transformator mit geringer Leistung. Als ADC und Steuermikrocontroller gilt STM32F373CBT6.
Um den Anschluss des fertigen GerĂ€ts zu vereinfachen, wird die Eingangsspannung an einen Anschluss geliefert, und ĂŒber die Leiterplatten gelötete 7x3-mm-Kupferbusse werden auf alle SchaltkanĂ€le gespannt. Unter Bedingungen von möglicherweise sehr langen DrĂ€hten zur Last (viele zehn Meter) wurde beschlossen, sowohl Null als auch Phase gleichzeitig zu schalten, um Probleme mit Störungen, Verzerrungen und nur aus SicherheitsgrĂŒnden zu vermeiden. Da die Platine nicht fĂŒr den Betrieb ohne externe Schutzvorrichtungen (âSteckerâ, FI) ausgelegt ist, befinden sich keine Sicherheitselemente, sondern nur Blitzableiter zum Schutz vor Hochspannungsimpulsen. Jeder Kanal hat eine Anzeige-LED, es gibt auch eine Signalschaltung (âHochtönerâ und ein Relais fĂŒr 10 Ampere externe Last), aber ihre Verwendung in Software wurde noch nicht implementiert.
Das GerĂ€t wird ĂŒber eine serielle Schnittstelle mit galvanischer Trennung gesteuert (theoretisch kann eine USB-Schnittstelle verwendet werden), mit einem einfachen Protokoll, das dem in meinem Dimmer verwendeten Protokoll Ă€hnelt. Ich werde es spĂ€ter durch MQTT-over-serial ersetzen.

Ich muss gleich sagen, dass sich die Schaltung als nicht sehr erfolgreich herausgestellt hat und sich in der nĂ€chsten Version ein wenig Ă€ndern wird - die SpannungsstabilitĂ€t von 3,3 Volt fĂŒr die Stromversorgung der Stromsensoren und der Steuerung hĂ€lt Kritik nicht stand, was zu Fehlern bei der Leistungsmessung in einigen zehn Watt fĂŒhrt (auch ohne Last). höchstwahrscheinlich werde ich fĂŒr jeden Sensor separat stabile Referenzspannungsquellen von 3,3 V liefern. Es mag sich auch lohnen, einen 16-Bit-ADC in der Steuerung zu verwenden, aber leider ist seine Geschwindigkeit nicht zu hoch - jetzt werden Strom und Spannung ungefĂ€hr 5000 Mal pro Sekunde gemessen, was theoretisch mit 16-Bit möglich ist, aber ich habe es nicht geschafft, eine stabile Leistung zu erzielen seine Arbeit mit vielen KanĂ€len ĂŒber DMA.
Die Controller-Firmware zeigt alle zehn Sekunden Daten zum Lastverbrauch auf jedem Kanal und zur Netzspannung an und empfĂ€ngt Befehle zum Ein- und Ausschalten der KanĂ€le. Die Software ist sehr grob, sie muss auch ĂŒberarbeitet werden, um verschiedene Steuerfunktionen hinzuzufĂŒgen (z. B. Ăberspannung im Netzwerk, Ăberlastung, Ăberhitzung der Karte usw.).
â
Code auf Github