Вы находитесь на странице: 1из 27

SCT-013 – Sensor de Corrente Alternada com Arduino

Neste tutorial ensinaremos a você como medir corrente alternada e estipular a potência instantânea de um circuito utilizando o Sensor de corrente alternada não invasivo SCT-013 juntamente com Arduino.
Para este projeto, iremos medir a corrente e a potência de um ferro de solda.

Esse tutorial é dividido em três partes.

1. Introdução: Nessa parte você conhecerá um pouco mais o sensor SCT013


2. Mãos à obra: Aqui você aprenderá a usar o Sensor de corrente SCT-013 na prática
3. Entendendo a fundo: Por m você entenderá como funciona o software e hardware usado na experiência da parte 2

Índice [Ocultar]

1 SCT-013 – Sensor de Corrente Alternada com Arduino


1.1 Sensor de corrente não invasivo SCT-013
1.2 Um pouco de física
1.3 Transformadores de corrente
1.4 Transformador de corrente SCT-013
2 Mãos à Obra – Monitorando a corrente AC com o Sensor de corrente SCT-013
2.1 Componentes necessários
2.2 Montando o projeto
2.3 Programando
2.4 Colocando para funcionar
3 Entendendo a fundo
3.1 Software
3.2 Hardware
3.3 Mudando o range de medição
4 Desa o
5 Considerações nais

Sensor de corrente não invasivo SCT-013


O sensor de corrente SCT-013 é muito versátil e tem como principal vantagem o fato de não precisar de contato elétrico com o circuito para medir a corrente elétrica alternada. Ou seja, não precisamos abrir o
circuito para ligá-lo em série com a carga, basta apenas “abraçar” um dos os ligados ao equipamento a ser monitorado.

Sensor de corrente SCT013

Um pouco de física
Para fazer a medição da corrente sem a necessidade de contato elétrico com o circuito esse sensor de corrente alternada utiliza as propriedades magnéticas da corrente elétrica.

– Lei de Ampère
A Lei de Ampère diz que todo condutor por onde ui uma corrente elétrica induz ao seu redor um campo magnético proporcional à corrente.

Linhas de campo geradas pela


corrente elétrica
– Corrente Alternada
A corrente alternada tem uma peculiaridade de se comportar como uma senoide, sendo assim sua intensidade varia ao longo do tempo indo do máximo positivo ao máximo negativo. Esse comportamento
oscilatório tem uma frequência que pode ser de 50Hz ou de 60Hz conforme o país ou região. No Brasil é adotado a frequência de 60Hz, ou seja: a corrente elétrica varia entre positivo e negativo 60 vezes em 1
segundo.

Corrente Alternada

Como o campo magnético é proporcional ao valor de corrente, o campo magnético gerado ao redor do condutor percorrido por uma corrente alternada irá variar ao logo do tempo conforme a variação da
mesma.

– Lei de Faraday – lei da indução eletromagnética


A lei de Faraday diz que um campo magnético que varia ao longo do tempo induz em uma espira uma força eletromotriz que gera um corrente elétrica proporcional a intensidade do campo magnético.
Lei de Faraday

Na gura acima podemos entender essa lei na prática. Veja que ao aproximar o imã das espiras estamos variando o campo magnético e está sendo indicado uma tensão no voltímetro (força eletromotriz)
chegando quase a 20V. Depois, ao afastar o imã temos a tensão indo quase a 20V no sentido contrário.

– Resumo
1. Lei de Ampère: Um condutor percorrido por uma corrente induz a formação de um campo magnético ao seu redor de valor proporcional à corrente;
2. Corrente Alternada: A corrente alternada varia ao longo do tempo gerando um campo magnético também variante ao longo do tempo;
3. Lei da indução de Faraday: Um campo magnético variante no tempo induz numa espira uma tensão, e por consequência um corrente elétrica, proporcional à intensidade do campo magnético

