Site menu IoT: medidor de energia PZEM

IoT: medidor de energia PZEM

Como disse nesta tergiversação, estava à procura de módulos IoT para medição de energia elétrica. O problema é que ligar coisas diretamente na rede elétrica é coisa séria. Se algo der errado, pode causar eletrocução ou mesmo um incêndio. Um monitor de energia vai ficar ligado 24x7, não é algo que você coloca na tomada só durante o uso e vai estar por perto se soltar fumaça.

A maioria dos módulos IoT à venda e/ou sua forma de conexão ao microcontrolador não inspiram confiança nenhuma. O módulo mais "civilizado" que encontrei foi o PZEM-004t versão 3, construído em torno do chip SD3004, que é base de muitos outros produtos nesse nicho. É um microcontrolador programável, mas no PZEM-004t ele já vem com um firmware pronto para uso e que não pode ser modificado.

Vantagens do PZEM:

E como tudo na vida, ele tem suas desvantagens:

Seria realmente divertido se ele tivesse um "modo cru", para usá-lo como osciloscópio, observar harmônicas, calcular o fator de potência em software, etc. Mas não se pode ter tudo, né?

O módulo IoT

O código do meu módulo IoT pode ser encontrado aqui, e o gráfico a seguir é o produto final:

Figura 1: Grafana exibindo dados coletados dos sensores de energia.

Tomei algumas decisões de design que ainda estou ruminando, mas parecem estar funcionando.

O PZEM reporta valores instantâneos de tensão, corrente, etc. que não significam muito isoladamente. Preferi reportar agregados: média, mínimo e máximo, uma vez por minuto. A meu ver isto melhora a qualidade da informação e de quebra economiza tráfego MQTT.

(Teria sido legal que o próprio PZEM fizesse essa agregação, uma vez que mesmo amostrando a cada segundo pode acontecer de perder uma máxima ou uma mínima.)

Não tenho absoluta certeza que fazer média aritmética de tensão e corrente é correto, mas parece ok para mim; os gráficos refletem o consumo conhecido dos aparelhos elétricos que temos por aqui.

Não faço uso do fator de potência medido pelo PZEM, pois não faz sentido agregá-lo por média aritmética — teria de ponderar pela corrente. Preferi então calcular e reportar a potência aparente (VA), que pode ser agregada (ou creio eu que pode). Até onde verifiquei, meu VA calculado fecha com a potência real e o fator de potência reportados pelo PZEM.

Também não faço uso do medidor cumulativo de energia do PZEM. Apenas reporto a potência religiosamente a cada minuto. Para obter os kilowatt-hora de um lapso de tempo, basta integrar. Fiz isso direto no Grafana, inclusive.

Pode ser interessante ficar observando o valor instantâneo em alguns casos de uso. Para estes, o módulo possui um "modo ticker", habilitado via MQTT, que reporta as amostras instantâneos por alguns minutos.

Resultados

Tinha uma suspeita de oscilação de tensão, que não se confirmou. De fato a tensão oscila entre 215 e 230V, mas está na faixa considerada aceitável (200 a 240V, se não me engano). Tem uns vizinhos com energia solar, pode ser um fator, mas não me parece que o pico de tensão coincida com meio-dia ou dia claro.

O fator de potência de algumas cargas eletrônicas é realmente horrível, abaixo de 0.5. Felizmente são de pequeno consumo (porém imagine o impacto de um bilhão de carregadores de celular ruins no sistema elétrico brasileiro). Curiosamente o fator de potência melhora quando se liga um motor de indução, que isoladamente é outra carga considerada ruim.

O CT incluso com o kit é do tipo "não-intrusivo", pode ser clampeado a um fio existente, sem desconectar nem cortar nada. Conectei à fase antes do DR, (era o cabo mais folgado dentro do quadro de disjuntores), e desde então o disjuntor DR tem desarmado esporadicamente. Pode ser culpa do CT, pode não ser, há outros equipamentos "suspeitos", mas realoquei o CT para o neutro pós-DR e vamos ver se muda para melhor.