mengatasi sensor arus acs712 tidak linear arduino.docx

Upload: agung-bandaso-karurukan

Post on 21-Feb-2018

443 views

Category:

Documents


4 download

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