Neste post, é mostrado o funcionamento do sensor de corrente não invasivo SCT-013 e como usá-lo com o Arduino.
Como funciona o sensor de corrente SCT-013?

A grande vantagem do sensor de corrente não invasivo é que não é necessário interromper o circuito para fazer a medição. Dentro do sensor de corrente, há um circuito magnético, uma bobina com um núcleo de ferrite dividido.

A corrente elétrica produz um campo magnético, seguindo a regra da mão direita. Se a corrente for alternada, o sentido desta muda em uma determinada frequência, consequentemente, o sentido do campo magnético gerado também muda.


No sensor SCT-013, o núcleo fica em torno do cabo, no qual a corrente elétrica está sendo medida. O campo magnético variável da corrente (Ip) induz uma tensão na bobina do sensor, produzindo uma corrente secundária (Iout), que é proporcional a Ip. Este é o princípio do transformador de corrente.

O que é o TVS no circuito? É um diodo TVS bidirecional, cuja função é proteger o circuito de picos de tensão durante a descarga do indutor. Este sensor só consegue medir corrente alternada com valor eficaz de até 100 A.
Outras características do SCT-013:
- Temperatura de operação: entre -25ºC e 70ºC.
- Não linearidade (a falta de proporção linear entre as correntes de saída e de entrada): 3%.
- Corrente de saída: de 0 a 50mA.
- Como a corrente de saída (Is) é de 50 mA, para uma corrente primária (Is) de 100A, a razão de enrolamento é de 1:2000, ou seja, o sensor possui 2000 espiras na bobina e considera-se o cabo que está sendo medido como uma espira do enrolamento primário (Np) do transformador de corrente. Abaixo a relação do transformador ideal.
Testando o sensor de corrente com o Arduino
Interface entre o SCT-013 e o Arduino
A entrada analógica do Arduino só consegue ler valores de 0 até 5V. Portanto, é necessário condicionar o sinal para não danificar o Arduino. Com esta finalidade, precisa usar o jack J-2 stereo fêmea, para fazer a ligação do plugue P2 do SCT-013 com o circuito de interface.



Calculando a corrente de pico máxima (I_{peak}) que o sensor pode medir:
I_{peak}=I_{RMS}\times\sqrt{2}=100\times\sqrt{2}=141,4A
Usando a relação entre corrente e número espiras, sendo I_{p}=141,4A.
I_{S}=0,0707A=70,7mA
Como a entrada analógica do Arduino só lê valores de 0 a 5V, a tensão máxima sobre o resistor de carga (Rb) deve ser de 2,5V. Logo:
É adequado usar o valor comercial de 33Ω. Os resistores R1 e R2 devem ser iguais, para que a tensão de offset seja 2,5V, desta forma, não aparecerá valores negativos na entrada do Arduino. O valor escolhido arbitrariamente para ambos foi de 10kΩ. A função do capacitor C é transformar o sinal senoidal em um mais linear com um ripple. O valor de C é de 10μF.
Encontrando o valor de calibração
O valor de calibração é importante para o transformador de corrente medir corretamente e este valor deve ser colocado no algoritmo. O valor de calibração é a divisão do número de voltas do secundário do transformador (no caso 2000) pelo resistor de carga Rb.
No entanto, se a corrente máxima que você pretende medir for menor que 100A, o resistor de carga Rb e o valor de calibração devem ter valores diferentes. No meu caso, determinei a corrente máxima eficaz de 5A. Utilizando os cálculos mostrados anteriormente, o valor comercial de Rb é de 680Ω e o fator de calibração é de 2,941.
Lista completa de materiais, circuito e algoritmo
- Sensor de corrente SCT-013.
- Arduino Uno.
- Jack J-2 stereo fêmea.
- Capacitor eletrolítico 10μF x 16V.
- 3 resistores: 2 de 10kΩ e um de 680Ω.

O circuito em protoboard e o algoritmo para teste, respectivamente. É necessário baixar a biblioteca “EmonLib.h”, cujo link está aqui.

#include <EmonLib.h> //Nome da biblioteca.
EnergyMonitor SCT013; //Instância do sensor.
int sensor = A0;
int voltage = 127;
void setup() {
Serial.begin(9600);
SCT013.current(sensor,2.941); //(pino de entrada analógica,valor de calibração);
}
void loop() {
double Irms = SCT013.calcIrms(2000);//função da biblioteca para calcular a corrente //eficaz.
Serial.print("Corrente = ");
Serial.print(Irms);
Serial.println(" A");
delay(400);
}
Importante: o SCT-013 mede apenas a corrente alternada de um condutor por vez, se medir 2 ou mais condutores, os campos magnéticos destes se cancelarão e o sensor medirá a corrente como zero.

Eis o que deve aparecer na tela Serial.

No próximo post, mostrarei um projeto com o sensor de corrente SCT-013 e um display gráfico LCD 128×64, que é um pouco diferente do display 16×2. Aguardem!

