Un wattmètre portable pour Jeedom avec Espeasy and PZEM-004T.

Classé dans : Capteur, Jeedom | 5

Suite à l’intégration d’un compteur électrique triphasé intelligent (Sagemcom T211) dans Jeedom, j’ai été effrayé de constater une consommation électrique de fond de 300wh-400wh durant la nuit.

Jeedom-PZEM-004T-Consommation-fond

Or j’avais l’impression que tout ce qui pouvait être éteint l’était. Où passait donc ces Wh, ce qui représente une consommation de fond de 3000 kWh par an, soit un montant d’environ 650 euros ?

J’ai donc décidé de construire un wattmètre portable connecté avec Jeedom afin d’investiguer point par point.

Le choix de la solution technique

Bien entendu, j’aurais pu simplement acheter une prise de courant connectée avec suivi de consommation. Il en existe beaucoup et je suis d’ailleurs très content la marque Meross qui s’intègre bien dans Jeedom.

Mais, je désirais deux choses importantes que ne peuvent fournir les prises connectées :

  • Un capteur qui observe mais ne commande pas. Imaginez la catastrophe si un “Ok Google, éteint X” était mal compris et que Google coupait, par mégarde, l’alimentation d’un frigo ou d’un congélateur
  • Un capteur capable de mesurer finement les donnée et de les remonter à haute fréquence dans Jeedom (plusieurs fois par minutes). Le but n’est pas d’avoir uniquement une consommation moyenne sur plusieurs heures mais vraiment de suivre, minute par minute, comment la consommation se comporte.

Je désirais aussi quelque chose de facilement transportable et qui se branche sur une prise de courant (n’ayant pas envie de brancher quelque chose au niveau du compteur ou d’avoir à démonter des fils électriques).

Ayant été content des technologies ESP88266 et du firmware ESP Easy, c’est tout naturellement vers ces dernières que je me suis tourné. Elles constituent donc la base de mon wattmètre portable. Si vous ne connaissez ni les ESP8266 ni ESP Easy, je vous conseille de lire tout d’abord cet article.

Les pinces ampèremétriques PZEM-004T

Du point de vue matériel de mesure, j’ai opté pour des pinces ampèremétriques afin de capter les informations électriques.

Une pince ampèremétrique est un type d’ampèremètre qui permet de mesurer l’intensité du courant électrique circulant dans un fil conducteur sans avoir à ouvrir le circuit pour y placer un ampèremètre classique. Le fonctionnement de la pince ampèremétrique repose sur la mesure du champ magnétique que génère une circulation de courant afin d’en déduire, ensuite, l’intensité de ce courant.

Les PZEM-004T sont des capteurs qui associent une pince ampèremétrique et une carte électronique pour gérer la captation et la distribution des mesures.

 

Le capteur PZEM-004T va être combiné avec le micro-processeur ESP8266 afin de récupérer les données.

Les PZEM-004T existent en plusieurs versions. On trouve par exemple des versions recouvertes d’un plastique bleu protecteur. Comme ce capteur est relié à du 230V, il est prudent de prendre cette variante. On a aussi des versions supportant jusqu’à 100A et d’autres uniquement jusqu’à 10A. Ces dernières seront plus précises dans leur mesure mais l’usage est limité à de petits appareils. ll y a enfin deux types de pinces possibles : les pinces rectangulaires qui s’ouvrent et évitent de devoir démonter les fils électriques. Et les pinces rondes qui elles ne s’ouvrent pas et nécessitent donc de débrancher les fils de phase ou de neutre pour y glisser ce dernier au travers de la pince.

Capteur PZEM-004T

J’ai déjà acheté les deux types et je recommande fortement la pince ronde. Sa mesure du flux magnétique me semble beaucoup plus précise et, comme on le verra plus loin, on doit de toute façon démonter les fils lors de la construction du wattmètre.

Quelques informations techniques

Les PZEM-004T possèdent un côté haute tension, à gauche, sur lequel on vient brancher le 230V (sur le schéma, les deux fils en bas à gauche). Les deux fils de la pince ampèremétrique (sur le schéma, les deux fils en haut à gauche) se branchent juste au-dessus.

