Energiemessgerät mit ESP32, Projekt-Update #3: Integration und Test mit Home Assistant
über
In unserem letzten Artikel haben wir uns auf Verbesserungen des Schaltplans und der Platine des ESP32-Energiemessgeräts konzentriert und dabei Modularität und Sicherheitsfunktionen verbessert. Bevor wir uns mit dem nächsten Projekt-Update befassen, gönnen wir uns einen kurzen Überblick.
Bei den letzten Weiterentwicklungen des ESP32-Energiemessgeräts haben wir ein Upgrade des Mikrocontrollers auf einen ESP32-S3 vorgenommen, der eine höhere Verarbeitungsleistung und einen größeren Funktionsumfang bietet. Mit dem neuen Design wurde die Platine verschlankt und ein Stromversorgungssystem mit Transformatoren eingeführt, das die „Hochspannung“ von 230 V von der Elektronik fernhält und sowohl für die Spannungsabtastung als auch für den Betrieb des Systems harmlose 12 V verwendet. Dadurch wurde die Sicherheit erheblich verbessert und gleichzeitig die Flexibilität für ein- und dreiphasige Installationen beibehalten.
![Assembled ESP32 Energy Meter with its OLED display](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_720/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F17%2F240244-012-94-original-img-0521jpg.png)
Weitere Verbesserungen betrafen die Verwendung eines effizienteren Abwärtswandlers des Typs AP63203WU-7, die Modularisierung der Leiterplatte, die Kalibrierung der Stromwandler-Abtastschaltung und vieles mehr. Dadurch wurden nicht nur die Leistung und die Funktionalität des Energiezählers optimiert, sondern auch die Kosten verringert und die Größe reduziert.
In diesem dritten Projekt-Update gehen wir auf die Schritte ein, die unternommen wurden, um dieses Energiemessgerät in Betrieb zu nehmen, und auf den Weg, den er vom Labortisch bis zum Zählerkasten genommen hat. Darüber hinaus wird erläutert, wie das Gerät eingerichtet und kalibriert und wie es mit ESP Home in den Home Assistant integriert wird, um die gesammelten Daten des Energiemessers anzuzeigen und zu überwachen. In Bild 1 ist ein Schnappschuss des ESP32-Energiemessers in einem 3D-gedruckten Gehäuse mit OLED-Display zu sehen. Das Bild zeigt auch die Statusanzeigen, anhand der sich die Stromaufnahme in Echtzeit verfolgen lässt.
Zusammenbau
Die neue Platine wurde so entworfen, dass sie kompakter und einfacher zu löten ist. Das Layout weist nun angemessene Abstände um jedes Bauteil auf, was den Lötprozess erleichtert. Um die Verbreitung des Projekts in der Community und Änderungen durch Enthusiasten und Fachleute gleichermaßen zu erleichtern, stehen die komplette Stückliste (BOM) im Mouser-Format und die Produktionsdateien auf dem GitHub-Repository von Elektor Labs bereit.
Für die Spannungs- und Stromabnahmeanschlüsse wurden Schraubklemmen von CUI Devices verwendet. Die Qualität dieser Klemmen ist viel höher als die der billigen blauen Klemmen, die man bei den meisten Sensormodulen sieht. Da wir es mit Wechselspannungen und Energiemessung zu tun haben, sind sichere und zuverlässige Verbindungen unerlässlich.
![PCB of the fully assembled Meter](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_629,h_400,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711204419_esp-meter-up3-fig2.png)
Die Rauschunterdrückung ist ein wichtiger Aspekt des Platinenlayouts. Durch die Aufnahme von Elektrolyt- und Keramikkondensatoren um den Energiemess-Chip ATM90E32S herum wird sowohl nieder- als auch hochfrequentes Rauschen herausgefiltert, was eine genauere und stabilere Energiemessung gewährleistet. Die Platine ist in Bild 2 abgebildet.
Wie bereits erwähnt, haben wir uns für die Verwendung eines 12-V-Transformators für die Spannungsabtastung und die Energieversorgung des gesamten Systems entschieden. Einen solchen Transformator zu finden ist einfach und billig, aber die meisten dieser Transformatoren benötigen viel Platz, wenn sie in einem kundenspezifischen Gehäuse verwendet werden, wie Bild 3 beweist. Daher sollten Sie am besten DIN-Schienen-Transformatoren (zum Beispiel Klingeltrafos) verwenden, um den Aufbau sauberer und sicherer zu gestalten. Solche Transformatoren lassen sich leicht im Netz finden. Außerdem hängt die Genauigkeit der Spannungsmessungen von den Eigenschaften der Transformatoren ab, einschließlich der Genauigkeit ihres Spannungsverhältnisses, der Phasenverschiebung und der Linearität.
![Step-down transformer setup](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_594,h_726,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711204544_esp-meter-up3-fig3.png)
Vielleicht haben Sie auf den Bildern bemerkt, dass nur ein Transformator an das Energiemessgerät angeschlossen ist. Der Energiemesser wurde nämlich hier für einphasigen Betrieb konfiguriert (Lötjumper JP8 auf der Rückseite der Platine angebracht, wie in Bild 4 zu sehen). Um den Energiezähler im dreiphasigen Modus zu betreiben und die Spannung jeder Phase in einem dreiphasigen System mit drei Transformatoren abzufragen, müssen Sie die Primärseiten der drei Transformatoren an die jeweiligen Außenleiter (L1, L2, L3) gegen den Neutralleiter N anschließen. Auf der Sekundärseite schließen Sie ein Ende der Wicklung jedes Transformators an einen gemeinsamen Nullpunkt auf der Platine an und bilden so eine Sternkonfiguration (Y). Die freien Enden der Sekundärwicklungen (V1, V2, V3) liefern dann die Spannungsausgänge (UA, UB und UC) auf der Platine für jede Phase. Unbedingt muss sichergestellt sein, dass die Transformatoren für Netzspannung und den Strom des Systems ausgelegt sind und dass Primär- und Sekundärstromkreise strikt voneinander isoliert sein müssen, aus Sicherheitsgründen und um einen stabilen und ausgeglichenen Neutralleiter-Anschluss und damit eine hohe Messgenauigkeit zu gewährleisten.
![Single-phase jumper configuration on the PCB](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_580,h_452,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711204817_esp-meter-up3-fig4.png)
Einrichten mit ESPHome und Home Assistant
Als Teil der Entwicklung wird eine spezielle Firmware erstellt, um die Fähigkeiten des Energiemess-Chips und die fortschrittlichen KI-Funktionen des ESP32-S3 zu nutzen.
Obwohl die Entwicklung einer solchen maßgeschneiderten Firmware viel Zeit in Anspruch nimmt und zur Zeit noch im Gange ist, schränkt dies die Verwendbarkeit des Energiemessgeräts nicht ein. Das Gerät kann schon jetzt mit bestehenden Plattformen wie Home Assistant voll funktionsfähig sein und bietet eine sofortige Lösung für die Energieüberwachung. Daher liegt der Schwerpunkt in diesem Artikel auf der Integration des ESP32-Energiemessers in das Smart Home mit Home Assistant und ESPHome. Dieser Abschnitt führt Sie zunächst durch die Einrichtung des Energiemessgeräts in der Home-Assistant-Umgebung, damit Sie seine vollständige Funktionalität nutzen können.
Um das ESP32-Energiemessgerät mit der ESPHome-Firmware einzurichten und es in Home Assistant zu integrieren, müssen Sie natürlich zuerst Home Assistant installieren. Eine ausführliche Anleitung dazu finden Sie in einem Artikel meines Elektor-Kollegen Clemens Valens.
Ist die Installation gelungen, fügen Sie die ESPHome-Integration aus dem Add-on Store hinzu und erstellen ein neues Projekt in ESPHome für Ihr ESP32-Gerät. Dadurch wird automatisch eine grundlegende YAML-Konfigurationsdatei erzeugt, die ein eigenes ESPHome-Projekt mit allen verwendeten Sensoren und vielen anderen Optionen spezifiziert. Sie müssen diese Standarddatei herunterladen, bevor Sie die nächsten Schritte ausführen.
Verbinden Sie Ihren ESP32 mit Ihrem Computer und wählen Sie den richtigen COM-Port für den ESP32-S3 aus. Klicken Sie im ESPHome-Dashboard auf Install und wählen Sie die .bin-Datei aus, um die Firmware zu flashen.
Sobald die Firmware erfolgreich hochgeladen wurde und Ihr ESP32-Energiemessgerät vom Home Assistant erkannt wird, können Sie die ursprüngliche YAML-Konfiguration bearbeiten. Öffnen Sie dazu das ESPHome-Dashboard in Home Assistant, suchen Sie Ihr Gerät und klicken Sie auf die Option Edit auf der Karte des Energiezählers. Ersetzen Sie die vorhandene Konfiguration durch den YAML-Inhalt aus dem GitHub-Repository [2]. Anschließend konfigurieren Sie in dieser neuen YAML-Konfiguration die API-, OTA- und WLAN-Anmeldedaten.
Installieren Sie die neue Konfiguration drahtlos auf Ihrem ESP32-Energiemeter. Sobald dies geschehen ist, wird das Gerät aktiv und verbindet sich. Um die Daten des Energiezählers auf Ihrem Home-Assistant-Dashboard anzuzeigen, weisen Sie das ESPHome-Gerät einfach einem bestimmten Bereich in Home Assistant zu. Dies hilft Ihnen, Ihr Dashboard zu organisieren, indem Sie die Geräte nach ihrem physischen oder logischen Standort in Ihrem Haus gruppieren. Ein Beispiel, wie eine solche Anzeige der Energiemessdaten auf dem Home-Assistant-Dashboard aussehen könnte, zeigt Bild 5.
![Home Assistant dashboard displaying real-time energy data from the ESP32 Energy Meter](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_378,h_748,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711204941_esp-meter-up3-fig5.png)
Die Integration des ESP32-Energiemessgeräts in den Home Assistant vereinfacht nicht nur die Überwachung des Energieverbrauchs, sondern schaltet auch eine Reihe von leistungsstarken Funktionen der Plattform frei. Home Assistant bietet eine intuitive Schnittstelle für die Visualisierung von Daten in Echtzeit, Steuerungsautomatisierung und nahtlose Integration mit anderen intelligenten Geräten in Ihrem Haus.
Diese Integration ermöglicht detaillierte Verlaufsgrafiken und Analysen innerhalb von Home Assistant, die einen detaillierten Einblick in das Muster des Stromverbrauchs im Laufe der Zeit geben, wie in Bild 6 dargestellt. Dadurch kann man fundierte Entscheidungen über den Energiebedarf treffen, potenzielle Einsparmöglichkeiten ermitteln und die Energieeffizienz des Hauses optimieren.
![Detailed history graphs of energy consumption in Home Assistant.](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_600,h_294,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711205113_esp-meter-up3-fig6.png)
Mit dieser Einrichtung können die Nutzer alle Vorteile dieser Funktionen nutzen und das ESP32-Energiemeter zu einem zentralen Baustein des Smart-Home-Ökosystems machen. Durch die Integration wird nicht nur die Funktionalität des Energiemessgeräts erweitert, sondern auch das gesamte Smart Home mit umfassenden Energieüberwachungs- und -management-Tools bereichert.
YAML-Konfiguration
Die YAML-Konfiguration richtet das ESP32-Energiemessgerät mit ESPHome ein und ermöglicht die Überwachung wichtiger elektrischer Parameter wie Spannung, Strom und Leistung aller drei Phasen. Sie nutzt die Fähigkeiten des ATM90E32-Sensors, mit detaillierten Definitionen für die SPI-Kommunikation und individuelle Sensoren für jede Phase. Diese Konfiguration misst nicht nur, sondern berechnet auch den Gesamtverbrauch, wobei ein Energiezähler für die Tagesaufnahme in Kilowattstunden und ein OLED-Display zur Visualisierung der Daten in Echtzeit vorhanden sind. Diese Konfigurationen werden gemäß den Anweisungen auf der ESPHome-Seite für den ATM90E32-Sensor vorgenommen.
Damit die vom ESP32-Energiemessgerät gemeldeten Daten ausreichend genau sind, ist eine Kalibrierung unabdingbar. Wie man die Verstärkungseinstellungen für Stromwandler und Spannungseingänge vornimmt, wird im nächsten Abschnitt beschrieben.
Testaufbau und Kalibrierung
Für den Testaufbau wurde ein Haartrockner mit mehreren Heizstufen und Geschwindigkeiten als Last verwendet, der einen Bereich von 0,7...8 A abdeckt. Das Netzkabel einer Verlängerungssteckdose wurde abisoliert, um den klappbaren Stromwandler am stromführenden oder am neutralen Leiter anzubringen, was eine direkte Überwachung unter verschiedenen Bedingungen ermöglichte, wie in Bild 7 dargestellt.
![Setup for testing and calibrating the ESP32 Energy Meter using a variable load.](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_556,h_406,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711205511_esp-meter-up3-fig7.png)
Ich habe für die Strom- und Spannungskalibrierung des ESP32-Energiemessgeräts mein Digitalmultimeter UT201+ zu Hilfe genommen. Es bietet eine Auflösung von 0,001 A bei einem Fehler von ±4% +10 Digits für den Strom und eine Auflösung von 0,001 V bei einem Fehler von ±1% +5 Digits für die Spannung. Diese Präzision ist für die meisten Projekte ausreichend, aber etwas weniger genau als die meisten professionellen Messgeräte.
![Clamp meter setup for calibration.](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_472,h_749,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711205321_esp-meter-up3-fig8.png)
Während der Kalibrierung wurde ein Offset der Strommesswerte beobachtet: Der Messwert der Stromzange betrug 1,692 A (siehe Bild 8), während die vom Energiemessgerät berechneten Messwerte nach der Kalibrierung 1,70...1,73 A anzeigten (siehe Bild 9). In Anbetracht der Spezifikationen des UT201+ und des SCT-013-000, eines Stromwandlers mit geteiltem Kern der Klasse 1 mit einem Fehler von 1% des tatsächlichen Wertes liegt diese kleine Diskrepanz innerhalb der erwarteten Fehlerspanne. Um eine noch höhere Genauigkeit zu erreichen, müsste ein präziseres Zangenmessgerät verwendet werden.
![Final calibration results](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_450,h_959,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711205728_esp-meter-up3-fig9.png)
Um eine optimale Messgenauigkeit des ESP32-Energiemeters zu erreichen, wurden die Verstärkungseinstellungen für die Spannungs- und Strommessungen angepasst. Für die Spannung wurde der Sensor mit der folgenden Formel kalibriert:
Neue gain_voltage = (Ihr Spannungsmesswert / ESPHome-Spannungsmesswert) × vorhandener Wert für gain_voltage
Ähnlich verhält es sich mit der Stromeinstellung:
Neue gain_ct = (Ihr aktueller Messwert / ESPHome-Strommesswert) × vorhandener gain_ct-Wert
Diese neuen Verstärkungswerte wurden dann in der YAML-Konfigurationsdatei von ESPHome eingetragen, anschließend neu kompiliert und die Firmware hochgeladen. Dieser Vorgang kann bei Bedarf wiederholt werden, um die Präzision jederzeit „nachzuschärfen“. Dies ist für eine genaue Berichterstattung und Analyse in jeder Einrichtung zur Energieüberwachung entscheidend.
WARNUNG: Die Arbeit am und im Zählerkasten birgt Risiken, einschließlich der Gefahr eines elektrischen Schlags oder eines Brandes. Schalten Sie unbedingt den Strom ab, bevor Sie mit der Installation beginnen. In den meisten Ländern darf diese Arbeit ohnehin nur von einem qualifizierten Elektriker durchgeführt werden
Das ESP32-Messgerät im Zählerkasten
Die Installation des ESP32-Energiemessgeräts in meinem Zählerkasten erwies sich zwar als eine überschaubare Aufgabe, die jedoch eine sorgfältige Beachtung der Details erforderte, um sowohl Sicherheit als auch Funktionalität zu gewährleisten. Ich begann mit der Auswahl des am niedrigsten abgesicherten Stromkreises, da mir dies einen Sicherheitspuffer bot. Der Schutzschalter würde bei unerwarteten Überspannungen oder Transformatorausfällen auslösen und so das System schützen.
Die Verwendung von klappbaren Stromwandlern war besonders vorteilhaft, weil sie schnell an jede beliebige Last geklemmt werden, aber es war entscheidend, auf die Richtung des Stromflusses zu achten, um genaue Messwerte zu gewährleisten. Wenn die Stromrichtung und der Stromwandler nämlich nicht korrekt ausgerichtet sind, erscheinen die Leistungsmesswerte negativ.
Bild 10 zeigt das in einen Zählerkasten eingebaute ESP32-Energiemessgerät in Aktion mit Anzeige von Strom- und Spannungsmessungen in Echtzeit sowie die entsprechende Last in Kilowatt.
![Meter installed in a circuit breaker panel, monitoring real-time power consumption.](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_675,h_339,c_fit/https%3A%2F%2Fwww.elektormagazine.de%2Fassets%2Fupload%2Fimages%2F42%2F20240711205920_ESP-meter-up3-fig10.png)
Entwicklung und Aussichten
Während die derzeitige Software auf ESPHome läuft, werden die Möglichkeiten des ESP32-Energiemeters weiter ausgebaut. Die neue Firmware freut sich darauf, in das Projekt integriert zu werden, die speziell dafür entwickelt wurde, das volle Potenzial des ESP32-S3-Chips zu nutzen. Es wird erwartet, dass diese zukünftige Firmware fortschrittliche Funktionen wie detaillierte Energieanalysen und möglicherweise bahnbrechende KI/ML-Funktionen enthält, die Energieverbrauchsmuster vorhersagen und sogar ein Gerät anhand seines Lastprofils identifizieren könnten.
Obwohl die grundlegenden Design- und Betriebsaspekte des Projekts bereits abgeschlossen sind, ist die Entwicklung dieser anspruchsvollen Funktionen ein komplexes und zeitaufwändiges Unterfangen. Ich bin begeistert von den Möglichkeiten und möchte die Grenzen dessen, was dieses Energiemessgeräts erreichen kann, weiter ausreizen.
Das ESP32-Energiemessgerät-Projekt wird kontinuierlich weiterentwickelt und mit jedem Update werden weitere Funktionen hinzugefügt. Maker der Elektor-Community, die sich für die kommenden KI- und ML-Funktionen interessieren oder die zur Entwicklung beitragen möchten, sind herzlich eingeladen, sich zu beteiligen. Die Zusammenarbeit wird dazu beitragen, eine noch robustere und funktionsreichere Energieüberwachungslösung zu entwickeln.
Dieser Artikel erschien ursprünglich in Elektor Juli/August 2024 (240244). Schauen Sie sich die ESP32-basierte Energiezählerserie an.
Diskussion (0 Kommentare)