Índice:

Medições do sensor de corrente ACS724 com Arduino: 4 etapas
Medições do sensor de corrente ACS724 com Arduino: 4 etapas

Vídeo: Medições do sensor de corrente ACS724 com Arduino: 4 etapas

Vídeo: Medições do sensor de corrente ACS724 com Arduino: 4 etapas
Vídeo: ACS724 Current Sensor Measurements with Arduino 2024, Julho
Anonim
Image
Image
Imagem
Imagem

Neste instrutível, vamos experimentar conectar um sensor de corrente ACS724 a um Arduino para fazer medições de corrente. Neste caso, o sensor de corrente é uma variedade +/- 5A que produz 400 mv / A.

O Arduino Uno tem um ADC de 10 bits, então boas perguntas são: Quão precisa é a leitura atual que podemos obter e quão estável é?

Começaremos apenas conectando o sensor a um voltímetro e um medidor de corrente e fazer leituras analógicas para ver como o sensor funciona e, em seguida, conectá-lo a um pino ADC do Arduino e ver como funciona.

Suprimentos

1 - Breadboard2 - Fontes de alimentação de bancada2 - DVM's1 - Sensor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, resistores de 10W1 - 1nF cap1 - 10nF cap1 - 0,1uF capJumpers

Passo 1:

O circuito de teste é mostrado no diagrama. A conexão do pino Arduino 5V ao trilho LM7805 + 5V é opcional. Você pode obter melhores resultados com este jumper no lugar, mas tenha cuidado com a fiação se usá-lo, porque o Arduino está conectado ao seu computador e a segunda fonte de alimentação excederá 5 V quando você ligá-lo para aumentar a corrente através do sensor.

Se você conectar as fontes de alimentação juntas, a fonte de alimentação do sensor e a fonte de alimentação do Arduino terão exatamente o mesmo ponto de referência de + 5V e você esperaria resultados mais consistentes.

Eu fiz isso sem essa conexão e vi uma leitura de corrente zero mais alta no sensor de corrente (2,530 V em vez dos 2,500 V esperados) e uma leitura ADC menor do que a esperada no ponto de corrente zero. Eu estava obtendo uma leitura de ADC digital de cerca de 507 a 508 sem corrente através do sensor, para 2.500V você deveria ver uma leitura de ADC de cerca de 512. Corrigi isso no software.

Etapa 2: Teste de Medições

Medições de teste
Medições de teste

As medições analógicas com um voltímetro e amperímetro indicaram que o sensor é muito preciso. Nas correntes de teste de 0,5 A, 1,0 A e 1,5 A estava exatamente correto para milivolt.

As medições ADC com o Arduino não foram tão precisas. Essas medições foram limitadas pela resolução de 10 bits do Arduino ADC e problemas de ruído (veja o vídeo). Devido ao ruído, a leitura do ADC estava saltando do pior caso em até 10 ou mais etapas sem corrente através do sensor. Considerando que cada etapa representa cerca de 5 mv, isso é uma flutuação de cerca de 50 mv e com um sensor de 400 mv / amp representa uma flutuação de 50 mv / 400 mv / amp = 125 mv! A única maneira de obter uma leitura significativa era fazer 10 leituras consecutivas e, em seguida, fazer a média delas.

Com um ADC de 10 bits ou 1024 níveis possíveis e 5V Vcc, podemos resolver cerca de 5/1023 ~ 5mv por etapa. A saída do sensor coloca 400mv / Amp. Portanto, na melhor das hipóteses, temos uma resolução de 5mv / 400mv / amp ~ 12,5ma.

Portanto, a combinação de flutuações devido ao ruído e baixa resolução significa que não podemos usar este método para medir a corrente de forma precisa e consistente, especialmente pequenas correntes. Podemos usar esse método para nos dar uma ideia do nível de corrente em correntes mais altas, mas não é tão preciso.

Etapa 3: Conclusões

Conclusões
Conclusões

Conclusões:

-As leituras analógicas do ACS724 são muito precisas.

-ACS724 deve funcionar muito bem com circuitos analógicos. por exemplo, controlar a corrente da fonte de alimentação com um circuito de feedback analógico.

-Há problemas com ruído e resolução usando o ACS724 com Arduino 10 bits ADC.

- Bom o suficiente apenas para monitorar a corrente média para circuitos de corrente mais alta, mas não bom o suficiente para controle de corrente constante.

-Pode ser necessário usar um chip externo de 12 bits ou mais ADC para melhores resultados.

Etapa 4: Código Arduino

Aqui está o código que usei para simplesmente medir o valor ADC do pino A0 do Arduino e o código para converter a tensão do sensor em corrente e fazer a média de 10 leituras. O código é bastante autoexplicativo e comentado para o código de conversão e cálculo da média.

Recomendado: