Mengukur arus dengan Arduino

Measuring Current with the Arduino

Mengukur arus di sirkuit elektronik adalah persyaratan umum untuk proyek yang melibatkan sensor, motor, LED, dan komponen lainnya. Meskipun Arduino tidak dapat secara langsung mengukur arus, Anda dapat menggunakan komponen eksternal seperti sensor saat ini atau resistor shunt untuk mengukurnya secara tidak langsung. Tutorial ini akan memandu Anda melalui proses mengukur arus dengan Arduino.


Apa yang Anda Butuhkan

  1. Dewan Arduino (mis., uno, mega, nano)
  2. Sensor saat ini (mis., ACS712, INA219) atau SHUNT Resistor
  3. Papan tempat memotong papan dan kabel jumper
  4. Perangkat Muat (mis., LED, motor, atau komponen apa pun yang ingin Anda ukur arus)
  5. Catu daya (5V atau 12V tergantung pada beban Anda)
  6. Komputer dengan IDE Arduino diinstal

Metode 1: Menggunakan sensor saat ini

Sensor saat ini seperti ACS712 atau INA219 menyederhanakan pengukuran saat ini dengan memberikan output analog atau digital sebanding dengan arus.

1. Menggunakan sensor arus ACS712

Sensor ACS712 mengukur arus AC dan DC dan mengeluarkan sinyal analog yang sebanding dengan arus yang mengalir melaluinya.

Diagram kabel
ACS712 Pin Koneksi
Vcc Arduino 5v
Gnd Arduino GND
KELUAR Pin analog Arduino (mis., A0)
IP+ Koneksi beban positif
AKU P- Koneksi beban negatif
Kode contoh
#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. Menggunakan sensor arus INA219

INA219 adalah sensor arus presisi tinggi yang berkomunikasi dengan Arduino melalui I2C, menawarkan pengukuran arus dan tegangan.

Diagram Pengkabelan
Ina219 pin Koneksi
Vcc Arduino 5v
Gnd Arduino GND
SDA Arduino SDA (mis., A4 di UNO)
Scl Arduino SCL (mis., A5 di UNO)
Vin+ Koneksi beban positif
Vin- Koneksi beban negatif
Kode contoh

Instal Perpustakaan ADAFRUIT INA219 melalui Manajer Perpustakaan 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);
}

Metode 2: Menggunakan resistor shunt

Resistor shunt adalah resistor resistensi rendah yang ditempatkan secara seri dengan beban. Dengan mengukur penurunan tegangan melintasi resistor shunt, Anda dapat menghitung arus menggunakan hukum OHM:

I = v / r

Diagram kabel

Komponen Koneksi
SHUNT Resistor Secara seri dengan beban
Pin analog Arduino Di seberang resistor shunt
Memuat Terhubung ke catu daya
Kode contoh
#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);
}

Praktik terbaik untuk pengukuran yang akurat

  1. Pilih sensor yang tepat: Pilih sensor saat ini atau resistor shunt yang cocok untuk kisaran arus yang Anda harapkan.
  2. Kalibrasi pengaturan Anda: Sesuaikan kode untuk sensor spesifik atau resistor shunt Anda untuk memastikan pembacaan yang akurat.
  3. Meminimalkan kebisingan: Gunakan kabel pendek dan tebal dan hindari lingkungan yang bising untuk mengurangi kesalahan pengukuran.
  4. Monitor Batas Daya: Pastikan sensor atau resistor shunt dapat menangani arus maksimum tanpa panas berlebih.

Aplikasi pengukuran saat ini

  1. Memantau konsumsi baterai di perangkat IoT
  2. Mengukur undian saat ini di motor
  3. Menguji LED dan komponen lainnya
  4. Manajemen Daya dalam Sistem Tertanam

Pemecahan masalah

  • Bacaan yang salah: Nilai Sensor dan Nilai Sensor dan Kalibrasi Double.
  • Tidak ada output: Pastikan beban terhubung dan arus mengalir.
  • Nilai berfluktuasi: Tambahkan kapasitor melintasi catu daya sensor untuk menstabilkan bacaan.

Kesimpulan

Mengukur arus dengan Arduino langsung saat menggunakan alat yang tepat seperti sensor saat ini atau resistor shunt. Dengan mengikuti panduan ini, Anda dapat memantau arus di sirkuit Anda secara akurat, memungkinkan manajemen daya yang lebih baik dan diagnostik sistem. Bereksperimenlah dengan sensor yang berbeda untuk menemukan yang paling cocok untuk proyek Anda!

Tinggalkan komentar

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.