Medição de corrente com o Arduino

Measuring Current with the Arduino

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á

  1. Conselho de Arduino (por exemplo, Uno, Mega, Nano)
  2. Sensor atual (por exemplo, ACS712, INA219) ou Resistor de derivação
  3. Fios de pão e jumper
  4. Dispositivo de carga (por exemplo, LED, motor ou qualquer componente para o qual você deseja medir a corrente)
  5. Fonte de alimentação (5V ou 12V, dependendo da sua carga)
  6. 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

  1. Escolha o sensor certo: Selecione um sensor atual ou resistor de derivação adequado para o seu intervalo de corrente esperado.
  2. Calibre sua configuração: Ajuste o código para o seu sensor específico ou resistor de derivação para garantir leituras precisas.
  3. Minimize o ruído: Use fios curtos e grossos e evite ambientes barulhentos para reduzir os erros de medição.
  4. 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

  1. Monitorando o consumo de bateria em dispositivos IoT
  2. Medindo o sorteio da corrente em motores
  3. Testando LEDs e outros componentes
  4. 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!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.