Allegro ACS758 Sensor de Corrente com LCD e Proteção contra Sobrecorrente para Arduino
Neste tutorial, aprenderemos como usar o sensor de corrente Allegro ACS758 com um LCD para exibir leituras de corrente e implementar proteção contra sobrecorrente. Esta configuração nos permite monitorar a corrente e desconectar a carga automaticamente se ela exceder um limite predefinido. O projeto combina componentes de hardware e software para criar um sistema funcional de monitoramento de corrente.

Seguindo este guia, você será capaz de conectar os componentes corretamente e entender a lógica de programação por trás do código. Para uma explicação mais visual, não deixe de conferir o vídeo associado (no vídeo aos 00:00).
Hardware explicado
Os componentes-chave deste projeto incluem o sensor de corrente Allegro ACS758, um display LCD1602 com interface I2C e uma placa Arduino. O sensor ACS758 mede a corrente que passa por ele e fornece uma tensão proporcional à corrente. O LCD1602 exibe as leituras de corrente e mensagens de status, enquanto o Arduino processa os dados e controla o relé para proteção contra sobrecorrente.
O sensor ACS758 opera com base em um princípio chamado sensoriamento por efeito Hall, que lhe permite medir a corrente sem contato elétrico direto. A tensão de saída varia conforme a quantidade de corrente que o atravessa, proporcionando uma maneira segura e eficiente de monitorar cargas elétricas.
Detalhes da ficha técnica
| Fabricante | Allegro MicroSystems |
|---|---|
| Número da peça | ACS758 |
| Tensão lógica/IO | 3.3V / 5V |
| Tensão de alimentação | 5V |
| Corrente de saída (por canal) | 200 A máx. |
| Corrente de pico (por canal) | 200A |
| Orientações sobre a frequência PWM | Não aplicável |
| Limiares lógicos de entrada | 0,5 x VCC (bidirecional) |
| Queda de tensão / RDS(ligado)/ saturação | Não aplicável |
| Limites térmicos | 150°C |
| Pacote | Montagem em placa de circuito impresso |
| Notas / variantes | Vários modelos disponíveis para diferentes faixas de corrente |
- Assegure a dissipação de calor adequada se operar próximo aos limites máximos.
- Use capacitores de desacoplamento para estabilizar a tensão da fonte de alimentação.
- Verifique se o relé utilizado pode suportar a corrente máxima de carga.
- Tenha cuidado com a fiação para evitar curtos-circuitos.
- Erros comuns incluem entradas flutuantes; garanta que todas as conexões estejam firmes.
- Monitore o superaquecimento do sensor durante o uso prolongado.
Componentes necessários
- Sensor de corrente ACS758
- relé 12 V 100 A
- LCD1602 com I2C (4 fios)
- Transistor 2N2222 ou 2N3904
- 1k ohm 1/4W ou qualquer resistor de potência
- Fonte de alimentação para relé
- Fonte de alimentação para sua carga
- Protoboard
- Fios jumper
Instruções de Fiação

Para fazer a ligação do sensor de corrente Allegro ACS758 e do display LCD1602, comece conectando o sensor ACS758. Conecte oVCCpino do sensor ao pino 5V do Arduino. OGNDO pino deve ser conectado a um pino de terra no Arduino. OSO pino (sinal) do sensor deve ser conectado ao pino de entrada analógicaA0no Arduino.
Em seguida, para o LCD1602, conecte oVCCpino para o pino de 5V no Arduino e oGNDprender ao chão. OSDAo pino do LCD deve ser conectado aoA4pino (SDA) no Arduino, enquanto oSCLpino deve conectar-se aoA5pino (SCL) no Arduino. Finalmente, conecte um módulo de relé ao pino digital2para controlar a carga com base nas leituras de corrente.
Exemplos de Código e Guia Passo a Passo
No código do Arduino, começamos definindo identificadores-chave comoVIN, que representa o pino de entrada analógica conectado ao sensor ACS758. OrelayPinestá configurado para o controle do relé, enquantomaxCurrentdefine o limiar de proteção contra sobrecorrente
#define VIN A0 // define the Arduino pin A0 as voltage input (V in)
const int relayPin = 2; // set a digital pin for relay
const float maxCurrent = 15.00; // set maximum Current
Osetup()A função inicializa o LCD e configura o pino do relé como saída. Ela também imprime uma mensagem de boas-vindas no LCD, informando o usuário sobre o sensor de corrente que está sendo usado.
void setup() {
pinMode(relayPin, OUTPUT); // set relayPin as output
Serial.begin(9600); // initialize serial monitor
lcd.begin(); // initialize the LCD
lcd.backlight(); // Turn on the blacklight
lcd.print("Robojax");
}
Noloop()Nesta função, lemos continuamente a tensão do sensor e calculamos a corrente. Se a corrente exceder o limite máximo, o relé é ativado para desconectar a carga. Essa lógica garante que o sistema se proteja de condições de sobrecorrente.
void loop() {
float voltage_raw = (5.0 / 1023.0) * analogRead(VIN); // Read the voltage from sensor
float current = voltage / FACTOR; // Calculate current
if (current >= minCurrent) {
if (current <= maxCurrent) {
digitalWrite(relayPin, LOW); // turn the relay OFF to allow current
} else {
digitalWrite(relayPin, HIGH); // turn the relay ON to disconnect current
}
}
}
Demonstração / O que esperar
Depois que tudo estiver conectado e o código for carregado, o LCD exibirá as leituras de corrente. Se a corrente exceder o definidomaxCurrent, o relé será ativado, desconectando a carga. Você pode testar isso aumentando gradualmente a corrente da carga e observando as alterações no LCD e no monitor serial. Certifique-se de evitar conexões com polaridade invertida, pois isso pode danificar os componentes (no vídeo em 10:15).
Coisas que você pode precisar
-
Amazonas
-
Amazonas
-
Amazonas
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase an LCD1602 from AliExpresss.click.aliexpress.com
-
BanggoodPurchase LCD1602 display from Banggoodbanggood.com
Recursos e referências
-
ExternoPurchase an LCD1602 from AliExpresss.click.aliexpress.com
-
Externo
-
Externo
-
Externo
-
ExternoPurchase LCD1602 display from Banggoodbanggood.com
Arquivos📁
Folha de dados (pdf)
-
ACS758 current sensor datasheet
application/pdf1.03 MB