ESP32-gebaseerde energiemeter, project-update #2: enkele verbeteringen
op
In 2023 begonnen we met de ontwikkeling van een betrouwbare, gebruiksvriendelijke energiemeter op basis van een ESP32-microcontroller. In het vorige artikel, “Project-update: ESP32-gebaseerde energiemeter” [1], hebben we het blokschema, de uitgewerkte schema’s, de isolatiestrategie, de functies en de projectopzet besproken. We beginnen voor alle zekerheid met een korte samenvatting voordat we de jongste updates behandelen.
De achterliggende gedachte was het ontwikkelen van een nauwkeurige en efficiënte energiemeter die gebruik maakt van de mogelijkheden van de Espressif ESP32-microcontroller en het ATM90E32AS-IC voor energiemeting. Het project was gericht op het verbeteren van de gebruikerservaring en de betrouwbaarheid door middel van een nauwgezet schema-ontwerp en isolatie met behulp van de ADuM3151 voor een veilige communicatie tussen de ESP32 en de ATM90E32AS van Atmel (nu Microchip). De nadruk lag op veiligheid en efficiëntie door de integratie van ruisonderdrukkingstechnieken, verbeteringen van de signaalintegriteit en beschermingsmechanismen zoals zekeringen en MOV’s. Met een focus op toekomstgerichte functies omvatte het plan ook de integratie van tools voor bewaking op afstand en gegevensanalyse voor een beter energiebeheer en meer inzicht in efficiëntie.
![New enclosure ESP32 Energy Meter](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_600,h_630,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F17%2F240093-006-94-v1-energy-meterv2-029png.png)
In dit artikel blijven onze hoofddoelen hetzelfde en zijn er veel wijzigingen aangebracht om het project veiliger in gebruik te maken, de productiekosten te verlagen en de afmetingen te verkleinen. Zoals al eerder opgemerkt, was de afmetingen van de prototype-print 100×100 mm. Na het testen zijn enkele componenten verwijderd en is de layout van de print geoptimaliseerd, waardoor de afmetingen voor deze versie zijn teruggebracht tot 79,5×79,5 mm – ongeveer 20% minder dan voorheen. In figuur 1 is de behuizing voor de nieuwe versie van de print te zien. Om de ESP32 Energy Meter veiliger in het gebruik te maken, wordt de print niet langer direct gevoed uit het lichtnet, maar gebruiken we nu een 220 V/12 V stepdown-transformator voor de spanningsbemonstering en de voeding van de schakeling. Het toevoegen van een transformator heeft wel wat nadelen in termen van fasevertraging, maar veiligheid voor alles! Aangezien we geen spanningspieken of snelle spanningsdips willen meten, maar energie, zou dit onze meting niet mogen schaden.
Het bijgewerkte schema
We hebben een aantal verbeteringen doorgevoerd en in plaats van de ESP32 is nu de ESP32-S3 aan boord. Dit geeft de energiemeter meer mogelijkheden. De ESP32-S3 biedt aanzienlijke verbeteringen ten opzichte van de ESP32, waaronder verbeterde verwerkingskracht, AI en signaalverwerkingsmogelijkheden, meer geheugen en betere beveiligingsfuncties. Het bijgewerkte schema verbetert de mogelijkheden van de energiemeter nog verder en biedt meer functionaliteit. De ontwerp-referentiegidsen van Espressif en andere nuttige internetbronnen werden gebruikt om de ESP32-S3 in het project te integreren. Figuur 2 toont het schema van het project.
![Project schematic](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_720/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711195805_esp-meter-up2-fig2.png)
De layout van de print is geoptimaliseerd om de veiligheid, bruikbaarheid en efficiëntie van de ESP32-S3 te verbeteren. We hebben aanzienlijke aanpassingen gedaan door de print te verkleinen voor een compactere footprint, over te stappen op transformatorgebaseerde voeding voor meer veiligheid en de veelzijdigheid te vergroten (compatibiliteit met één en drie fasen). Het gebruik van een efficiëntere AP63203WU-7 buck converter in plaats van Hi-Link modules, samen met de toevoeging van gebruiksvriendelijke zaken zoals een USB-C- en een Qwiic-connector voor uitbreidingsmogelijkheden, hebben allemaal bijgedragen aan de ontwikkeling van het project. Deze verbeteringen bouwen voort op de mogelijkheden van de ESP32-S3 en zijn gericht op het bieden van een praktische, aanpasbare en veiligere oplossing voor energiemonitoring.
Nauwkeuriger bemonstering van spanning en stroom
IC1 blijft dezelfde ATM90E32AS, maar de verandering is dat er nu een 220 VAC/12 VAC step-down transformator tussen komt. Dit is gedaan om het project veiliger te maken om te testen en te gebruiken, omdat de transformatoren zorgen voor galvanische scheiding. Tijdens mijn tests was er geen noemenswaardig verschil in prestaties.
Voor elk van de ingangen voor spanningsbemonstering van IC1 is er nu dus slechts één weerstand van 100 kΩ (R28...R30). De vorige keer combineerden we alle fasespanningen op één ingang, en er kwam veel feedback van de lezers die de mogelijkheid wilden hebben om de meter te gebruiken met driefasige of enkelfasige voeding, al naar de omstandigheden. We hebben erover nagedacht en nu kunnen we de meter in beide gevallen gebruiken. Standaard is de driefase-modus geconfigureerd, maar als je hem enkelfasig wilt maken, moet jumper JP8 worden kortgesloten. Figuur 3 toont de algemene bedrading voor een driefasensysteem. Merk op dat de fasedraden worden aangesloten nadat de spanning tot 12 VAC omlaag is getransformeerd – het gebruik van een 12 VAC deurbeltransformator kan in dit geval nuttig zijn.
![Overall wiring of a three-phase voltage system and coil transformers with the ESP32 Energy meter.](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_720/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711200128_esp-meter-up2-fig3.png)
Voor het bemonsteren en meten van de stroom wordt in plaats van een hoofdtelefoonconnector een printkroonsteen met een steek van 5,08 mm gebruikt, namelijk K1. Dit draagt bij aan de algehele robuustheid van de energiemeter. Voor de stroomsensoren is de YHDC SCT013 100 A : 50 mA geselecteerd; de weerstanden R1 tot R12 voor alle drie de stroommeetingangen zijn overeenkomstig gekalibreerd.
Voedingsoptimalisatie
De energiemeter wordt nu gevoed met de schakelende buck-regelaar IC3, de AP63203WU-7 van Diodes Incorporated. Voorheen werden Hi-Link HLK5M05-modules gebruikt, maar die zijn veel groter en duurder dan deze buck-converter. Dit is gedaan omdat buck-converters efficiënter zijn dan die Hi-Link modules, minder kosten en veel kleiner zijn. Door IC3 te gebruiken kunnen we de schakeling ook voeden met 12 VDC op K4 voor ontwikkelingsdoeleinden en ook met de UA, dat wil zeggen spanning fase 1 van dezelfde connector K4, voor normaal gebruik.
Interactieve en modulaire functies
Voor de pulsuitgangen (actieve, reactieve, schijnbare, actieve fundamentele en harmonische energie) CF1...CF4 zijn LED’s toegevoegd [7][8]. Voor de keuze van de voedingsmodus van IC1 zijn jumpers PM1 en PM2 toegevoegd. In deze versie zijn alle uitgangspennen van IC1 (ATM90E32AS) voor de MCU toegankelijk op connectoren JP5 en JP6. Hierdoor kan de energiemeter ook worden gebruikt als module met een andere MCU als de onboard ESP32-S3 niet nodig is.
De ESP32-S3 heeft USB aan boord, dus het is erg handig om de MCU op deze manier te programmeren. Daarom hebben we USB-C connector K2 toegevoegd. Voor foutzoeken is aansluiting JP2 toegevoegd. Status-LED’s LED1 en LED2, die kunnen worden aangestuurd door de ESP32-S3, en drukknoppen S1 en S2 zijn toegevoegd voor interactie met het OLED-display, dat kan worden aangesloten op JP3 en JP4. Waarom twee aansluitpunten? Sommige I2C-OLED-displays hebben massa als eerste pin en sommige hebben daar de 3V3-voeding. Op deze manier kan met beide OLED-pinouts worden gewerkt.
Tot slot is ook de Qwiic-connector K3 toegevoegd om de functionaliteit van de energiemeter te vergroten, voor het geval men extra sensoren of modules aan dit project wil toevoegen.
![PCB layout](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_549,h_788,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711200238_esp-meter-up2-fig4.png)
De print-layout
De print-layout is zorgvuldig geoptimaliseerd voor kleine afmetingen en gemakkelijk solderen, zie figuur 4. Bovenaan zijn de aansluitingen voor de spannings- en stroombemonstering strategisch bij elkaar geplaatst voor integratie in DIN-rail formaat. Aan de rechterkant zijn aansluitingen voor een externe microcontroller (MCU) voorzien in de vorm van met een raster van 2,5 mm, voor gemakkelijke toegang en modulariteit. Centraal bevindt zich de aansluiting voor het OLED-display, geflankeerd door drukknoppen voor intuïtieve interactie. Naast het OLED-display zorgen stroom- en status-LED’s voor directe visuele feedback, terwijl de LED’s voor de energiepuls-uitgang handig in de buurt van de uitgangsaansluitingen van de MCU zijn aangebracht voor directe controle.
Al in het begin van de ontwerpfase zijn de USB-C poort en de ESP32-S3 module uit de buurt van de AC-spanningvoerende delen geplaatst om de veiligheid te vergroten. Een keramische condensator naast de 3V-ingang van de ESP32-S3 zorgt voor ontkoppeling en vermindert eventuele ruis aanzienlijk. Bovendien zijn er elektrolytische condensatoren in het ontwerp opgenomen om de voeding verder te stabiliseren en de betrouwbaarheid en prestaties van de schakeling te garanderen. Deze layout stroomlijnt het assemblageproces en verbetert de functionaliteit en gebruikerservaring door een duidelijke en logische plaatsing van de componenten. In figuur 5 zie je de rendering van de geassembleerde print.
In dit ontwerp zijn transformatoren gebruikt die netspanning voeren. Mensen die geen ervaring hebben met netspanning moeten dit project niet proberen of iemand met ervaring vragen die hen hierbij kan helpen!
Volgende stappen en een vooruitblik
Na de prototype-fase met het originele schema hebben we verschillende verbeteringen doorgevoerd om de betrouwbaarheid van de ESP32-energiemeter te vergroten. Momenteel richten we ons ook op de verdere ontwikkeling van de firmware.
Het nieuwste print-ontwerp wordt momenteel geproduceerd en we verwachten na ontvangst uitgebreide tests uit te voeren die de betrouwbaarheid van het systeem moeten garanderen. Tegelijkertijd vordert de ontwikkeling van software om de mogelijkheden van de ESP32-S3-module in onze energiemeter te maximaliseren.
Vooruitblikkend zijn we van plan om de ESP32-energiemeter te integreren met Home Assistant, met als doel een vereenvoudigd gebruik door de gebruiker. Daarnaast ontwikkelen we ‘maatgesneden’ firmware om het potentieel van het apparaat volledig te benutten.
Samengevat gaat het project vooruit met zowel hardware- als softwareverbeteringen. Ons doel blijft om een betrouwbare en efficiënte oplossing voor energiemeting te bieden. Dit project staat ook op het Elektor Labs platform [9], dus voel je vrij om commentaar te geven en bij te dragen!
Dit artikel verscheen oorspronkelijk in Elektor mei/juni 2024 (240093). Bekijk de ESP32-gebaseerde energiemeterserie.
Discussie (0 opmerking(en))