Neste experimento vamos usar o módulo PZEM004T para fazer um medidor do consumo da energia elétrica com Arduino
Para avaliar o real consumo dos aparelhos elétricos, devemos analisar pelo menos quatro medidas:
- Tensão elétrica: Também conhecida como DDP, é a diferença de potencial elétrico entre dois pontos. Sua unidade de medida é o volt (V) em homenagem ao físico italiano Alessandro Volta;
- Corrente elétrica: É o deslocamento de cargas dentro de um condutor, quando existe uma diferença de potencial elétrico entre as extremidades. Sua unidade é o ampere (A) em homenagem ao físico francês André-Marie Ampère;
- Potência elétrica: É o trabalho realizado pela corrente elétrica em um determinado intervalo de tempo. Sua unidade é o watt (W) em homenagem ao matemático escocês James Watt ;
- Consumo energético: É a energia elétrica consumida por um aparelho durante um determinado período de funcionamento. Sua unidade é o watt-hora (Wh).
Para realizar essa medições normalmente precisamos usar vários componentes, sendo que a montagem final do protótipo pode ficar um pouco complexa.
Para resolver esse problema surgiu o módulo PZEM004T que reúne todas essas funções em uma única placa…
O módulo PZEM004T
Com esse módulo é possível realizar todas medições citadas anteriormente. Além disso, estão disponíveis algumas funções para estabelecermos alarmes de consumo e totalizadores.
A PZEM004T funciona independentemente do Arduino e se comunica com este através da interface serial: O Arduino envia comandos e o módulo devolve os dados.
Vejamos algumas medidas realizadas e suas especificações:
- Potência: 0 ~ 22 kW
- Energia: 0 ~ 9999 kWh
- Tensão: 80 ~ 260 VAC
- Corrente: 0 ~ 100 A
Hardware necessário
- Arduino ou compatível. Pode-se usar as placas derivadas do ESP8266, como o NodeMCU mas, nesse caso, será necessário um conversor lógico 3.3V → 5V;
- Módulo PZEM004T;
- Aparelho elétrico. Neste experimento, usei uma lâmpada de 15 Watts.
Onde Comprar:
Essa placa de fabricação chinesa é muito difícil encontrar no Brasil.
Existem algumas peças no Mercado Livre ou pode importar. Sua documentação também é escassa. Os demais componentes, você encontra aqui:
Curto Circuito – Componentes Eletrônicos e Acessórios
Software necessário
Essa library faz todo o trabalho de comunicação com o módulo, disponibilizando alguns métodos de fácil utilização.
Inicialmente devemos informar quais pinos (TX,RX) iremos usar para estabelecer a comunicação serial e qual o endereço IP. Esses comandos serão descritos no próprio sketch demonstrado abaixo.
Esquema de montagem
Essa placa possui 2 conjuntos de conectores nas suas extremidades.
De um lado ligaremos à rede elétrica (AC) que desejamos medir, bem como com o sensor de corrente não invasivo.
O outro conector é ligado à interface serial do Arduino (TX/RX). Aqui usamos os pinos 10 e 11 (através da library SoftSerial)
Vídeo Demonstração
O sketch
#include <SoftwareSerial.h> #include <PZEM004T.h> PZEM004T pzem(10,11); // RX,TX IPAddress ip(192,168,1,1); void setup() { Serial.begin(9600); pzem.setAddress(ip); } void loop() { delay(5000); float v = pzem.voltage(ip); if (v < 0.0) v = 0.0; Serial.print(v);Serial.print("V; "); float i = pzem.current(ip); if(i >= 0.0){ Serial.print(i);Serial.print("A; "); } float p = pzem.power(ip); if(p >= 0.0){ Serial.print(p);Serial.print("W; "); } float e = pzem.energy(ip); if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); } Serial.println(); }
Referências
Conclusão
Vantagens de usar o módulo PZEM004T em seus projetos:
- Espaço reduzido;
- Facilidade na montagem e na programação.
Desvantagem:
- Custo, o que é discutível visto que, caso você não use esse módulo, terá que comprar mais de um dispositivo para substituí-lo
Espero ter ajudado!
Como sempre, recomendo fazer essa montagem com muito cuidado, pois envolve alta tensão.
Até a próxima…