penghitung kecepatan motor dc menggunakan optocoupler dengan codevision avr

Upload: gayus-richi

Post on 07-Jul-2018

239 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    1/11

    PENGHITUNG KECEPATAN MOTOR DC MENGGUNAKAN

    OPTOCOUPLER DENGAN CODEVISION AVR

    Pada dasarnya aplikasi ini hampir sama dengan aplikasi  penghitung frekuensi ( Frequency

    Counter), dimana letak perbedaanya hanya pada perumusannya saja, dimana perumusan tersebuttergantung dari pengubahan detik ke menit dan banyaknya pulsa encoder dalam 1 putaran motor 

    DC.

    Jika menggunakan optocoupler sebagai sensor anda harus menggunakan rotary encoder  yang di

    couple dengan as motor dc untuk mendeteksi kecepatan putaran motor DC. !iasanya pada rotary

    encoder   dibuat lubanglubang sebagai representasi banyaknya pulsa. Dan anda harus

    menentukan terlebih dahulu banyaknya pendeteksian pulsa atau lubang pada rotary encoder untuk satu putaran yang dilakukan motor DC. "arena banyaknya pulsa atau lubang akan

    mempengaruhi perumusan perhitungan kecepatan motor DC dan semakin banyak pulsa atau

    lubang maka akan meningkatkan resolusi pembacaan kecepatan motor DC, dengan kata lain

     pembacaan kecepatan akan semakin presisi.

    Dan jika motor DC anda sudah mempunyai internal encoder,  anda hanya tinggalmenghubungkan saja output internal encoder motor DC anda ke pin #$%& atau PD'.

    aya sendiri menggunakan rotary encoder  sebanyak '& lubang sehingga perumusan kecepatanmotor DC menjadi

    pulsa=frekuensi!"#$"% a&au pulsa=frekuensi'"%

    Dimana angka *& digunakan untuk mengubah kedalam satuan +P (round per minute), karena

    timer yang saya gunakan hanya membaca selama 1 detik, jika dikalikan sebanyak *& maka akanmenjadi 1 menit. Dan angka '& adalah banyaknya lubang atau pulsa rotary encoder .

    http://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.html

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    2/11

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    3/11

     

    Jika temanteman masih bingung mengenai fitur %imer dan Counter serta eksternal interupsi

    dapat membacanya pada menu %utorial %imer dan Counter  dan #nterupsi -ksternal.

    !erikut adalah listing program lengkapnya

    int frekuensi&/

    float pulsa/

    char temp02/

    3include 4mega1*.h5

    3include 4lcd.h53include 4delay.h53include 4stdlib.h5

    66 7lphanumeric 8CD odule functions3asm

      .e9u ::lcd:port&;1< /P=+%C

    3endasm

    66 ->ternal #nterrupt & ser?ice routine

    interrupt 0-@%:#$%&2 ?oid e>t:int&:isr(?oid)A

    frekuensiBB/66baca frekuensi (pulssa) yg masuk ke #$%& trus di increament

    66 %imer 1 o?erflo interrupt ser?ice routine

    interrupt 0%#1:=EF2 ?oid timer1:o?f:isr(?oid)66timer 1 detik untuk membaca pulsa yg masukke #$%&

    http://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://www.blogger.com/goog_358680048http://elektro-kontrol.blogspot.com/2011/06/interupsi-eksternal-avr.htmlhttp://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://www.blogger.com/goog_358680048http://elektro-kontrol.blogspot.com/2011/06/interupsi-eksternal-avr.html

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    4/11

    A

    66 +einitialiGe %imer 1 ?alue

      %C$%1H&>D'I7 55 /  %C$%18&>D'I7 &>ff/

       pulsa(float)frekuensiK*&6'&/66formula perhitungan kecepatan

      frekuensi&/  lcd:clear()/

    ?oid tampilkan:8CD() 66menampilkan data kecepatan di lcd

    A

      lcd:goto>y(&,&)/

      lcd:putsf(L-lektr=c=ntr=lM)/  ftoa(pulsa,1,temp)/

      lcd:goto>y(&,1)/

      lcd:puts(temp)/

      lcd:goto>y(&,

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    5/11

    66 #$%& =n

    66 #$%& ode Falling -dge

    66 #$%1 =ff 66 #$%' =ff 

    #C+Q&;R&/

    CSC+&;&'/CSC+&;&&/

    #F+&;R&/

    66 %imer(s)6Counter(s) #nterrupt(s) initialiGation

    %#"&;&R/

    66 7nalog Comparator initialiGation66 7nalog Comparator =ff 

    66 7nalog Comparator #nput Capture by %imer6Counter 1 =ff 

    7C+&;&/

    F#=+&;&&/

    66 8CD module initialiGationlcd:init(1*)/

    66 lobal enable interrupts3asm(LseiM)

    hile (1)

      A  tampilkan:8CD()/

      /

    umber

    http66elektrokontrol.blogspot.co.id6'&116&*6penghitungkecepatanmotordc.html

    Pengendalian Motor DC Menggunakan PWM dengan Mikrokontroler AVR

    by Saripudin Pudin under avr, mikrokontroler, robotics, teknologi 

    Pengontrolan motor DC secara sederhana dibagi menjadi dua. Pertama yaitu dengan mengatur

    arah putaran dan besarnya kecepatan dari putaran motor. 7rah putaran motor secara prinsip di

    atur dengan membalikan polaritas tegangan yang masuk ke motor. edangkan besarnya

    kecepatan putaran motor diatur dengan mengatur tegangannya. ekanisme pengaturan ini

    ditangani oleh dri?er motor.

    http://elektro-kontrol.blogspot.co.id/2011/06/penghitung-kecepatan-motor-dc.htmlhttp://www.saripudin.net/2013/04/pengendalian-motor-dc-menggunakan-pwm.htmlhttp://www.saripudin.net/search/label/avrhttp://www.saripudin.net/search/label/mikrokontrolerhttp://www.saripudin.net/search/label/roboticshttp://www.saripudin.net/search/label/teknologihttp://elektro-kontrol.blogspot.co.id/2011/06/penghitung-kecepatan-motor-dc.htmlhttp://www.saripudin.net/2013/04/pengendalian-motor-dc-menggunakan-pwm.htmlhttp://www.saripudin.net/search/label/avrhttp://www.saripudin.net/search/label/mikrokontrolerhttp://www.saripudin.net/search/label/roboticshttp://www.saripudin.net/search/label/teknologi

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    6/11

    Dri?er motor yang digunakan banyak jenisnya. Tang paling sederhana dan mudah dijumpai

    adalah dri?er dengan tipe #C 8'OID dan 8'O. Dri?er ini masingmasing memiliki kemampuan

    memberikan arus maksimal motor sebesar 17 dan R7. Sntuk motormotor kecil yang memiliki

    rating arus rendah sangat cocok menggunakan dri?er motor ini.

    elain jenis #C di atas untuk dri?er motor, banyak lagi tipe lainnya. !iasanya tipe yang

    digunakan disesuaikan dengan motor yang dikontrol. emakin besar rating arus motor, maka

    dri?er motor yang digunakan juga semakin mahal. Sntuk mengatasinya maka dri?er motor

    dirancang sendiri dengan komponen =F-%. Prinsip kerja rangkaian dri?er =F-% ini

    menggunakan konsep H!ridge. !erikut adalah salah satu contoh rangkaian dri?er =F-%.

    #nput masukkan ke dri?er diperoleh dari mikrokontroler. Pada artikel ini akan dibahas contoh

    sederhana pengontrolan motor DC dengan PU. Dengan membuat rangkaian sederhana berikut

    ini dengan Proteus, kita dapat mensimulasikan pengontrolan motor DC secara mudah

    Sntuk mengatur arah putaran motor 1 (atas) yaitu dengan memberikan sinyal 1 atau & ke pin #$1

    dan #$'. edangkan untuk motor ' (baah) yaitu pada #$I dan #$R. edangkan untuk mengatur

    kecepatan motor yaitu pada -$1 dan -$' untuk ke motor 1 dan motor '. inyal & atau 1 ini

    dapat dihasilkan dari port mikrokontroler dengan mengaturnya sebagai output, yang dapat

    langsung mengatur arah putaran. edangkan -$1 dan -$' masukkannya berupa sinyal PU.

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    7/11

    PU atau Pulse Uidth odulation adalah suatu teknik modulasi sinyal dengan mem?ariasikan

    lebar pulsanya. !erikut adalah contoh sinyal PU,

    alah satu parameter yang perlu diatur pada sinyal PU ini adalah periode sinyal dan lebar

     pulsanya. 8ebar pulsa dinyatakan dengan duty cycle yang merupakan persentase dari

     perbandingan pulsa on (%on) dengan %total, sehingga Vduty:cycle %on6%totalK1&& (V). Sntuk 

    mencoba membuat programnya dengan mikrokontroler 7E+ maka dapat dengan mudah

    dilakukan menggunakan CodeEision7E+. Contoh yang digunakan dibaah ini adalah dengan

    menggunakan 7%mega1* yang dipasang frekuensi clock 11.&

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    8/11

    Tang perlu diubah adalah parameter Clock Ealue 1&.&& kHG, ode Fast PU top &&FFh,

    =ut. 7 dan =ut. ! $on. #n?erting. Dengan mengatur Clock Ealue 1&.&& kHG maka periode

    timer adalah 161&.&& kHG O'.* u. aksudnya adalah kenaikan register   %imer1 yaitu

    %C$%1 akan increment (naik satu kali) setiap O'.* u. "arena dipilih nilai top dari timer adalah

    &&FFh atau '

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    9/11

    {

    // Port D initialization

    // Func7=In Func=In Func!="ut Func="ut Func$=In Func%=In Func&=In Func'=In

    // tate7= tate= tate!=' tate=' tate$= tate%= tate&= tate'=

    P"*D='+'',

    DD*D='+FF,

    // imer/-ounter & initialization

    // -loc. source ystem -loc.

    // -loc. value &'01'' .2z

    // 3ode Fast P43 to5=''FFh

    // "-&6 out5ut on8Inv0

    // "-&9 out5ut on8Inv0

    // oise -anceler "::

    // In5ut -a5ture on Falling ;dge

    // imer & "ver:lo< Interru5t "::

    // In5ut -a5ture Interru5t "::

    // -om5are 6 3atch Interru5t "::

    // -om5are 9 3atch Interru5t "::

    --*&6='+6&,

    --*&9='+'D,-&2='+'',

    -&='+'',

    I-*&2='+'',

    I-*&='+'',

    "-*&62='+'',

    "-*&6='+'',

    "-*&92='+'',

    "-*&9='+'',

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    10/11

    %erlihat baha hasil yang diperoleh sesuai perhitungan yang dijelaskan pada paragraf

    sebelumnya. Pada program ini motor bergerak pada kecepatan setengahnya karena duty cycle

    yang diberikan adalah

  • 8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr

    11/11

    http66.saripudin.net6'&1I6&R6pengendalianmotordcmenggunakanpm.html