Quando comecei este projeto, à mais de um ano atrás, ainda não havia as opções que há hoje no mercado de contadores de energia para vários equipamentos, como por exemplo o Shelly 3EM. Mesmo assim, penso que este projeto seja uma boa solução para quem estiver disponível para o DIY.
O objetivo deste guia é disponibilizar os passos necessários para contruir um contador de energia de três canais, modular, e para montagem em calha DIN dentro de um quadro elétrico. O espaço ocupado num quadro elétrico é o equivalente a 3 disjuntores monofásicos.
A contagem de energia é feita recorrendo a 3 PZEM004T V3 com TIs de 100A e um Wemos D1 Mini com Tasmota.
Nota:
Este guia destina-se a utilizadores intermédios e avançados, que tenham experiência a mexer em instalações elétricas visto ser necessário fazer alterações ao quadro elétrico onde o equipamento final vai ser instalado.
Também é necessária experiência a utilizar o ferro de soldar, tasmota e impressora 3D.
Qualquer acidente que possa resultar deste guia, é da vossa inteira responsabilidade.
O guia está dividido nos seguintes tópicos:
- Material necessário
- Caixa 3D
- Programar e preparar o PZEM004T V3
- Esquema de ligações
- Integração com Home Assistant
- Montagem
- Resultado final
1. Material necessário
Para a realização deste projeto vai ser necessário fios para ligações, manga termo retrátil, ferro de soldar, impressora 3D e o seguinte material:
3 - Módulo medidor de tensão TTL - RS232 - PZEM004T V3 – Link
1 - Wemos D1 Mini – Link
1 - Mini Fonte de alimentação 240VAC → 5VDC 0.6A 3W - Hi-Link HLK-PM01– Link
6 - Bloco de 2 terminais com parafuso (1.0mm²) 2.54mm para PCB– Link
3 - Fusível miniatura rectangular TE5 lento T1.6A - Link
1 - Resistência 10kR 0.25W - Link
3 - Diodo Schottky 30V 15mA - BAT43 - Link
Caso estejam dispostos a esperar pelo material vindo por exemplo do AliExpress, o custo total do módulo ronda os 25€. Acho uma excelente opção tendo em conta o resultado final.
2. Caixa 3D
O desenho da caixa foi feito com o Fusion360. Todas as peças estão desenhadas para toda a montagem da caixa ser feita só por encaixe.
Nas fotos da caixa que estão neste guia a tampa está fixa com dois parafusos, mas a versão final disponível no Thingiverse não necessita de parafusos.
Devido a ser uma caixa que vai ficar dentro de um quadro elétrico sujeito a variações de temperatura, optei por utilizar filamento PLA Tucab FIL3D 3D850 em que é possível fazer um processo térmico de recozimento (annealing) em que a caixa fica com maior resistência a temperatura sem deformar até 144ºC.
Eu não cheguei a fazer este processo por falta de tempo, mas se tiverem oportunidade, façam este processo.
Para fazer download do STL da caixa, visitar o seguinte link no Thingiverse.
3. Programar e preparar o PZEM004T V3
Em 2019 o tasmota adicionou suporte para 3 PZEM no mesmo Modbus. Devido às limitações do Wemos, o tasmota só permite utilizar o máximo de 3 PZEM.
Para utilizar os 3 PZEM a comunicar por TTL Modbus-RTU com o Wemos com tasmota é necessário configurar o endereço ID de cada PZEM individualmente.
Primeiro fazer as configurações gerais do tasmota e configurar o acesso WiFi. De seguida ir a Configuration
, Configure Other
, e fazer copy/past do seguinte template:
{“NAME”:“Contador de Energia 3C”,“GPIO”:[0,62,0,98,0,0,0,0,0,0,0,0,0],“FLAG”:0,“BASE”:18}
Selecionar Activate
e clicar em Save
.
De seguida aceder à Consola
, fazer copy/paste do seguinte comando. Alterar de acordo com os dados de login ao MQTT vosso MQTT.
Backlog MqttHost IP_DO_MQTT; MqttUser CPHA; MqttPassword CPHA; Topic contador-3c; FriendlyName Contador de Energia 3C; Hostname contador-3c
De seguida configurar o ID de cada PZEM individualmente. Para fazer esta configuração do ID é necessário fazer a ligação de UM PZEM de cada vez ao Wemos de acordo com o seguinte esquema.
Depois de ter as ligações feitas, é necessário ter o PZEM alimentado a 230V para que possa ser configurado o ID corretamente. A alimentação do Wemos neste ponto pode ser feita por exemplo através de um carregador de telemóvel com ficha micro USB.
De seguida ir à Consola
e executar o seguinte comando:
ModuleAddress 1
Devem receber uma mensagem como a da imagem seguinte:
Desligar a alimentação do PZEM e do Wemos e ligar os outros dois PZEM, um de cada vez, e repetir este processo utilizando o comando ModuleAddress 2
e ModuleAddress 3
para cada um dos PZEM.
Finalizando estes passos os 3 PZEM estão programados com o ID 1
; ID 2
e ID 3
. Identifiquem com um marcador cada um dos PZEM com o número correspondente como se pode ver na imagem mais abaixo.
De seguida é necessário dessoldar e remover as fichas brancas e os bornes de ligação verde dos 3 PZEM para ficar como na foto anterior.
4. Esquema de ligações
Para ter uma proteção nos 230V dos PZEM optei por colocar um mini fusível de 1.6A em cada PZEM.
A alimentação para a fonte Hi-Link sai do PZEM 1, o que faz com que o módulo possa funcionar só com um PZEM, mas tem de ser utilizado o PZEM 1.
Na leitura das tensões optei por não ter o Neutro partilhado. A vantagem é poder ter leitura de tensões em disjuntores que estejam em diferentes interruptores diferenciais no quadro elétrico.
Para utilizar o módulo para ler consumos dos disjuntores que estejam no mesmo interruptor diferencial, no módulo podemos fazer um shunt entre os 3 Neutros e ligar só um fio de Neutro ao barramento de Neutros correspondente. No final tem fotos da minha instalação com os 3 Neutros com shunt.
Quanto às Fases, optei por fazer a ligação na saída do disjuntor que vai ter o TI, desta forma, ao desligar o disjuntor no tasmota deixa de ler valores referentes a esse PZEM. Pode ser útil para uma automação em que quando deixa de ter o valor da Tensão por exemplo no PZEM 2, sabemos que o disjuntor pode ter desligado.
O esquema a seguir para fazer todas as ligações é o seguinte:
5. Integração com Home Assistant
Antes de montar o módulo no quadro elétrico, devem testar a comunicação com o Home Assistant para garantir que tudo está a funcionar corretamente.
Para a comunicação com o Home Assistant utilizei a Integração do tasmota. Por defeito as últimas versões do tasmota já tem o Discovery ativo. Podem confirmar na consola se o Setoption19
está a Off
.
De seguida ir à Integração do tasmota no Home Assistant, e devem ter nos Devices
o Contador de Energia 3C
com todas as entidades dos vários sensores dos 3 PZEM.
Depois de terem os valores lidos pelo contador de energia no Home Assistant podem por exemplo gravar esses dados no InfluxDB e fazer gráficos com o Grafana ou então implementar a excelente ideia do @ricreis394 de fazer a gravação numa Base de Dados leve recorrendo ao addon MariaDB que está descrita no seguinte tópico.
Os resultados que podem obter com este último método são os da seguinte imagem.
6. Montagem
Depois de ter os PZEM prontos, podemos começar a soldar os fios necessários para as ligações. Não deixar os fios muito curtos, senão quando forem para montar tudo dentro da caixa vai ser mais difícil ou mesmo impossível.
Como se pode ver nas seguintes fotos optei por soldar a resistência R1
no PZEM 1 e os 3 díodos D1
, D2
e D3
diretamente em cada um dos PZEM.
Na seguinte foto podem ver todas as ligações já feitas. Ter em atenção à peça branca que já tem de estar impressa para poderem passar os fios antes de soldar.
De seguida, foto já com tudo dentro da caixa.
7. Resultado final
Fotos do módulo já pronto para ser instalado.
Os fios dos TIs que vem com o PZEM para a minha instalação são curtos… Tive de fazer umas extensões como se pode ver na seguinte foto.
Por último, fotos de tudo já montado no quadro elétrico.
Espero que este guia seja útil.
Caso construam este módulo, partilhem fotos do resultado final.