Veja nesse pequeno projeto como usar o sensor ACS712 para medir corrente alternada com Arduino.
O sensor de corrente ACS712 é uma ótima alternativa para realizar medições da corrente elétrica com Arduino de maneira fácil e segura.
Vejamos algumas de suas características:
- Utiliza o efeito hall para realizar a medição e gerar no pino de saída uma tensão proporcional à corrente detectada;
- Pode ser utilizado com corrente alternada (AC) e corrente contínua (DC) ;
- Seus bornes são isolados do microcontrolador;
- Ótima opção para instalações permanentes, dada a sua característica invasiva, ou seja, precisamos interromper o circuito para realizar a medição, diferente de outros sensores em que você deve apenas envolver um dos fios do circuito para medir a corrente;
- Disponível em vários modelos, de acordo com a faixa de amperagem a ser detectada (5, 20 e 30A).
Hardware necessário
- Arduino Compatível (nos meus testes, usei o Arduino Mega);
- Sensor ACS712 (Nos testes, usei o modelo de 30A);
- Extensão elétrica e um aparelho elétrico com potência ou corrente conhecidas (no meu caso, usei uma lâmpada de 15 Watts).
Onde Comprar:
Curto Circuito – Componentes Eletrônicos e Acessórios
Software Necessário
Para facilitar a programação e evitar a realização de muitos cálculos, utilizei a library ACS712-arduino disponível no seguinte endereço:
https://github.com/rkoptev/ACS712-arduino
Esquema de ligação
Vídeo Demonstração
Let’s Sketch!
#include "ACS712.h" // Estou usando ACS de 30A. Mude para o modelo que está usando. Valores possíveis: 5,20 e 30 // Sensor ligado na porta analópgica A0 ACS712 sensor(ACS712_30A, A0); void setup() { // É necessário calibrar o sensor antes de usar a primeira vez com o método abaixo Serial.begin(9600); Serial.println("Aguarde. Calibrando..."); sensor.calibrate(); Serial.println("Fim da calibração"); } void loop() { // A frequência da corrente alternada no Brasil é 60 Hz. Mude caso necessário // A voltagem, no meu caso é 127 delay(5000); float V = 127; float I = sensor.getCurrentAC(60); float P = V * I; Serial.println(String("Corrente = ") + I + " A"); Serial.println(String("Potência = ") + P + " Watts"); }
Referências
Conclusão
Para finalizar, queria alertar que este projeto deve ser realizado com extremo cuidado, pois envolve o uso de alta tensão.
A medição de corrente nem sempre é fácil, pois envolve vários fatores que podem interferir. Por isso, nem sempre o resultado é extremamente preciso.
Uma modificação que poderia ser feita é a inclusão de um sensor de tensão em paralelo com a lâmpada. Dessa forma o resultado seria mais próximo da realidade, devido às variações da rede elétrica.
Em breve, faremos isso aqui no blog.
Até a próxima!!!