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
- Dewan Arduino (mis., uno, mega, nano)
- Sensor saat ini (mis., ACS712, INA219) atau SHUNT Resistor
- Papan tempat memotong papan dan kabel jumper
- Perangkat Muat (mis., LED, motor, atau komponen apa pun yang ingin Anda ukur arus)
- Catu daya (5V atau 12V tergantung pada beban Anda)
- 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
- Pilih sensor yang tepat: Pilih sensor saat ini atau resistor shunt yang cocok untuk kisaran arus yang Anda harapkan.
- Kalibrasi pengaturan Anda: Sesuaikan kode untuk sensor spesifik atau resistor shunt Anda untuk memastikan pembacaan yang akurat.
- Meminimalkan kebisingan: Gunakan kabel pendek dan tebal dan hindari lingkungan yang bising untuk mengurangi kesalahan pengukuran.
- Monitor Batas Daya: Pastikan sensor atau resistor shunt dapat menangani arus maksimum tanpa panas berlebih.
Aplikasi pengukuran saat ini
- Memantau konsumsi baterai di perangkat IoT
- Mengukur undian saat ini di motor
- Menguji LED dan komponen lainnya
- 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!