Manual
do
Maker
.
com
Esse sensor de corrente não invasivo é espetacular. E tenho que começar o artigo dizendo isso, porque é mesmo. Para quem não sabe, esse sensor é chamado de "não invasivo" porque não é necessário interceptar a rede para fazer a medição de corrente, como é o caso do ACS712. E isso evita muitos problemas, de fato incluindo a possiblidade de erros, o que pode acabar em um curto, ainda mais se você não tem intimidade com corrente alternada.
Esse sensor pode medir até 100A e para utilizado adequadamente, será necessário fazer um pequeno "tunning" para ajustar a range dentro da corrente de medição pretendida.
Esse sensor está disponível para venda na Fulltronic através desse link. A Fulltronic é a mesma que vende o EasyDriver pelo melhor preço que encontrei até agora, se por acaso pretende controlar um motor de passo com eximia, veja o produto aqui. E já deixo também o link para fazer um bom controle do motor de passo com esse driver, nesse link. Voltando ao tema.
E vejam só, tem biblioteca pronta para utilizar esse sensor. É a EmonLib, que está disponível através do gerenciador de bibliotecas do Arduino através dos menus Sketch > Include Library > Manager Libraries. Tudo o que você precisa fazer é acessar esse menu e digitar EmonLib na caixa de pesquisa, então clique em instalar.
Não costumo escrever artigos sem explicar os detalhes, mas é um saco calcular os resistores e a coisa toda, então vou direto ao assunto, mas se quiser ler detalhes a respeito, siga esse link (em inglês). Uma documentação focada em Arduino pode ser vista nesse outro link (também em inglês). Basicamente, vamos considerar uma rede elétrica de 110V/220V. No circuito, inevitavelmente teremos que adicionar alguns resistores e um capacitor. A lista de materiais adicionais:
O sensor vem com um conector P2, cujo conector você pode cortar para colocá-lo a uma protoboard, ou então fazer um pequeno circuito. Por acaso eu tenho aqui o jack P2, então vou utilizá-lo em uma placa de prototipagem.
No último link supracitado tem um esquema de exemplo, que é esse:
Pelo diagrama, temos um divisor de tensão R1 e R2, além de um resistor de carga. O wiring é a parte mais simples e fica assim:
Esse código servirá para 110 ou 220. Desconsiderando os conceitos envolvidos, é extremamente simples codificar para esse sensor de corrente não invasivo:
#include <EmonLib.h>
#define PIN_SENSOR A1
EnergyMonitor emon;
void setup(){
Serial.begin(9600);
//Cur Const= Ratio/BurdenR. 2000/33 = 60
emon.current(PIN_SENSOR, 60);
}
void loop(){
double irms = emon.calcIrms(1480);
Serial.print("Corrente: ");
Serial.print(irms);
Serial.println("A");
delay(1000);
}
Você pode adicionar uma rotina com timer para fazer as medições independentemente do código do loop. Caso deseje experimentar, sugiro esse outro artigo.
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.