Medidor de corrente não invasivo com Arduino 76

Já vimos no post Como Fazer um Medidor de Energia Elétrica com Arduino o esquema de utilização de um sensor de corrente não invasivo de 20A. Neste post, vamos apresentar um projeto muito parecido, um medidor de corrente utilizando o Sensor de Corrente Não Invasivo 100A SCT013:

Esse sensor também é do tipo não invasivo, ou seja, você não precisa interromper o circuito para realizar a medição, bastando envolver um dos fios de energia para medir a corrente.

Cálculo do resistor de carga

Segundo informações do datasheet, o sensor de corrente SCT-013-020 (20A) tem na saída uma variação de tensão, e o SCT-013-000 (100A), tem na saída uma variação de corrente.

Assim, no microcontrolador conseguimos ler quase que diretamente a variação de tensão, mas no de 100A vamos precisar de um componente adicional: o “burden resistor” (“resistor de carga”), para gerar a variação de tensão que precisamos para efetuar a leitura no Arduino.

Para calcular o resistor de carga, vamos seguir alguns passos:

1 – Determinar a corrente máxima que vamos medir
No nosso caso, é um sensor de 100A, logo vamos determinar esse valor como corrente máxima

2 – Converter a corrente máxima RMS para corrente de pico, multiplicando-a por √2

Primary peak-current = RMS current × √2 = 100 A × 1.414 = 141.4A

3 – Dividir a corrente de pico pelo número de voltas do CT (2000) para determinar a corrente de pico na bobina secundária:

Secondary peak-current = Primary peak-current / no. of turns = 141.4 A / 2000 = 0.0707A

4 – Para melhorar a resolução da medição, a voltagem através do resistor de carga no pico de corrente deve ser igual a metade da tensão de referência do Arduino (AREF/2). Como a tensão de referência no Arduino é de 5V, teremos:

Ideal burden resistance = (AREF/2) / Secondary peak-current = 2.5 V / 0.0707 A = 35.4 Ω

Resumindo o cálculo anterior:

Burden Resistor (ohms) = (AREF * CT TURNS) / (2√2 * max primary current)

Se preferir  pode utilizar uma ferramenta online que faz o cálculo deste resistor, neste link.

Circuito sensor de corrente 100A

Agora que já temos o valor do resistor de carga, vamos montar o circuito para ligação do sensor, que basicamente é o mesmo circuito do sensor de 20A, mas agora adicionando o resistor de carga. Temos então a seguinte lista de material:

  • Sensor de Corrente SCT-013-000
  • 2 resistores de 10K
  • Display Nokia 5110
  • 1 resistor de 33 Ω (para o  resistor de carga)
  • Capacitor 10 µF

Como não temos um resistor de 35.4 Ω disponível , o valor mais próximo é o de 33 Ω. Vamos usar esse valor para a montagem do circuito:

Circuito_Arduino_Sensor_Corrente_SCT013

Esse sensor vem com um plug P2 e você pode conectá-lo ao Arduino usando um adaptador, ou pode retirar o plug e ligar os fios diretamente, como fizemos no circuito acima.

Medidor de corrente com o sensor SCT-013-000 100A

Carregue o programa abaixo, que usa a biblioteca EmonLib (download). Descompacte a pasta e coloque dentro da pasta LIBRARIES da IDE do Arduino. Para utilizar o display gráfico, faça o download também das bibliotecas Adafruit_GFX (download) e Adafruit_PCD8544 (download).

Para realizar a medição, abra o sensor e envolva um dos fios de energia. Será mostrado no display o valor da corrente que está passando naquele momento:

Circuito Medidor de Corrente com Arduino

Não esqueça de ajustar o valor da rede elétrica (110 ou 220V), na linha 17 do programa.

Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP !

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

