Já estou a algum tempo tentando desenvolver um medidor de consumo de energia para uso doméstico, como forma de aprendizagem e utilidade. Já tentei usar o ACS712 - 05A mas as leituras são muito instáveis, indo de zero a 1023 mesmo não tendo nada conectado. Testei todos os 5 sensores que tenho, são 3 de 5A e 2 de 20A, acredito que não seja código pois já testei muitos, incluindo daqui do LdG. Em tempo, tenho duas placas arduino UNO, uma ROBOCORE  e outra genérica, e testei com ambas. Outro detalhe, usando fonte exclusiva alimentando os sensores ACS com 5V.

  Estou pensando em usar o SCT-013 mas não sei da estabilidade dele em baixa amperagem, aceito sugestão de outro sensor que seja mais indicado.

Exibições: 1723

Responder esta

Respostas a este tópico

Olá a todos. Recebi o módulo com o sensor ZMCT103, usei o código referenciado pelo José Gustavo no GItHub, mas ainda não sei como calibrar o dito sensor, busquei literatura relacionada e nada que eu pudesse usar. Então volto a pedir ajuda.

Em tempo, a leitura está estável mas não corresponde a potência, 70w, do ventilador que estou usando.

Olá Maurivan!

   No código que o Gustavo te sugeriu tem as seguintes linhas comentadas:

         // Apparent power
         // Serial.print(Irms*230.0);

   Irms*230.0 corresponde a multiplicação da corrente eficaz ( Irms ) pela tensão ( 230.0 ), que dá como resultado a Potência Aparente ou Potência Total, sem considerar o fator de potência.

   Se a tensão onde o teu ventilador está ligado não é 230 VAC, basta substituir o 230.0 da segunda destas linhas pelo valor de tensão na qual teu ventilador está ligado, com pelo menos uma ordem decimal, ou casa depois da vírgula, ponto neste caso, se preferires, para que o compilador entenda que o resultado tem que ser em ponto flutuante.

   E, claro, descomentar as linhas.

   Como vê, o método utilizado é:

   -1) Medir a corrente

   -2) Usar uma tensão de valor eficaz constante e conhecida, para não precisar ser medida.

   -3) Calcular a potência multiplicando a tensão pela corrente.

   Só não esqueça de verificar as unidades porque, por exemplo, mA x V = mW e não W.

   Por exemplo, se a potência calculada para o teu ventilador de 70 W der algo próximo de 70000, isto quer dizer que a corrente lida provavelmente está em mA e não em A.

   Sucesso!

   D.T. Ribeiro

D.T. Ribeiro, muito obrigado pelo esclarecimento. Sem saber deste detalhe eu havia ajustado o valor para 220 que é a tensão onde moro, mas não incluí a casa decimal, farei isto amanhã. Eu acreditava que teria que fazer algum ajuste no potenciômetro do sensor, usando algum outro aparelho, ainda bem que não foi o caso. O fato de não ter casa decimal na tensão pode explicar o fato de não haver consumo ZERO, mesmo sem nada ligado?

Obrigado.

Maurivan, informe o link do projeto que esta usando.

Um dos links era para o ESP8266. 

Mas esta usando Arduino, não é? 

Boa tarde.

O link do projeto com o fonte que usei como base é este:

https://github.com/hifor/esp8266-zmct103c/blob/main/src/main.cpp

Aqui vai oi meu fonte, que foi baseado no que referenciei acima: projeto3.ino

e aqui está o esquema de ligação no ARDUINO: Modelo da ligação ao ARDUINO

Estou usando arduino por que já conheço e para evitar por enquanto, a curva de aprendizado dos dois hardwares, ESP8266 + módulo ZMCT103, pretendo usar o arduino aqui e o ESP em outro projeto em que vou precisar rede sem fio.

Olá, Maurivan!

   Em primeiro lugar, o fato de haver consumo, mesmo sem nada ligado, pode ter um ( ou mais ) de vários motivos.

   Por exemplo, "não ser zero" pode significar muitas coisas. Como já dizia um grande cientista, tudo aquilo que o teu instrumento de medição não consegue detectar, é tão bom quanto o zero.

   O que quero dizer? Bem, todos os sistemas, por melhores que sejam, tem ruído elétrico.

   O ruído pode ser pequeno o suficiente para o instrumento não detectar, mas se o teu conjunto Arduino+Sensor+fiação gera um ruído grande o suficiente para ser detectado, pode ser esta a causa.

   Pode ser também software? Claro!

   Não analisei o teu sketch ainda, vou fazê-lo mais tarde e, como tenho um UNO e um potenciômetro, vou simular a aplicação usando o teu sketch e aí poderei te dar informações mais precisas.

   Neste ínterim, qual é a corrente que o Arduino está informando ( IRMS ), no caso "sem nada ligado" e no caso "com o ventilador consumindo"? Esta informação poderá nos ajudar a chegar mais perto da solução.

   Também seria interessante que você medisse com um instrumento independente a tensão na entrada analógica do sensor e a corrente AC que o ventilador consome para termos uma idéia se o fator de conversão do sensor está adequado.

   Abração!

