Senhores, estou implementando um monitor de energia conforme o site http://openenergymonitor.org e comecei os testes na rede ontem, porém tenho algumas dúvidas e gostaria de saber se alguém que já tem experiência pode dar uma força.

Sou de Belo Horizonte, rede monofásica 127v em casa, fiz a calibração básica no software e medi alguns aparelhos com o arduino alimentado via USB do PC. Os valores mostrados ficaram muito próximos da potência nominal dos aparelhos que medi. Até aí tudo bem. (estou usando o SCT-013-000 de 100A)

Daí, adicionei um Ethernet shield na receita, implementei o código e passei a enviar os dados para meu banco de dados. Tudo Ok também.

Porém, quando larguei o PC de lado e pluguei o SCT na fase principal da casa usando como alimentação pro Arduino uma fonte genérica de 9v/1A as medições ficaram totalmente avacalhadas. Exemplo: imaginem que naquele momento o consumo aproximado da minha rede era de 200w; o monitor não saia da casa dos 90w.
Achei estranho e resolvi trocar a fonte que alimentava o Arduino. Resultado: o monitor passou a me informar constantes 500 a 600w nas leituras.

Ou seja, parece que a fonte de alimentação do arduino estava interferindo nas leituras. Como posso ajustar isso?

Obs: Não estou usando aquele circuito AC/AC pra ajudar na calibração(de acordo com o site é opcional). Seria este o problema talvez?

Se puderem dissertar sobre ficaria muito grato desde já e se tiver alguém por aqui que já tenha tido sucesso nesta implementação melhor ainda! 

PS: Minha dúvida de uma forma diferente seria: as leituras das portas analógicas do Arduino podem ser afetadas de acordo com a fonte de alimentação da placa? Como resolver isso?

Exibições: 9392

Responder esta

Respostas a este tópico

Para realizar medidas da rede o ideal é usar um transformador isolador, ou seja, o terra da sua fonte deve ser flutuante. Assim quando vc ligar na rede haverá equalização dos terras.  Se usar uma fonte com autotransformador, pode haver circulação de corrente entre os terras da fonte e da rede, o que provocará erros na medição.

Valter, não entendi muito bem a sua resposta. Este transformador que você se refere seria a parte do circuito lá no site em que eles usam uma fonte AC/AC de 9v?
Obrigado pela resposta de qualquer forma.

 

Continuo tentando calibrar o sistema aqui mas está complicado...

Vejam o que já fiz:
Circuito do sensor (conectado pelo terminal verde de 3 vias; esta versão está com burden de 18ohm)
Ligação no Arduino + Ethernet shield (nesta versão usando a saída de 3.3v para o circuito do CT)

Calibração no código
emon1.current(3, 60); //porta, iCAL
double Irms = emon1.calcIrms(1480);  // Calculate Irms only
watts = (Irms * 128);        // Apparent power * 128; tensao da rede

OBS: O sensor já está pendurado na fase principal no quadro geral.

Abaixo alguns resultados que obtive:
- Medições feitas em aparelhos separados(luminárias e secador).
Configuração: Alimentação = USB do PC; Burden resistor = 33ohm; usando o pino de 5v do Arduino; Calibração no código(iCAL) = 60; Resultado: os valores mostrados bateram 90% com a potência de cada aparelho medido. OK.

- Ao plugar o sensor no quadro geral e deixar de usar a alimentação do Arduino via USB, os problemas começaram.

Configuração: Alimentação = fonte genérica de 9v/1A; Burden resistor = 33ohm; usando o pino de 5v do Arduino; Calibração no código(iCAL) = 60;
Resultado: com apenas umas 3 lâmpadas fluorescentes acesas em casa + o notebook + modem/router e geladeira OFF, não tinha como o consumo ser maior do que digamos, 300w no chute, mas o sistema me informava em torno de 500 a 600w.

Configuração: Voltei pra alimentação = USB do PC; Burden resistor = 33ohm; usando o pino de 5v do Arduino; Calibração no código(iCAL) = 60;
Resultado: com consumo residencial de 300w no chute, o sistema me informava em torno de 250 a 300w. Pra mim OK!

