Ir ao conteúdo
  • Cadastre-se

Arduino Programação Sensor de Corrente ACS712 5A


Posts recomendados

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?

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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

Link para o comentário
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.

Link para o comentário
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

 

Link para o comentário
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

 

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...