Levando em conta essas três propriedades, podemos montar um transformador de corrente.

Transformadores de corrente
Existe uma grande gama de sensores de corrente que usam essas propriedades magnéticas. Esse sensores são conhecidos com TC (Transformador de Corrente), que em inglês é CT (Current Transformer).

Um transformador de corrente, nada mais é que um conjunto de espiras que são colocadas ao redor de um condutor ao qual queremos medir a corrente. O transformador de corrente (TC) terá em seus polos
uma corrente alternada induzida Is, que é proporcional a corrente alternada Ic que percorre o condutor ao qual pretendemos medir a corrente elétrica.

Esquema para exempli car o SCT-013

A corrente induzida no TC também será inversamente proporcional ao número de espiras de sua bobina.


Esse sensores são divididos em 2 modelos: Os split-core (núcleo dividido) e os solid-core (núcleo sólido).

Solid-core CT – Transformador de núcleo


sólido ou núcleo anel – Não possui
possibilidade de abertura

Split-core CT – Transformador de
corrente de núcleo dividido –
Permite a abertura

Transformador de corrente SCT-013


SCT é a sigla para Split-core Current Transformer, ou seja, Transformador de corrente de núcleo dividido. Para fazer fazer a medição da corrente elétrica o  SCT-013 possui uma bobina interna em sua
estrutura, como podemos ver na gura abaixo.
Bobina do Sensor de corrente
não invasivo SCT013

Podemos ver essa bobina com mais detalhes na foto a seguir

Dentro do Sensor de corrente SCT013


O circuito é bem simples:

Circuito interno do SCT-013

– Os Modelos de SCT-013
Com base nesse princípio de funcionamento, foram criados diferentes tipos de sensores não-invasivos, como pode ser observado em seu datasheet, com o objetivo de atenderem os mais diversos cenários, de
forma que não exista um “melhor”, mas sim o mais recomendado para a aplicação recorrente.

Tabela com os diferentes modelos do sensor de corrente não-invasivo

As duas principais diferenças são a Corrente e caz máxima a ser medida (Input current) –  e o Tipo de saída do sensor (Output type).

É possível observar que somente o modelo SCT-013-000 apresenta uma variação de corrente em sua saída de 0-50mA, já os outros modelos apresentam uma variação tensão de 0-1V, onde por meio destas
variações é possível mensurar a corrente elétrica.
Para sabermos qual será a taxa variação tanto de corrente quanto de tensão basta dividirmos o valor máximo  da saída pelo valor máximo a ser medido. Abaixo temos alguns exemplos deste cálculo:

SCT-013-000:
0,05 / 100 = 0,5mA. A cada um Ampere a mais ou a menos, sua saída será de 0,5mA para mais ou a menos;
SCT-013-005:
1 / 5 = 0,2V. A cada um Ampere a mais ou a menos, sua saída será de 0,2V para mais ou a menos;
SCT-013-050:
1 / 50 = 0,02V. A cada um Ampere a mais ou a menos, sua saída será de 0,02V para mais ou a menos.

– SCT-013-000 – 100A / 0-50mA


Para esse tutorial usaremos o SCT-013-000. Ele poder medir valores de 0 até 100A de corrente alternada. Em sua saída teremos valores entre 0 a 50mA proporcionais ao valor de corrente percorrido no
condutor principal.

Como nosso Arduino só lê valores de tensão, iremos precisar montar um circuito auxiliar para que essa corrente percorra um resistor e assim possamos converter os valores de correntes gerado pelo sensor
em valores de tensão. Explicaremos o passo a passo de como dimensionar esse circuito no tópico Entendendo o Hardware.

Mãos à Obra – Monitorando a corrente AC com o Sensor de corrente SCT-013


Componentes necessários
Serão necessários os seguintes componentes para a execução deste projeto:

