Monitorando gasto de energia da casa com o Arduino

O próximo passo no meu sistema de automação é deixar a casa realmente mais inteligente, isso é, inferir padrões e ajudar na administração da casa.

Uma das entradas para esse sistema é o gasto de energia. Para isso, montei um circuito de medição de energia gasta seguindo o exemplo do site http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor.

Só que no site, todos os exemplos estão ajustados para uso de arduino a 3.3v e voltagem da Europa.  Segue abaixo um exemplo para a voltagem de São Paulo, 127v

Current Transducer - Medidor de Corrente, o segredo pro sucesso

Current Transducer – Medidor de Corrente, o segredo pro sucesso

DISCLAIMER antes de começar, dois avisos. Se você for fazer a mesma coisa, esteja avisado que você precisa de treinamento para mexer na em alta voltagem (110v, 220v, etc). Existe risco de se machucar e até morrer. Eu não me responsabilizo por nenhum dano material ou humano causado pela leitura do blog. A idéia é dar um norte, um rumo, tirar as duvidas que me fizeram ter os maiores problemas. Esse é o segundo ponto, a idéia aqui é dar o caminho da roça e o que um cientista da computação precisa saber para por o sistema pra funcionar, não vou me ater a parte teórica até porque não é minha especialidade.

Eu segui o exemplo do site http://openenergymonitor.org/. Lá tem tudo, a parte teórica e pratica, enfim,  é um ótimo guia. Se baseie lá e tire as duvidas no meu post para o sistema brasileiro (na verdade, o paulista)

CT – Currunt Transducer  – medidor de corrente

