Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
caiosouzaa

Arduino Programação Sensor de Corrente ACS712 5A

Recommended Posts

Estou com um projeto de geração de energia com a utilização de uma bicicleta adaptada e quero medir a corrente gerada pelo dinamo acoplado na bicicleta com a utilização do arduino. Para isso comprei o sensor de corrente ACS712 5A, porém estou com dificuldade na programação. Alguém que já utilizou esse sensor para medir corrente DC e que tenha o código para ele poderia me ajudar? E também, alguém sabe dizer qual a corrente minima que esse sensor consegue medir?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo datasheet de +5A a -5A. Com erro de 1,5% e sensibilidade de 180 a mV/A. Acima dessa corrente acredito que ainda dá para medir mas a porcentagem de erro deve aumentar drasticamente(lembrando que se tem o máximo de tensão da saída ). 

 

Novamente no datasheet se você olhar a tabela "Output Voltage versus Sensed Current" você pode ver como o sensor se comporta com a tensão de saída em relação com os A quem passam. Note que naquele gráfico todas as curvas de temperatura estão uma em cima da outra... ou seja esse gráfico não varia tanto com a temperatura.

 

Sabendo do gráfico da para montar um formula do primeiro grau para saber a corrente, e claro você pode confirmar isso com um multímetro.

Editado por Bommu Perneta

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Bommu Perneta obrigado pela ajuda, mas sou iniciante em programação com arduino, aí n sei mt bem como montar a equação e como colocar ela no código. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Legalzin este sensor

     

    4 horas atrás, caiosouzaa disse:

    corrente minima que esse sensor consegue medir

    Features

    185 mV/A output sensitivity

    5.0 V, single supply operation

    Output voltage proportional to AC or DC currents

    Factory-trimmed for accuracy

    Extremely stable output offset voltage

    Nearly zero magnetic hysteresis

    Ratiometric output from supply voltage

    Low-noise analog signal path

    Device bandwidth is set via the new FILTER pin

    5 µs output rise time in response to step input current

    80 kHz bandwidth

    Total output error 1.5% at TA = 25°C

    Small footprint, low-profile SOIC8 package

    1.2 mΩ internal conductor resistance

    2.1 kVRMS minimum isolation voltage from pins 1-4 to pins 5-8

     

    Portanto quem vai definir a corrente mínima é teu sistema, não necessariamente o sensor.  Teoricamente com um ad de 10 bits a 5V cada bit mede ~5mV. Tem que fazer umas continhas pros 185mV/A

     

     

    Legalzin teu projeto

     

    4 horas atrás, caiosouzaa disse:

    medir a corrente gerada pelo dinamo acoplado na bicicleta com a utilização do arduino

    Pra esta façanha, basta-lhe aplicar o sinal num canal e ler o valor analógico analógico e com uma matemática simples, converter para Amper e mostrar num display.

     

    1 hora atrás, caiosouzaa disse:

    sou iniciante em programação com arduino, aí n sei mt bem como montar a equação e como colocar ela no código

    neste caso sugiro que volte à etapa do "pisca led"...não queimou ela né?

     

    Deeeeeepois...

    Dica: vá por partes: aprenda a escrever num display, aprenda a ler uma entrada analógica, aprenda a converter com uma simples operação de divisão e/ou multiplicação, una os três conhecimentos e seja feliz

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Liga o sensor no Arduíno ... deve ter tutorial na net para ligar na porta analógica ... depois como é uma reta o gráfico só pegar dois pontos ... o primeiro no zero e outro em uma corrente conhecida usando um multímetro. Pronto manda o Arduíno enviar essa leitura através do serial monitor. Com dois pontos se faz uma equação da reta. Ai é com você. 
     

    Segundo datasheet a tensão de -5A é 1,5V e +5A 3,5V. Ai você teria que olhar o datasheet do arduino e ver a resposta da porta analógicas para esse valor e fazer a formula de corrente e resposta analogica.... en

     

     

    enfim melhor fazer na base da medição mesmo... o resto é conteúdo do ensino médio.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    9 horas atrás, Bommu Perneta disse:

    Liga o sensor no Arduíno ... deve ter tutorial na net para ligar na porta analógica ... depois como é uma reta o gráfico só pegar dois pontos ... o primeiro no zero e outro em uma corrente conhecida usando um multímetro. Pronto manda o Arduíno enviar essa leitura através do serial monitor. Com dois pontos se faz uma equação da reta. Ai é com você. 
     

    Segundo datasheet a tensão de -5A é 1,5V e +5A 3,5V. Ai você teria que olhar o datasheet do arduino e ver a resposta da porta analógicas para esse valor e fazer a formula de corrente e resposta analogica.... en

     

     

    enfim melhor fazer na base da medição mesmo... o resto é conteúdo do ensino médio.

    Precisa disto não.

    A corrente 0A é 2.5v(considerado 5v),e tem sensibilidade 0.185v/a(185mv/a),a equação já está pronta então:

    corrente=(tensão_lida-2.5)/0.185

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    só que a porta analógica não é medida em volts

    loat voltage = sensorValue * (5.0 / 1023.0);

     

    mas ainda não quero fazer conta X)

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Você vai ter de enfrentar o problema de calcular a corrente média, e para isso vai ter de saber o tipo de forma de onda que vai ser gerada pelo seu dínamo.

     

    Veja aqui, se seu dínamo fornece corrente contínua, a forma de onda é a do desenho mais à direita (b) :

     

    13_T02_10.gif.f778fb229773c18ab49346b26a88937d.gif

     

    Ou seja, é uma corrente do tipo pulsante, não é uma senoide pura, é uma semi-senoide, e o cálculo do valor médio dela vai precisar que você faça um monte de amostragens dentro do período dessa forma de onda, o qual é determinado pela velocidade com que você vai rodar o dínamo !

     

    Se a velocidade é fixa e determinada, então facilita bastante o cálculo. Se não for fixa, sugiro colocar pelo menos dois sensores do tipo hall para determinar a velocidade de rotação do dínamo, usando interrupção para isso, assim você consegue ir mudando dinamicamente o tempo entre as suas amostragens, de acordo com essa velocidade, para conseguir fazer sempre o mesmo numero de amostragens em um período dessa sua forma de onda. Um bom número seriam 32 amostragens em cada período ( como período entendo o tempo de cada semi-senoide completa ).

     

    Eu já descrevi algumas vezes o processo matemático para o cálculo da corrente RMS medida por um sensor ACS, usando amostragens no período da senoide aqui neste mesmo Fórum..... mas já fazem alguns anos e não me lembro aonde está isso kkkk sugiro uma boa pesquisa !

     

    Paulo

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Bommu Perneta ,

     

    Esse método de usar o valor de pico só funciona para cargas bem comportadas, tipo 100% resistiva. 

     

    Já o método baseado em integral funciona com cargas reais, com uma excelente precisão.

     

    Paulo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    7 horas atrás, Bommu Perneta disse:

    Tipo um true rms?  ^^

     

    Se a amostragem fosse feita com bem maior frequência, isto é, independente do período do sinal, sim, o resultado pode ser chamado de True RMS.... mas existem limites operacionais, basta ver os limites que os multímetros que se dizem True-Rms apresentam nos folhetos, como o principal deles a frequência dos sinais envolvida na medida, e o segundo maior se refere à forma de onda ser muito "maluca" kkkkk !

     

    Por exemplo, se houverem, no sinal a ser medido, frequências em torno de 1 KHz, e quisermos uma boa precisão nas medidas, não adianta fazer samples a 2 KHz como inicialmente a gente pensaria baseado em Nyquist, pois queremos fazer um cálculo aproximado da integral do sinal ( seria como medir a "área" da forma de onda ! ) e para esse cálculo ser preciso, temos de usar o máximo de poder de sampling !

     

    Se para o caso acima conseguirmos fazer 32 samplings dentro dessa frequência máxima apresentada pelo sinal que é de 1 KHz, ( significa fazer samplings a 32 KHz ! ) , vamos ter uma boa precisão dessa medida da área, e poderemos fazer o cálculo do True-Rms com boa precisão !

     

    Vamos considerar agora a dificuldade disso : Usando um Arduíno que roda a 16 MHz, e considerando o datasheet do Atmega328, não podemos ultrapassar o clock do conversor A/D de 200 KHz.... ( sob pena de perder a precisão nos últimos bits, certo ? ) , então usando um prescaler de 128, teremos 16Mhz/128 = 125 KHz; sabemos que o conversor demora 13 ciclos desse clock, então teremos um sampling máximo de cerca de 9.615 Hz ..... que seria suficiente para fazer a medida de um sinal com frequências máximas de 9615 / 32 = 300 Hz aproximadamente !!!!

     

    Claro que a situação acima é para obtermos medidas de 10 bits de resolução.

     

    Muita gente fez experiências com a linha Atmega, e chegaram a conclusão de que se apenas 8 bits forem suficientes, a frequência máxima do clock do conversor pode passar de 1 MHz !  Nesse caso, conseguiríamos fazer medidas de frequências até cerca de 1500 Hz !

     

    Reparou o porquê a frequência do sinal a ser medido pelos multímetros digitais de baixo custo do tipo True-Rms raramente ultrapassar 1 KHz ?  Quanto maior o poder de processamento do chip utilizado, maior a frequência a ser medida, e claro, maior o custo do multímetro !

     

    Paulo

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    E eu achando que o

    Em 26/10/2017 às 10:54, caiosouzaa disse:

    sensor de corrente ACS712 5A

    que o guri queria usar já fazia o trabalho matemático sujo fornecendo  os 180mV/a dc 'bunitinho' com um mínimo de hw auxiliar...

    Não acho +

    Em 26/10/2017 às 14:03, Isadora Ferraz disse:

    Legalzin este sensor

    ...:tw_confounded:...

    • Haha 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×