1 x Placa Arduino;
1 x Sensor de corrente SCT-013 100A;
1 x Protoboard;
2 x Resistores de 10kΩ;
1 x Resistor de 330Ω;
1 x Capacitor eletrolítico de 100uF;
Jumpers;
Utilizaremos o SCT-013 100A e o Arduino Uno, além de um aparelho que terá sua corrente elétrica medida, no nosso caso, um ferro de solda. Você poderá medir a corrente elétrica de outros dispositivos.

O resistor de 330Ω foi dimensionado por meio de uma sequência de cálculos com o propósito de aumentar a precisão das medidas deste sensor de corrente. Os cálculos poderão ser visto na sessão
“Entendendo o SCT-013”.

*Caso o seu SCT-013 seja de outro modelo ao invés de 100A, o passo a passo será diferente.

Montando o projeto
Esse sensor de corrente normalmente vem com um plugue P2 do tipo macho em sua ponta. Para esse tutorial nós removemos ele e conectamos os dois os presentes no interior do cabo diretamente na
protoboard. Caso você não queira remover o plugue P2, recomendamos que você adquira um plugue P2 do tipo fêmea para poder utilizar esse sensor de corrente.

Com os componentes em mãos, montaremos o seguinte circuito na protoboard:


Após realizar esta montagem, é necessário conectar o SCT-013 ao condutor por onde a corrente elétrica a ser medida passará.
AVISO: Não conecte este sensor de corrente de acordo com a imagem abaixo, pois não será possível medir a corrente elétrica. A explicação do por quê será feita mais
abaixo.
Como a corrente elétrica produz campo magnético conforme seu sentido e o sentido da corrente em um o é o oposto ao sentido do outro o, os campos magnéticos
produzido pelos dois acabam se anulando. Se não há campo magnético, não há indução magnética no transformador do sensor de corrente, fazendo com que não circule a
corrente Is necessária para a medição da corrente Ic consumida. Por esse motivo não podemos conectar este sensor aos dois os de alimentação.

Com isso nalizamos o hardware do nosso projeto. Agora, bora programar!

Programando
– Bibliotecas necessária
É necessário baixar a biblioteca EmonLib (download). Após baixar, descompacte e mova para a pasta libraries da IDE do Arduino. A EmonLib será utilizada para nos auxiliar a calcular o valor da corrente
elétrica consumida.

– Código utilizado
Para sabermos quantos Amperes estão passando pelo condutor, basta realizar a seguinte programação:

1 #include "EmonLib.h"
2
3 EnergyMonitor SCT013;
4
5 int pinSCT = A0; //Pino analógico conectado ao SCT-013
6
7 int tensao = 127;
8 int potencia;
9
10 void setup()
11 {
12 SCT013.current(pinSCT, 6.0606);
13
14 Serial.begin(9600);
15 }
16
17 void loop()
18 {
19 double Irms = SCT013.calcIrms(1480); // Calcula o valor da Corrente
20
21 potencia = Irms * tensao; // Calcula o valor da Potencia Instantanea
22
23 Serial.print("Corrente = ");
24 Serial.print(Irms);
25 Serial.println(" A");
26
27 Serial.print("Potencia = ");
28 Serial.print(potencia);
29 Serial.println(" W");
30
31 delay(500);
32
33 Serial.print(".");
34 delay(500);
35 Serial.print(".");
36 delay(500);
37 Serial.println(".");
38 delay(500);
39 }

Após compilar e enviar o código ao Arduino, os valores de corrente elétrica e potência instantânea serão mostrados no Monitor Serial da IDE do Arduino, e serão atualizados a cada 2 segundos.

Colocando para funcionar


Código compilado e circuito montado! Veja abaixo o resultado.
Circuito montado na prática

Monitor Serial aberto


