Fala Pessoal! Tudo beleza? 😀
💡 Finalmente chegou a hora que muitos aguardavam, e que um pessoal bacana até agora envia mensagens pedindo o circuito, o projeto inteiro (risos), querendo maiores detalhes, que tipos de componentes eletrônicos utilizei, e por aí vai uma infinidade de questões bacanas relacionadas a este circuito que vos apresento: o Medidor de Corrente Alternada (AC).
Bom, se você também está pensando em construir o seu próprio medidor de corrente alternada, e o melhor, em sua própria casa e utilizar o aparelho para realizar medições bastante precisas até mesmo “em campo“, uma vez que, o projeto do Medidor AC que apresentarei, funciona tranqüilamente utilizando uma simples bateria de 9VCC, então chegou a sua hora! Segue a leitura do post para conhecer todos os detalhes do protótipo e uma quantidade enorme de fotos reais do circuito desde a fase inicial até a “conclusão” do projeto do nosso medidor de corrente alternada! 😉
Antes de começar a montagem do circuito, preciso dizer a vocês que o sensor que utilizaremos neste projeto, será especificamente o modelo SCT013 20A/1V:
O sensor de corrente SCT-013-020, este modelo especificamente, suporta correntes de até 20A. Dois fios saem do sensor e vão ligados à um plug do tipo P2, que fornece o sinal do campo eletromagnético detectado no sensor para a entrada do divisor de tensão e microcontrolador ATmega 328P.
CALCULANDO A CORRENTE CONSUMIDA POR UM APARELHO LIGADO À REDE DE ENERGIA ELÉTRICA
De uma forma rápida e mais simplificada, baseada na famosa Lei de Ohm, podemos calcular qual será a corrente elétrica exigida por um aparelho quando ligado à rede de energia elétrica utilizando a fórmula seguinte:
CORRENTE ELÉTRICA (A) = POTÊNCIA (P) / TENSÃO ELÉTRICA (V)
→ Onde A é a corrente em Amperes, P é a potência em Watts e V é a tensão em Volts.
→ Aplicando a fórmula acima para calcular o consumo de corrente elétrica exigida, por exemplo, por um aparelho que tem uma potência de 1100 Watts, ligado à rede elétrica de 110V, apresentará no cálculo o consumo de uma corrente máxima de 10A.
→ O mesmo cálculo pode ser aplicado no caso da sua rede de energia elétrica ser do tipo 220V, bastando apenas substituir na fórmula apresentada, o valor da Tensão (V) e efetuar o novo cálculo, que agora teria um resultado de consumo de 5A!
ALGUMAS CARACTERÍSTICAS DO SENSOR DE CORRENTE SCT013-020:
Existem vários exemplos de uso dos sensores da linha SCT-013 (datasheet) com Arduino e outras plataformas, até onde sei, existem nove ou dez modelos disponíveis no mercado destes sensores, do “tipo garra“, onde um (o que estamos utilizando neste projeto), pode medir até 20A, enquanto o modelo mais “potente“, mas com características físicas externas idênticas ao modelo que estamos utilizando, pode medir até 100A. 😮
DISCUSSÕES, DICAS E INFORMAÇÕES VARIADAS SOBRE O SENSOR SCT013:
Também encontrei muita discussão à respeito da utilização deste sensor, por exemplo onde muitos recomendam cálculos gigantescos, outros recomendam utilizar um “resistor de Burden” (resistor de carga conectado paralelamente a solenóide do sensor SCT013), externamente ao circuito sensor (e pelo que pude observar, nosso sensor já possui o resistor Burden embutido internamente na carcaça do sensor), outros dizem que o valor do resistor de Burden deve ser inferior a 33Ω, e muitas outras “discussões positivas” no sentido de agregar conhecimento, podemos encontrar facilmente na internet sobre este mesmo assunto, MAS que também podem deixar a gente bem confuso em caso de não analisarmos minuciosamente cada uma destas informações disponíveis!
❗ Para que eu não tivesse que entrar nestas mesmas “discussões” e série quase infinita de “detalhes” com vocês pessoal, então, resolvi mostrar aqui uma forma prática, simples e precisa, de como fazer nosso Medidor de Corrente Alternada (AC), COM a placa Arduino ou SEM a placa Arduino (montei a Roduino, uma versão “standalone” e simplificada da placa Arduino original), e que depois de bastante teste, liga, desliga, reprograma, deleta, etc. (risos), apresentou resultados no display LCD bastante, ou mesmo MUITO próximos aos resultados teóricos baseados na fórmula A = P / V comentada acima, e também aos resultados apresentados no display do meu multímetro Minipa ET-1649 (em função de medição de corrente AC).
Observem a fotografia abaixo:
TIRANDO CONCLUSÕES SOBRE O USO DO SENSOR DE CORRENTE SCT013-020:
Então, observando e pensando nos resultados obtidos, percebi que nosso protótipo poderia funcionar também com bastante precisão e resolução (quantidade de dígitos no display LCD para apresentação do valor da corrente (A)), e essas características significam muito no caso do nosso projeto de medidor de corrente alternada que segue em frente…
Para realizar a montagem do circuito medidor de corrente AC na protoboard, é necessário apenas seguir o esquemático apresentado no topo deste post! 😉 No esquema também já está descrito o valor de cada componente eletrônico assim como, onde interligá-los na protoboard e placa Arduino UNO.
💡 DICA! clique sobre a imagem do esquemático para abrir uma imagem maior e mais detalhada mostrando as conexões necessárias para o funcionamento do circuito.
O CÓDIGO (SKETCH) COMPLETO DA VERSÃO FINAL DO FIRMWARE DO NOSSO SENSOR DE CORRENTE ALTERNADA SCT013 COM MCU ATMEL 328P:
Nosso código é baseado quase que completamente nas informações “públicas e educacionais” do site Open Energy Monitor, utilizando a biblioteca chamada “EmonLib” criada por eles e disponível neste link. Baixe e descompacte a pasta EmonLib, depois, coloque-a dentro da pasta Libraries da IDE do seu Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
// ========================================================= // // Programa : Medidor de Corrente Elétrica e // // Potência com Arduino e Sensor (SCT-013 20A/1V) // // ========================================================= // // Detalhes : https://eletronicaparatodos.com // // http://eletronicaparatodos.net // // --------------------------------------------------------- // // Autor : Rodrigo Costa. // // --------------------------------------------------------- // // Rev.01 : 14/04/2017 // // Rev.02 : 18/04/2017 // // Rev.03 : 21/04/2017 // // Rev.FINAL: 04/05/2017 - NOVO FP = 0,92 e nao mais 0,85 // // --------------------------------------------------------- // // Sketch baseado na biblioteca externa: "EmonLib" // // ========================================================= // // OBSERVACAO: ULTIMA VERSAO DO CODIGO/SKETCH // // ========================================================= // // ***PS1***: CONSIDERE RESETAR (RST) O CIRCUITO SEMPRE QUE // // TODAS AS CARGAS TENHAM SIDO DESCONECTADAS OU // // DESLIGADAS POR ALGUM PERIODO DE TEMPO! // // ESTE PROCEDIMENTO É NECESSÁRIO SEMPRE QUE O // // DISPLAY NÃO FOR "ZERADO" ESTANDO SEM CARGAS A // // MEDIR POR UM PERIODO MAIOR QUE 2 MINUTOS // // ========================================================= // // Carrega as bibliotecas #include "EmonLib.h" #include "LiquidCrystal.h" // Criamos uma instancia (chamada) EnergyMonitor emon1; // setamos os pinos do arduino <-> display lcd LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Tensao da rede eletrica (127V OU 220V) int rede = 127.0; // Pino do sensor SCT 013 20A/1V int pino_sct = 1; // *Fundo de Escala* // --------------------------------------------------------------------------------------------- // // Limitamos valor MIN de medicao para que seja igual a 20mA, o que resulta // em aproximadamente 2.5 Watts (APENAS) considerando nossos 127VAC. // --------------------------------------------------------------------------------------------- // // OBS: Este valor de fundo de escala serve como verdadeiro "supressor de ruidos", // uma vez que o sensor analógico dificilmente medirá um ZERO absoluto via HARDWARE apenas. // Por esta razao configuramos via software o conjunto/circuito de hardware utilizado. :) float fundoEscala = 0.020; void setup() { lcd.begin(16, 2); // display LCD 16x2 lcd.clear(); //Serial.begin(9600); // Utilizamos o monitor serial em caso de debug // Pino, calibracao - Const. da Corrente = Ratio/BurdenResistor emon1.current(pino_sct, 24); // O valor inicial era 29, mas calibrando de acordo ao amperimetro do multimetro // com a potencia do ferro de solda de 35W, o melhor valor no meu caso foi 24! } void loop() { // Calculamos a Corrente RMS (Amperes) float Irms = emon1.calcIrms(1480); // Calcula a Corrente RMS // Pequena secao onde "zeramos" o display caso a medição // alcance nosso limite MIN (fundo da escala - supressor de ruidos) // ou Informamos que o "Consumo está sendo inferior a 20mA". if (Irms <= fundoEscala) { //Irms = 0; // SECAO PARA DEBUG VIA MONITOR SERIAL DA IDE ARDUINO //Serial.print("Consumo Inferior"); //Serial.print(" a 20mA "); //Serial.print(Irms); // Irms // Informamos que chegamos ao fundo de nossa escala lcd.clear(); lcd.setCursor(0,0); lcd.print("Consumo Inferior"); lcd.setCursor(0,1); lcd.print("|>> a 20mA <<|"); //lcd.print(Irms); // Irms } else{ // Informacoes iniciais do display // Limpamos o Display LCD lcd.clear(); // Setamos os Cursores e Valores Iniciais do Display (Linha 1 e Linha 2 das 16 Colunas) // Mostramos o valor da corrente no Display LCD lcd.setCursor(0,0); lcd.print("A:"); lcd.print(Irms, 3); // O Argumento "3" é limitador do numero de casas decimais a serem mostradas. // Calcula e mostra o valor da potencia em Volt-Amperes (VA) lcd.setCursor(8,0); lcd.print(" VA:"); lcd.print(Irms*rede, 1); // O Argumento "1" é limitador do numero de casas decimais a serem mostradas. // Setamos os Cursores e Valores Iniciais do Display (Linha 1 e Linha 2 das 16 Colunas) // Mostramos o valor da Potencia (W) no Display LCD já considerando o FP informado de 0.92 para correcao dos calculos lcd.setCursor(0,1); lcd.print("W:"); lcd.print((Irms*rede)*0.92, 1); // O Argumento "1" é limitador do numero de casas decimais a serem mostradas. // Mostramos o Fator de Potencia sendo considerado neste codigo lcd.setCursor(8,1); lcd.print(" FP:0.92"); delay(50); // Atualiza o display de 50 em 50ms! } } |
💡 Para modificar a tensão da rede elétrica no código dos 110V para 220V, basta alterar a variavel rede na linha 38 do código acima.
Também é possível alterar a variável de nome pino_stc na linha 41, para utilizar qualquer outra entrada/pino (analógico) do Arduino.
CONSIDERAÇÕES IMPORTANTES SOBRE O SENSOR DE CORRENTE – SCT013 ANTES DE INICIARMOS AS MEDIÇÕES:
- O sensor de corrente, modelo SCT-013-020, como falei alguns parágrafos acima, é um modelo de sensor considerado, e popularmente chamado de: “não invasivo”. Esse “detalhe“, em nosso caso, significa que para medirmos a Corrente (A), não precisaremos efetuar nenhuma alteração no aparelho e/ou circuito elétrico que desejamos medir. Precisamos apenas abrir “a garra” do nosso sensor SCT013, envolver UMA das pernas de fio para poder realizar a medição corretamente.
Uma vez mais creio ser muito importante ressaltar que, para realizar a medição de forma correta, é absolutamente necessário que a garra do sensor envolva APENAS UM dos fios que alimentam o aparelho (assista todos os detalhes no video que segue o post). Caso a gente “abrace” os dois fios condutores com a “garra” do nosso sensor SCT013, o que vai acontecer é que, os valores vão se anular e o display mostrará o valor 0 (zero) ou algum outro valor incoerente com o que de fato desejamos medir – a corrente elétrica consumida.
O PROTÓTIPO DO MEDIDOR DE CORRENTE MONTADO NA PROTOBOARD E EM PLENO FUNCIONAMENTO VIA FOTOGRAFIAS REAIS DO MEU PRÓPRIO CIRCUITO:
Pessoal, segue abaixo fotos do circuito medidor de corrente alternada funcionando completamente de acordo (e ainda na Protoboard)! 😀
O MEDIDOR DE CORRENTE JÁ MONTADO NA RODUINO (minha própria versão DIY derivada da plataforma ARDUINO) MOSTRADO POR FOTOS REAIS DO NOVO MEDIDOR DIGITAL: 😀
O PROTÓTIPO DO RODUINO (AINDA NA PROTOBOARD) EM VIDEO:
O MEDIDOR DE CORRENTE JÁ “EMBUTIDO” NA PCB ILHADA DO “RODUINO” E EM PLENO FUNCIONAMENTO TAMBÉM REGISTRADO EM VIDEO:
DIY – MEDIDOR DE CORRENTE ALTERNADA COM ATMEGA 328P (RODUINO PCB) E SENSOR SCT013 (PROCESSO FINAL DA MONTAGEM DO MEDIDOR DE CORRENTE)
💡 E aí, gostaram do video?! Ajude-me a melhorar o Blog fazendo comentários, críticas construtivas e principalmente oferecendo boas e sadias sugestões! 😉
Abração Pessoal! 😉
- Medindo e Monitorando a Temperatura com Arduino (Sensor LM35) - 5 de setembro de 2021
- Controle de Cargas através de Entrada Analógica com Arduino - 30 de agosto de 2021
- REVIEW E DICAS – ALICATE AMPERÍMETRO (UNI-T UT210E PRO) - 28 de agosto de 2021
Opa, gostaria de saber se na parte de calibracao (programação) o senhor se baseou no resultado do voltímetro e apartir daí regulou o número até que de um valor semelhante em amperes.
Além disso, tem algum e-mail para contato?
Fala Mateus! Tudo Bom?!
Bom Dia! 🙂
Rapaz, é isso aí mesmo! Você está correto! 😉
Como assim Rodrigo?! o.O
Bom, para “calibrar” nosso medidor de corrente caseiro, o que fizemos foi mais ou menos o que você disse: sim, nos baseamos “principalmente” nos resultados mostrados pelo “amperímetro” para que pudéssemos “setar/configurar” o Medidor em si. 🙂
PS: Isso tudo porque na falta de recursos para se obter um real amperímetro, utilizamos então um “multímetro” para medir a corrente elétrica (A) e dessa forma “informar” ao programa/código/sketch.
PS2: Sim, temos mail para contato! 🙂 MAS para que nem o seu nem o meu endereço de email fiquem “expostos” na internet, proponho que envie sua primeira mensagem (que preservará seu mail e todos os outros dados) diretamente via “Formulário de Contato“, que está em Ambiente Seguro!
E por último deixo minha gratidão por sua presença e sua mensagem!
Seja muito bem-vindo! 🙂
Um Abraço,
Rodrigo Costa do Canal,
https://youtube.com/EletronicaParaTodos
amigo me podrias explicar un poco mas de la forma en que funciona este proyecto
Hola Oscar!
Bueno, el funcionamiento deste circuito es sencillo.
Todo tiene como base el microcontrolador ATMEGA328P y el medidor de corriente eléctrica modelo SCT-013 (que soporta hasta 20A de corriente alternada).
Entonces lo que pasa es que el medidor de corriente “envia” el valor leído de la tensión y junto con el Sketch/Programa del Arduino, entonces hacemos algunos cálculos internos para posteriormente enviar estos mismos datos para el display LCD. 🙂
Espero que me pueda entender por lo menos el básico. 😉
Gracias por el mensaje y que sea muy bienvenido!
Saludos desde Brazil,
Rodrigo Costa.
https://EletronicaParaTodos.com
Esse circuito calcula o fator de potência ???
Esse projeto mede fator de potência? ?
Olá Tiago! Tudo bom?
Rapaz, infelizmente este projeto não mede o FP não. 🙁
Na realidade o Fator de Potência deste projeto é totalmente “setado/configurado” via firmware mesmo, ou seja,
decidimos “quanto setar” para o FP via software. Neste medidor de corrente, utilizei FPs que variaram de 0,7 até 0,92.
Obrigado por perguntar.
Um Abraço,
Rodrigo Costa.
rodrigo como eu poderia fazer para que o valor de fator de potência funcione?Muito obrigada pela atenção
Olá Juliana! Tudo bom?! 🙂
Essa sua pergunta é difícil de responder caso eu tenha entendido direito! o.O
Bom, você deseja que o circuito “CALCULE” por si só o FATOR DE POTÊNCIA e a partir daí ele “mostre” no display o valor real do FP calculado/medido?! Se for isso, me desculpa, mas esse circuito não realiza essa tarefa não, Juliana. 🙁
O número ao lado do Fator de Potência, no caso do nosso circuito deste post, bom, foi “decidido” por nós mesmos, pois sabemos que existem vários FPs distintos, uns na faixa de até 0,5 assim como outros em 0,7 – 0,92…e por aí vai. O lance é que neste nosso circuito, nós escolhemos um destes números “previamente” e o deixamos “como configuração do Fator de Potência” do sistema, então o que acontece não é um “cálculo do Fator de Potência” e nem uma medição do mesmo (o que no caso incluiria vários cálculos, por exemplo, teríamos que saber o ângulo de fase entre Tensão x Corrente, a diferença/defasagem entre os mesmos, dependendo claro do tipo de carga que estaríamos pretendendo alimentar (carga mais resistiva? mais reativa? mais indutiva?), bom, teríamos muitos fatores a levar em conta e esta forma este circuito demandaria muito mais tempo e trabalho (e ainda correríamos o risco de não conseguir no final o resultado bacana tão desejado, por conta dos próprios componentes eletrônicos, modelo do MCU e por aí vai…
Sei que essa não é a resposta que você estava esperando, mas este circuito realmente não “calcula o FP”, apenas dá uma ideia de quantos WATTS estamos “consumindo” baseado justamente no “número de FP” que configuramos/programamos no código que é compilado pro microcontrolador.
Bom, se eu não respondi sua dúvida, ou se não entendi o que você realmente queria dizer Juliana, peço desculpas e peço que você escreva novamente por favor. 🙂
Muito obrigado pela visita e seja muito bem-vinda!
Um Abraço,
Rodrigo Costa.
https://EletronicaParaTodos.com
Very nice howto 🙂 do you like to make one english version ?
Hi Dino!
Well, are you asking about the blog post written in English? If so, my friend, the best way to try to read this is using Google Translator or any other service that can be used to translate pages. Sorry about that.
If you are telling about the circuit, the prototype, so I believe it is understandable. If you are missing something please tell me.
Cheers,
Rodrigo Costa.
Bem bacana o post!
Fala Tales! Muito Obrigado pela força e seja muito bem-vindo. Abraço, Rodrigo Costa.
Simplesmente OBRIGADO!
Valeu David! Abração.