76 Comentários

  1. Vcs são os melhores!
    Estava almejando este post pois tenho tudo o que precisa para montagem.
    Muito obrigado. Qualquer dúvida volto.
    Grande abraço!

  2. Alguém conseguiu uma medição Boa ? Quando não tem carga de qualquer jeito continua contando, alguém conseguiu fazer uma,programação Boa ?

    Tava rezando que viesse esse post

    Vocês são ótimos!!

    1. Boa tarde.
      Já verificou a fonte?
      Tive o mesmo problema quando o Arduíno tava sendo alimentado por USB.
      Utilize uma fonte com boa filtragem para prevenir ruídos de saída na fonte.
      Boa sorte.

  3. Fiz um ajuste que funciona no sensor de 20A em prevê posto

  4. Ola, muito bom saber que esse blog esta sempre ativo e com pessoas postando soluções e tentando ajudar uns aos outros.
    Minha duvida é no blog tem um esquema para medidor 20a e agora um para medidor 100a. Eu tenho um medidor de 30a eu devo seguir o esquema do medidor de 20a correto ? Pois tem a saida em volts, ou devo seguir esse de 100a ?

    obrigado

    Leandro Salvador Heredia
    1. Boa tarde Leandro,

      O medidor de 30A também tem uma variação de tensão na saída, como o modelo de 20A.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  5. Parabens amigos…. sempre recorro a vcs com relação a tutoriais pra arduino e pra comprar produtos.
    Me tira uma dúvida, como faço pra zerar meu display? Sem nenhuma carga, ele lê 0,23A, colocando carga, ele muda.
    Coloquei uma carga de 40W, tensão de 127V,.. apareceu 0,34A, acredito está calibrado. Alguem sabe o q precisa fazer?

    Abraço a todos

  6. Ola amigos !

    alguém pode me explicar para quer serve esse capacitor aqui nesse projeto? obrigado

    1. Compartilho da mesma dúvida.

  7. qual o melhor sensor para eu ler uma corrente de 600mA que sai de uma porta POE de 160v cc (me indiquem pois precisarei comprar 10 sensores para monitorar via arduiino e ethernet shield

  8. fiz esse projeto e incrementei algumas funções como somar o potencia total utilizada e tbm o soma em reais gastos desde o inicio da contagem , porém tenho um problema quando não há carga no sensor ele não zera, continua lendo corrente. alguém tem uma sugestão.

    1. Olá amigo Sidnei,
      Aconteceu o mesmo comigo. O que eu fiz foi imprimir a leitura do sensor direto no serial.
      O meu parava em 0,0008 depois de 5s. Entao coloquei uma programação pra captar o valor acima disso.
      Sei que está errado, mas foi a unica forma de zerar.
      Outra coisa que vc deve ter cuidado que o sensor gerar um valor ligado na porta USB do PC e outro qndo ligado direto em uma fonte Vcc.
      Espero ter ajudado.

      Abraço

      1. Sidnei, poderias me enviar o seu email? estou trabalhando num projeto semelhante e estou precisando de ajuda.

        Rafael Oliveira Moreira
    2. Essa eu sei… é por causa da corrente parasita nos condutores, já neste caso tu tem que analisar qual o valor dado no fio sem carga e estabelecer um parâmetro de zero, pois o mesmo feito em alicates amperímetros.

  9. Ola, queria saber se consigo ligar mais de um sensor como este em uma mesma placa Arduino e o Arduino mandar os resultados para uma Raspberry Pi 2.. Tem como? ou preciso de varios Arduinos ?
    Obrigado, muito bom o post!

    1. Boa tarde Guilherme,

      Não testamos com mais de um sensor, mas como ele utiliza somente uma porta analógica, creio que não haveria problema em utilizar vários no mesmo Arduino.

      Abraço e obrigado!

      Adilson – Equipe FILIPEFLOP

  10. olá tenho uma duvida!
    fiz o teste com o sensor e com um alicate amperímetro e deu estes resultados:
    alicate — sensor (SCT-013-000)
    10,4 A——9.90 A
    7.2 A——– 6.9 A
    1.37 A—— 1.23 A
    14.25 A—–13.57 A

    é normal dar esta variação?

    1. Bom dia Rodrigo,

      O circuito mostrado no post serve para fins didáticos e demonstração do uso do sensor, não é possível comparar a precisão do circuito com o de um alicate amperímetro sem alguns ajustes no circuito do post.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  11. Bom dia! A minha dúvida é que todos os exemplos com o uso desse sensor foi utilizando equipamentos AC, gostaria de saber, se ele também mensura correntes DC?

    1. Boa tarde,

      Esse sensor serve apenas para correntes AC. Como sensor de corrente DC, temos o ACS714: https://www.filipeflop.com/pd-14d171-sensor-de-corrente-acs714-30a-a-30a.html

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Valeu Adilson, mas para aplicação que desejo fazer o sensor ACS714 não me atende. O valor da corrente que quero medir está entre 45A – 100A. Caso conheça algum que atenda, favor avisar!

        Abraço!

  12. Boa noite. Gostaria de saber qual o simulador que vocês usam no teste desses circuitos. Pela foto, o esquema aparenta ter sido reproduzido em um. Gostaria muito de saber pois necessito realizar alguns testes e não encontro nenhum simulador que contenha o bloco do sensor citado no post. Abraços !!

    1. Bom dia Lunara,

      Todos os nossos circuitos são montados e testados, para garantir que o que esteja no post realmente funcione. O desenho é feito no Fritzing, que você pode baixar neste endereço: http://fritzing.org/home/

      Abraço.

      Adilson – Equipe FILIPEFLOP

  13. Olá,
    Gostaria de saber qual a distância que consigo ter do sensor de corrente até o circuito.
    Preciso desenvolver uma aplicação onde o sensor ficaria a uns 25 metros de distância do circuito.
    O que preciso é desenvolver uma solução onde grave de tempo em tempo a corrente e envie para um banco de dados na internet ou em uma rede local.
    Seria melhor levar o circuito até próximo do roteador ou levo um cabo de rede até a instalação ?
    Att.
    José Mauro

    1. Boa tarde José,

      25 metros me parece uma distância bem grande para esse sensor, que tem uma saída de corrente máxima de 33mA, segundo o datasheet. Qualquer interferência no meio do caminho pode causar uma grande variação na leitura.

      Você tem a opção também de usar um módulo wireless como o ESP8266 para enviar os dados pela rede.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  14. Como construir com Arduino e sensores um medidor de consumo de energia doméstica?
    Grato
    Marcos

  15. Gostaria de saber se existe alguma forma de medir tensão continua -48 estou com dificuldade realizar essa automação.Atenciosamente Obrigado.

  16. Boa tarde estou fazendo o mesmo projeto e suspeito que os dados gerados são inconsistentes, quando o sensor esta conectado gera valores absurdos e quando desconectado continua gerado valores, estou alimentando a placa pela saida usb.
    poderia me ajudar?

  17. Montei este mesmo circuito e a leitura sem algo no sensor fica em torno de 0,15 de corrente, com uma lampada fica na base de 0,20 de corrente com os 5v do arduino, usando uma fonte externa de 5v os valores ficam muito alto casas de 100 de corrente, alguém aqui conseguiu deixar os valores zerados quando não possui nada e a leitura correta ou bem proxima quando algo no sensor?
    Se alguém poder deixar o email seu para trocarmos ideias ficaria grato.
    Abraços

    1. Olá Elisandro,

      Tenho o mesmo problema. Vou tentar algum tipo de filtro ou alterar o capacitor de 10uF. Se tu achar uma solução me avise.

      Abraço

      Mauro Ferrari da Rocha Filho
      1. Mauro, você conseguiu uma solução?estou tendo o mesmo problema.

      2. Amigo, conseguiu solucionar o problema?

    2. Elisandro, você conseguiu uma solução?estou tendo o mesmo problema.

      1. tbm estou com esse problema

        JOAO LUCASF FERNANDES BENTO
  18. Por quantos volts deve ser esse capacitor de 10 Micro.

  19. Olá

    Com eu faço para ler três sensores de corrente ao mesmo tempo.

    Obrigado

  20. Boa noite, eu estou realizando o desenvolvimento de um projeto no frizing e não estou achando a biblioteca do SCT, vocês poderiam me informar como acha-la?

  21. Ola bom dia!!

    Estou fazendo um projeto com esse medidor e o arduino para medir a corrente e potência de um chuveiro e apresentar essa informação no lcd 4×16, ( estou realizando teste com uma lampada em uma rede de 127V e a mesma possui 60W) o sensor quando estar em volta da fase ler a corrente normalmente (208 mA) , POREM quando tiro o O SENSOR do A1 continua aparecendo no LCD um valor de mais o menos 130 mA.
    MINHA PERGUNTA É… TEM COMO ESSE VALOR SER ZERO QUANDO TIRO O SENSOR DO PINO A1?? O QUE FAZER PARA ZERAR?? E DE ONDE VEM ESSE VALOR??

    1. Olá Jader.

      Também tenho o mesmo problema. No meu caso, se tirar o TC da fase em medição o display ainda apresenta um determinado nível de corrente, muito baixo mas diferente de zero. Vou fazer uns testes com algum tipo de filtro ou alterando aquele capacitor de 10uF.

      Mauro Ferrari da Rocha Filho
  22. Boa Noite, Galera.

    Estou desenvolvendo um projeto parecido e estava achando estranho esses cálculos.

    Lendo o datasheet desse sensor, o modelo de 100A, gera uma corrente na saida, segundo o datasheet de 33mA.
    Bom, se a corrente maxima de saida é 33mA, para se ter 5V, deve-se colocar um resistor de 150R(aproximado) na saida do sensor.
    Não testei ainda, mas vou testar e colocarei os resultados aqui.

  23. Esse medidor de corrente serve para corrente continua? preciso de um para medir 200 A, tem como me indicar um??

    1. No seu caso, pesquise por Resistor Shunt, lê corrente continua até 200A

    2. Pode ser aproveitada a ideia, mas o sensor de corrente é so para AC!

  24. Olá, gostaria de saber se como faço para ao invés de calcular a Corrente gostaria de calcular a potencia Ativa.

    Jorge Lucas Dionisio Marques Silon
    1. Rapaz, primeiro teria quer um sensor de tensão para depois analisar a defasagem entre ambos

  25. Caro Adilson Thomsen,

    Gostaria de saber se o amigo postou os componentes Fritzing relativo ao sensores YHDC SCT-013 20A e YHDC SCT-013 100A. Em caso positivo, como posso encontrá-los? Em caso negativo, você poderia enviá-los para mim?

    Ocorre que estou treinando com o Fritzing e não os encontrei, até agora.

    Desde já, agradeço sua ajuda.

    Parabéns pelo belo trabalho.

    1. Olá, também gostaria de saber como encontrar esses componentes Fritzing, desde já agradeço.

    2. Alguém conseguiu o sensor para o fritizing? estou precissado para o meu TCC.
      ATT,

      Phillippe

  26. Olá! Eu repliquei o circuito e deu tudo certo. Gostaria de saber como eu coloco 2 sensores nesse circuito? Os dois de 100A. Desde já agradeço. Ótimo post 🙂

    Guilherme Sanches Pereira
  27. Olá, gostaria de saber se pode usar o display LCD de 16 pinos?

    1. Boa tarde,

      Pode sim, você inclusive pode usar as informações desse post aqui, que já usa o display 16×2: http://blog.filipeflop.com/arduino/medidor-de-energia-eletrica-com-arduino.html

      Abraço!

      Adilson – Equipe FILIPEFLOP

  28. Usando Arduino Nano é o mesmo esquema?
    Outra Pergunta é Considerando portas Analógicas de 3.3V e 1V é o mesmo esquema?

    Obrigado!

  29. Olá, esse medidor só serve para equipamentos que usam corrente AC?
    Grato.

    1. Da forma que esta preferencialmente para AC, mas a ideia pode ser aproveitada para DC tambem!

  30. Bom dia,

    Teria como passar uma imagem com esquema do display vermelho do nokia 5110 para este projeto?

    Abraço!

  31. Felipe boa tarde.

    Gostaria de saber se consigo medir a potência com o projeto aqui proposto? Você poderia me orientar?

    1. Tera que medir a tensão também e multiplicar pela corrente medida. Tambem pode simplesmente multiplicar a corrente por 220V, MAS isso mascara a potencia, caso a rede esteja com 200V por exemplo ou o sistema esteja conectado em rede 127!

  32. Boa noite meus caros amigos!
    Estou tentando montar um medidor de energia utilizando o sensor não invasivo SCT 100A com um display lcd 16X2 com o módulo I2C.
    Porém não consigo baixar e gravar na IDE do ARDUÍNO a biblioteca EmonLib, também não encontrei uma programação compatível com este display.
    Peço aos amigos encarecidamente, se puder me enviar o arquivo já baixada do biblioteca EmonLib, e também a programação para que eu possa tentar dar continuidade ao meu projeto. Preciso apenas de medir a potência Ativa e também a Corrente.
    E-mail para contato: [email protected]
    Desde já agradeço a todos.

    Joaquim Rodrigues Ramos
  33. Boa Tarde,

    Estou com dificuldade com a calibragem do sensor de corrente, estou utilizando SCT-013-100.
    Quando desligo a lampada ele continuar marcando entre 2 a 3 A.
    Obrigado

  34. Ola, preciso de uma informaçao, o sensor SCT-013 pode ser utilizado em um rede de 24v com amperagem acima de 100A deve chegar a 180A, vou explicar o motivo:
    Preciso apenas medir se ha corrente no cabo para contar o tempo que existe corrente e não preciso exatamente medir a corrente que esta trafegando no cabo.

  35. Olá, verifiquei o datasheet do mesmo no site da fabricante, e lá consta que a bobina é 1800 voltas e não 2000.

    VICTOR PANITZ MAGALHAES
  36. Boa tarde.
    Fiquei em dúvida em por que foi escolhido 1480 amostras no comando da função:
    double Irms = emon1.calcIrms(1480);
    Gostaria de entender o motivo dessa escolha, desde já agradeço.

    1. Boa tarde Bruno,

      Verifique este link, por favor: https://openenergymonitor.org/emon/node/846

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. OLa Boa noite.

        Pelo que eu entendi 1480 é só pra 50Hz. E como fica pra 60Hz?

  37. Ola pessoal, gostaria de saber como faço para realizar a leitura de 40 tensões simultâneas com arduino, alguém pode me ajudar?
    Obrigado!

    1. Luiz, o arduino só tem um conversor analógico-digital, embora tenha mais de uma entrada para leitura analógica. Ele multiplexa esse conversor e faz uma leitura de cada vez, por isso na prática ele nunca fara uma leitura simultânea. Porém ele faz essa multiplexação bem rápido, e para muitos casos parece que são leituras simultâneas separadas. Se no seu caso o sinais que você vai ler não fiquem variando bem rápido como sinal de áudio por exemplo, você pode usar um ou mais multiplexadores analógicos para fazer a mesma coisa que o arduino. Usa um multiplexador com várias entradas e lé um sinal por vez, fazendo essa leitura bem rápido pode parecer que a leitura é simultânea (lembrando de respeitar os limites do auduino, dá uma olhada no datasheet).

  38. estou usando o fritizing mas não tenho o sensor sct-013 na lista de parts(componentes) . onde voce conseguiu esta parte? estou fazendo um projeto e gostaria muito de ter esse sensor no fritizing.

    1. Olá amigo, você conseguiu? estou com o mesmo problema…

  39. ola boa tarde.

    No datasheet não consegui ver onde estava o numero de voltas do sensor que foi usado para calcular . por favor pode me mostrar?

  40. Boa noite Adilson!
    Adquiri um sensor de corrente 100A, porém não estou conseguindo copiar a biblioteca Emonlibe.
    Outra dúvida será que eu conseguiria utilizar o display de 16×2 com I2C neste projeto?
    Se alguém puder me ajudar, estou a mais de seis meses com o meu projeto parado por falta de informação.
    Se alguém puder me enviar o arquivo da biblioteca EmoLibe e também o Sckat utilizando o display citado ficarei muito grato. Depois posto para dizer se tudo deu certo.
    Meu email: [email protected]

    Joaquim Rodrigues Ramos
    1. Tem sim Amigo, é só substituir o display, ultilizar a biblioteca certa, e a biblioteca do sensor vc pode copiar ela desse codigo acima e pesquisar, vc baixa e coloca ela no librairi que fica na pasta do Aplicativo do arduino, logo após isso, vc vai em uma opção do aplicativo, não lembro ao certo qual mais dá um procurada não é difícil de achar, e ativa ela para o codigo. E pronto…

  41. Existe um sensor de tensao 110/220 que converte para leitura no arudino? O funcionamento é o mesmo de um tp( transformador de potencia) ele transforma uma tensao alta pra uma tensao baixa variando de 0 a 100%. Esse sensor ajudaria a precisar a potencia consumida, ja que a tensao varia muito. 127v x 10a = 1270 w ou 110v x 10a = 1100 w. Uma diferença de 13% a menos.

  42. Boa tarde,

    Existe a possibilidade de utilizar um sensor de corrente para monitorar o uso de uma pulseira antiestática?

    1. Mano com esse sensor ai não tem como. Ele só mede correntes alternadas e altas. Essas pulseiras vão apenas fazer uma descarga estática pra terra, é corrente DC e baixíssima. Você vai precisar de um sensor de corrente DC ou amperímetro DC de alta precisão.

  43. Boa tarde Filipe,
    Utilizando mais de um medidor de corrente é possível aproveitar o mesmo circuito do divisor de tensão (resistores de 10K e Capacitor 10 µF)?
    Este circuito é usado para manter a corrente alternada entrando no arduino sobre um nível de 2,5Vdc correto?

    Obrigado.
    Clécio Silva.

  44. Bom dia!!!

    Esse capacitor de 10µf é por quantos volts?