Du côté droit, on retrouve la basse tension (5V) avec la partie TTL (Transistor Transistor Logic). C’est cette dernière qui permet la communication et qu’on branche donc sur l’ESP8266.

PZEM-004T-Schéma-branchement

Il y a un point important à retenir : le branchement du 230V n’alimente pas la PZEM-004T. Ce branchement sert à mesurer la tension entre les deux fils (pour calculer, avec le courant, la consommation).

L’alimentation de la PZEM-004T se fait via la basse tension TTL et plus précisément via les deux câbles GND (câble du dessus) et 5V (câble du bas). Ces deux câbles ne peuvent donc pas être utilisé pour alimenter l’ESP8266 et, à l’inverse donc, il faut y fournir du 5V. Les deux derniers câbles de la partie TTL, à savoir les TX et RX, servent d’interface de communication pour le transfert des données à l’ESP8266.

Le matériel pour la réalisation du wattmètre portable.

Pour réaliser le wattmètre portable, les équipements suivants sont nécessaires:

  • un capteur PZEM-004T avec une pince ampèremétrique
  • un microcontrôleur ESP8266
  • un transformateur 5V (2A suffisent)
  • trois connecteurs Wago (attention de bien prendre des Wago à 4 entrées
  • Quelques petits câbles de branchement de type Elegoo
  • une cordelière électrique
  • une boite isolante en plastique, suffisamment grande pour accueillir tout ce matériel. J’ai récupéré une vieille boite à tartine en plastique pour ce faire.

L’installation du firmware ESP Easy

L’installation du firmware ESP Easy avait été déjà expliquée dans l’article à propos de la mesure de niveau d’une cuve à mazout. Il faut donc suivre les quatre premières étapes qui y sont décrites et l’on continue, ici, à l’étape 5.

Il y a toutefois une différence dont il faut tenir compte. La dernière version de Mega ne contient pas de firmware pour le PZEM-004T. Il faut donc se tourner vers un autre firmware ESP Easy, celui de Djelau par exemplehttps://www.letscontrolit.com/forum/download/file.php?id=4305 qui se télécharge ici : https://www.letscontrolit.com/forum/viewtopic.php?p=36179#p36179. 

Etape 5: les premiers branchements

Le schéma est le suivant :

Wattmetre-portable-PZEM-004-Jeedom

Pour la simplicité de la lecture, il manque le fil de terre. Il faut bien entendu l’ajouter en reliant avec un Wago les deux terres de la cordelière et le fil de terre vers le transformateur.

On coupe donc une cordelière électrique en deux et on passe un des fils dans la pince ampèremétriques. Attention à ne pas passer les deux fils car, en ce cas, les flux magnétiques s’annulent et on mesure alors 0 A en permanence. On relie ensuite ces fils via un Wago. De ces même Wago, on alimente (en 230V donc):

  • le transformateur 5V (côté L, N et terre)
  • la PZEM-004T

Pour la haute tension, c’est tout.

IMG_7138

Côté basse tension, on commence par alimenter en 5V à la fois la PZEM-004T et l’ESP8266.

Pour la PZEM-004T, cela se fait via la PIN supérieur sur laquelle on met la masse (ou GND) en liaison avec la borne V- du transformateur 5V. Le fil inférieur de la PZEM-004T est lui relié à la borne V+ du transformateur.

IMG_7137

Pour l’alimentation en 5V de l’ESP8266, on relie :

  • la PIN VIN de l’ESP8266 (en bas à gauche sur le schéma) avec la borne V+ du transformateur
  • la PIN GND de l’ESP8266 (en bas à gauche sur le schéma) avec la borne V- du transformateur

Cablage Amica V2

Etape 6 : on finalise les autres branchements avec la liaison entre le PZEM-004T et l’ESP8266

Pour la liaison entre la PZEM-004T et l’ESP8266, il y a deux câbles à connecter : TX et RX

PZEM-004T-cablage

On connecte donc :

  • la PIN TX de la PZEM-004T avec la PIN D7 (appelé aussi GPIO-13) de l’ESP8266
  • la PIN RX de la PZEM-004T avec la PIN D6 (appelé aussi GPIO-12) de l’ESP8266

C’est joli sur un schéma. En vrai, c’est plus vite brouillon (mais cela fonctionne) :

IMG_7129

Une remarque sur les tensions

Tout d’abord, un grand “disclaimer” : on manipule ici du 230V et il y a donc danger de mort. Il faut faire très attention à ce que l’on fait et procéder dans les règles de l’art, avec les mesures de sécurité adéquates.

Théoriquement, il ne faut pas brancher 5V sur les PIN de l’ESP8266 mais il faut réduire la tension à 3,3V. Des réducteurs de tension existent sur Amazon. Une autre option est de réaliser un pont diviseur avec des résistances (les explications se trouvent facilement sur internet).

Ayant lu que les ESP8266 résistaient souvent à 5V, j’ai pris le risque de m’en passer. C’est même devenu une (dangereuse) habitude. Je n’ai pas eu de soucis jusqu’à présent et il y a des capteurs qui tournent depuis des mois. Mais, bien entendu, chacun prendra son risque ou non et chacun en assumera les conséquences.

Etape 7: Configurer l’ ESP8266

1. Désactiver le port série. Dans le navigateur internet à l’URL de l’ESP8266, cliquer sur “Tools” et puis “Advanced”. Décocher “Enable Serial port”.

ESPEasy - PZEM004T - disable Serial Port

2. Configurer la PZEM-004T. Cliquer sur “Devices” et appuyer sur “Add”. Toute une série de capteurs prédéfinis existe (c’est l’avantage du firmware ESP Easy). Il faut choisir le capteur “PZEM-004Tv30-Multiple” et cliquer sur le bouton “Submit”. Si vous ne trouvez pas “PZEM-004Tv30-Multiple”, c’est que vous n’avez pas chargé le bon firmware dans l’ESP8266 (je vous renvoie alors ci-dessus pour vous trouver le bon firmware)

ESPEasy - PZEM004T - Add Device

3. Sur l’écran de configuration du capteur, introduire les paramètres suivants :

  • Choisir un nom
  • Cocher “Enabled”
  • GPIO <- TX : choisir la pin GPIO-13 (D7) puisque c’est celle là qu’on a branché. Note: si cette PIN est grisée, c’est probablement parce que vous avez oublié l’étape 1 ci-dessus
  • GPIO -> RX : choisir la pin GPIO-12 (D6).
  • Serial Port : laisser SoftwareSerial
  • Adresse of PZEM : laisser 0 puisqu’on a qu’une seule PZEM-004T
  • Pour intervalle, le développeur du firmware conseille 3 secondes. En cas de soucis (comme des “NaN” qui apparaissent de temps en temps au lieu des mesures), il faut alors augmenter cette durée. J’ai choisi 5 secondes.
  • A noter: Il y a quatre valeurs possibles par défaut : Voltage, Current, Power et Energy. Mais, en fait, il y en a six (dont le cos-phi). On peut choisir au maximum 4 valeurs parmi les 6 possibles au travers des listes déroulantes (celle de Value 1,…. Value 4). Si vous souhaitez remonter les 6 valeurs, c’est possible mais alors au travers de deux “Device”.
  • Cliquer sur le bouton “Submit” en bas de l’écran pour sauver le tout.

Screen Shot 2021-02-16 at 17.22.24

Etape 7: C’est fini

Voilà, c’est terminé. On voit logiquement les informations s’afficher, en vert à droite sur l’écran : 229,3V et 2,1 W.

ESPEasy - PZEM004T - Mesures

La remontée des mesures dans Jeedom

C’est le plugin Jeedom ESP Easy qui va gérer la remontée des mesures des capteurs dans Jeedom. Ce plugin se trouve sur le market officiel de Jeedom.

Plugin Jeedom EspEasy

Après l’avoir installé, il faut l’activer et installer les dépendances. En bas de l’écran, dans la partie “configuration”, on voit les paramètres qu’il faut reporter dans le module ESP8266.

Plugin EspEasy Configuration dans Jeedom

On se reconnecte donc, via un navigateur internet, au module ESP8266 pour le configurer (comme on l’a fait précédemment). On clique cette fois sur “Controllers” et puis sur “Add”.

EspEasy Controleurs 1

Les valeurs à introduire sont :

  • Generic HTTP
  • Controlleur IP : l’adresse IP de Jeedom (qui est aussi celle que l’on peut lire dans “IP Controleur à saisir dans ESPeasy (onglet config)” sur la page de configuration du plugin Jeedom ESPEasy)
  • Controlleur Port : 8121 (qui est aussi le numéro que l’on peut lire dans “Port Controleur à saisir dans ESPeasy (onglet config)” sur la page de configuration du plugin Jeedom ESPEasy)
  • Controlleur Publish (plus bas dans l’écran): device=%sysname%&taskid=%id%&cmd=%valname%&value=%value% (qui est aussi ce qu’on voit sur la page du plugin)
  • Cocher la case “Enabled”

EspEasy Controleurs Config 21

EspEasy Controleurs Config 3

Si vous vous arrêtez ici, vous ne verrez rien dans Jeedom. Il faut encore remplir une dernière étape au niveau du capteur. Il faut cliquer sur “Devices”, cocher la case “Send to Controlleur” (si ce n’est pas déjà fait) et cliquer sur le bouton “Submit” pour sauver les changements.

Vous pouvez maintenant retourner dans Jeedom : Plugins / Protocole Domotique / ESPeasy

Jeedom Inclusion dans le plugin ESP Easy

Cliquer sur le bouton “+ Inclusion”. Un équipement, correspondant au capteur, devrait apparaitre.

Il faut configurer cet équipement en cliquant dessus, en lui donnant un nom, en cochant “Activer” et “Visible” et en lui attribuant une pièce (via Objet parent). On peut aussi choisir “Energie” comme “Catégorie de l’espeasy” ou laisser le “Aucun” par défaut.

Screen Shot 2021-02-16 at 17.31.39

Au niveau des commandes, on voit les quatre commandes existantes sur l’ESP8266 à savoir Current_(A), Energy_(WH), Power_(W) et Voltage_(V) :

ESPEasy - PZEM004T - Configuration - Jeedom - Commandes

Si on se rend dans le Dashboard de Jeedom, on voit les données envoyées par le capteur PZEM-004T:

Screen Shot 2021-02-16 at 17.36.13

Conclusions

Cette réalisation, peu chère, permet facilement de traquer très finement ses consommations afin de trouver quels sont les éléments énergivores. Vous avez en effet, 5 secondes par 5 secondes, les informations précises de consommation.

Vous pouvez aussi l’utiliser pour un frigo ou un congélateur sans courir risque que Google ou Jeedom ne le coupe inopinément.

C’est donc bien plus qu’un gadget !

 

5 Responses

  1. BRIDE

    Bonjour,

    super tuto bien expliqué, est il possible de faire une pince ampèremétrique dans le même genre qui pourrait déclencher un relais a une certaine puissance car j’ai des panneaux solaires en autoconsommation et cela me serait bien utile.
    Merci.

  2. blanchet

    Bonjour,
    Super tuto, je l’ai appliqué à la lettre, ça fonctionne très bien dans ESP EASY les valeurs remontées sont correctes. Mais impossible de l’inclure dans le plugin ESPeasy de JEEDOM.
    Si quelqu’un a un idées, ça m’intéresse

  3. Calade

    Bonjour,
    Il y a quelques inexactitudes : le branchement 220V alimente bien le PZEM à travers le regulateur U4 d’une part, d’autre part le +5V en sortie des optos n’est pas une alimentation mais le pull-up du Tx qui est à collecteur ouvert, et pour les LEDs et celle de Tx. Donc on n’a pas besoin de convertisseur +5/+3V, il suffit de brancher le point marqué +5V du PZEM au +3V de l’ESP et ça fonctionne tout seul.
    Voir le schéma : https://forum.arduino.cc/t/esp32-pzem-004t-v3-communication-problem/881630/2
    Cdt,

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.