Sunday, September 18, 2016

Tutorial Arduino Mengukur Arus Dengan Modul Sensor Arus ACS712

1. Sensor Arus ACS712

Sensor arus yang digunakan berupa modul sensor arus ACS712 yang memiliki kegunaan untuk mendeteksi besar arus yang mengalir lewat blok terminal[1]. 
Feature dan manfaat yang diberikan oleh sensor arus ACS712 seperti berikut [2]:
  • Rendah noise
  • Bandwidth Perangkat diatur melalui FILTER pin baru waktu naik 
  • 5 mikrodetik keluaran dalam menanggapi arus masukan
  • Bandwith 80 kHz
  • Total output error 1,5% pada TA = 25 ° C
  • Tampak Kecil, low-profile paket SOIC8
  • 1,2 MW resistansi konduktor internal
  • Isolasi tegangan 2,1 kVRMS minimum dari pin 1-4 ke pin 5-8
  • 5.0 V, operasi catu daya tunggal
  • 66-185 mV / A sensitivitas keluaran
Modul Sensor Arus ACS712 seperti pada gambar 1, dapat mendeteksi arus hingga 30A dan sinyal arus ini dapat dibaca melalui analog IO port Arduino, Produk tersedia dipasaran untuk modul ini adalah 30A, 20A, 5A. Untuk demonstrasi kali ini akan menggunakan ACS712 untuk arus 5A. Sensor arus ACS712 dapat mengukur arus positif dan negatif dengan kisaran -5A sampai 5A. Sensor ini memelukan suplai daya sebesar 5V. Untuk membaca nilai tengah (nol Ampere) tegangan sensor diset pada 2.5V yaitu setengah kali tegangan sumber daya VCC = 5V [1]. Pada polaritas negatif pembacaan arus -5A terjadi pada tegangan 0,5V. Tingkat perubahan tegangan berkorelasi linear terhadap besar arus sebesar 400 mV/Ampere. 


Gambar 1. Modul sensor arus ACS712 [3]


Gambar 2. Rangkaian skematik sensor arus ACS712 [2]

Pada gambar 2 menunjukkan rangkaian sensor arus ACS712. Hasil pembacaan dari modul sensor arus perlu disesuaikan kembali dengan pembacaan nilai arus sebenarnya yang dihasilkan. Konfigurasi Pin dari sensor arus ini dapat dilihat pada tabel 1 berikut :

Tabel 1 Tabel konfigurasi Pin ACS712 [2]

2. Kalibrasi Sensor Arus ACS712

Modul ACS712 memiliki sensitifitas tegangan sebesar 66-185 mV/A. Sama halnya dengan sensor tegangan yang telah kita bahas lalu, sensor arus memiliki jangkauan pembacaan mulai dari 0 (pada input 0V input) sampai 1023 (pada input 5V) dengan resolusi sebesar 0,0049V. Pembacaan sensor arus, I pada analogread dirumuskan pada persamaan(1.1) berikut [1]:

I = (0,0049 x Vout - 2,5) / 0,185 

Atau disederhanakan;

I = (0.0264 x Vout -13.51)                                (1.1)

Modul sensor arus ini disusun secara seri terhadap beban, seperti yang ditunjukan pada Gambar 3 berikut:

Gambar 3. Rangkaian sensor arus yang terhubung seri terhadap beban panel surya[1]

3. Rangkaian koneksi Aduino dengan Sensor Arus ACS712

Mengkoneksikan sensor arus ACS712 dengan arduino yaitu dimana tegangan 5V arduino dihubungkan melalui kabel merah ke Pin Vcc sensor arus ACS712, kemudian Ground arduino dihubungkan melalui kabel biru ke Pin GND sensor arus ACS712 dan Analog Read (A0) arduino dihungkan ke pada pin sinyal output sensor arus ACS712, untuk lebih jelasnya dapat dilihat pada gambar 4 berikut.


Gambar 4. Rangkaian koneksi arduino dengan modul sensor tegangan [3]

4. Source Code Sensor Arus ACS712 untuk Arduino

Contoh memprogram arduino untuk dapat menjalankan sensor arus ACS712 untuk 5A dengan memasukkan rumus kalibrasinya persamaan (1.1), seperti berikut:

void setup() {
Serial.begin(9600);
}
void loop() {
//Sensor Arus max 5A
float average = 0;
for(int i = 0; i < 1000; i++) {
average = average + (0.0264 * analogRead(A0) -13.51);
delay(1000);
}
Serial.print(average);
Serial.println("mA");
}

Referensi:
  1. M. Rizal F., Ira D. S., Yuwaldi A., “Pemantauan Parameter Panel Surya Berbasis Arduino secara Real Time”, Jurnal Rekayasa Elektrika Vol. 11, No. 4, Agustus 2015, hal. 123-128. [Online]: Download 
  2. Datasheet ACS712, April 2015, [Online]: Download
  3. Introduction of ACS712 Current Sensor Module – 30A With Arduino, September 2016., [Online]: Buka Disini
Load disqus comments

0 comments