A medição da corrente em circuitos eletrônicos é um requisito comum para projetos que envolvem sensores, motores, LEDs e outros componentes. Embora o Arduino não possa medir diretamente a corrente, você pode usar componentes externos como um sensor atual ou um resistor de derivação para medi -lo indiretamente. Este tutorial o guiará através do processo de medição de corrente com um Arduino.
O que você precisará
- Conselho de Arduino (por exemplo, Uno, Mega, Nano)
- Sensor atual (por exemplo, ACS712, INA219) ou Resistor de derivação
- Fios de pão e jumper
- Dispositivo de carga (por exemplo, LED, motor ou qualquer componente para o qual você deseja medir a corrente)
- Fonte de alimentação (5V ou 12V, dependendo da sua carga)
- Um computador com o Arduino IDE instalado
Método 1: Usando um sensor atual
Os sensores atuais como o ACS712 ou INA219 simplificam a medição de corrente, fornecendo uma saída analógica ou digital proporcional à corrente.
1. Usando o sensor de corrente ACS712
O sensor ACS712 mede a corrente CA e CC e produz um sinal analógico proporcional à corrente que flui através dele.
Diagrama de fiação
Pino ACS712 | Conexão |
---|---|
VCC | Arduino 5V |
Gnd | Arduino GND |
FORA | Pino analógico de Arduino (por exemplo, A0) |
IP+ | Conexão de carga positiva |
Ip- | Conexão de carga negativa |
Código de exemplo
#define sensorPin A0
const float sensitivity = 0.185; // Sensitivity for ACS712-05B (mV per A)
const int zeroPoint = 512; // Zero current output in ADC counts
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = (voltage - (zeroPoint / 1023.0) * 5.0) / sensitivity; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
2. Usando o sensor atual do INA219
O INA219 é um sensor de corrente de alta precisão que se comunica com o Arduino via I2C, oferecendo medições de corrente e tensão.
Diagrama de fiação
INA219 PIN | Conexão |
---|---|
VCC | Arduino 5V |
Gnd | Arduino GND |
SDA | Arduino SDA (por exemplo, A4 no UNO) |
SCL | Arduino SCL (por exemplo, A5 no UNO) |
Vin+ | Conexão de carga positiva |
Vin- | Conexão de carga negativa |
Código de exemplo
Instale o Biblioteca Adafruit INA219 através do gerente da biblioteca Arduino.
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup() {
Serial.begin(9600);
if (!ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1);
}
}
void loop() {
float current_mA = ina219.getCurrent_mA();
Serial.print("Current: ");
Serial.print(current_mA);
Serial.println(" mA");
delay(1000);
}
Método 2: Usando um resistor de derivação
Um resistor de derivação é um resistor de baixa resistência colocado em série com a carga. Ao medir a queda de tensão no resistor de derivação, você pode calcular a corrente usando a lei de Ohm:
I = v / r
Diagrama de fiação
Componente | Conexão |
---|---|
Resistor de derivação | Em série com a carga |
Pino analógico de Arduino | Através do resistor de derivação |
Carregar | Conectado à fonte de alimentação |
Código de exemplo
#define shuntPin A0
const float shuntResistance = 0.1; // Resistance in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(shuntPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = voltage / shuntResistance; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
Práticas recomendadas para medições precisas
- Escolha o sensor certo: Selecione um sensor atual ou resistor de derivação adequado para o seu intervalo de corrente esperado.
- Calibre sua configuração: Ajuste o código para o seu sensor específico ou resistor de derivação para garantir leituras precisas.
- Minimize o ruído: Use fios curtos e grossos e evite ambientes barulhentos para reduzir os erros de medição.
- Monitore os limites de energia: Verifique se o sensor ou resistor de derivação pode lidar com a corrente máxima sem superaquecimento.
Aplicações da medição atual
- Monitorando o consumo de bateria em dispositivos IoT
- Medindo o sorteio da corrente em motores
- Testando LEDs e outros componentes
- Gerenciamento de energia em sistemas incorporados
Solução de problemas
- Leituras incorretas: Valores de fiação e calibração do sensor de checagem dupla.
- Sem saída: Verifique se a carga está conectada e a corrente está fluindo.
- Valores flutuantes: Adicione um capacitor na fonte de alimentação do sensor para estabilizar as leituras.
Conclusão
A medição da corrente com um Arduino é direta ao usar as ferramentas certas, como sensores atuais ou resistores de derivação. Seguindo este guia, você pode monitorar com precisão a corrente em seus circuitos, permitindo um melhor gerenciamento de energia e diagnóstico do sistema. Experimente diferentes sensores para encontrar o melhor ajuste para seus projetos!