Entendendo a fundo
Software
– Incluindo as bibliotecas a serem utilizadas no projeto
Inicialmente, observe que foi necessário incluir uma biblioteca no código para que o mesmo pudesse funcionar corretamente. A biblioteca EmonLib.h é a responsável por realizar os cálculos para encontrar o
valor e caz da corrente a ser medida, baseando-se nas amostras colhidas no pinSCT.

1 #include "EmonLib.h"

– Declarando o objeto SCT013


Em seguida, cria-se um objeto que será utilizado posteriormente para representar o sensor de corrente SCT-013 no código.

Lembre-se: SCT013 é apenas um nome, sendo assim, é importante ressaltar que este objeto poderia ser chamado por qualquer outro nome, como por exemplo,
sensorSCT.

1 EnergyMonitor SCT013;

– De nindo as con gurações iniciais


Declaramos pinSCT = A0 para poder facilitar e tornar intuitivo o uso da porta analógica do arduino.

1 int pinSCT = A0; //Pino analógico conectado ao SCT-013

Declaramos duas variáveis, uma chamada Tensao, e atribuímos o valor de 127, que equivale a tensão da rede aqui no nosso estado, e outra chamada Potencia, que será utilizada para reservar o resultado da
multiplicação da tensão e da corrente.

1 int tensao = 127;


2 int potencia;
No void setup(), chamamos a função SCT013.current(pinSCT, 6.0606) da biblioteca EmonLib, para que seja realizado o cálculo do valor e caz da corrente, onde ele se baseará nas amostras lidas do pinSCT, e
é empregado um valor de calibração de 6.0606 que ensinaremos como encontra-lo mais abaixo.

1 SCT013.current(pinSCT, 6.0606);

Habilitamos também a comunicação serial entre o arduino e o computador por meio do comando Serial.begin(9600).

1 Serial.begin(9600);

Caso você tenha dúvidas sobre como utilizar a comunicação serial do arduino, recomendamos que veja o tutorial Comunicação Serial Arduino (clique aqui), presente no
portal.

– Aquisição do valor de corrente


Na função void loop(), utiliza-se primeiramente a função SCT013.calcIrms() para atribuir o valor de corrente à variável Irms. O valor entre parênteses representa o número de amostras que a função irá ler do
pinSCT.

1 double Irms = SCT013.calcIrms(1480);

Veja que SCT013 é o nome que de nimos para o objeto. Para usar uma função ligada a esse objeto, colocamos seu nome seguido de ponto e o nome da função. Ex:
nomeobjeto.calcIrms().

– Cálculo da potência instantânea


Por meio da multiplicação da corrente Irms pela tensão estipulada, conseguimos descobrir a potência do dispositivo.

1 potencia = Irms * tensao;

Em seguida imprimimos o valor de corrente e da potência no monitor serial:

1 Serial.print("Corrente = ");
2 Serial.print(Irms);
3 Serial.println(" A");
4
5 Serial.print("Potencia = ");
6 Serial.print(potencia);
7 Serial.println(" W");
Esperamos um tempo para a próxima medição.

1 delay(500);
2 Serial.print(".");
3 delay(500);
4 Serial.print(".");
5 delay(500);
6 Serial.println(".");
7 delay(500);

Hardware
– Corrente gerada pelo sensor
O sensor é calibrado para medir a corrente alternada máxima de 100A AC. Esse valor de 100A é o valor RMS, que também é chamado de valor e caz. O valor RMS é igual ao máximo valor que a corrente pode
alcançar (corrente de pico) dividido pela raiz quadrada de dois. 

Então, temos que a corrente de pico máxima medida é de 141.4A:

i (medido) = √2 * i (rms) = 1,414 * 100A = 141,4 A

Sabendo que para uma corrente de 100A no primário, ele produz 50mA no secundário, é só jogarmos na fórmula de relação de transformação. O resultado será:
N1 / N2 = I2 / I1

I1 = corrente no primário (corrente a ser medida);


I2 = corrente no secundário;
N1 = número de votas do primário (no caso deste sensor, N1 será igual a 1);
N2 = número de voltas do secundário.

