Ce que vous apprendrez
Utilisation du Module compteur d’énergie PZEM-004T avec Arduino
Prérequis
Module compteur d’énergie PZEM-004T
Contenu du cours
Le module compteur
d'énergie PZEM004T est un dispositif qui permet de mesurer la tension, le
courant, la fréquence, la puissance active, l'énergie active et le facteur de
puissance d'un circuit électrique ou
d’un appareil fonctionnant avec du courant alternatif. Il se compose d'un
module principal qui se connecte à une carte Arduino UNO par une liaison série,
et d'un transformateur de courant. Le module principal dispose de quatre
broches : 5V, GND, Rx et Tx.
Le transformateur de
courant est équipé d’un capteur de courant à effet Hall qui se place autour du
fil conducteur du circuit à mesurer. Il mesure le champ magnétique créé par le
courant électrique qui traverse le conducteur. Ce champ magnétique est ensuite
converti en une tension électrique proportionnelle au courant qui circule dans
le fil. Cette tension est envoyée à la carte électronique du module qui
l’utilise pour calculer la puissance active, le facteur de puissance, la
fréquence et l'énergie.
Spécifications du
module
Fonctions |
Plage de mesure |
Tension |
80 ~ 260 V (AC) |
Courant |
0 ~ 10 A |
Puissance active |
0 ~ 2,3 kW |
Energie active |
0 ~ 9999,99 kWh |
Fréquence |
45 ~ 65 Hz |
Facteur de puissance |
0,00 ~ 1 |
Matériels requis
Pour réaliser le câblage du module PZEM 004T
avec Arduino, il nous faut le matériel suivant :
-
Le module PZEM 004T
Module PZEM-004T
- Le transformateur de courant
Transformateur de courant
-
Une carte Arduino UNO
Carte Arduino UNO
- Un câble USB pour connecter l’Arduino au PC
Câble USB A-B
- Quatre fils de connexion mâle - femelle pour relier le module PZEM 004T à l'Arduino UNO
Connecteurs mâle - femelle
-
Un câble électrique avec une fiche CE standard pour brancher le module
PZEM 004T au secteur une fiche femelle pour brancher un appareil dont on veut
compter l’énergie.
Fiche CE standard et fiche femelle
-
Un tournevis
Tournevis
NB : Tout le matériel utilisé est disponible sur le site de YoupiLab
(youpilab.com)
Plan de câblage
Connection entre le PZEM004T et l’Arduino UNO
Connection entre le PZEM004T et l’Arduino UNO
PZEM004T |
Arduino UNO |
5V |
5V |
GND |
GND |
Rx |
9 |
Tx |
8 |
Plan de Connection entre le PZEM004T et l’Arduino UNO
Connection entre le PZEM004T et la fiche
CE et la prise murale
Le transformateur de courant a deux fils qui se branchent sur les bornes AC du module principal. Il faut faire passer le conducteur de la prise à l'intérieur du transformateur pour que le module puisse détecter le courant qui le traverse.
Connection entre le PZEM004T et la
fiche CE et la prise
Utilisation du PZEM-004T avec Arduino pour récupérer les données
Voici les étapes à suivre pour utiliser du
module PZEM-004T avec Arduino :
-
Télécharger
et installer l'IDE Arduino sur votre ordinateur. L'IDE Arduino est un logiciel
qui vous permet d'écrire, de compiler et de téléverser du code sur votre carte
Arduino. Voici un lien pour télécharger l’IDE Arduino : Software | Arduino
-
Brancher
votre carte Arduino Uno à votre ordinateur via un câble USB. Vous devez
également brancher le module PZEM-004T à votre carte Arduino en suivant le plan
de câblage montré précédemment.
-
Lancer l'IDE Arduino et créer un nouveau projet. Vous
pouvez le faire en cliquant sur le menu "Fichier" puis sur
"Nouveau". Vous verrez alors apparaître une fenêtre avec un éditeur
de code vide.
-
Télécharger et installer la bibliothèque PZEM004Tv30 pour
utiliser le module PZEM-004T dans l’IDE Arduino. Voici un lien pour télécharger
la bibliothèque
https://downloads.arduino.cc/libraries/github.com/mandulaj/PZEM004Tv30-1.1.2.zip
-
Inclure les bibliothèques nécessaires pour communiquer
avec le module PZEM-004T. Vous devez copier les lignes suivantes au début de
votre code :
#include
<PZEM004Tv30.h>
#include <SoftwareSerial.h>
Ces lignes indiquent à l'Arduino
d'utiliser les fichiers PZEM004Tv30.h et SoftwareSerial.h, qui contiennent les
fonctions pour lire les données du capteur et créer un port série logiciel.
-
Définir les broches utilisées pour le port série
logiciel. Vous devez copier la ligne suivante après les lignes précédentes :
SoftwareSerial pzemSWSerial (8, 9) ;
Cette ligne crée un objet de type
SoftwareSerial nommé pzemSWSerial, en passant les broches 8 et 9 en paramètres.
Ces broches doivent être connectées aux broches Tx et Rx du module PZEM-004T
respectivement.
-
Créer un objet de type PZEM 004Tv30 nommé pzem, en
passant l'objet pzemSWSerial en paramètre. Vous devez copier la ligne suivante
après les lignes précédentes :
PZEM004Tv30 pzem(pzemSWSerial);
Cette ligne permet d'utiliser les
fonctions de la bibliothèque PZEM004Tv30 pour interagir avec le module
PZEM-004T.
-
Écrire la fonction setup(), qui sert à initialiser les
paramètres du programme. Vous devez copier les lignes suivantes après les
lignes précédentes :
void setup() {
Serial.begin(115200);
}
Cette fonction est exécutée une
seule fois au démarrage de l'Arduino. Elle initialise le port série matériel de
l'Arduino, en utilisant une vitesse de transmission de 115200 bauds. Ce port
série sera utilisé pour afficher les données sur le moniteur série de l'IDE
Arduino.
-
Écrire la fonction loop(), qui contient la logique
principale du programme. Vous devez copier les lignes suivantes après les
lignes précédentes :
void loop() {
// Lit les données du capteur
float voltage = pzem.voltage();
float current = pzem.current();
float power = pzem.power();
float energy = pzem.energy();
float frequency = pzem.frequency();
float pf = pzem.pf();
// Vérifie si les données sont valides
if(isnan(voltage)){
Serial.println("Erreur de lecture de
la tension");
} else if(isnan(current)){
Serial.println("Erreur de lecture du
courant");
} else if(isnan(power)){
Serial.println("Erreur de lecture de
la puissance");
} else if(isnan(energy)){
Serial.println("Erreur de
lecture de l'énergie");
} else if(isnan(frequency)){
Serial.println("Erreur de lecture de
la fréquence");
} else if(isnan(pf)){
Serial.println("Erreur de lecture du
facteur de puissance");
} else {
// Affiche les valeurs sur le moniteur
série
Serial.print("Tension: "); Serial.print(voltage); Serial.println("VAC");
Serial.print("Courant: "); Serial.print(current); Serial.println("A");
Serial.print("Puissance:
"); Serial.print(power); Serial.println("W");
Serial.print("Energie:
"); Serial.print(energy,3); Serial.println("kWh");
Serial.print("Fréquence:
"); Serial.print(frequency,1);
Serial.println("Hz");
Serial.print("Facteur de puissance: "); Serial.println(pf);
}
Serial.println();
delay(2000);
}
Cette fonction est exécutée en
boucle tant que l'Arduino UNO est alimenté. Elle lit les données du capteur en
utilisant les fonctions de la bibliothèque PZEM004Tv30, vérifie si les données
sont valides en utilisant la fonction isnan(), et affiche les valeurs sur le
moniteur série avec des unités appropriées. Elle crée également un délai de 2
secondes avant de recommencer la boucle.
- Compiler et téléverser le code sur votre carte Arduino. Vous pouvez le faire en cliquant sur le bouton "Vérifier" puis sur le bouton "Téléverser" dans la barre d'outils. Vous devez également sélectionner le type de carte (Arduino Uno) et le port série (COM) correspondant à votre connexion dans le menu "Outils". Si tout se passe bien, vous verrez un message "Téléversement terminé" dans la fenêtre du bas. Vous pourrez alors ouvrir le moniteur série en cliquant sur le bouton "Moniteur série" dans la barre d'outils. Vous devriez voir les données du capteur s'afficher toutes les 2 secondes
Montage du module PZEM 004T avec
Arduino UNO
Nous avons vu dans ce tutoriel comment utiliser le module compteur
d’énergie PZEM 004T avec Arduino. Ce module est un outil intéressant pour
relever des données énergétiques de vos circuits ou appareils fonctionnant avec
du courant électrique alternatif. Vous pouvez l’utiliser pour effectuer des mesures de courant, surveiller votre consommation
électrique, détecter des surcharges électriques, contrôler la puissance de vos
équipements.
Utilisation du module compteur d’énergie PZEM-004T.
Catégorie
Durée
01:00:00
Nombre de vidéos
0
Certificat de fin de formation
NON