O proposito aqui é medir o consumo de energia através de medições da corrente utilizada. Para isso, você vai precisar de um CT (Current Transducer), um medidor de corrente. Eu sugiro o SCT-013-000 com limite para 100A. É o mesmo da foto ai de cima e é esse que é utilizado nos exemplos do openenergymonitor. Se você pegar outros modelos para amperagens diferentes ou com mais voltas na bobina interna dele, o burden resistor (entre suas pontas) deverá ser diferente (como calcular: http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface) como também as constantes desse exemplo deverão ser recalculados (como chegar nas constantes, http://openenergymonitor.org/emon/buildingblocks/ct-and-ac-power-adaptor-installation-and-calibration-theory). Então se quiser facilitar, compre esse modelo no Ebay, é baratinho. Ele mede a corrente que passa por dentro dele, mais detalhes do funcionamento do CT pode ser visto aqui: http://openenergymonitor.org/emon/buildingblocks/ct-sensors-introduction

Calculando gasto de energia através da corrente

Com o medidor de corrente em mãos, existem duas formas de calcular a energia gasta. O valor da potencia dissipada em Watts é o valor do produto da corrente medida (A) pela voltagem do sistema (V)

W = A * V

Se você medir somente a corrente gasta e não tiver a voltagem do sistema, você terá que usar a voltagem como constante. Em SP, a voltagem é de 127v, mas se você for medir na sua tomada, provavelmente o valor estará diferente devido as flutuações e erros do sistema de entrega de energia. Logo, se você usar V = 127v, você estará medindo o gasto de energia estimado, pois existe o erro gerado pela diferença entre 127v e a voltagem real da sua casa.

W = A * 127v

Para resolver isso, você pode além de medir a corrente, medir a voltagem também. Dessa forma, você tera o gasto real de energia.

Na pratica, é isso que acontece. Nos meus testes, medi o gasto de uma lampada incandescente de  60W. A amperagem medida foi de aproximadamente 0.53A. Já a voltagem de casa ficou em 116V.

Se só medir a corrente, o gasto estimado vai ser de   0.53A * 127v = 67.31 Watts

Com a corrente e a voltagem, o gasto real foi de 0.53A * 116v = 61.48W

O erro foi de cerca de 9%. Se você não se tiver problemas com um erro de cerca de 10% nas medidas, somente o uso do medidor de corrente é o suficiente. Alias, é mais fácil de fazer.

Somente medindo a corrente

(baseado em http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor-measuring-current-only)

Aqui, o que você precisa se preocupar é com o burden resistor que fica entre os terminais do CT. Se usar o vcc do arduino em 5V, ele deve ser de cerca de 33Ohms. E isso influencia no calculo da constante de calibração.

Os outros dois resistores, ligados no VCC e no GRD, são para dividir a voltagem. Contanto que eles tenham os mesmos valores, você pode varia-los de 10KOmhs até 470KOhms. Quanto maior o valor, menos energia o arduino vai consumir. Se seu sensor vai ser alimentado por bateria ou pilhas, 470KOhms é o seu valor. Eu usei 10KOhms mesmo. Por ser uma bobina, tanto faz a configuração do terminal do CT (ou seja, tanto faz trocar as saidas do conector P2 do SCT-013-000.). Outro ponto importante na montagem, não adianta colocar o fio da sua geladeira passando por dentro do CT para medir a corrente gasta, pois o campo magnético de um fio anulará o do outro, logo para medir a corrente, você precisa passar somente um dos fios da tomada por dentro do CT (veja foto no fim do post sobre a montagem do CT em uma tomada)

Esquema para uso somente do medidor de corrente.  Imagem de http://openenergymonitor.org/

Esquema para uso somente do medidor de corrente. Imagem de http://openenergymonitor.org/

O código ficara o seguinte: (veja que é diferente do site. Ajustei a constante de calibração para o resistor que utilizei 33Ohms, que caiu de 111.1 para 60.6, além de trocar a voltagem de referencia dos 230v padrão da europa para 127v padrão paulista) – Não esqueça de puxar a biblioteca EmonLib antes (https://github.com/openenergymonitor/EmonLib)

#include "EmonLib.h"                   // Include Emon Library
EnergyMonitor emon1;                   // Create an instance

void setup()
{  
  Serial.begin(9600);
  
  emon1.current(1, 60.6);             // Current: input pin, calibration.
}

void loop()
{
  double Irms = emon1.calcIrms(1480);  // Calculate Irms only
  
  Serial.print(Irms*127.0);	       // Apparent power
  Serial.print(" ");
  Serial.println(Irms);		       // Irms
}

Medindo corrente e voltagem

(baseado no exemplo http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor)

nesse caso, o site fala para usar uma fonte AC/AC  como o POWER ADAPTER (veja esquema abaixo) e ajusta todos seus exemplos para uma fonte de 9V. Na verdade, uma fonte AC/AC nada mais é que um transformer. Usei um transformer (cubo preto nas foto da minha configuração) 115V->9V que tinha aqui em casa.  Usei os mesmos resistores que o site base, usando novamente 10K Ohms ao invés de 470K Ohms para o divisor de voltagem. Segue o esquema:

Esquema para uso com medidor de corrente e voltagem. Imagem de http://openenergymonitor.org/

Esquema para uso com medidor de corrente e voltagem. Imagem de http://openenergymonitor.org/

Agora o código. Veja que a constante do medidor de corrente está igual ao exemplo anterior e diferente do site base. Agora, a constante de calibração da voltagem é mais complicada de calcular. Ela depende das características da fonte, etc. Como não tenho uma aparelhagem boa para fazer medições, usei o FORCEPS e fui ajustando a medida da constante para bater com a leitura que fiz com o multímetro. Ou seja, medi como voltagem da rede 116V com o multímetro e, com esse valor, fui ajustando o valor da constante até ele imprimir 116V. Ou seja, usei como constante 51 ao invés de 234.26 do site base e provavelmente você vai ter que calcular o seu, já que depende do transformer (fonte AC/AC) que você utilizar.

#include "EmonLib.h"             // Include Emon Library
EnergyMonitor emon1;             // Create an instance

void setup()
{  
  Serial.begin(9600);
  
  emon1.voltage(2, 51, 1.7);  // Voltage: input pin, calibration, phase_shift
  emon1.current(1, 60.6);       // Current: input pin, calibration.
}

void loop()
{
  emon1.calcVI(20,2000);         // Calculate all. No.of wavelengths, time-out
  emon1.serialprint();           // Print out all variables
}

Conclusão

Desse modo, consegui medir tanto o consumo estimado (só CT) como o consumo real (CT + Power Supply) de uma tomada de casa. Vale lembrar que esse é o consumo instantâneo, para bater com a conta de luz é preciso fazer médias de uso por hora e por dias (para chegar no X KWh/m). Além disso, quero medir o consumo da casa inteira e pretendo colocar tudo isso no quadro geral. Lá tem outras particularidades, como por exemplo, quadros monofásicos e bifásicos. Mas esse assunto eu trato no meu próximo post, quando tudo estiver funcionando. Abaixo, fiquem com as fotos da configuração do teste CT + Power Supply e a instalação do CT na tomada.

Configuração do experimento. Detalhe para o cubo preto, o transformer AC/AC 115V->9V que utilizei para medir a voltagem.

Configuração do experimento. Detalhe para o cubo preto, o transformer AC/AC 115V->9V que utilizei para medir a voltagem.

Instalação do CT na tomada. Note que só um dos fios é mensurado.

Instalação do CT na tomada. Note que só um dos fios é mensurado.

Anúncios

27 Comentários

Arquivado em Arduino, Automação Doméstica, Desenvolvimento, Eletrônica, Geek, Tutorial

27 Respostas para “Monitorando gasto de energia da casa com o Arduino

  1. Guilherme

    parabéns pelo estudo, me ajudou bastante.
    obrigado
    Guilherme

  2. Luiz Junior

    ola, gostaria de saber como posso fazer para realiizar o armazenamento das informções de consumo.
    grato e fico aguardo!

  3. alessandro

    amigo quando nao tem nada em utilizacao, pq ele nao mostra os watts, bem como a amperagem ZERADA…?

    • Não sei qual a sua configuração, mas lembro de ter acontecido algo parecido por aqui. As leituras eram bem baixas, tendiam a zero, mas não ficavam zerada.

      Devem haver diversas explicações para isso. Todas as leituras tem ruido e a própria lib do EnergyMonitor aplica filtros na tentativa de remover ruídos.

      Ainda não coloquei essa solução “em produção” aqui no meu sistema de automação doméstica, mas o que pretendia fazer era, primeiro, calibrar o sistema com dispositivos de gasto conhecido e, então, desprezar esses valores próximos a zero direto no software.

  4. Amigo, Parabéns pelo trabalho. O CT funcionou certinho aqui pra mim. Se puder, peço que detalhe a origem dos sinais de entrada no Power Adapter. Tenho que entrar com o fio Positivo AC e Negativo?

    • Opa! Bom, o power adapter é a fonte de energia, que transforma 110v em 9v em corrente alternada (AC).

      Normalmente encontramos fontes de energia que transformam 110v em 9v DC (corrente continua). Na foto da minha breadboard, eu usei um transformador (caixa preta) que faz esse trabalho.

      Desculpe a demora de 1 mês em responder. Se tiver mais alguma duvida, posta ai. 😉

  5. Como instalar para medir o consumo da casa toda?

    • Ao invés de colocar na tomada, você coloca na caixa de energia da casa. Só tem que tomar cuidado com o limite do CT (current transducer). O que comprei é de 100A, ou seja, só vai funcionar se toda a minha casa consumir menos que 100A no pico de consumo. Outro detalhe é o tipo de caixa de energia, se for bifásico você precisará de dois CTs e terá que somar o consumo das duas leituras.

  6. Alguém sabe como simular o medidor de corrente no Proteus?

  7. tem diferenca usar um capacitor de 100uf no lugar do de 10uf?

  8. Tem como eu calcular esta corrente por cômodo da casa? Ou seja, cada cômodo mandar seu gasto de corrente pro computardor individualmente?

  9. cara o que é esse transforme? e onde posso conseguir?

  10. Leon Oliveira

    Como posso colocar um display mostrando o gasto em reais ?
    teria que converter o consumo para kwh certo?

    • Você teria que pegar a média de consumo da hora, ou seja, seu kwh, e multiplicar pelo valor cobrado pela sua concessionária de energia (e aqui tem varias regras malucas, como tarifas que variam dependendo de quanto vc gastou, etc…). Mas com certeza daria para chegar em um valor aproximado

  11. filipe

    ola, gostaria de saber como faço essa calibragem que voce usa a constante de calibração que caiu de 111.1 para 60.6 pesquisei aqui no site emon mas nao estou conseguindo achar.

  12. Abel Ferreira

    Amigo, parabéns pela projeto! Você montaria e venderia um kit desse pronto? Gostaria para colocar em minha casa que tem energia trifásica, medindo a corrente e voltagem de cada fase.

    • Estou pensando em montar uma solução conectada na internet que sobe os dados na nuvem.

      Você pagaria de 100-150 pelo kit + 5-10 reais pela assinatura do sistema na nuvem?

      Tenho a idéia de deixar tudo opensource tb. Se alguém quiser montar o seu (para economizar o valor de 100-150), ou até comprar um pronto e modifica-lo para subir os dados em outro lugar (para economizar a assinatura), não teria problemas.

  13. Em corrente alternada a medida da potência ativa não é dada pela fórmula W=V*A, essa é a formula da potência aparente medida em VA (Volt Ampére), a fórmula correta para medir a potência ativa (medida em Watts) é: W=V*I*Cos Φ, onde cos Φ é o ângulo de defasagem entre tensão e corrente. Se o teu medidor for medir qualquer aparelho não puramente resistivo ele pode ter um grande erro, e como sabemos para consumo residencial as concessionárias cobram pela potência ativa (W) e não pela potência aparente (VA) por isso que é mais importante/interessante medir a potência ativa da forma correta que é um pouco mais difícil de fazer pelo fato de ter que medir o cos Φ.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s