Neste tutorial, Medindo Corrente com o Sensor ACS712 e o Arduino, você aprenderá como fazer para utilizar esse prático sensor em conjunto com o microcontrolador Arduino, medindo diretamente correntes alternas e contínuas (AC e DC) por meio do efeito hall. Antes de prosseguir, se for realizar os testes abaixo, fique atento com as ligações para evitar possíveis choques elétricos.
O que é o Sensor de Corrente ACS712 AC/DC?
O sensor de corrente ACS712 é um circuito de um sensor linear baseado em efeito Hall totalmente integrado. Este CI possui isolamento de tensão de 2,1kV RMS juntamente com um condutor de corrente de baixa resistência, podendo medir corrente contínua e corrente alternada. Ele Possui recursos de cancelamento de ruído e tempo de resposta muito alto. É simplesmente um sensor de corrente que utiliza seu condutor para calcular e medir a quantidade de corrente aplicada, alcançando excelentes resultados.
Ele pode ser usado em aplicações que requerem isolamento elétrico, pois os terminais do caminho de condução são isolados eletricamente dos condutores do CI. Assim, este CI não requer nenhuma outra técnica de isolamento. Para que funcione, requer uma tensão de alimentação de 5VDC, oferecendo tensão de saída proporcional à corrente AC ou DC.
Visão Geral da Placa e Pinagem do ACS712
Pino |
Descrição | |
1 | Vcc | A tensão de entrada é +5V para aplicações típicas |
2 | Out | Saídas Tensão analógica proporcional à corrente |
3 | Gnd | Conectado ao terra do circuito |
4 | Terminal de conexão |
O fio onde passa a ser medida deve ser conectado aqui |
Descrição dos Pinos do Sensor de Corrente ACS712
Característica do Sensor de Corrente ASC712
- Largura de banda de 80kHz;
- Sensibilidade de saída de 66 a 185 mV/A;
- Sinal analógico de baixo ruído;
- Resistência interna do condutor de 1,2 mΩ;
- Erro total de saída de 1,5% em TA = 25°C;
- Tensão de compensação de saída estável;
- Histerese magnética próxima de zero.
Tipos de Sensores de Corrente ACS712
Os sensores de corrente ACS712 são classificados com base na sua capacidade máxima de medição de corrente, que são mencionadas abaixo. O circuito interno de cada um deles tem diferentes classificações de corrente, portanto, ao escolher o sensor de corrente ideal para o seu projeto, escolha de acordo com os requisitos de corrente necessários.
Tipo de ACS712 | TA (°C ) | Faixa Otimizada, I P (A) |
Sensibilidade, Sens (Typ) (mV/A) |
|
1 | ACS712 -5A | -40 a 85 | ±5 | 185 |
2 | ACS712 -20A | -40 a 85 | ±20 | 100 |
3 | ACS712 -30A | -40 a 85 | ±30 | 66 |
Comparativo Sensores ACS712 5A, 20A e 30A
Principais Aplicações do Sensor ACS712
- Controle de velocidade do motor por meio do consumo;
- Detecção e gerenciamento de carga elétrica;
- Fontes de alimentação de modo comutado (SMPS);
- Proteção contra sobrecorrente.
Funcionamento do Sensor de Corrente ACS712
O sensor de corrente acs712 consiste em um circuito de efeito hall linear junto com terminais de condução de cobre. O caminho de condução em cobre está localizado ao redor da superfície da matriz. Quando a corrente alternada ou contínua passa pelos condutores de cobre, produz um campo magnético, é assim é possível medir o consumo.
Este campo eletromagnético interage com o sensor de efeito hall. O circuito de efeito Hall converte este campo eletromagnético em tensão proporcional CA ou CC, dependendo do tipo de corrente de entrada. Esta tensão de saída é medida com a ajuda do Arduino ou de qualquer outro microcontrolador.
Como usar o Sensor ACS712 com Arduino?
O módulo ACS712 possui dois conectores com borne a parafuso (cor verde) para montagem conforme mostrado abaixo. Estes são os terminais através dos quais o fio deve passar com a carga. No nosso caso, estou medindo a corrente consumida pelo motor, fazendo com que os fios que vão para a carga (motor) passem pelo Módulo ACS712. Certifique-se de que o módulo esteja conectado em série com a carga e seja extremamente cauteloso para evitar curtos.
Do outro lado, temos três pinos. O Vcc é conectado em +5V para alimentar o módulo e o terra é conectado ao terra do microcontrolador. Em seguida, a tensão analógica fornecida pelo módulo ACS712 é lida usando um pino analógico do Arduino, ou outro modelo que esteja utilizando.
Código do Projeto Sensor ACS712 com Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
float voltage; void setup() { Serial.begin(9600); //Start Serial Monitor to display current read value on Serial monitor } void loop() { unsigned int x=0; float AcsValue=0.0,Samples=0.0,AvgAcs=0.0,AcsValueF=0.0; for (int x = 0; x < 10; x++) //Get 10 samples { AcsValue = analogRead(A0); //Read current sensor values Samples = Samples + AcsValue; //Add samples together delay (3); // let ADC settle before next sample 3ms } AvgAcs=Samples/10.0; //Taking Average of Samples voltage=AvgAcs*(5.0 / 1024.0); //((AvgAcs * (5.0 / 1024.0)) is converitng the read voltage in 0-5 volts Serial.print("Raw Voltage:"); Serial.print(voltage); AcsValueF = (2.5 - voltage)*1000/0.185; //2.5 is offset,,, 0.185v is rise in output voltage when 1A current flows at input Serial.print("\t"); Serial.print("Motor Current :"); Serial.print(AcsValueF); //Print the read current on Serial monitor Serial.println(" mA"); } |
Todos os componentes usados neste artigo estão prontamente disponíveis em nosso site. E também outros componentes eletrônicos interessantes estão lá, visite www.usinainfo.com.br . As imagens são apenas para referência.
Post traduzido e adaptado do Artigo: “How to measure Current using ACS712 Current Sensor and Arduino“.
Bom dia,
Posso aplicar uma tensão da rede de 230 v AC no sensor. por exemplo para medir uma corrente de uma lampada ligada a uma rede de 230 v AC? Tensão disponível em Portugal
Adilson Neves
Bom dia!
De acordo com o datasheet até pode ser, mas tome cuidado ao manusear ele, ele não se encaixa no isolamento reforçado!