D.T. Ribeiro.

Boa noite.

Corrente... informando ( IRMS )..."sem nada ligado": 1,406 ~ 1,486

Corrente... informando ( IRMS )... com soldador 50W: 46,99 ~ 47,74

pode explicar melhor esta parte por gentileza:

"Também seria interessante que você medisse com um instrumento independente a tensão na entrada analógica do sensor e a corrente AC que o ventilador consome para termos uma idéia se o fator de conversão do sensor está adequado."

Olá, Maurivan!

   Fiz vários testes com o sketch que me enviastes colocando um potenciômetro para variar a tensão na entrada analógica do UNO e também ligando A0 diretamente em GND e +5V.

   O que observei é que, com A0 em GND, a corrente lida é zero, como esperado mas, com A0 em +5V, a corrente lida começa em um valor relativamente alto e começa a cair ao longo do tempo, o que me leva a crer que a biblioteca não está esperando uma tensão constante, ou seja, este sensor não deve produzir uma tensão constante proporcional a corrente rms.

   Isto fica ainda mais provável quando você diz que as tuas leituras estão estáveis, uma vez que você está usando o sensor. Isto quer dizer que a biblioteca leva em conta o comportamento real do sensor, que é diferente do que eu simulei aqui.

   Isto posto, concluo que preciso de mais ( e melhores ) informações sobre este sensor para saber qual é a sua função de transferência, i.e., qual a relação entre a corrente AC que passa pelo orifício dele e a tensão que fornece em sua saída.

   Com relação aos dados que levantastes, a corrente absurdamente incorreta pode estar relacionado com o fator de calibração. Um ferro de soldar de 50 W ligado em 220 VAC deveria consumir uma corrente de ≈ 0.23 A e não ≈ 47 A.

   Ou pode ser um problema de interpretação dos dados fornecidos pela biblioteca, o que me indica que tenho de tentar achar mais documentação sobre ela também.

   Com relação ao teste com A0 em GND, vê-se que a indicação de corrente é nula, o que faz sentido. Isto também leva a crer que o teu problema de acusar consumo sem nada ligado pode ser ruído. Ainda mais que, como vimos, a corrente parece estar sendo multiplicada por um fator muito grande ( cerca de 200 ), o que faz o ruído ser multiplicado por este mesmo fator.

   Se você tiver mais dados sobre o sensor, além daquela ridícula folha de dados dele que se consegue na Internet, por favor, avisa para tentarmos esclarecer esta questão.

   Abração.

D.T. Ribeiro.

Olá denovo, Maurivan!

   Olha só que interessante: Achei este LINK onde tem um exemplo de uso da biblioteca EmonLib. O sensor utilizado não é o que tu tens, mas acredito que o princípio de funcionamento seja o mesmo.

   Se for, significa que o "sensor" é, na verdade, um "transformador de corrente" ( TC ) e, como tal, não pode ser ligado diretamente ao UNO.

   Ali dá para ver que a saída do TC é em corrente alternada.

   A forma que foi utilizada para interfacear o TC ao ESP32 usa um divisor resistivo para "levantar" a tensão e "grampeá-la" em VCC/2, fazendo assim com que ela varie entre 0 V e 3.3 V ( caso do ESP32 ), ficando sempre positiva.

   Outra coisa: Os TCs normalmente são utilizados com um resistor no secundário, para transformar a corrente em tensão, própria para leitura da entrada analógica do controlador. No caso do link em questão, não vi este resistor, mas tomei a liberdade de adicioná-lo ( 33 Ω ) na figura em que adaptei para o UNO ( vou tentar anexar ).

   Apenas a título de curiosidade, alguns TCs industriais não podem ter o secundário aberto, sob risco de afetar a isolação por excesso de tensão no secundário. Normalmente a corrente de saída à plena carga destes TCs industriais é de 5 A e usa-se um resistor muito pequeno, em torno de 60 mΩ, no secundário.

   A falta deste resistor poderá estar relacionada com o ganho absurdamente alto que você tem nas leituras de corrente.

   Se você quiser experimentar, sinta-se à vontade. Pode tentar primeiro sem o resistor e depois com o que sugeri ou um valor maior ou menor.

   O importante é que foi mostrado o tipo de sinal que a biblioteca espera de um sensor, razão pela qual a minha simulação com um sinal diferente não funcionou.

   Acho que vale a pena fazer uns testes para ver o que muda.

   D.T. Ribeiro.

Bom dia DT Ribeiro, 

O Maurivan já usa um  módulo que já faz essa adaptação do sensor TC ao circuito do ADC do Arduino. Não é necessário nenhum outro circuito ou componente. 

Faltou o anexo. Denovo!   :-)

Anexos

Boa tarde, Gustavo.

   Você, por acaso, teria o esquema elétrico do módulo?

   Se tiver, pode postar aqui?

   Fiquei intrigado com esta questão.

   Desde já, te agradeço.

D.T Ribeiro

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço