Transformer un PZEM-004T V1 en capteur bidirectionnel de courant avec le firmware eNode

Transformer un PZEM-004T V1 en capteur bidirectionnel de courant avec le firmware eNode

21 juillet 2022 2 Par Jérôme Ferrari

Bonjour à tous,

Ces derniers temps avec l’ajout de panneaux photovoltaïques la problématique de monitorer la production et la consommation électrique de la plateforme Expé-Smarthouse.

Après avoir recherché plusieurs solutions, je suis tombé sur le github de Apreb https://github.com/apreb/eNode qui permet de faire cela en modifiant légèrement un PZEM-004T V1.

Comme d’habitude, nous toucherons à de l’electricité donc attention à vous.

Partie 0: Le matériel choisi

En ce qui concerne le matériel, il vous faudra:

  • Un Wemos D1 mini
  • Un Capteur de puissance PZEM004T V1 (car la puce de comptage a changée sur la V3)
  • Un transformateur 220V AC vers 5V DC
  • Pour ceux qui ont une imprimante 3D ou un Fablab à proximité, je vous propose de fabriquer le boitier qui permettra de ranger tout cela proprement. Le modèle que j’ai choisi, se trouve sur Thingiverse

https://www.thingiverse.com/thing:4260260

  • Des connecteurs 4 broches JST pour faire la connection avec le PZEM
  • Un octocoupleur PC817
  • Quelques résistances (1k, 1k et 10k)
  • Et quelques fils pour faire les connections

Partie 1: Préparation du PZEM-004T V1

Lorsque l’on étudie la doc technique de la puce SD3004 de chez SDIC, nous pouvons voir qu’une des pin permet de connaitre le sens du courant.

Il s’agit de la Pin 51 REVP

Pour récupérer cette information, nous devons d’abord avoir accès à la puce.

Pour cela, il faut déssouder le condensateur jaune Tenta MKP

Ce qui nous donne accès maintenant à la SD3004

Il faut maintenant souder un fil sur la pin 51 (la troisième pin en partant de la droite sur le bord haut de la puce)

En parallèle de cette opération, il faut créer le circuit permettant de se connecter sur le Wemos W1 mini, en utilisant le schéma ci-dessous fourni par Apreb

Pour ma part, j’ai réutilisé un PC817 et pour le Input, j’ai pris le GND sur la pin qui se trouve à coté de la SD3004.

J’ai aussi rajouté des pins sur la partie dédié au LCD pour sécurisé (mais rien ne sera relié dessus)

En ce qui concerne l’Output, j’ai récupérer la Masse et le VCC directement sur le port de communication TTL

Afin de sécuriser la connexion et évité que le fil rajouté sur la puce ne casse, lors du ressoudage du condensateur, j’ai utilisé de la colle chaude pour fixer le tout.

Cela donne le résultat ci dessous

Maintenantn, afin d’avoir une compatibilité entre le PZEM-004T et le Wemos, il faut aussi rajouter une resistance de 1Ko pour l’adaptation (pour les explications, vous pouvez aller voir article https://miniprojets.net/index.php/2019/08/23/creation-dun-enregistreur-autonome-de-puissance-electrique-monophase-base-sur-un-wemos-d1-mini-dun-shield-rtc-sd-et-dun-pzem004t/)

Une fois que cela est fait et que le Pzem est modifié, nous pouvons passer à la partie programmation.

Partie 2: Programmation

En ce qui concerne la programmation, il s’agit du même schéma que pour l’article précédent sur le firmware Tasmota

Bien entendu, lors du téléversement, il faut utilisé le binaire fourni sur le Github de Apreb

https://github.com/apreb/eNode

Comme d’habitude, je mets ci dessous le zip de ce Github au cas où le lien est HS.

Une fois que le Wemos est programmé, nous pouvons maintenant le relier au PZEM en respectant le schéma fourni par Apreb. Ci-dessous la version pour notre usage.

Maintenant, on soude aussi le transformateur 220V/5V sur la carte

Puis nous pouvons tout mettre dans le boitier imprimé en 3D et attaquer la partie initialisation.

Partie 3 : Initialisation

Pour cela vous devez alimenter votre installation comme pour la version Tasmota et attendre un peu.

Je vous conseille de faire la même installation (Ici la photo n’est pas car le tore n’est pas celui d’une V1 mais une V3 mais comme mon appareil photo ou mon doigt a buggé, elle n’a pas été prise… Bref c’est juste un exemple pour montrer le principe)

Maintenant vous pouvez vous connecter au réseau Wifi APRENODE et rentrer le mot de passe 12345678

Une fois cela fait, rentrez l’adresse suivante sur un navigateur internet http://1.1.1.1 afin d’arriver sur la page suivante:

Si vous cliquez sur le bouton Refresh vous devriez avoir les valeurs que le Pzem remonte

Normalement si l’on inverse le sens du tore nous devrions observer une inversion du sens du courant


Maintenant que l’on a vérifier que tout était ok.

Il vous faut rentrer les informations de votre wifi et de votre broker MQTT.

Si tout est ok, nous pouvons l’installer dans le circuit électrique définitif en faisant attention au sens du tore et passer à l’intégration dans Jeedom.

Partie 4: Intégration dans Jeedom

En ce qui concerne l’intégration dans Jeedom, nous pouvons suivre la même méthode décrite dans l’article https://miniprojets.net/index.php/2020/12/19/une-alternative-diy-au-linky-pzem004t-wemos-tasmota-mqtt/ qui consiste à utiliser le plugin JMQTT.

Au finale, une fois l’intégration faite, nous obtenons le résultat suivant:

Après quelques jours, nous obtenons les courbes suivantes:

On peux voir ainsi les phases où l’on est en consommation (Nuit ou absence de soleil) et les phases de production et de réinjection sur le réseau.

Comme nous pouvons le voir, il y a possibilité de faire des choses pour améliorer cela ^^.

Peut-être bientôt un article sur l’utilisation d’une batterie pour du stockage d’énergie? Ou comment utiliser un MPC pour mieux prédir et utiliser au bon moment les appareils électriques?

Seul l’avenir nous le dira ^^

Bonne continuation et bonnes vacances

Jérôme