La medición de la corriente en los circuitos electrónicos es un requisito común para proyectos que involucran sensores, motores, LED y otros componentes. Si bien Arduino no puede medir directamente la corriente, puede usar componentes externos como un sensor de corriente o una resistencia de derivación para medirla indirectamente. Este tutorial lo guiará a través del proceso de medición de la corriente con un Arduino.
Lo que necesitarás
- Arduino tablero (por ejemplo, Uno, Mega, Nano)
- Sensor actual (por ejemplo, ACS712, INA219) o Resistencia de derivación
- Cables de placa y jersey
- Dispositivo de carga (por ejemplo, LED, motor o cualquier componente para el que desee medir la corriente)
- Fuente de alimentación (5V o 12 V dependiendo de su carga)
- Una computadora con el Arduino IDE instalado
Método 1: Uso de un sensor actual
Los sensores de corriente como el ACS712 o el INA219 simplifican la medición de corriente al proporcionar una salida analógica o digital proporcional a la corriente.
1. Usando el sensor de corriente ACS712
El sensor ACS712 mide la corriente de CA y DC y genera una señal analógica proporcional a la corriente que fluye a través de él.
Diagrama de cableado
Pasador ACS712 | Conexión |
---|---|
VCC | Arduino 5V |
Gnd | Arduino Gnd |
AFUERA | Pin analógico de Arduino (por ejemplo, A0) |
IP+ | Conexión de carga positiva |
Ip- | Conexión de carga negativa |
Código de ejemplo
#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 el sensor de corriente INA219
El INA219 es un sensor de corriente de alta precisión que se comunica con Arduino a través de I2C, que ofrece mediciones de corriente y voltaje.
Diagrama de cableado
Pin de INA219 | Conexión |
---|---|
VCC | Arduino 5V |
Gnd | Arduino Gnd |
SDA | Arduino SDA (por ejemplo, A4 en Uno) |
SCL | Arduino SCL (por ejemplo, A5 en Uno) |
Vin+ | Conexión de carga positiva |
Vin- | Conexión de carga negativa |
Código de ejemplo
Instalar el Biblioteca Adafruit Ina219 a través del Gerente de la 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: Uso de una resistencia de derivación
Una resistencia de derivación es una resistencia de baja resistencia colocada en serie con la carga. Al medir la caída de voltaje a través de la resistencia de la derivación, puede calcular la corriente utilizando la ley de Ohm:
I = v / r
Diagrama de cableado
Componente | Conexión |
---|---|
Resistencia de derivación | En serie con la carga |
Pin analógico de Arduino | A través de la resistencia de la derivación |
Carga | Conectado a la fuente de alimentación |
Código de ejemplo
#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);
}
Las mejores prácticas para medidas precisas
- Elija el sensor correcto: Seleccione un sensor de corriente o una resistencia de derivación adecuada para su rango de corriente esperado.
- Calibre su configuración: Ajuste el código para su sensor o resistencia de derivación específica para garantizar lecturas precisas.
- Minimizar el ruido: Use cables cortos y gruesos y evite entornos ruidosos para reducir los errores de medición.
- Monitor de límites de potencia: Asegúrese de que el sensor o la resistencia de la derivación puedan manejar la corriente máxima sin sobrecalentamiento.
Aplicaciones de la medición actual
- Monitoreo del consumo de batería en dispositivos IoT
- Medir el dibujo de corriente en motores
- Prueba de LED y otros componentes
- Gestión de energía en sistemas integrados
Solución de problemas
- Lecturas incorrectas: Valores de cableado del sensor y calibración de doble verificación.
- Sin salida: Asegúrese de que la carga esté conectada y la corriente fluya.
- Valores fluctuantes: Agregue un condensador en la fuente de alimentación del sensor para estabilizar las lecturas.
Conclusión
Medir la corriente con un Arduino es sencillo cuando se usa las herramientas correctas como los sensores de corriente o las resistencias de derivación. Siguiendo esta guía, puede monitorear la corriente en sus circuitos con precisión, lo que permite una mejor gestión de energía y diagnósticos del sistema. ¡Experimente con diferentes sensores para encontrar el mejor ajuste para sus proyectos!