Current Sensor ACS712 adalah komponen elektronik yang digunakan untuk mengukur arus listrik (AC atau DC) secara non-invasif. Sensor ini bekerja berdasarkan prinsip Hall Effect yang memungkinkan pengukuran arus tanpa perlu memutus rangkaian listrik. Komponen ini banyak digunakan dalam berbagai aplikasi, seperti:
1. Monitoring daya pada perangkat elektronik
2. Sistem pengaman arus berlebih (over-current protection)
3. Pengukuran konsumsi daya baterai
4. Proyek IoT dan smart home
Sensor ini tersedia dalam beberapa variasi berdasarkan rentang pengukurannya, yaitu 5A, 20A dan 30A sehingga dapat disesuaikan dengan kebutuhan proyek.
Prinsip Kerja ACS712 berdasarkan Hall Effect
ACS712 menggunakan efek hall untuk mendeteksi medan magnet yang dihasilkan oleh arus listrik yang mengalir melalui konduktor di dalam sensor. Berikut ini cara kerjanya:
1. Arus Listrik Mengalir
Ketika arus listrik (baik AC maupun DC) mengalir melalui jalur konduktor di dalam sensor ACS712, arus tersebut menciptakan medan magnet di sekeliling konduktor.
2. Deteksi Medan Magnet
Sensor ini memiliki chip efek Hall yang bertugas mendeteksi besarnya medan magnet yang terbentuk akibat aliran arus tersebut.
3. Konversi ke Tegangan Analog
Medan magnet yang terdeteksi akan dikonversi oleh sensor menjadi sinyal tegangan analog yang proporsional terhadap besar arus listrik, dengan output tipikal antara 0–5V atau 0–3.3V tergantung pada tegangan input (VCC) yang digunakan.
4. Pembacaan oleh Mikrokontroler
Tegangan analog ini dapat dibaca oleh ADC (Analog-to-Digital Converter) pada mikrokontroler seperti Arduino, ESP8266, atau STM32, dan dikalkulasi untuk mengetahui nilai arus yang sebenarnya.
Spesifikasi Teknis ACS712
Pinout dan Fungsi Kaki ACS712
1. VCC (Pin 1)
Pin ini digunakan untuk memberikan suplai tegangan ke sensor, biasanya sebesar 5V agar sensor dapat beroperasi dengan baik.
2. GND (Pin 2)
Pin ground yang harus dihubungkan ke ground sistem (mikrokontroler) agar sensor memiliki referensi tegangan yang sama.
3. OUT (Pin 3)
Pin output ini mengeluarkan sinyal analog yang merepresentasikan besar arus listrik yang terdeteksi oleh sensor.
4. FILTER (Pin 4)
Filter digunakan untuk memasang kapasitor eksternal yang berfungsi menyaring noise dan memperhalus sinyal output, sesuai kebutuhan aplikasi.
5. NC (Pin 5)
Pin ini tidak digunakan dan tidak terhubung ke sirkuit internal sensor (No Connection), sehingga dapat diabaikan dalam perancangan.
Cara Menggunakan ACS712 dengan Arduino
1. Rangkaian Dasar ACS712 dan Arduino
- VCC → 5V Arduino
Pin VCC pada ACS712 dihubungkan ke pin 5V Arduino untuk memberikan tegangan operasi ke sensor.
- GND → GND Arduino
Pin GND dari sensor dihubungkan ke pin ground Arduino agar keduanya memiliki referensi tegangan yang sama.
- OUT → A0 (Pin Analog Arduino)
Pin OUT dari ACS712 dihubungkan ke pin analog A0 Arduino, sehingga mikrokontroler dapat membaca tegangan output yang merepresentasikan arus. Pastikan beban listrik (misalnya motor atau lampu) terhubung secara seri dengan ACS712.
2. Program Arduino untuk Membaca Arus DC
const int sensorPin = A0; // Pin analog untuk ACS712
float sensitivity = 0.185; // 185 mV/A untuk ACS712-5A
float offsetVoltage = 2.5; // Tegangan saat arus = 0A (Vout = VCC/2)
void setup() {
Serial.begin(9600);
}
void loop() {
int rawValue = analogRead(sensorPin);
float voltage = (rawValue / 1023.0) * 5.0; // Konversi ke tegangan (0-5V)
float current = (voltage - offsetVoltage) / sensitivity; // Hitung arus
Serial.print("Tegangan: ");
Serial.print(voltage, 3);
Serial.print("V | Arus: ");
Serial.print(current, 3);
Serial.println("A");
delay(500);
}
3. Program Arduino untuk Membaca Arus AC
Untuk mengukur arus AC, kita perlu menghitung nilai RMS (Root Mean Square) dari sinyal analog.
const int sensorPin = A0;
float sensitivity = 0.185; // 185 mV/A untuk ACS712-5A
float offsetVoltage = 2.5; // Vout saat arus nol
int samples = 200; // Jumlah sampel untuk perhitungan RMS
void setup() {
Serial.begin(9600);
}
void loop() {
float sum = 0;
for (int i = 0; i < samples; i++) {
int rawValue = analogRead(sensorPin);
float voltage = (rawValue / 1023.0) * 5.0;
float current = (voltage - offsetVoltage) / sensitivity;
sum += current * current;
delay(1);
}
float rmsCurrent = sqrt(sum / samples);
Serial.print("Arus RMS: ");
Serial.print(rmsCurrent, 3);
Serial.println("A");
delay(500);
}
Baca juga : Perbedaan Input Digital dan Analog dalam Mikrokontroler
Kelebihan ACS712
1. Non-invasif
Sensor ini dapat mengukur arus tanpa harus memutus atau memodifikasi rangkaian utama, cukup dengan mengalirkan arus melalui jalur inputnya.
2. Isolasi galvanik
Memiliki pemisahan listrik antara jalur input arus dan sirkuit pengukuran, sehingga lebih aman digunakan untuk mendeteksi arus tinggi.
3. Kompatibel dengan mikrokontroler
Output berupa tegangan analog membuatnya mudah diintegrasikan dengan Arduino, ESP32, dan mikrokontroler lainnya tanpa konversi tambahan.
4. Akurat untuk arus kecil dan besar
Tersedia dalam beberapa varian (5A, 20A, 30A) sehingga dapat digunakan untuk berbagai rentang pengukuran arus dengan presisi yang baik.
Kekurangan ACS712
1. Tergantung pada tegangan referensi
Perlu kalibrasi untuk mendapatkan hasil pembacaan arus yang akurat karena output sensor berbasis tegangan relatif.
2. Rentan noise
Output analog mudah terganggu oleh gangguan listrik, sehingga sering diperlukan filter tambahan seperti kapasitor di pin FILTER.
3. Tidak cocok untuk arus sangat kecil (di bawah 0.1A)
Resolusi sensor kurang sensitif untuk mendeteksi perubahan arus sangat kecil, sehingga kurang cocok untuk aplikasi ultra-low current.
Tips Mengurangi Noise pada ACS712
1. Gunakan Kapasitor
- Tambahkan kapasitor 0.1µF antara pin FILTER dan GND.
2. Averaging Pembacaan
- Ambil beberapa sampel dan rata-ratakan (seperti pada contoh kode AC).
3. Grounding yang Baik
- Pastikan ground Arduino dan beban terhubung dengan baik.
4. Hindari Medan Magnet Eksternal
- Jauhkan dari motor atau trafo yang menghasilkan medan magnet.
Aplikasi Praktis ACS712
1. Monitoring Daya Baterai
ACS712 digunakan untuk memantau arus masuk (charging) dan keluar (discharging) dari baterai. Sebagai contoh, baterai Li-ion pada sistem tenaga surya atau UPS. Monitoring ini berguna untuk menghindari overcharge atau overdischarge yang dapat merusak baterai.
2. Pengaman Arus Berlebih
Sensor ini dapat digunakan untuk mendeteksi arus melebihi ambang batas tertentu dalam sistem listrik yang sensitif. Jika nilai arus berlebih terdeteksi, mikrokontroler dapat memutus beban atau memberi sinyal peringatan.
3. Smart Energy Meter
Jika dikombinasikan dengan sensor tegangan dan mikrokontrolerACS712 dapat menjadi bagian dari sistem pengukuran energi pintar untuk mengukur konsumsi daya listrik pada rumah tangga atau perangkat elektronik tertentu.
4. Kontrol Motor DC
Pada sistem robotika atau otomasi, sensor ini digunakan untuk memantau arus motor DC. Jika terjadi peningkatan arus secara tiba-tiba, artinya motor dalam kondisi beban berat atau macet, sehingga sistem dapat merespons dengan mematikan motor atau memberi peringatan.
Perbandingan ACS712 dengan Sensor Arus Lain
Pemilihan Model ACS712 yang Tepat untuk Aplikasi Anda
Salah satu hal penting dalam menggunakan ACS712 adalah memilih model yang sesuai dengan kebutuhan proyek. Sensor ini tersedia dalam tiga varian utama, yaitu:
1. ACS712-5A
- Sensitivitas: 185 mV/A
- Cocok untuk pengukuran arus kecil, seperti pada proyek Arduino, pengukuran daya perangkat USB, atau sistem dengan konsumsi daya rendah.
- Jika arus melebihi 5A, akurasi akan menurun.
2. ACS712-20A
- Sensitivitas: 100 mV/A
- Cocok untuk aplikasi yang membutuhkan pengukuran arus sedang, seperti motor listrik kecil, power supply, atau sistem tenaga surya skala kecil.
- Lebih tahan terhadap fluktuasi arus dibandingkan dengan model 5A.
3. ACS712-30A
- Sensitivitas: 66 mV/A
- Digunakan untuk beban tinggi, seperti inverter, sistem kelistrikan kendaraan, atau peralatan industri.
- Pembacaan arus kecil (di bawah 0,5A) mungkin kurang akurat karena sensitivitasnya lebih rendah.
Tips Memilih Model:
- Jika proyek Anda bekerja dengan arus di bawah 5A, gunakan ACS712-5A untuk presisi lebih tinggi.
- Untuk aplikasi dengan arus dinamis (naik-turun cepat), ACS712-20A lebih stabil.
- Jika mengukur arus sangat tinggi (10A-30A), pastikan menggunakan heat sink atau pendinginan pasif agar sensor tidak overheat.
Baca juga : Cara Menggunakan Modul Stepper Motor Driver A4988 untuk Pemula
Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?
Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!
0 on: "Apa Itu Current Sensor ACS712? Cara Menggunakan dan Membacanya"