Como o intuito é usar o dispositivo alimentado pela entrada DC, fui pesquisar na internet e fiz algumas medições e alterações que encontrei indicadas no fórum do energymonitor.org.
- Medi a tensão nos pinos 3.3 e 5v do Arduino(sendo alimentado pela porta USB) e o pino de 3.3v deu 3.28v, enquanto o pino de 5v deu 3.64v.
- Medi a tensão nos pinos 3.3 e 5v do Arduino(alimentado por uma fonte de 6.5v/1A) e o pino de 3.3v deu 3.28v, enquanto o pino de 5v deu 4.5v.

Decidi então mudar o burden do circuito e passar a usar o pino de 3.3v pois era o que ficava mais estável ao trocar as fontes de energia.

Configuração: Alimentação = USB do PC; Burden resistor = 18ohm; usando o pino de 3.3v do Arduino; Calibração no código(iCAL) = 111;
Resultado: com consumo residencial de 300w no chute, o sistema me informava em torno de 250 a 300w. Pra mim OK!

Configuração: Alimentação = Fonte de 6.5v/1A; Burden resistor = 18ohm; usando o pino de 3.3v do Arduino; Calibração no código(iCAL) = 111;
Resultado: com consumo residencial de 300w no chute, o sistema me informava em torno de 800w; Voltei o iCAL para 60 e o resultado caiu para 450w; Valores que considerei irreais.
Agora vem o mais estranho: neste mesmo teste pluguei o cabo USB junto com a fonte de 6.5v já plugada e a medição caiu para 350w! (valor que considero mais aceitável para o momento)

Enfim, despluguei o cabo USB e a medição voltou para 450w; Liguei o chuveiro e subiu para 1850w. Considerei estes resultados irreais.

Sei que o post ficou grande e só quem tiver muita paciência e alguma experiência nesse projeto especificamente vai se interessar em responder, porém acho que seria de extrema importância para todos que querem iniciar neste circuito para evitar perder tanto tempo como tenho perdido...

Desde já deixo os agradecimentos a quem animar a se aventurar no meu caso.
Quem aí chuta o que pode estar acontecendo de errado no meu projeto?

Grande abraço!

PS: Claro, estou avaliando comprar ou pegar emprestado um alicate amperímetro pra medir a corrente real da minha rede pra poder comparar melhor com as medições do meu projeto e eliminar essa fonte de dúvidas.

Bruno,

conheço esse projeto e já comecei até a montá-lo. Parei por ter outras prioridades mas com certeza vou voltar nele.

Vou estudar todo seu relato e quem sabe saio com uma ajuda!

Sidney

Opa!

Agradeço demais Sidney!

Olá Bruno,

Havia dado uma olhada no seu post outro dia, e até pesquisei sobre os projetos no  link openenergymonitor, dei uma olhada rápida nessa biblioteca do emon/emontx, e até pensei em alguns pontos de estudo para o problema, mas não quis responder rápido para não falar bobeira.

Sei que você se baseou no projeto do link, mas tem vários módulos pelo que percebi. Você conseguiria colocar o esquema elétrico que você está seguindo ou colocar um link direto para ele? Seria de grande ajuda. ^^

Fora isso tem algumas coisas que poderiam ter influencias sobre a leitura "aparentemente" errada que está tendo. Várias delas tem relação com essa biblioteca que está utilizando. Possívelmente para efetuar os cálculos ela deve fazer a integral dos valores que está aquisitando do conversor ADC, mas, será que ela consegue estar "sincronizada" com a forma de onda no cross-zero ? Se a forma como ela executa os cálculos depender disto, e ela estiver detectando errado o período da forma de onda, pois dependendo da carga pode existir distorções, o valor RMS estará errado. 

Fora isso, ela utiliza um valor de calibração, e possívelmente é feito com base em uma aproximação linear com apenas o coeficiente angular, se suas leituras tiverem algum valor residual, você também teria um erro proporcional ao consumo. Ou seja, de algo como "y=ax+b" o valor de calibração leva em consideração apenas o coeficiente 'a', faltando o 'b'. Sem falar em cargas não lineares. E se houver motores (geladeira) na rede piorou. Para validar tente cargas resistivas... como exemplo, o chuveiro mesmo.

