Top Banner

of 36

BAB VI Motor Langkah

Feb 19, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/23/2019 BAB VI Motor Langkah

    1/36

    BAB VI

    MOTOR LANGKAH (STEPPER MOTOR)

    Motor langkah adalah motor DC yang dapat bergerak langkah perlangkah yang terprogram (gerak

    robotik) baik berputar ke kanan maupun ke kiri.

    Motor langkah merupakan suatu jenis motor yang dapat digunakan untuk memindahkan sebuahbenda (beban) dengan jarak perpindahan yang kecil. Berbeda halnya dengan motor-motor lain, yangbergerak dengan putaran yang kontinyu/mulus, motor langkah bergerak dengan putara n yang kaku.motor langkah bergerak dari posisi berikutnya seperti gerak melangkah (step). Karena itulah motor inidinamakan motor langkah (stepper motor).Motor langkah banyak sekali digunakan pada aplikasi-aplikasi elektronik seperti printer, floppy drie,cdrom drie dan banyak lagi alat-alat yang lain. Berikut contoh salah satu jenis gambar dari motorlangkah.

    !ambar ". Motor langkah

    Motor langkah yang umum digunakan mempunyai jangkauan langkah berputar antara #,$ derajatsampai %# derajat. Motor-motor tersebut adalah motor langkah dua atau empat fase. &ecara teoritis,sebuah motor langkah berukuran kecil dapat digerakkan langsung oleh mikroprosesor ataumikrokontroler. 'alam kenyataannya, arus dan tegangan yang dapat dikeluarkan oleh alat pemrosestadi masih terlalu kecil. &ebagai perbandingan, gerbang-gerbang logika tipe hanya mampumengeluarkan arus dalam orde mili-ampere dan tegangan antara * sampai + . &ementara itu untukmenggerakkan motor langkah dibutuhkan arus yang cukup besar (dalam orde ampere) dengantegangan berkisar +-* .

    ntuk mengatasi masalah tersebut, diperlukan sebuah piranti tambahan yang dapat memenuhikebutuhan arus dan tegangan tadi yaitu dengan menambahkan rangkaian penggerak sepertitransistor yang dipasang secara 'arlington, rangkaian penggerak gabungan atau menggunakan 0-0yang kompatibel. Berikut skema-skema rangkaian penggerak motor langkah.

    !ambar *. 1angkaian interface motor langkahdengan transistor

  • 7/23/2019 BAB VI Motor Langkah

    2/36

    !ambar %. &kema !abungan penggerak motorlangkah

    2ada skema diatas masing-masing mempunyai kelebihan dan kekurangan. 3ika ingin murah tapi kitaharus buat program tambahan seperti 4aktu tunda untuk pergeseran pulsanya pada setiap pin kakimotor langkah dan program looping atau motor langkah ingin diputar berapa derajat, sedangkan jikamenggunakan skema gabungan pada gambar % kita hanya mengatur control mode-nya ingin diputarkekiri atau kekanan (lihat data sheet 5&"$) dan untuk 4aktu tundanya diatur pada clock yangdibangkitkan oleh 0 +++ kita bisa atur pada potensio yang digunakan. &elain /6 lebih sedikitdibanding menggunakan transistor, cukup dua pin control yang kita kendalikan. 2ada skema aslinyaada rangkaian tambahan menggunakan 0 55 untuk mengatur putar kanan dan kiri, tapi jikamenggunakan skema yang diatas juga dapat digunakan dan telah dibuktikan. ihat lengkap skemapenggerak gabungan motor langkah.

    Fase-fase Motor Langkah&ebuah motor langkah digerakkan dari posisi berikutnya dengan mengubah arus yang terhubung kemasing-masing fase. pengubahan arus tersebut mempunyai pola/kombinasi tertentu. Berikut ini

    adalah untuk menggerakkan sebuah motor langkah -fase.

    http://www.tranzistoare.ro/datasheets/70/375495_DS.pdfhttp://home.cogeco.ca/~rpaisley4/Stepper.htmlhttp://home.cogeco.ca/~rpaisley4/Stepper.htmlhttp://home.cogeco.ca/~rpaisley4/Stepper.htmlhttp://home.cogeco.ca/~rpaisley4/Stepper.htmlhttp://www.tranzistoare.ro/datasheets/70/375495_DS.pdf
  • 7/23/2019 BAB VI Motor Langkah

    3/36

    Motor langkah atau stepper motor, banyak digunakan dalam berbagai macam aplikasi,terutama aplikasi-aplikasi yang menuntut jumlah putaran tertentu dan tepat, biasanya

    berkaitan dengan posisi yang harus akurat. Suatu contoh dapat dijumpai pada alatkemudi cakram atau disk drive, untuk proses pembacaan dan/atau penulisan datake/dari cakram, head baca-tulis ditempatkan pada tempat yang tepat di atas jalur atautrack pada cakram (diskette), untuk keperluan tersebut, head dihubungkan dengansebuah motor langkah.

    Kecepatan motor langkah pada dasarnya ditentukan oleh kecepatan pemberian datapada komutatornya. Semakin cepat data yang diberikan maka akan semakin cepat pulaputarannya. Kebanyakan kecepatan motor langkah dapat diatur dalam daerah rekuensiaudio dan akan menghasilkan putaran yang cukup cepat.

    Berhubungan dengan Dunia Nyata II: Motor Stepper,Keyboard, dan DA

    7ebruary *8th, *#"" Musbikhin

    BAB 13

    Sasaran

    Setelah anda menamatkan bab ini , dihaa!kan anda da!at "

    Men#ela$kan %!ea$i da$a dai m%t% $te!!e

    Men&h'b'n&kan *+ den&an m%t% $te!!e

    Mem!%&am *+ 'nt'k men#alankan m%t% $te!!e

  • 7/23/2019 BAB VI Motor Langkah

    4/36

    Men#ela$kan kaidah %!ea$i m%t% $te!!e dalam hal $'d't $te!, $te! !e

    e%l'$i, t%%th !it-h, ke-e!atan !'ta, RPM

    Men#ela$kan %!ea$i da$a dai Ke.b%ad

    Menbaha$ Ke./Pe$$ dan mekani$me detek$in.a

    Men&h'b'n&kan ke.!ad 010 den&an *+

    Membaha$ %!ea$i da$a dai 2A3 (2i&ital t% Anal%& 3%nete)

    Men&h'b'n&kan -hi! 2A3 !ada *+

    Men#ela$kan 4'n&$i dai I3 $en$%$'h' !e$i$i

    Memb'at !%&am 'nt'k 2A3, 'nt'k &el%mban& $in'$

    Bab ini mabahas hubungan 8051 dengan motor stepper, keyboard, dan DAC

    (Digital to Analog Converter) !ada "ubBAB 1#1, dasar motor stepper akan

    di$elaskan Dan di bagian 1#%, menghubungkan keyboard dengan 8051 akan

    ditun$ukkan "edang karekteristik dari DAC yang berkaitan dengan 8051 akan

    dibahas pada "ubBAB 1##

    "ubBab 1#1& 'enghubungkan 'otor "tepper

    Bagian ini dimulai dengan pen$elasan singkat tentang operasi dasar dari

    motor stepper emudian kita akan men$elas bagaimana menghubungkan motor

    stepper pada 8051 Dan terakhir, kta menggunakan program bahasa assembly

    untuk mendemonstrasikan penggendalian sudut, arah dari rotasi motor

    stepper

    M%t%/m%t% Ste!!e

    'otor "tepper sekarang banyak digunakan unuk mentranslasikan pulsapulsa

    listrik men$adi gerakan mekanis Dalam aplikasi sema*am Disk Drive, !rinter

    Dot 'atri+, dan robot, motor stepper digunakan sebagai kendali posisi

    "etiap motor stepper memiliki rotor (bagian yang berputar) dengan magnet

    permanen, dan stator (bagian yang diam) dengan dikelingi oleh kumparan

    kumparan ihat gambar 1#1 ebanyakan dari motor stepper memiliki - buah

    kumparan stator, yang dari keempatnya salah satu u$ung kumparan dihubungkan

    http://www.musbikhin.com/pengertian-tranduserhttp://www.musbikhin.com/pengertian-tranduser
  • 7/23/2019 BAB VI Motor Langkah

    5/36

    men$adi 1 yang kemudian dinamakan Common ihat gambar 1#% .ype motor

    stepper seperti ini biasa dinamakan sebagai /motor stepper - asa/

    !ambar "%-", 2enjajaran rotor

    "e$atinya motor ini memiliki hanya % buah kumparan ihat gambar 1#% ang

    masingmasingnya diberikan *enter tap yang membagi % masingmasing kumparan

    besar "ehingga dari kumparan tersebut kita mendapatkan # buah terminal

    Dengan berdasar pada *enter tap ini maka kumparan dapat beker$a sebagai -

    buah kumparan ke*il Dengan demikian masingmasing kumparan ke*il dapat

    merubah medan magnet yang berpengaruh pada rotor 2mumnya *enter tap ini

    dihubungkan pada sumber arus Dan u$ung kumparan lainnya akan dapat merubah

    medan magnet $ika dibumikan "etiap perubaha terke*il dalam gerakan rotor

    oleh karena perubahan magnet ini disebut dengan step

    3erakan berputar dapat diselenggarakan dengan melakukan urutan medan

    magnet, yang didapat dari - kumparan ini Ada banyak *ara urutan untuk

    menggerakkan motor ini, dengan ke*epatan berbeda dan kekuatan yang $uga

    berbeda .abel 1#1 menun$ukkan urutan -step normal

    !ab"e #$-#: %rutan &-step Nor'a"

    Step # Gul.A Gul.B Gul.C Gul.D

  • 7/23/2019 BAB VI Motor Langkah

    6/36

    1 1 0 0 1

    % 1 1 0 0

    # 0 1 1 0

    - 0 0 1 1

    0atatan 9 Ke kanan 9 &tep " : * : % : . Ke kiri 9 &tep : % : * : ".

    !ab"e #$-(: Sudut Step dari Motor Stepper

    Sudut Step Step per Revolusi

    567 *

    +5 7

    75 +

    75* +00

    *5 67

    65* 0

    +* 70

    !ambar "%-*9 Konfigurasi gulungan &tator

  • 7/23/2019 BAB VI Motor Langkah

    7/36

    3ambar 1##& 'enghubungkan 8051 pada 'otor "tepper

    Haa! di-atat !'la bah8a kita da!at mem'lai ''tan $e!eti dalam Tabel +9/+ dai $te!

    mana $a#a5 Nam'n teta! $etelah it' adalah $te! beik'tn.a, dan tidak b%leh mel%m!at/

    l%m!at5 Mi$aln.a 'nt'k !'taan ke kanan, dan kita m'lai dai $te! 95 Maka $te!

    beik'tn.a adalah ha'$ $te! 05 2an #ika be!'ta ke kii, maka ha'$lah $te! ke 75

    Be&it'lah $ete'$n.a5

    Contoh 13-1

    Se$'ai den&an h'b'n&an *+ dan m%t% $te!!e $e!eti !ada &amba +9/9, maka

    b'atkan k%de !%&am 'nt'k memb'atn.a be!'ta $e-aa te' mene'$5

  • 7/23/2019 BAB VI Motor Langkah

    8/36

    jawaban"

    angkah berikut ini menun$ukkan hubungan 8051 dengan motor stepper, danpemrogramannya

    1 G'nakan Ohmmete 'nt'k men&'k' e$i$tan$i k'm!aan m%t%5 3aa ini !el'

    dilak'kan 'nt'k menem'kan Kabel mana .an& be'!a 3OM5

    % Kabel 3%mm%n, dih'b'n&kan ke $i$i !%$iti4 !ada $'mbe da.a kh'$'$ 'nt'k m%t%5

    Bebea!a m%t% men&&'nakan * V%lt$5 Bebea!a la&i ada .an& b't'h +7 V dan 70 V5

    # 0 kabel lainn.a .an& me'!akan kabel untuk gulungan statornya dikontrol

    oleh -bit dari port 8051 (!10!1#) 4amun, karena 8051 sangat minim

    akan arus untuk dapat langsung menggerakkan gulungan motor, maka kita

    harus menggunakan driver seperti 24%00# untuk dapat memberikan arusyang *ukup bagi gulungan Disamping 24%00#, kita dapat membuat driver

    sendiri dengan - buah transistor, seperti yang diperlihatkan oleh

    gambar 1#- ika kita menggunakan transistor, maka kita perlu untuk

    menambahkan dioda pada masingmasing transistor Dioda ini digunakan

    untuk mengindari adanya arus induksi yang sangat besar (6'7 6lektro

    'agneti* 7eedba*k) sehingga masuk ke transistor dan kemudian dapat

    merusakkanya ika kita menggunakan 24%00#, kita tidak perlu dioda

    lagi arena di dalam 24%00# ini sudah disediakan dioda, sehingga

    dapat langsung dimanaatkan

    '9: A,;#,;%55

    H7" 2=N? R9,H7

    2=N? R7,H+

    RET

  • 7/23/2019 BAB VI Motor Langkah

    9/36

    Me'bah/'bah nilai dari D6A akan dapat menrubah ke*epatan putaran

    Kita #'&a da!at men&&'nakan in$t'k$i S6.B dan C> untuk menggantikan >>A untukmenbuat urutan yang lebih baik

    S'd't Ste!

    Bea!a #a'h &eakan !ada m%t% $te!!e dalam + $te!/n.a@ Hal it' te&ant'n& %leh

    k%n$t'k$i intenal dai m%t%, kh'$'$n.a #'mlah &i&i !ada $tat% dan %t%5 S'd't Ste!

    adalah dea#at minim'm !'taan dalam + $te!5 Bebea!a m%t% memiliki $'d't $te!

    bebeda5 Table +9/7 men'n#'kan bebea!a $'d't $te! dai bebea!a #eni$ m%t%5 2alam

    Table +9/7, !ehatikan tentan& step per revolution5 Ini adalah #'mlah t%tal $te! .an&

    dib't'hkan 'nt'k be!'ta dalam + !'taan !en'h ata' 9 dea#at5

    2an haa! di-atat !'la bah8a di ma$a de!an ata$ !aka$a $e$e%an&, m%t% $te!!e

    tidak !el' la&i lebih ban.ak teminal 'nt'k $tat%n.a 'nt'k Ste! .an& $ama ata'

    bahkan 'nt'k $te! .an& lebih $edikit5 Sem'a m%t% .an& didi$k'$ikan di BAB ini adalah

    m%t% .an& memiliki 0 kabel ditambah +/7 kabel -%mm%n (m%t% 0 4a$a)5 Nanti kita akan

    mendi$k'$ikan temin%l%&i .an& beh'b'n&an den&an m%t% $te!!e 'nt'k

    mendalamin.a5

    Ste! !e 2etik dan ela$ina. den&an RPM

    H'b'n&an antaa RPM (revolutions per Minute), step per revolution, dan step per

    secondadalah kia/kia $ema-am ini5

    Ste! !e Se-%nd (RPM C Ste! !e Re%l'ti%n) D

    :'tan 0/$te! dan #'mlah &i&i !ada %t%

    :'tan !en$aklaan $e!eti .an& dit'n#'kkan $ebel'mn.a dalam Tabel +9/+ di$eb't

    den&an ''tan !en$aklaan 0/$te!5 Hal ini men&in&at $etelah 0/$te! dilal'i, 7 k'm!aan

    .an& $ama, kembali men#adi ON5 Bea!a ban.ak &eakan .an& diha$ilkan dai 0/$te!

    ini@ Setelah men.ele$aikan 0/$te!, m%t% be&eak han.a + &i&i5 Hal ini keena m%t%

    den&an #'mlah $te! !e e%l'$i $eban.ak 7, memiliki * b'ah &i&i den&an hit'n&an 0

    F * 75 Sehin&&a dib't'hkan 7/$te! 'nt'k $at' e%l'$i (!'taan !en'h)5 Ini

    membeikan ke$im!'lan bah8a $'d't $te! minim'm adalah $e#aak + &i&i dai %t%5

  • 7/23/2019 BAB VI Motor Langkah

    10/36

    2en&an kata lain, 'nt'k menda!atkan $'d't $te! .an& lebih ke-il, maka dib't'hkan &i&i

    .an& lebih ban.ak5 Lihat -%nt%h +9/75

    Contoh 13-2

    3ai #'mlah $te! !ada ''tan 0/$te! $e!eti !ada &amba +9/+5 =ika m%t% di&'nakan'nt'k be!'ta $e#a'h dea#at, den&an m%t% .an& memiliki 7 dea#at $etia! $te!n.a

    jawaban"

    M%t% den&an 7 dea#at !e $te! inimemiliki karakteristik seperti di ba@ah ini

    sudut "tep ("tep Angle) & % dera$at

    Ste! + !'taan !en'h " + $te!

    ='mlah &i&i m%t% " 0*

    Geakan dalam 0 $te! " dea#at

    :nt'k men&&eakkan dea#at, kita memb't'hkan 'nt'k membei !eintah + kali

    ''tan !en'h 0/$te!5 2en&an !ehit'n&an $eba&ai beik't5

    + F 0 $te! F 7 dea#at dea#at

  • 7/23/2019 BAB VI Motor Langkah

    11/36

    !ab"e #$-$: %rutan &-step )a"f-Step

    Step # Gul.A Gul.B Gul.C Gul.D

    + + +

    7 +

    9 + +

    0 +

    * + +

    +

    6 + +

    +

    0atatan 9 Ke kanan 9 &tep " : * : % : .: + : ; : 5 : 8. Ke kiri 9 &tep 8 : 5 : ;: + : : % : * : ".

    Ke-e!atan M%t%

    Ke-e!atan m%t% di'k' dai #'mlah $te! dalam + detik ($te!DS), dan #'&a di$eb't

    $eba&ai swithcing rate5 Pehatikan 3%nt%h +9/+ bah8a den&an men&'bah lama t'ndaan,

    kita da!at memb'at bebea!a aia$i ke-e!atan !'ta .an& bebeda5

    H%ldin& t%'e (Kek'atan menahan)

    Beik't ini adalah deni$i dai H%ldin& t%'e" Dengan inti motor dalam keadaan diam

    atau kondisi RPM ! atau menahan putaran" erapa tenaga $ang harus dierikan dari

    luar $ang diutuhkan untuk dapat memutar motor $ang mengunci terseut. %al ini

    diukur dengan memerikan tegangan dan arus rata&rata pada motor. Ha$il !en&'k'anit' dalam bent'k ounce&inch(ata' kg&cm)5

    :'tan ae 2ie 0/$te!

    Selain dai ''tan /$te! dan 0/$te! .an& $'dah dibaha$ $ebel'mnya, ada ''tan lain

    .an& di$eb't den&an ''tan 0/$te! ae 2ie5 Se!eti .an& dit'n#'kkan !ada Tabel +9/

    05 Pehatikan bah8a ''tan /$te! (Tabel +9/9) adalah k%mbina$i dai ''tan 0/$te! ae

    2ie (Tabel +950) dan ''tan 0/$te! n%mal (Tabel +9/+)5 Pe-%baan den&an 0/$te! ae

    2ie $a.a $eahkan ke!ada !emba-a .an& b'diman5

  • 7/23/2019 BAB VI Motor Langkah

    12/36

    !ab"e #$-&: %rutan &-step *a+e-Dri+e

    Step # Gul.A Gul.B Gul.C Gul.D

    + +

    7 +

    9 +

    0 +

    0atatan 9 Ke kanan 9 &tep " : * : % : . Ke kiri 9 &tep : % : * : ".

    !ambar "%-9 2enggunaan ransistor sbg 'rier Motor &tepper

  • 7/23/2019 BAB VI Motor Langkah

    13/36

    S'bBAB +957" Men&h'b'n&kan *+ de&an Ke.b%ad

    Ke.b%ad dan L32adalah !ealatan in!'tD%'t!'t .an& di&'nakan $e-aa l'a$ dan 'm'm

    'nt'k *+, dan men&eti da$a/da$a dai 7 !ealatan te$eb't adalah $an&at !entin&

    ba&i kita5 2i ba&ian ini, kita akan mendi$k'$ikan !%nda$i dai $eb'ah ke.b%ad,

    tema$'k ke./!e$$ dan mekani$me detek$i ke.5 Kem'dian kita akandit'n#'kkan

    ba&aimana men&h'b'n&kan ke.b%ad den&an *+5

    Men&h'b'n&kan ke.b%ad den&an *+

    Pada tin&kat teendah, ke.b%ad di%&ania$a$i $e-aa matik meli!'ti bai$ dan k%l%m5

    3P: men&ak$e$ ked'a Bai$ dan K%l%m te$eb't melal'i P%t5 Sehin&&a den&an

    men&&'nakan 7 F /bit P%t, $eb'ah ke. den&an matiF F da!at dih'b'n&kan !ada

    mik%k%nt%lle5 Ketika ke. ditekan, Bai$ dan K%l%m teh'b'n&, dan #ika $ebalikn.a, tidak

    ada h'b'n&an antaa Bai$ dan K%l%m5

    2alam ke.b%ad P3 IBM, teda!at $eb'ah mikr%k%nt%lle .an& khusus menan&ani Ke.5

    2ia bet'&a$ memeik$a Ke./ke. dan $e&ea men&iimkan data ke!ada 3P: 'tama le8at

    h'b'n&an $eial #ika ada ke. .an& ditekan5

    Men&a-' !ada meka$inme .an& dilak'kan %leh keyb%ad k%nt%le tadi, kita akan

    memb'at *+ kita bi$a beke#a $ema-am it', .akni den&an $-annin& dan detek$i ke.5

    S-annin& dan identika$i Ke.

    Gamba +9/* men'n#'kkan matiF 0 F0 .an& teh'b'n& !ada 7 !%t5 Bai$ teh'b'n&

    !ada !%t %'t!'t, dan k%l%m teh'b'n& !ada !%t in!'t5 =ika tidak ada ke. .an& ditekan,

    maka ba-aan !%t in!'t (k%l%m) akan $elal' +$5 Hal ini kaena in!'t menda!at !'ll/'! ke

    V--5 =ika ten.ata $alah $at' ke. ditekan maka $alah $at' in!'tDk%l%m te$eb't adalah

    bel%&ika $ Kaena Ke. ditekan kaena men&ik'ti O't!'t bai$ .an& endah5 Nah hal

    inilah .an& ditel'$'i ($-ann) %leh mik%k%nt%lle $e-aa te'$ mene'$5 Ba&aimana it'

    te#adi, akan kita #ela$kan beik'tn.a5

    http://www.musbikhin.com/berhubungan-dengan-dunia-nyata-i-lcd-adc-dan-sensor-sensorhttp://www.musbikhin.com/berhubungan-dengan-dunia-nyata-i-lcd-adc-dan-sensor-sensor
  • 7/23/2019 BAB VI Motor Langkah

    14/36

    !ambar "%-+9 Koneksi matrik Keyboard kepada 2ort

    'embumikan Baris dn memba*a kolom

    2ntuk mendeteksi ey yang sedang ditekan, mikrokontroller menggroundkan

    semua baris dengan menuliskan nilai 0s pada semua port output "elan$utnya

    memba*a port input, $ika ternyata hasilnya adalah 1111, berarti memang

    tidak ada key yang ditekan, dan proses tersebut selalu diulang sampai

    terdapat data yang berbeda ika ternyata salah satu kolom bernilai 0s,

    maka berarti ada salah satu key yag ditekan ey yang mana .entu sa$a key

    yang kolomnya bernilai 0s 'isalnya terba*a D#D0 1101, berarti key dalam

    kolom D1 ditekan, yakni di antara /1/, /5/, //, dan /D/ "etelah 8051

    mengetahuinya, maka 8051 menu$u pada proses identiikasi ey akni

    menentukan ey yang ditekan itu dari baris berapakah "ehingga 8051 hanya

    berkonsentrasi pada kolom D1 ini

    "elan$utnya C!2 mengbumikan - port output satu per satu Dimulai dari

    outputbaris D0 ika ternyata inputkolom D% masih tinggi, maka key yang

    ditekan bukanlah /1/ Dan sekarang ke baris berikutnya C!2 membumikan

    outputbaris D1, dan inputkolom D1 masih tinggi, yang berarti key bukan

    /5/ Baris berikutnya Dengan membumikan outputbaris D%, dan ternyata

    input kolom D1 adalah rendah 'aka kemudian dapat dipastikan key yang

    ditekan adalah // Demikian proses tersebut diulang untuk setiap deteksi

    key yang lain

  • 7/23/2019 BAB VI Motor Langkah

    15/36

    Contoh 13-3

    2ai Gamba +9/*, !a$tikan bai$ dan k%l%m !ada !%$i$i ke., dai ma$in&/ma$in& >

    (a) D#D0 1110 untuk Baris D#D0 1011 untuk kolom

    (b) 29/2 +++ 'nt'k Bai$5 29/2 +++ 'nt'k k%l%m

    jawaban"

    Dari 3ambar 1#5, Baris dan olom dapat digunakan untuk mendapatkan ey

    (a) Baris adalah D0, olom adalah D%, sehingga key adalah angka /%/

    (b) Bai$ adalah 2+, K%l%m adalah 29, $ehin&&a ke. adalah an&ka 6

    2ntuk mendeteksi ey yang ditekan sebenarnya mudah sa$aarena terdapat -

    baris maka kita program dibagi sebanyak - bagian

    Ba&ian !etama adalah Bai$ !etama .an& !%t %'t!'t 2 ha'$ dib'at endah

    $ementaa .an& lain teta! tin&&i5 P%tO't 2/2 +++5 Setelah it' kita memeik$a

    k%l%m5 =ika ten.ata P%tIn 29/2 ++++, maka beati t%mb%l 9, 7, +, dan tidak

    ada .an& ditekan5 *+ da!at mel%m!at ke ba&ian beik'tn.a5 Nam'n #ika ten.ata

    P%tIn 29/2 +++, maka beati t%mb%l +/lah .an& $edan& ditekan5 2emikian !'la

    #ika ten.ata P%tIn 29/2 +++, maka t%mb%l 7 dan + $ama/$ama ditekan5

    Ba&ian ked'a adalah Bai$ ked'a5 Maka kita ha'$ me'li$ P%tO't +++5 Kem'dian kita

    bi$a memba-a P%tIn 29/2 .an& mee!e$enta$ikan t%mb%l beik'tn.a, .akni 6, ,

    *, dan 05

    Bagian ketiga dan keempat adalah baris ketiga dan baris keempat masing

    maisng !ort9ut kita tulis dengan D#D0 1011, untuk memeriksa tombol /B/,

    /A/, //, dan /8/ Dan !ort9ut kita tulis dengan D#D0 0111, untuk

    memeriksa tombol /7/, /6/, /D/, dan /C/

  • 7/23/2019 BAB VI Motor Langkah

    16/36

    3ambar 1#

  • 7/23/2019 BAB VI Motor Langkah

    17/36

    1 "ebelumnya yakinkan bah@a saat itu tidakada key yang sedang ditekan

    B'mikan !%t %'t!'t men#adi $ $em'a5 Kem'dian ba-alah in!'t, #ika ma$ih ada .an&

    $ maka t'n&&'lah $am!ai in!'t men#adi ++++5 Bah8a Ke. ma$ih ada .an&

    ditekan5

    % :nt'k kem'dian melihat a!akah ada ke. .an& ditekan, maka kita ha'$ men&/$-an

    k%l%m/k%l%m it' te'$ mene'$ dan be'lan&/'lan&5 Sam!ai dai !adan.a ada .an&

    benilai $5 2an #ika ten.ata meman& demikian, maka t'n&&' $elama 7mS5 Hal ini

    'nt'k membei ke$ema!atan deouncedai Ke.5 Hal ini !entin& 'nt'k men#amin

    kebenaan ba-aan ke.5 (K'alita$ S8it-h Ke. .an& b''k akan memb'at $e%lah ke.

    ditekan den&an -e!at, 8ala'!'n $ebenan.a tidak ditekan)5 Setelah .akin ada ke.

    .an& ditekan, maka kem'dian tin&&al di-ai ke. te$eb't5

    # 2ntuk mendeteksi Baris ey yang ditekan , maka bumikan salah satu dari

    port outputbaris Dan kemudian ba*a kolom saat itu $uga ika ternyata

    hasilnya adalah /1111/, maka key yang ditekan bukan milik olomtersebut "elan$utnya adalah memilih baris berikutnya ika ternyata

    hasilnya kolom ada yang 0s, maka dapat dipastikan key yang ditekan

    adalah milik kolom ini .ugas selan$utnya adalah men*ari kode A"C dari

    ey tersebut

    - 2ntuk mendeteksi ey , maka putar bitbit kolom, bit demi bit, menu$u

    Carry, dan periksalah apakah dalam keadaan 0s ika memang 0s maka

    dengan menggunakan tabel lookup maka *ari nilai A"Cnya 4amun $ika

    ternyata Carry tidak ada 0s, maka kita dapat ke proses kolom selan$utnya

    dengan menambah D!.> untuk menun$uk A"C berikutnya

    =ika !%$e$ detek$i ke. adalah men#adi $tanda dai ke.b%ad mana!'n, maka !%$e$ dai

    !en&'#ian ke. mana .an& ditekan adalah bema-am -aa5 Met%detale 'ook&up.an&

    dit'n#'kkan !ada P%&am +9/+ da!at dim%dika$i 'nt'k da!at beke#a !ada $embaan&

    matiF $am!ai den&an F 5 Gamba +9/ mmebeikan (owchartdai !%&am +9/+

    'nt'k !%$e$ $-annin& dan identika$i Ke.5

    Ada ban.ak -hi! I3 $e!eti dai Nati%nal Semi-%nd'-t%, .akni MM603J99 .an&

    me'!akan -hi! len&ka! scanningdan decodingke.b%ad5 3hi! te$eb't men&&'nakan

    k%mbina$i dai 3%'nte dan &eban& l%&ika (tan!a mik% k%nt%lle) 'nt'k

    men&im!lementa$ikan k%n$e! .an& di!a!akan !ada !%&am +9/+5

    ;S'b'tin Ke.b%ad5 P%&am ini men&iimkan k%de AS3II 'tk Ke. P5+

  • 7/23/2019 BAB VI Motor Langkah

    18/36

    ;P+5/P+59 !ada Bai$, P75/P759 !ada k%l%m

    '9: !%,;077h =buat !% sebagai port input

    K+" MOV P+, ;b'at endah $em'a

    MOV A,P7 ;Ba-a $em'a k%l%m

    ANL A,++++b ;Ambil bit .an& dib'thkan $a#a

    3=NE A,++++b,K+ ;L%m!at #ika ada ke. ma$ih ditekan

    K7" A3ALL 2ELA< ;Pan&&il dela. 7mS

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A,++++b ;Ambil bit .an& dib't'hkan

    3=NE A,++++b,OVER ;L%m!at #ika ada ke. ma$ih ditekan

    S=MP K7 ;:lan&

    OVER" A3ALL 2ELA< ;T'nda

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A,++++b ;Ambil bit .an& dib't'hkan

    3=NE A,++++b,OVER+ ;L%m!at #ika ada ke. ma$ih ditekan

    S=MP K7 ;:lan&

    OVER+" MOV P+,+++++++b ;Akti4kan Bai$ !etama

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A,++++b ;Ambil bit .an& dib't'hkan

    3=NE A,++++b,RO ;L%m!at #ika ada ke. ma$ih ditekan

    MOV P+,+++++++b ;Akti4kan Bai$ ked'a

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A5++++b ;Ambil bit .an& dib't'hkan

  • 7/23/2019 BAB VI Motor Langkah

    19/36

    3=NE A,++++b,RO+ ;L%m!at #ika ada ke. ma$ih ditekan

    MOV P+,+++++++b ;Akti4kan Bai$ keti&a

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A5++++b ;Ambil bit .an& dib't'hkan

    3=NE A,++++b,RO7 ;L%m!at #ika ada ke. ma$ih ditekan

    MOV P+,+++++++b ;Akti4kan Bai$ keem!at

    MOV A,P7 ;Lihat #k ada ke. dtekan

    ANL A5++++b ;Ambil bit .an& dib't'hkan

    3=NE A,++++b,RO9 ;L%m!at #ika ada ke. ma$ih ditekan

    L=MP K7 ;:lan&

    RO" MOV 2PTR,K3O2E ;At' 2PTRStat dai RO

    S=MP IN2 ;3ai K%l%m milik $ia!a

    RO+" MOV 2PTR,K3O2E+ ;At' 2PTRStat dai RO +

    S=MP IN2 ;3ai K%l%m milik $ia!a

    RO7" MOV 2PTR,K3O2E7 ;At' 2PTRStat dai RO 7

    S=MP IN2 ;3ai K%l%m milik $ia!a

    RO9" MOV 2PTR,K3O2E9 ;At' 2PTRStat dai RO 9

    IN2" RR3 A ;Lihat a!a ada 3