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.
- Introdução: Nessa parte você conhecerá um pouco mais o sensor SCT013
- Mãos à obra: Aqui você aprenderá a usar o Sensor de corrente SCT-013 na prática
- Entendendo a fundo: Por fim você entenderá como funciona o software e hardware usado na experiência da parte 2
[toc]
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 fios ligados ao equipamento a ser monitorado.
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 flui uma corrente elétrica induz ao seu redor um campo magnético proporcional à corrente.
– 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.
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.
Na figura 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
- 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;
- Corrente Alternada: A corrente alternada varia ao longo do tempo gerando um campo magnético também variante ao longo do tempo;
- 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.
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).
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 figura abaixo.
Podemos ver essa bobina com mais detalhes na foto a seguir
O circuito é bem simples:
– 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.
As duas principais diferenças são a Corrente eficaz 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 fios 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 fio é o oposto ao sentido do outro fio, 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 fios de alimentação.
Com isso finalizamos 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:
#include "EmonLib.h" EnergyMonitor SCT013; int pinSCT = A0; //Pino analógico conectado ao SCT-013 int tensao = 127; int potencia; void setup() { SCT013.current(pinSCT, 6.0606); Serial.begin(9600); } void loop() { double Irms = SCT013.calcIrms(1480); // Calcula o valor da Corrente potencia = Irms * tensao; // Calcula o valor da Potencia Instantanea Serial.print("Corrente = "); Serial.print(Irms); Serial.println(" A"); Serial.print("Potencia = "); Serial.print(potencia); Serial.println(" W"); delay(500); Serial.print("."); delay(500); Serial.print("."); delay(500); Serial.println("."); delay(500); }
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.
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 eficaz da corrente a ser medida, baseando-se nas amostras colhidas no pinSCT.
#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.
EnergyMonitor SCT013;
– Definindo as configurações iniciais
Declaramos pinSCT = A0 para poder facilitar e tornar intuitivo o uso da porta analógica do arduino.
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.
int tensao = 127; 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 eficaz 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.
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).
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.
double Irms = SCT013.calcIrms(1480);
Veja que SCT013 é o nome que definimos 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.
potencia = Irms * tensao;
Em seguida imprimimos o valor de corrente e da potência no monitor serial:
Serial.print("Corrente = "); Serial.print(Irms); Serial.println(" A"); Serial.print("Potencia = "); Serial.print(potencia); Serial.println(" W");
Esperamos um tempo para a próxima medição.
delay(500); Serial.print("."); delay(500); Serial.print("."); delay(500); Serial.println("."); 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 eficaz. 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 figura a seguir:
– 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:
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.
Em seguida adicionamos um capacitor entre o GND e a saída de 2,5V no meio do divisor de tensão:
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 offset.
Veja como vai fica nosso circuito:
Na figura a seguir mostramos o circuito com seus respectivos sinais:
Como explicado, o circuito de offset 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 figura a seguir:
– Calibrando o software
Agora que sabemos o sensor carga, modificamos a função SCT013.current onde definimos o pino de entrada e o valor de calibração.
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:
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 eficazes 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, modificamos a função SCT013.current onde definimos o pino de entrada e o valor de calibração.
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:
SCT013.current(pinSCT, 6.0606);
Pronto, agora você sabe como adaptar o hardware para o seu projeto.
Desafio
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 finais
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.
Técnico em eletrotécnica e estudante de Engenharia Elétrica pelo IFES.
58 Comments
Deixe uma pergunta, sugestão ou elogio! Estamos ansiosos para ter ouvir!Cancelar resposta
Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.
What is the maximum allowed voltage for the line the SCT-013 sensor will measure current from? since it has 2000 rounds in the winding for a line of 120V the voltage in the output will be (120V)(2000) = 240000 Volts!
Parabéns Ezequiel, o material foi muito bem apresentado
Boa Noite…
Queria realizar o medidor de AC, apresentado neste tutorial; precisando de ajuda, posso pedir assistência ?
Olá! Incrível tutorial!
Gostaria de saber como faço a calibração utilizando o sensor de 50A/1V.
Ezequiel, bom dia!
Gostaria além desse senor de corrente, um sensor de tensão também no mesmo programa. O sensor que estou utilizando para mediar a tensão é do modelo ZMPT101B e o de corrente é o mesmo que você utilizaou no seu exemplo acima. Obrigado!
Parabéns!!!!!
Que didática!!!
Adorei o tutorial!!!!
Parabéns pelo trabalho.
Gostaria de saber se a possibilidade de colocar um led de 16×2 no circuito ?
Pessoal, preciso de uma ajuda forte aqui. Tentei usar a biblioteca Emonlib com sct-013-000 para medir as correntes de um motor trifásico, mas não obtive sucesso. Sempre somente a primeira corrente é medida. Há como usar esta biblioteca para 3 fases? Como? Algum link de exemplo usando a Emonlib? Preciso de ajuda urgente, pois esta é a última parte de um trabalho que estou desenvolvendo e que não dá certo de jeito nenhum.
Oi Danilo, tudo bem? Estou com o mesmo problema, achou alguma biblioteca ou exemplo para trifásico?
Boa Tarde, gostaria de tirar uma dúvida, eu tenho sensor de 50A/1V. Com ele também preciso montar o circuito para converter a corrente de saída que vai no arduino em tensão? obrigado.
É possível medir cc com ele?
Obrigado
Boa tarde.Otimo post. Para que o equipamento mostre Wh e kW/h, qual seria a formula no projeto? Obrigado
Ótimo tutorial, mas como zerar as medições, há valores na serial, mesmo sem conector no sensor !
Ola tudo bem?
Segui os mesmos passo, mas somente para um sensor de 30A, entretanto mesmo com o sensor nao plugado em um fio, me aparece um corrente de1.4 A. saberia me dizer o que poderia ser?
Bom dia, e se eu ligar em uma Raspberry? no caso vou colocar uma conversor digital/analógico, poço manter esse circuito ?
Ótimo tutorial, mas como zerar as medições, há valores na serial, mesmo sem conector no sensor !
Boa tarde. Primeiramente, gostaria de elogiar sua publicação e todo o trabalho envolvido.
Apesar disso, ainda tenho uma dúvida:
Você realizou alguma comparação entre o valor medido com o sensor com algum outro instrumento de medição de corrente certificado?
Boa tarde, Ezequiel.
Tira uma dúvida, por favor.
“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Ω”
Porque escolheu o valor de 2,5V?
U(sensor) = 2,5 V.
Porque?
Poderia me explicar porque foi escolhido o valor de 2,5V?
parabéns pelo post!!! muito bem escrito !!!
Muito bom o tutorial. Tenho um projeito para fazer utilizando um sensor de corrente e informar se esse eletronico esta ligado ou nao. Para isto preciso de um “if” ou de um comando mais detalhado?
Bom dia,
Muito bom seu tutorial, parabéns!
Vou tentar replicar, mas estou com dúvida no capacitor, qual a tensão que eu devo comprar?
Acredito que qualquer capacitor eletrolítico de 100uF já vá lhe atender, porque a tensão utilizada é bem baixa.
Boa noite, alguém já mediu algum sinal de corrente por exemplo de um secador de cabelo na escala médio (meia potência) ?
Boa tarde. Gostaria de saber como poderia utilizar dois ou mais sensores no mesmo arduino. Obrigado
Já descobri. Obrigado!!
Oi Leandro,
Estou há horas aqui tentando descobrir como colocar dois sensores no mesmo projeto. Como fez?
Já tentei tudo que parece lógico (criar dois objetos, duas leituras etc) mas nada funciona.
Grato
Oi boa noite, com o seu tutorial conseguir fazer funcionar o sc013 no esp32,mas quando eu uso sct013 ou potenciômetro (qualquer coisa analógica), so funciona se eu deixar apenas os comandos necessários para ele funcionar , quando eu coloco os comandos para funcionar o wifi , não consigo ler valores analógicos , vc sabe o porque ? me ajude por favor
Não consigo imaginar a causa desse problema.
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/adc.html
Boa tarde. Vi que o módulo wifi usa o único pino analógico disponível no ESP32.
Boa tarde amigo, excelente post. Obrigado por compartilhar.
Tenho uma dúvida e não estou encontrando a resposta. Você saberia me dizer se o fio ficar vibrando ou não ficar no centro da circunferência da bobina altera o resultado da leitura? O mais correto seria o fio ficar no centro da circunferência ou isso não importa?
Desde que esteja dentro do sensor, e que ele esteja fechado corretamente, o resultado será o mesmo.
Amigo,primeiramente parabéns!!!
Por facor, como voce calculou o capacitor?
Obrigado pelo feedback!
Com relação ao capacitor, foi por meio de testes de bancada que cheguei a esse valor.
PARABENS MUITO BEM EXPLICADO VALEU
Obrigado pelo feedback Diego!
Você pode me dar um exemplo de codigo para mostrar o gasto em reais de um equipamento a ser medido?
Bom dia Junior, obrigado pelo feedback.
No caso, o valor do resistor mudaria, porque você precisa fazer com que o valor de entrada no ESP se limite aos 3,3V. O divisor de tensão também seria outro.
Caso tenha alguma dúvida específica sobre a montagem pode enviar um email pra [email protected] que aí eu poderei te ajudar melhor.
Ezequiel parabéns pelo post, muito bem explicado.
Estou montando um circuito com ESP8266 , até onde eu sei a entrada analógica dele é ate 3,3V.
o que mudaria no circuito ? tem que alterar o circuito dos resistores para fazer o divisor de tensão?
aguardo sua ajuda.
muito obrigado.
Olá, bom dia!
Como eu faria pra acionar um exaustor com esse sensor de corrente?
A ideia era quando o chuveiro ligar, esse esse de corrente ver que o chuveiro ta no quente e ligar um exaustor.
Olá Ivan, bom dia!
Cara, acredito que sabendo o valor da corrente pra quando o chuveiro estiver no quente já dê pra fazer com que o arduino possa acionar alguma carga (no caso, o exaustor).
Você pode medir a corrente que o chuveiro consome no quente e com ela acrescentar um ‘if’ na programação usando como condição esse valor da corrente, ai quando por ultrapassado ele aciona a carga por meio de um relé ou outro dispositivo.
Parabens pelo tutorial! Muito bom!
Obrigado pelo feedback Caio! Qualquer dúvida é só perguntar.
Olá Ezequiel, em primeiro lugar parabéns pela profundidade e didática! Uma dúvida que eu tive foi em relação ao capacitor utilizado. Qual o objetivo dele e como foi dimensionado? Obrigado!
Também queria saber… Até pq eu dei uma pesquisada e vi vários modelos (mesma “capacitância”, diferentes voltagens)…
Olá Mauricio, obrigado pelo feedback. O objetivo dele é evitar que ocorra alguma variação no valor de tensão de saída do circuito divisor de tensão, por que já houve casos em que caso ele não fosse utilizado, o valor não estabilizava nos 2,5V, mas ficava variando.
E ai Ezequiel, beleza? estou tentando programar um ESP32 utilizando esse mesmo código e o mesmo sensor de corrente, porém, como o ESP32 trabalha com 3.3V, tive que alterar o resistor de entrada, para um de 22 ohm, então, tive que alterar a calibração para 29,06, mas agora estou com um problema em que o sensor continua lendo enquanto não tenho nada ligado no sensor, poderia me ajudar?
Alexandre, achei estranho seu fator de calibração de software. Deveria ser 2000 dividido por 22. Isso daria 90,9090 e não os 29,06 que você mencionou. Boa sorte!
Bom dia, muito bom o tutorial. Você disse que esta montagem só funcionaria para o modelo de sensor de 100A, porém quais as mudanças que deveriam ser feitas para um sensor de 20A? Obrigada!
Obrigado pelo feedback Laura. No caso, a montagem feita foi para medir uma corrente de no máximo 10A. Como você quer medir uma corrente de no máximo 20A, você precisa seguir o passo a passo do tópico “Mudando o range de medição” que está próximo do final. Qualquer dúvida sobre o passo a passo é só perguntar.
O modelo que possuo do medidor eh o de 30A. A adaptacao que tenho que fazer eh somente nas contas para achar os valores do componentes? Fiquei na duvida pois nas especificacoes do tutorial vem dizendo que o modelo que foi utilizado (100A) possuia variacao de corrente, e nao de tensao como nos outros modelos. Como devo fazer pra usar esse de 30A?
Acredito que agora entendi sua dúvida Laura, me desculpe kk. Caso vocês forem utilizar outro sensor, terão que recalcular o valor do número de espiras do secundário. Isso equivale ao passo 3.
No caso, como vocês estarão utilizando o modelo em que a saída já disponiibliza uma variação de tensão, então não há necessidade de utilizar o resistor de carga entre os terminais de saida do sensor.
Para definir a constante que será utilizada no código, neste caso, deverá ser feito o seguinte cálculo:
Constante = Corrente no primário / Tensão de saída no secundário
Para o modelo de 20A, a constante será 20 / 1, ou seja, 20. O mesmo para o modelo de 30A.
Boa tarde Ezequiel, Parabéns pelo conteúdo!
Só me tira uma dúvida, para o caso da saída de tensão. ainda é necessário o divisor resistivo que vem na sequencia? por que pela documentação se a saída dele já é de 0 a 1V não precisaria o offset…
Abraço
Olá Douglas, obrigado pelo feedback! Não é necessário utilizar o resistor de carga neste caso, exatamente por esse motivo de a saída já ser em volts.
Ola, primeiramente parabéns pelo tutorial muito bem detalhado, estou fazendo um trabalho e utilizando ele como base, só que meu trabalho estou querendo ler a tensão e corrente para poder multiplicar os dois e encontrar a potencia, como poderia ser feito isso? teria que ser outra biblioteca né? se for possível me ajudar agradeço, estou com dificuldades, desde já agradeço.
Obrigado pelo feedback Wilian! Rapaz, com esse sensor você só e capaz de medir a corrente AC do circuito. Para medir a tensão AC você precisaria ou utilizar o sensor de tensão ou montar um circuito que possa medir a tensão AC, ai sim poderia fazer o cálculo da potência. (Desculpe pela demora, entrei recentemente na faculdade e precisei me desligar um pouco do mundo real rs)
Olá Fernanda, obrigado por elogiar! A biblioteca utilizada foi criada pelo pessoal do OpenEnergyMonitor (aqui está o link deles caso queira conhecer mais sobre eles: https://openenergymonitor.org/), e no site deles eles mostram um passo a passo de calibração utilizado por eles, o link para vizualizar isso é esse: https://learn.openenergymonitor.org/electricity-monitoring/ctac/calibration
O tutorial tá bem legal!
Eu estou usando para uma adaptação que é para medir a potência ativa de um motor.
Para isso, preciso medir a tensão. Então fiz o download da biblioteca que você usou, mas não entendi como que é a calibração dos parâmetros para a tensão.
Então fiquei me perguntando, como você conseguiu descobrir como calcular esse parâmetro de calibração da corrente?
No código dele em C++ não especifica com deve ser esse cálculo.