E as demais possibilidades é com relação ao fator de transformação da tensão, que depende do trafo que está utilizando, e do valor de alimentação do Arduino.

Esses são parametros mais tranquilos de serem obtidos, pois basta fazer uma relação entre a tensão de entrada da rede e o quanto está sendo lido pelo seu ADC. (já levando em consideração as relações "primário x secundário", depois "divisor de tensão", e depois a própria conversão ADC que depende da alimentação... 5V ou o que está sendo alimentado no microcontrolador, que pode ter grande influência se houver outro valor).

É este [LINK] que está seguindo como base?

http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-ar...

De considerações gerais é isto. Caso consiga o esquema, tentarei pensar em algo.

E tendo um pouco mais de tempo, irei analisar essa biblioteca de cálculo.

Boa sorte. Abraços.

^^

Daniel, obrigado pela presteza!

Aqui segue o link da página do meu projeto específico: http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-ar...

Circuito abaixo

Acho que vale você dar uma olhada aqui também: http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-ar...

Nesta versão eles usam um segundo circuito com um transformador, como alguma forma de referência pelo que eu entendi.

Estou em discussões em fóruns internacionais também e pelo que eu pude notar até agora o pessoal tem me alertado que a tensão no pino de 5v do Arduino é crucial pra leitura ser precisa(talvez vá de encontro com o que você falou também) e estou com problema nesse pino pois a tensão está instável. Hoje vou fazer a medição tirando o shield ethernet pra ver se é ele que está roubando tensão do arduino e volto pra contar...


Abraço e valeu!

Olá Bruno tudo bem?

Eu quando faço medições geralmente uso um TP e um TC para fornecer um valor nos AMP OPs e me fornecer valores de 0-5V correspondentes a Tensão e Corrente.

Como você está desenvolvendo o seu sensor?

Atte:

Renne Takao

O único problema, provavelmente, é que você não está com a mesma referência de terra. Ou seja, a fonte do arduino esta com um terra, o sensor com outro e a rede elétrica com outro terra. Várias referências... Sugestão: 

01 - veja se em algum lugar vc pode utilizar um optoacoplador;

02 - ligue todos os neutros e negativos das fontes em um único ponto. (CUIDADO! Não ligar a fase ou o positivo neste ponto.)

Bruno, vi que o sensor usado é isolado da rede eletrica - sensor indutivo.

O seu circuito funcionava usando a usb do PC.

Portanto o problema esta  na sua fonte - provavelmente ela não esta sendo suficiente para alimentar todos os circuitos.

Teste com o Arduino sem o ethernet shield. Meça a tensão da fonte com os circuitos conectados.

Se tiver habilidade, meça as tensões nos reguladores do Arduino.

José, sem o shield e usando fonte DC de 6,5v o resultado foi:

Pino de 5v = 4.97v
Pino de 3.3v = 3.28v

Tá dentro do padrão agora ou o pino de 5v ainda está anormal?
Abraços!


PS: estou avaliando as outras respostas pessoal, porém como não sou engenheiro posso ter dificuldades em interpretar algumas...

Bruno, as tensões estão dentro da tolerância. 

Pode ser então captação de interferência. Você sabe os valores de tensão medidos nessa bobina do sensor de corrente? Qual o comprimento do cabo que liga esse sensor ao seu circuito. Vi que ele não esta blindado. 

Recomendo usar um cabo blindado (com malha) e usar o cabo mais curto possível.

Oi Bruno

Tenho esse projeto rodando agora numa fonte também 9v/1A e para mim está do mesmo jeito de quando da programação do PC, onde era alimentado pela usb. Estou usando um display shield e um arduino mega e por enquanto roda só esse projeto do emon, depois pretendo fazer mais coisas com esse mega.

Não sou da área de eletrônica mas sou um grande fuçador, no que vc quiser saber do meu projeto é só perguntar, mas pega leve nos termos rsrsrs. Uso um burden de 33ohms, tenho 2 sensores CT quase certeza igual ao seu, um para cada fase e tá no 5v do mega. Minha casa com o mínimo das coisas ligadas sem geladeira gira entre 200-250w.

Abs

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço