mengatasi sensor arus acs712 tidak linear arduino.docx
TRANSCRIPT
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
1/8
Mengatasi Sensor Arus ACS712 Tidak Linear :Resolved ProblemPosted on Friday, August 15, 2014 by Rudy Hermawan
Sensor ACS712 adalah merupakan sensor untuk mendeteksi arus. Penggunaan sensor arus ACS712ini Kebanyakan memiliki kekurangan yakni nilai arus yang di dapatkan dari sensor tidak linear
sehingga terkadang kita membutuhkan tingkat linear yang lebih tinggi. Sebelum membahas lebih
lanjut, akan di jelaskan terlebih dahulu tentang sensor arus ACS712. ACS712 ini memiliki tipe variasi
sesuai dengan arus maksimal yakni A, 2!A, "!A. ACS712 ini menggunakan #CC #.
Gambar 0 Sensor Arus ACS712 5A
Pada pembahasan kali ini sensor arus yang di gunakan adalah variasi ACS712 dengan nilai arus
maksimal A buatan $C %le&troni&s dengan menggunakan Arduino '%(A 2)! sebagai'i&ro&ontrollernya. Sensor Arus ACS712 * A ini memang memiliki karakteristik dapat dilihat dari
&uplikan dari datasheet ACS712 * A di ba+ah ini
Gambar 1 ara!teristi! Sensor Arus ACS712 5A
dengan bentuk gra-ik perubahan #out sensor terhadap arus yang di deteksi. Seperti di ba+ah ini
http://jawaplugin.blogspot.sg/2014/08/mengatasi-sensor-arus-acs712-tidak.htmlhttp://jawaplugin.blogspot.sg/2014/08/mengatasi-sensor-arus-acs712-tidak.htmlhttp://jawaplugin.blogspot.sg/2014/08/mengatasi-sensor-arus-acs712-tidak.htmlhttp://jawaplugin.blogspot.sg/2014/08/mengatasi-sensor-arus-acs712-tidak.html -
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
2/8
Gambar 2 "ut#ut $o%tage $s Arus Sensor Arus ACS712 5A
Sangat elas bah+a dari kedua gambar di atas bisa kita analisa bah+a /ilai perubahan arus yang
terjadi berdasarkan perubahan tegangan output sensor dengan range 10! * 1! m#A dengan nilai
ideal 10m#A pada gambar 1. Analisa gambar 2 memiliki karakteristik nilai tegangan output sensor
tanpa beban terdeteksi pada tegangan 2.# dan perubahan tegangan setiap 10m# mengartikan 1A.
disini yang akan kita gunakan adalah nilai idealnya.
3ari pemahaman sederhana tersebut, maka kita man-aatkan menjadi dasar untuk membuat sebuah
algoritma program yang akan kita gunakan. sebagai berikut
1. Pengambilan data dari sensor berupa tegangan simpan pada var #o.
2. 'engurangi nilai #o * 2.! simpan pada var #oa dan di absolutkan.
". Setelah di dapat #oa!.10 simpan pada var Amp4A5.
6. /ilai var Amp4A5 dirubah ke nilai 4mA5 dengan Amp1!!!.4Alasan merubah ke nilai mA, untuk
memperdetil dalam pengkalibrasian5
. 'elakukan Proses kalibrasi.
Proses kalibrasi Sendiri memiliki algoritma sebagai berikut
1. ika +aktu di ba+ah +aktu tersetting melakukan penjumlahan /ilai var Amp4mA5 se&ara berkala.
2. ika di atas +aktu tersetting, akan dilakukan pembagian nilai antara umlah total Amp4mA5 yang
telah di dapatkan di bagi dengan nilai +aktu tersetting.
". Sehingga didapatkan nilai rata*rata, di simpan pada var cal_value.
/ilai cal_valueini di gunakan untuk mengurangi ketidak stabilan pada output sensor arus ACS712.
sehingga di dapatkan nilai Arus -i8 dengan mengurangi nilai Amp(mA)-cal_value.
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
3/8
9erikut Code dari algoritma sederhana di atas
double temp_amp=0.0; //gunakan tipe data double pada penampung penjumlahan arus sensor
loat temps! adc"olt! cal_value;
unsigned long cal#ime=0! time_cal=$00;
boolean on_calibrasi=alse;
void setup()%
&erial.begin('$00);
&erial.println(unning &*stem);
&erial.print(#ime &et +);
&erial.println(time_cal);
,
void loop()%
get_data();
dela*(00);
,
void get_data()%
temps = analogead(A0) (.0 / 01.0); //convert ke tegangan dari A23
adc"olt = abs(temps - .0); //mengambil selisih tegangan pada 4ero point
adc"olt /= 0.5; //Arus dalam A
adc"olt = 000; //merubah Arus A ke mA
//proses kalibrasi
/
bagian i(cal#ime 6 time_cal) merupakan seleksi 7aktu. 2igunakan sebagai
pembatas satu kali kalibrasi! hal ini sangat di anjurkan untuk mengurangi
kelebihan muatan pada var cal#ime dan temp_amp dimana jika tidak di batasi
akan melakukan penambahan berulang-ulang.
/
i(cal#ime 6 time_cal)%
cal#ime88;
&erial.print(9alibrasi #ime+);
&erial.println(cal#ime);
temp_amp 8= adc"olt; //penjumlahan arus output sensor
on_calibrasi = true;
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
4/8
,else i(on_calibrasi == true)%
cal_value = temp_amp/time_cal; //pembagian nilai keseluruhan dengan 7aktu
on_calibrasi = alse;
,
i(on_calibrasi == alse)%
adc"olt -= cal_value;
adc"olt = abs(adc"olt);
&erial.println(2alam);
&erial.print( mA +);
&erial.println(adc"olt);
adc"olt /= 000;
&erial.print( A +);
&erial.println(adc"olt);
&erial.println( );
,
,
akan dijelaskan se&ara singkat beberapa bagian *ang belum di jelaskan pada bagian
algoritmadari kode diatas. time_cal'erupakan nilai lama +aktu pengambilan data, kode
menggunakan )!! dengan delay +aktu !!ms jadi sekitar menitdanon_calibrasi digunakan untuk
membatasi 1 kali kalibrasi saja dengan perbandingan nilai time_cal, hal ini dapat anda man-aatkan
ketika alat anda menyala pertama kali. -ungsi abs45 digunakan untuk meng*absolute*kan nilai output
agar hasilnya hanya positi- saja. dan var temp_amp gunakan tipe data double, untuk menanggulangi
penjumlahan yang sangan besar.
:ntuk pengujian ini dilakukan dua kali pengujian dengan kode di atas, pengujian pertama
menggunakan kon-igurasi hard+are standart dan pengujian kedua kon-igurasi hard+are modi-,
Kon-igurasi hard+are modi- menggunakan penambahan komponen setelah output sensor dengan
dioda 1/6160 dan kapasitor 1!!n; di sarankan tipe keramik. Pengujian dua kali ini bertujuan agar
anda dapat membandingkan penggunaan kode diatas dengan kon-irgurasi standart dan kon-igurasi
modi-.
Perhatian Kon-igurasi 'odi- merupakan rangakain Sesuai dengan pemahaman saya, dengan hasil
yang sudah saya &oba. Artikel ini hanya sebagai re-rensi anda tanpa jaminan apapun selebihnya
merupakan tanggung ja+ab anda 3
Kon-igurasi
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
5/8
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
6/8
+eta#i i!a mengguna!an !on*gurasi Hardware modi- a!an sedi!it berbeda 'asi%nya )
Gambar 5 Penggunaan S!ema .odi- Sensor Arus ACS712 dengan Arduino
/ida#at!an !ira!ira ni%ai sebagainya beri!ut #ada (onso%e )
Gambar Hasi% Conso%e dengan on*gurasi 'ardware modi-
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
7/8
#erbedaan antara 'asi% 'ardware modi- dan standart tida! ter%a%u besar, teta#i #ada
!on*gurasi 'ardware modi- da#at memb%o(! ni%ai 'ingga di se!itar 0043005A, teta#i
i!a mengguna!an !on*gurasi standart out#ut yang dida#at!an men(a#ai 007A
emba%i !e#ada anda, Anda da#at mengguna!an sa%a' satu di antara !eduanya )
eri!ut -oto-oto Rang!aian)
Gambar 7 Penguian Hardware Standart ACS712
-
7/24/2019 Mengatasi Sensor Arus ACS712 Tidak Linear arduino.docx
8/8
Gambar 6 Penguian Hardware .odi- dengan /iode dan a#asitor ACS712
Gambar Sensor Arus ACS71
Per(obaan di atas meru#a!an #enguian tan#a beban, dengan mengguna!an !a%ibrasi
seder'ana dengan sebagai #eng!ondisian ni%ai out#ut yang sesuai se'ingga di 'ara#!an
menda#at!an ni%ai idea% 0A
8in! /own%oad Sour(e Code ) 'tt#s)99git'ub(om9:awa:a;a9:awaACS712
Mohon untuk di koreksi jika ada kekeliruan Terima !asih"
#indonesiaSudahMerdeka
$ika Merasa Terbantu dengan Artikel ini Anda bisa Menshare
artikel ini untuk teman%teman anda :&
https://github.com/JawaJava/Jawa-ACS712https://github.com/JawaJava/Jawa-ACS712