Manual

do

Maker

.

com

Sensor de corrente não invasivo SCT013 com Arduino

Sensor de corrente não invasivo SCT013 com Arduino

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.

Onde comprar o sensor de corrente não invasivo

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.

Biblioteca para  o sensor de corrente não invasivo SCT013

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.

Wiring

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:

  • 1 resistor de 33ohms
  • 2 resistores de 10K
  • 1 capacitor de 10uF

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:

scheme.webp

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:

sensor_corrente_n_invasivo-wiring.webp

Código

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.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.