N2 = 2000 espiras.

A corrente na saída do sensor é inversamente proporcional ao número de voltas (aqui é 2000):

i (sensor) = i (medido) / numero_de_espiras = 141,4A / 2000 = 0,0707A

Teremos na saída do sensor o sinal da corrente induzida semelhante ao da gura a seguir:

Sinal na saída do SCT013 para um valor de


corrente e caz  de 100A

– Transformando corrente em tensão – Calculando a resistência de carga


O Arduino UNO só realiza, em seus pinos de entrada analógica, a leitura de níveis de tensão (entre 0V a 5V). Dessa forma, precisamos converter o sinal de corrente alternada do SCT-013 para um valor de
tensão que seja legível para o Arduino.

O primeiro passo é adicionar um resistor de carga entre os polos do sensor de corrente:


Como a corrente alterna em torno de zero, vamos escolher um resistor que de na saída um valor máximo de tensão de 2,5V.

R(carga) = U(sensor)/I(sensor) = 2,5V / 0,0707A = 35,4Ω

O resistor de carga ideal é de 35,4Ω para uma corrente de até 100A, nesse caso usariamos um resistor de 33Ω. Dessa forma teremos o seguinte sinal de tensão sobre o resistor de carga:

Sinal de tensão sobre o resistor de carga de 33Ω para uma


corrente e caz de 100A

OBS: Para nosso projeto, não iremos medir valores maiores que 10A. Dessa forma, podemos considerar que nossa corrente máxima é 10 vezes menor. Logo:

i (sensor) = i (medido) / numero_de_espiras = 14,14A / 2000 = 0,00707A

R(carga) = U(sensor)/I(sensor) = 2,5V / 0,00707A = 354Ω

Portanto, para nosso projeto adotamos o resistor de 330Ω.

Ou seja, você pode calcular o resistor ideal para a faixa de operação que você precisa. Se for 100A, você pode adotar o de 33Ω, se for de 10A você pode usar um resistor
de 330Ω. Para outros valores, basta você calcular.

Seguiremos essa explicação considerando a faixa de operação de 100A, que é o máximo para nosso sensor.

– Convertendo sinal de tensão AC para DC


Agora temos um sinal de tensão alternada variando entre 2,5V positivo e 2,5V negativo. O Arduino não pode medir tensão negativa, então precisamos somar 2,5 V ao sinal para que ele varie entre 0V a 5V.

O primeiro passo para isso é montar um divisor de tensão usando a alimentação de 5V que a placa Arduino fornece.  Assim, consideramos R1 e R2 iguais a 10kΩ, e com isso, a tensão sobre eles será igual, pois
os 5V provenientes do Arduino se dividirá igualmente entre eles.
Circuito divisor de tensão

Em seguida adicionamos um capacitor entre o GND e a saída de 2,5V no meio do divisor de tensão:

Circuito de o set

Esse circuito funcionará como uma bateria de 2,5V adicionando essa tensão à fonte AC. Este valor de tensão que acrescentamos a forma de onda é chamado de o set.
Forma de onda da tensão no resistor de carga

Forma de onda com o set

Veja como vai ca nosso circuito:


Na gura a seguir mostramos o circuito com seus respectivos sinais:
Como explicado, o circuito de o set funciona como uma fonte tensão de 2,5V DC, somando essa tensão à senoide do SCT-013. O circuito poderia ser ilustrado como a gura a seguir:

– Calibrando o software
Agora que sabemos o sensor carga, modi camos a função SCT013.current onde de nimos o pino de entrada e o valor de calibração.

1 SCT013.current(pinSCT, Valor_de_Calibracao);

Este valor é de calibração, destinado justamente para caso queiramos mudar o valor do resistor de carga. Para descobrir ele, basta dividir o número total de voltas (espiras) do secundário pelo valor do resistor
de carga dimensionado:

Valor_de_Calibração = 2000 / 33
Valor_de_Calibração = 60,606

Dessa forma, teremos:

1 SCT013.current(pinSCT, 60,606);

obs: Para nosso projeto prático nosso resistor escolhido foi de 330Ω devido ao fato de trabalharmos com uma faixa de operação de 10A. Dessa forma o valor de
calibração usado no projeto prático foi de 6,0606.

Valor_de_Calibração = 2000 / 330 = 6,0606

Mudando o range de medição


Calculamos até aqui o valor de uma resistência de carga e valor de calibração do software que possibilita nosso software medir valores de corrente e cazes de até 100A, que é o máximo valor de projeto do
sensor. Só que conforme a aplicação, nunca chegaremos a correntes tão altas. Por isso, podemos calibrar nosso software e circuito para ler valores de máxima corrente distintos, desde que estejam dentro do
permitido para esse sensor.

Talvez você tenha percebido inclusive que o valor de resistência encontrado em nossos cálculos (33Ω) foi 10 vezes menor que o usada em nossa experiencia (330Ω). Para nosso projeto adotamos uma corrente
máxima de 10A, visto que a maiorias dos eletrodomésticos consomem correntes menores que esse valor.

Para calcular a resistência de carga adequada basta repetirmos os seguintes passos:

– Passo 1 – Escolher a corrente rms máxima que será medida pelo circuito

imax (rms) = 10A

– Passo 2 – Converter esta corrente para o valor de pico:

i (medido) = √2 * imax (rms) = 1,414 * 10A = 14,14 A

– Passo 3 – Descobrir o número total de espiras da bobina do secundário:

Sabendo que para uma corrente de 100A no primário, ele produz 50mA no secundário, é só jogarmos na fórmula de relação de transformação. O resultado será:
N1 / N2 = I2 / I1

I1 = corrente no primário (corrente a ser medida);


I2 = corrente no secundário;
N1 = número de votas do primário (no caso deste sensor, N1 será igual a 1);
N2 = número de voltas do secundário.

N2 = 2000 espiras.

– Passo 4 – Calcular a corrente de pico máxima do secundário do SCT-013:

i (sensor) = i (medido) / numero_de_espiras = 14,14A / 2000 = 0,00707A

– Passo 5 – Dimensionar o resistor de carga:

R(carga) = U(sensor)/I(sensor) = 2,5V / 0,00707A = 354Ω

Para o projeto, arredondamos este valor para 330Ω, que é um valor comercial de resistor.

R(carga) = 330Ω

– Passo 6 – Colocando o valor de calibração no software:

Agora que sabemos o sensor carga, modi camos a função SCT013.current onde de nimos o pino de entrada e o valor de calibração.

1 SCT013.current(pinSCT, Valor_de_Calibracao);

Este valor é de calibração, destinado justamente para caso queiramos mudar o valor do resistor de carga. Para descobrir ele, basta dividir o número total de voltas (espiras) do secundário pelo valor do resistor
de carga dimensionado:

Valor_de_Calibração = N2 / R(carga)

Valor_de_Calibração = 2000 / 330

Valor_de_Calibração = 06,0606
Dessa forma, teremos:

1 SCT013.current(pinSCT, 6.0606);

Pronto, agora você sabe como adaptar o hardware para o seu projeto.

Desa o
Desenvolva um projeto em que seja possível medir a potência requisitada por um determinado equipamento. Para isto, utilize o sensor de corrente SCT-013 (tratado com detalhes neste material) em conjunto
com, por exemplo, o sensor de tensão GBK P8.

Considerações nais
Esperamos que este tutorial tenha esclarecido algumas dúvidas sobre os procedimentos necessários para realizar monitoramento das correntes elétricas utilizadas nos acionamentos dos seus equipamentos.
Obrigado pela atenção e continue buscando conhecimento no portal do Vida de Silício.