Compteur d'énergie ESP32 Elektor
Une exploration détaillée du projet de compteur d'énergie basé sur ESP32, couvrant sa conception, ses mises à jour, son intégration logicielle et ses fonctionnalités avancées.
Introduction au Projet
Cet article décrit la conception d'un compteur d'énergie basé sur un ESP32 d'Espressif, en mettant l'accent sur la surveillance de la consommation d'énergie en temps réel et la sécurité. Il détaille les étapes initiales, les exigences et les considérations pour la réalisation d'un projet embarqué.
Le projet vise à concevoir un compteur d'énergie fiable et précis en utilisant le microcontrôleur ESP32 et le circuit intégré de mesure d'énergie ATM90E32AS. L'objectif est de permettre aux utilisateurs de suivre leur consommation d'énergie en temps réel pour une utilisation plus efficace.
Figure 1 : Rendu du compteur d'énergie Elektor.
Conception et Exigences
Les objectifs de conception incluent la surveillance en temps réel de la puissance monophasée, l'abordabilité et la facilité d'utilisation. Le choix de l'ESP32 et de l'ATM90E32AS a été guidé par ces exigences, offrant un bon rapport coût-efficacité et des performances fiables. Les dimensions prévues sont inférieures à 100x80x30 mm pour s'intégrer dans un boîtier de disjoncteur. Une interface mobile et un écran OLED sont prévus pour la convivialité, ainsi que la possibilité de mises à jour logicielles futures.
Figure 2 : Principales caractéristiques et avantages de l'ESP32.
Intégration des CI de Compteur et Schéma du Circuit
Le circuit ATM90E32AS (IC1) est au cœur du projet, connectant la tension secteur via des résistances aux broches d'entrée de tension. Pour la mesure du courant, des transformateurs à bobine (CT) comme le YHDC SCT013 sont utilisés. Le compteur est alimenté par des modules Hi-Link HLK-5M05 pour assurer l'isolation galvanique. Des régulateurs AMS1117-3.3 fournissent une alimentation stable de 3,3 V. Des fusibles et des varistances sont intégrés pour la protection.
Figure 3 : Le compteur d'énergie est basé sur une note d'application d'Atmel [2]. Ici, vous pouvez voir le circuit autour du CI de compteur.
Figure 4 : Schéma de principe du projet de compteur d'énergie.
Phase de Conception et Normes de Sécurité Électrique
Une attention méticuleuse est accordée à la conformité avec les normes de sécurité électrique. Des varistances à oxyde métallique (MOV) sont utilisées pour supprimer les tensions transitoires, et des fusibles assurent la protection contre les surintensités. La disposition des composants respecte les normes de sécurité, incluant des lignes de fuite et des distances d'isolement adéquates. La largeur des lignes de courant alternatif est calculée pour tenir compte des valeurs nominales de courant, conformément aux normes IPC-2221.
Choix du Fabricant : JLC PCB
JLC PCB a été choisi pour l'assemblage des circuits imprimés en raison de son équilibre entre rentabilité et fiabilité.
Réflexion sur le Voyage et Regard vers l'Avenir
Le projet a progressé grâce à une planification minutieuse et une bonne conception technique. Les prochaines étapes incluent le développement du micrologiciel, des tests exhaustifs et l'intégration potentielle à Home Assistant pour une gestion de l'énergie plus simple. L'objectif est de fournir une solution de mesure d'énergie fiable et efficace.
Mises à Jour du Projet
Des mises à jour ont apporté des améliorations significatives, notamment le remplacement de l'ESP32 par l'ESP32-S3 pour des capacités accrues, l'optimisation de la taille du circuit imprimé, et l'utilisation d'un transformateur abaisseur pour l'alimentation, améliorant la sécurité.
Figure 1 (Mise à jour #2) : Rendu du nouveau boîtier du compteur d'énergie ESP32.
Figure 2 (Mise à jour #2) : Schéma du projet mis à jour.
Isolation du Circuit
L'isolation galvanique est cruciale pour la sécurité. Le signal SPI entre le circuit de mesure d'énergie et l'ESP32 est transmis via l'isolateur ADuM3151 d'Analog Devices, qui utilise des coupleurs inductifs pour une communication sécurisée.
Figure 5 : Schéma fonctionnel du SPIsolateur ADuM3151.
Interface Utilisateur et Configuration
Une interface utilisateur informative est fournie via un écran OLED et un serveur web hébergé sur l'ESP32. L'intégration avec Home Assistant permet une visualisation en temps réel des données énergétiques, la création de graphiques et l'automatisation des tâches.
La configuration YAML est essentielle pour définir les capteurs MQTT dans Home Assistant. Le micrologiciel ESPHome permet la communication avec le compteur d'énergie et l'envoi des données à un courtier MQTT.
Figure 5 (Mise à jour #3) : Tableau de bord du Home Assistant affichant les données énergétiques en temps réel du compteur d'énergie ESP32.
Figure 6 (Mise à jour #3) : Graphe détaillé de l'historique de la consommation d'énergie dans Home Assistant.
Figure 7 (Mise à jour #3) : Configuration pour tester et calibrer le compteur d'énergie ESP32.
Figure 8 (Mise à jour #3) : Pince ampèremétrique pour le calibrage.
Figure 9 (Mise à jour #3) : Résultats du calibrage final.
Figure 10 (Mise à jour #3) : Compteur d'énergie ESP32 installé dans un tableau de disjoncteurs.
Surveiller l'Énergie avec MQTT
La dernière mise à jour se concentre sur le déploiement d'un micrologiciel permettant la surveillance de l'énergie en temps réel via MQTT. MQTT est un protocole de messagerie léger idéal pour les environnements IdO, utilisant un courtier pour l'échange de messages entre appareils (éditeurs et abonnés).
Un micrologiciel personnalisé permet un contrôle total sur la collecte et la transmission des données, offrant une flexibilité pour l'intégration avec diverses plateformes et des mesures de sécurité renforcées.
Listage 1 : Extrait du micrologiciel pour la communication MQTT et la récupération des données énergétiques.
Figure 1 (Mise à jour #4) : Image du compteur d'énergie ESP32 avec écran OLED.
Figure 1 (Mise à jour #4) : Options de configuration du courtier MQTT dans Home Assistant.
Figure 2 (Mise à jour #4) : Configuration de l'intégration MQTT dans Home Assistant.
Figure 3 (Mise à jour #4) : Test de la connexion MQTT.
Figure 4 (Mise à jour #4) : Tableau de bord personnalisé dans Home Assistant.
Figure 5 (Mise à jour #4) : Graphiques de consommation d'énergie dans Home Assistant.
Figure 6 (Mise à jour #4) : Actions automatisées dans Home Assistant basées sur les données énergétiques.
Installation et Configuration
L'installation du compteur dans le tableau électrique nécessite une attention particulière à la sécurité. L'utilisation de transformateurs de courant ouvrants est simple, mais le sens du courant doit être correctement aligné. La configuration logicielle actuelle est fonctionnelle sur ESPHome, avec des développements en cours pour des fonctionnalités IA/ML.
Pour intégrer le compteur d'énergie ESP32 dans Home Assistant, il faut installer le courtier MQTT (Mosquitto) et configurer l'intégration MQTT dans Home Assistant. Les données MQTT sont ensuite définies comme capteurs dans Home Assistant pour la visualisation et l'automatisation.
Calibrage
Le calibrage est crucial pour la précision des mesures. Des ajustements de gain pour la tension et le courant sont effectués en comparant les lectures du compteur avec celles d'un multimètre et d'une pince ampèremétrique. Les nouvelles valeurs de gain sont ensuite mises à jour dans le fichier de configuration YAML de l'ESPHome.
À propos de l'auteur
Saad Imtiaz (ingénieur senior, Elektor) est un ingénieur mécatronicien expérimenté, spécialisé dans les systèmes embarqués, la mécatronique et le développement de produits. Il a une solide expérience dans l'industrie aéronautique et a dirigé une startup technologique.
Produits et Liens
Produits :
- Carte de développement LILYGO T-Display-S3 ESP32-S3 : www.elektor.fr/20299
- Carte de développement ESP-C3-12F-Kit : www.elektor.fr/19855
- Joy-IT NodeMCU ESP32 : www.elektor.fr/19973
- Home Assistant Green : www.elektor.fr/20725
- Raspberry Pi 5 (2 GB RAM) : www.elektor.fr/20951
- PeakTech 4350 Pince ampèremétrique : www.elektor.fr/18161
- Siglent SDM3045X Multimètre : www.elektor.fr/17892
Liens :
- [1] Saad Imtiaz, "mise à jour du projet #3 : compteur d'énergie basé sur ESP32" Elektor 7-8/2024 : https://elektormagazine.fr/240244-04
- [2] Dépôt Github du compteur d'énergie ESP32 : https://github.com/ElektorLabs/esp32-energymeter
- [3] Home Assistant : https://home-assistant.io/
- [4] ESPHome : http://esphome.io
- [5] Clemens Valens, "la domotique, c'est facile avec ESPHome, Home Assistant et MySensors", Elektor Magazine 9-10/2020 : https://www.elektormagazine.fr/magazine/elektor-156/58991
- [6] ATM90E32 Power Sensor : https://esphome.io/components/sensor/atm90e32.html
- [7] MQTT Integration, Home Assistant : https://www.home-assistant.io/integrations/mqtt/
- [8] MQTT Sensor, Home Assistant : https://www.home-assistant.io/integrations/sensor.mqtt/
- [1] Normes IPC-2221A : https://www-eng.lbl.gov/~shuman/NEXT/CURRENT_DESIGN/TP/MATERIALS/IPC-2221A(L).pdf
- [2] Note d'application ATM90E32AS : https://ww1.microchip.com/downloads/en/Appnotes/Atmel-46103-SE-M90E32AS-ApplicationNote.pdf