Como construir um Contador de Energia de 3 Canais

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:

  1. Material necessário
  2. Caixa 3D
  3. Programar e preparar o PZEM004T V3
  4. Esquema de ligações
  5. Integração com Home Assistant
  6. Montagem
  7. 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:

moduleaddress

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. :wink:

12 Curtiram

Espetáculo.
:star: :star: :star: :star: :star: :cpha_discord_icon_base: :top:

TOP…TOP…TOP !!!
Parabéns :slight_smile:

Muito bom :+1:
O TTL do pzem é 5V ?
A função do Schottky é para evitar que os 5V cheguem ao wemos, um diodo normal não faria o mesmo efeito ou a forward voltage de 600–700 mV causam problemas na comunicação?

O TTL do pzem é 5V…
O esquema de comunicação entre os pzem e o wemos não fui eu que desenvolvi. Peguei num exemplo do github do tasmota e adaptei para esta versão.

O primeiro esquema de ligação que me lembro de encontrear, mesmo antes do tasmota ter suporte para os 3 pzem, foi neste link.

Excelente!!!

Apresentado desta forma até parece simples. Quantos 3d prints tiveste de fazer até chegar ao resultado final da caixa?. :wink:

Técnicamente ainda não cheguei ao resultado final… :slightly_smiling_face:
A versão da caixa que estou a utilizar já é antiga… Ainda tem a tampa a fixar com parafusos e a que está no Thingiverse a tampa já fixa por encaixe.

Mas digamos que foram algumas impressões de 13 horas :upside_down_face:

Ainda vou fazer mais um módulo destes e numa próxima versão vou adicionar sensor de temperatura dentro da caixa.
Neste não utilizei que não chegaram a tempo. Mas penso que é util o sensor de temperatura que a caixa chega aos 30º

Grande trabalho.

Parabéns.

Mais um vez um excelente trabalho.
Muitos parabéns…

Oi Filipe Sousa,

Parabéns pelo projeto. Estou doido para poder implementar aqui em casa. Sou do Brasil / Rio de Janeiro.

Tentei comprar as peças o mais próximo possível. Porém as conexões com parafuso não são iguais e estou tento dificuldades para montar a parte da impressão 3D. Estou tentando remodelar porém sem sucesso ainda. Você fez em qual software ? Estou tentando no Fusion 3D porém estou aprendendo ainda por vídeo na internet.

Consegui usando o THINKcard mudar a estrutura desses conectores. porém a caixa está difícil

Você acha que seria possível disponibilizar a modelagem em 3D para poder tentar fazer essas alterações ? Se não for possível eu entendo. E de qualquer forma parabéns e vou continuar tentando aqui. Tento sucesso posto o resultado aqui também.

Abraços,

Boas…

Desculpa só responder agora… Com esses conetores acho que não vai ficar bem. Pela imagem parecem ser muito altos, o que vai fazer com que fiquem muito saídos na caixa, impossibilitando a montagem no quadro eléctrico devido ao espelho do quadro ficar mesmo à face da caixa do contador.
Os conectores, acima desse suporte verde que tens na imagem, só podem ter 1.5mm que é a espessura das paredes da caixa.

O ideal é mesmo arranjar conectores mais baixos, mesmo que sejam um pouco diferentes, mas que fiquem à face da caixa…

Oi Filipe,

Obrido pelo retorno. Acabei de chegar a essa conclusão agora… Vou pedir compra.

@FSousa estava aqui a observar o teu projecto e estou a ponderar montar 1 em vez dos SDM120 mas reparei numa coisa:
Pelo desenho e, se não estou enganado usas 3 diodos e 1 resistencia mas na lista de material tens 3 resistencias e 1 diodo.

o que ta no desenho é o que ta certo não é?

Boa noite Filipe, muito bom o projecto. A meu ver podias colocar um display na caixa fica top.

Desculpem só responder agora…

@nbranquinho Tens razão… Na lista de material está errado. O que está correto é o esquema.

@Faribeiro Cheguei a pensar nisso… Cheguei a comprar dois displays oled de 0.96" com cores para ver qual ficava melhor, mas desisti da ideia.
O equipamento está dentro do quadro eléctrico sempre com a porta fechada. Acabei por não ver utilidade ter lá o display quando temos o HA para consultar os dados…

Nesta versão ficou a faltar o sensor de temperatura interno. Na altura não tinha sensores e acabei por nunca mais abrir o equipamento depois de o montar no quadro eléctrico… Fica para uma próxima versão.

Próxima versão será zigbee. Já tenho o material… Não sei é quando vai ficar pronta :slight_smile:

