compteur d'énergie basé sur l'ESP32, mise à jour #2 : quelques améliorations
sur
En 2023, nous nous sommes fixés pour objectif de développer un compteur d’énergie fiable et convivial basé sur le microcontrôleur ESP32. Dans notre précédent article, " Mise à jour du projet : compteur d’énergie basé sur l’ESP32 ", nous avons présenté le schéma fonctionnel, les schémas du circuit, les méthodes d’isolation du circuit, les caractéristiques et la stratégie de notre projet. Faisons un bref récapitulatif avant de procéder à la prochaine mise à jour.
L’idée principale était de développer un compteur d’énergie précis et efficace en exploitant les capacités du microcontrôleur ESP32 d’Espressif et du circuit intégré ATM90E32AS pour la mesure de l’énergie. Le projet visait à améliorer l’expérience utilisateur et à accroitre la fiabilité grâce à un schéma minutieux et à l’isolation du circuit par l’ADuM3151 facilitant ainsi la communication sécurisée entre l’ESP32 et l’ATM90E32AS d’Atmel (aujourd’hui Microchip). Avec un focus sur la sécurité et l’efficacité, le projet intègre des techniques de réduction du bruit, des améliorations de l’intégrité des signaux et des composants de protection tels que des fusibles et des MOV. Envisageant l’avenir, le plan prévoyait l’intégration des fonctionnalités de surveillance à distance et d’analyse de données pour améliorer la gestion de l’énergie et l’efficacité énergétique.
![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.fr%2Fassets%2Fupload%2Fimages%2F17%2F240093-006-94-v1-energy-meterv2-029png.png)
Dans cet article, nous poursuivons les objectifs initiaux tout en apportant de nombreux changements pour renforcer la sécurité d’utilisation, réduire son coût de production, et diminuer la taille. Comme nous l’avions mentionné dans notre précédent volet, les dimensions du prototype de circuit imprimé étaient de 100×100 mm. Suite à des tests, nous avons éliminé certains composants et optimisé la disposition du circuit imprimé, ce qui a permis de réduire les dimensions à 79,5×79,5 mm - soit environ 20 % de moins que la dernière version. La figure 1 montre le nouveau boîtier adapté à cette nouvelle version du circuit imprimé. Par ailleurs, pour améliorer la sécurité d’utilisation du compteur d’énergie ESP32, nous avons remplacé l’alimentation directe du secteur par un transformateur abaisseur 220 V à 12 V utilisé pour l’échantillonnage de la tension et aussi pour l’alimentation du circuit. L’ajout d’un transformateur présente quelques inconvénients, notamment des retards de phase, mais la sécurité reste notre priorité ! Étant donné que notre objectif n’est pas de mesurer des pics de tension, ou des surtensions rapides, mais plutôt de mesurer de l’énergie, ces modifications ne devraient pas affecter nos mesures.
Schéma de circuit mis à jour
Nous avons apporté quelques améliorations, notamment le remplacement de l’ESP32 par l’ESP32-S3. Cela augmente considérablement les capacités de notre compteur d’énergie. L’ESP32-S3 présente de nombreux avantages par rapport à l’ESP32 : il offre une plus grande puissance de traitement, des capacités d’intelligence artificielle et de traitement de signaux, une mémoire accrue et des fonctions de sécurité renforcées. Le schéma mis à jour tire parti de ces améliorations, augmentant ainsi les capacités et les fonctionnalités du compteur d’énergie. Pour intégrer l’ESP32-S3 dans notre projet, nous nous sommes appuyés sur les guides de référence de conception d’Espressif et d’autres ressources Internet utiles. La figure 2 présente le schéma du projet.
![Project schematic](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_720/https%3A%2F%2Fwww.elektormagazine.fr%2Fassets%2Fupload%2Fimages%2F42%2F20240711195805_esp-meter-up2-fig2.png)
Nous avons optimisé la disposition du circuit imprimé pour renforcer la sécurité, simplifier l’utilisation et tirer parti de l’efficacité de l’ESP32-S3. Nous avons apporté des modifications significatives : nous avons réduit la taille du circuit imprimé pour obtenir une empreinte plus compacte, nous sommes passés à une alimentation par transformateur pour une meilleure sécurité, et nous avons augmenté la polyvalence avec une compatibilité monophasée et triphasée. L’utilisation d’un convertisseur buck AP63203WU-7 plus efficace à la place des modules Hi-Link, ainsi que l’ajout des options de connectivité pratiques telles qu’un connecteur USB-C et un connecteur Qwiic, ont tous contribué à l’évolution du projet. Ces améliorations exploitent les capacités de l’ESP32-S3, en se concentrant sur la création d’une solution de surveillance de l’énergie à la fois pratique, adaptable et sécurisée.
Échantillonnage raffiné de la tension et du courant
IC1 reste le même ATM90E32AS, mais il y a une modification notable : il nécessite désormais un transformateur abaisseur de 220 VAC à 12 VAC entre lui et le réseau électrique. Ce changement a été apporté pour rendre le projet plus sécurisé à tester et à utiliser, grâce à l’isolation galvanique fournie par les transformateurs. Lors de mes essais, je n’ai observé aucune différence notable dans les performances.
Ainsi, pour chaque entrée d’échantillonnage de tension de IC1, il n’y a maintenant qu’une seule résistance de 100 kΩ (R27 à R29). La dernière fois, nous avons regroupé toutes les tensions de phase sur une seule entrée. Suite aux nombreux retours de nos lecteurs désirant pouvoir utiliser l’appareil avec une alimentation triphasée ou monophasée selon les besoins, nous avons pris en compte ces suggestions. Nous sommes désormais en mesure de l’utiliser avec les deux. Le système est configuré pour le triphasé, mais pour le rendre monophasé, il suffit de court-circuiter le cavalier JP8. La figure 3 montre le schéma général du câblage pour un système triphasé. Notez que les fils de phase sont connectés après l’abaissement à 12 VCA par un transformateur - l’utilisation d’un transformateur de sonnette de 12 VAC peut être utile dans ce cas.
![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.fr%2Fassets%2Fupload%2Fimages%2F42%2F20240711200128_esp-meter-up2-fig3.png)
Pour l’échantillonnage et la mesure du courant, au lieu d’utiliser la prise casque comme connecteur, nous utilisons un bornier à vis au pas de 5,08 mm, c’est-à-dire K1. Ce choix renforce la robustesse générale du compteur d’énergie. Concernant les capteurs de courant, nous avons opté pour le YHDC SCT013 100 A : 50 mA. Les résistances R1 à R12 associées aux trois entrées de détection de courant sont calibrées en conséquence.
Optimisation de l’alimentation
Le compteur d’énergie est désormais alimenté par le régulateur de commutation buck IC3, à savoir le AP63203WU-7 de Diodes Incorporated. Auparavant, nous avons utilisé des modules Hi-Link HLK5M05, qui s’avéraient plus encombrants et plus coûteux que ce convertisseur buck. En effet, les convertisseurs buck sont plus efficaces et moins chers et occupent moins de place. L’utilisation de IC3 nous permet également d’alimenter le circuit avec 12 VCC sur K4 pour les phases de développement et ainsi que de l’UA, c’est-à-dire la tension de la phase 1 du même connecteur, K4, pour le fonctionnement normal.
Caractéristiques interactives et modulaires
Pour les sorties d’impulsions d’énergie active, réactive, apparente, fondamentale active et harmonique CF1 à CF4, nous avons ajouté des LED. Afin de faciliter la sélection du mode d’alimentation d’IC1, nous avons ajouté les cavaliers PM1 et PM2. Dans cette version, toutes les broches de sortie d’IC1 ATM90E32AS destinées au microcontrôleur sont accessibles via les bornes JP5 et JP6. Cela nous permet d’utiliser le compteur d’énergie comme un module avec un autre microcontrôleur si l’ESP32-S3 embarqué n’est pas requis.
L’ESP32-S3 dispose d’une fonction USB intégrée, ce qui rend la programmation du microcontrôleur particulièrement pratique. C’est pourquoi nous avons ajouté le connecteur USB-C K2. Pour le débogage, nous avons ajouté la borne JP2. Nous avons également ajouté les LED d’état LED1 et LED2 contrôlables par l’ESP32-S3, ainsi que les boutons-poussoirs S1 et S2, connectables via JP3 et JP4, pour faciliter l’interaction avec l’écran OLED. Pourquoi deux points de connexion ? Certains écrans OLED I2C ont la masse comme première broche, tandis que d’autres ont une alimentation 3,3 V. Ainsi, il est possible d’utiliser les deux types de broches de l’écran OLED.
Enfin, nous avons également ajouté le connecteur Qwiic à K3 afin d’enrichir les fonctionnalités du compteur d’énergie, au cas où l’on souhaiterait ajouter des capteurs ou des modules supplémentaires à ce projet.
![PCB layout](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_549,h_788,c_fit/https%3A%2F%2Fwww.elektormagazine.fr%2Fassets%2Fupload%2Fimages%2F42%2F20240711200238_esp-meter-up2-fig4.png)
Disposition du circuit imprimé
La disposition du circuit imprimé a été méticuleusement optimisée pour la compacité et la facilité de soudure, comme le montre la figure 4. En haut, nous avons stratégiquement positionné les connexions d’échantillonnage de tension et de courant en un seul endroit pour faciliter l’intégration au format rail DIN. Sur le côté droit, les connexions pour tout microcontrôleur externe sont assurées par des connecteurs au pas de 2,54 mm, garantissant ainsi la facilité d’accès et la modularité. Au centre, la connexion pour l’écran OLED est entourée de boutons poussoirs pour une interaction intuitive. Adjacentes à l’écran OLED, les LED d’alimentation et d’état offrent un retour visuel immédiat, tandis que les LED de sortie d’impulsion d’énergie sont commodément situées près des bornes de sortie du microcontrôleur pour une surveillance directe.
À la base du circuit, le port USB-C et le module ESP32-S3 sont judicieusement positionnés loin des zones de tension alternative pour améliorer la sécurité. Un condensateur céramique, placé à proximité de l’entrée 3 V de l’ESP32-S3, est utilisé pour le découplage et sert à réduire considérablement tout bruit potentiel. De plus, nous avons intégré des condensateurs électrolytiques dans le circuit, afin de stabiliser davantage l’alimentation et de garantir la fiabilité et les performances du circuit. Cette disposition optimise le processus d’assemblage et améliore le fonctionnement et l’expérience utilisateur en offrant une disposition claire et logique des composants. La figure 5 illustre le rendu du circuit imprimé assemblé.
Ce projet implique l’utilisation de transformateurs directement alimentés par le secteur. Les personnes n’ayant pas d’expérience avec les tensions du secteur ne devraient pas entreprendre ce projet seules ou devraient solliciter l’assistance de quelqu’un d’expérimenté pour les accompagner dans la réalisation de ce projet
Prochaines étapes et perspectives
Après une phase de prototypage basée sur le schéma original, nous avons introduit plusieurs améliorations pour augmenter la fiabilité du compteur d’énergie ESP32. Actuellement, nous nous concentrons sur le développement de son micrologiciel.
La nouvelle version du circuit imprimé a été envoyée en production et nous prévoyons de réaliser des tests exhaustifs dès sa réception afin de garantir la fiabilité du système. Parallèlement, nous continuons à développer le logiciel, cherchant à exploiter au maximum les capacités du module ESP32-S3 avec notre compteur d’énergie.
À l’avenir, nous envisageons d’intégrer le compteur d’énergie ESP32 à Home Assistant, afin de simplifier l’interaction de l’utilisateur. Nous nous engageons également à développer un micrologiciel sur mesure pour tirer pleinement parti des capacités de l’appareil
En conclusion, le projet progresse grâce à des améliorations matérielles et logicielles. Notre but reste de fournir une solution de mesure de l’énergie à la fois fiable et efficace. Ce projet est également disponible sur la plateforme Elektor Labs, où vos commentaires et contributions sont vivement encouragés!
Cet article a été publié à l'origine dans Elektor de mai/juin 2024 (240093). Découvrez la série de compteurs d'énergie basés sur ESP32.
Discussion (0 commentaire(s))