1 Curtiu

Amigo Sousa.
Escrevo para você da Espanha para lhe dizer que o projeto que você fez é uma “obra de arte” real.
Meus sinceros parabéns pelo excelente trabalho que você fez.
Obrigado por compartilhar este trabalho.
Diga que o template não funcionou para mim e revisando as informações, que, se funcionou bem, é o seguinte:

{“NAME”:“Contador de Energia 3C”,“GPIO”:[0,62,0,98,0,0,0,0,0,0,0,0,0],“FLAG”:0,“BASE”:1}

Basta mudar a variável “BASE”.
O comando do console igual, e perfeito.

Muito obrigado.

Guillermo.

Se alguém teve problemas de configuração das placas PZEM004T deste conjunto magnífico, coloquei minha experiência.
Depois de tentar com três versões do Tasmota, de 8.5.1 até o 12.1.1 mais atual, quando tentei atribuir sua placa PZEM004, seu ID (Moduleaddress 2, ou Moduleaddress 3 …) me confirmou com um “Done” pelo console , mas então ele só leu uma única placa e sempre que um era um e apenas um conectado.

Após vários testes, segui as instruções do usuário “Markuskl” do fórum:
forum.iobroker.net/topic/28453/toraial-pzem-004t-3-phasen-überwachung
Download do software do fabricante em:
http://www.mediafire.com/file/lk5wukg2v5n5iry/004t_software%2bdriver%2buser_manual.zip/file

Em seguida, textual da entrada:

-“Baixe o software Zip Windows PZEM004T”
-“Descomprima tudo e o arquivo zip incluía ‘PZEM-004Tsoftware New version
-“Na pasta Unpacked ‘PZEM-004Tsoftware New version’, execute o arquivo ‘run.bat’ como administrador (botão do mouse direito -execute como administrador) e deixe -o executar brevemente."
-“Conecte um módulo PZEM-004T a 230V (isso é importante) de acordo com o diagrama de circuito fornecido e conecte-o ao PC através de um cabo ou TTL ao cabo ou módulo USB”
-“Agora você pode executar o ‘PZEM004T-Master.exe’ (de preferência também como administrador)
-“Selecione a porta COM e agora você pode alterar o endereço de um módulo para 2 e o outro para 3 para estabelecer parâmetros '”.

Somente depois que essas operações fizeram, ele reconheceu as três placas do PZEM004 separadamente, e tudo começou a funcionar como Felipe Sousa explica na entrada.

Comente também, que o “modelo” de Felipe não funcionou para mim, até que eu mudei o último número … “BASE”:18} para uma … “BASE”:1}

A versão Tasmota que eu uso é 12.1.1

Não entendo o que pode acontecer ou se outros usuários aconteceram com o mesmo, pode ser uma mudança que o distribuidor fez no firmware, que adquiriu as placas em um fornecedor diferente … Eu não sei, o caso É isso agora, se funcionar corretamente, incluindo a integração no assistente de casa.

Felipe novamente, muito obrigado pela grande contribuição que você deu e, acima de tudo, por compartilhá -la.

Guillermo.
(Traduzido pelo Google Traslator
minhas desculpas :slightly_smiling_face:)

No esquema, o fusível (F1) está na fase, mas na fotografia que tens das placas, parece-me estar no neutro (ligador AC 7 - fio amarelo).

É o teu desenho que está mal ou estou a ver mal a fotografia?

o Amarelo é a Fase. Sim ele trocou os fios em relação ao desenho mas não invalida o funcionamento do mesmo já que estamos a falar de corrente alternada e a única coisa que o aparelho precisa é de Tensão (Fase) e de um referencial (neutro) para poder calcular a potencia = VxI e alimentar a fonte.

duvida, qual é a precisão de leitura desses módulos tanto em tensão como em intensidade? o wemos D1 faz uma actualização de valores de quanto em quanto tempo?

que temperatura é que essa caixa atinge?
atenção ao usar materiais como PLA para fazer essa caixa. o ponto de fusão do PLA é baixo e em caso de problemas a caixa pode derreter facilmente, aconselho vivamente a imprimir isso em ABS, só naquela de alguma coisa correr mal.

um projecto bastante interessante!

1 Curtiu

Segui o esquema todo, mas não estou a ter sucesso :frowning:
Som com um PZEM tenho leituras, com 2 ou mais fica tudo a 0 :frowning:
Estou a usar o tasmota 12

Alguma ideia?

PS: o teste que estou a fazer é com os 2 CT no mesmo cabo


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade