• Tidak ada hasil yang ditemukan

ROBOT PENGANGKAT BARANG PECAH BELAH MENGGUNAKAN JOYSTICK BERBASIS MIKROKONTROLER AT89S52.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ROBOT PENGANGKAT BARANG PECAH BELAH MENGGUNAKAN JOYSTICK BERBASIS MIKROKONTROLER AT89S52."

Copied!
79
0
0

Teks penuh

(1)

ROBOT PENGANGKAT BARANG PECAH BELAH

MENGGUNAKAN J OYSTICK BERBASIS

MIKROKONTROLER AT89S52

TUGAS AKHIR

Oleh :

YUDHA TUGAS SAPUTRA

0634015028

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

2013

(2)

ROBOT PENGANGKAT BARANG PECAH BELAH

MENGGUNAKAN J OYSTICK BERBASIS

MIKROKONTROLER AT89S52

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

YUDHA TUGAS SAPUTRA

0634015028

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

2013

(3)

LEMBAR PENGESAHAN

ROBOT PENGANGKAT BARANG PECAH BELAH

MENGGUNAKAN J OYSTICK BERBASIS

MIKROKONTROLER AT89S52

Disusun oleh :

YUDHA TUGAS SAPUTRA

0634015028

Telah disetujui mengikuti Ujian Negara Lisan Periode II Tahun Akademik 2013/2014

Pembimbing I

Helmy Widyantar a, S.Kom, M.Eng NPT.

Pembimbing II

Ir. Kartini, S.Kom, MT. NIP. 1961 1110 1991 03 2001

Mengetahui,

Ketua Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” J awa Timur

Dr . Ir. Ni Ketut Sar i, MT. NIP. 1965 0731 1992 03 2001

(4)

TUGAS AKHIR

ROBOT PENGANGKAT BARANG PECAH BELAH

MENGGUNAKAN J OYSTICK BERBASIS

MIKROKONTROLER

AT89S52

Disusun Oleh :

YUDHA TUGAS SAPUTRA

0634015028

Telah dipertahankan dan diter ima oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” J awa Timur Pada Tanggal 25 J anuar i 2013

Pembimbing : 1.

Helmy Widyantar a, S.kom, M.Eng. NPT.

Tim Penguji : 1.

Budi Nugr oho, S.Kom, M.Kom. NIP. 38009 050 2051

2.

Ir. Kartini, S.Kom, MT. NIP. 1961 1110 1991 03 2001

2.

Helmy Widyantar a, S.Kom, M.Eng. NPT.

3.

Wahyu Saifullah J S, S.Kom, M.Kom. NPT. 3 8608 10 0295 1

Mengetahui,

Dekan Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional ”Veteran” J awa Timur

Ir. Sutiyono, MT. NIP. 19600713 198703 1 001

(5)

v DAFTAR ISI

LEMBAR PE NGESAHAN HALAMAN

ABSTRAK ... I

KATA PE NGANTAR ... II

UCAPAN TERIMA KASIH ... III

DAFTAR ISI ...V

1.3 Tujuan Penelitian………3

1.4 Manfaat Penelitian………..3

1.6 Metode Penelitian ………..4

1.7 Sistematika Penelitian ... 5

BAB II TINJ AUAN PUSTAKA ... 7

2.1 Bahasa assembly ... 7

2.1.1 Kontruksi Program Aaaembly……….10

2.2 Gambaran umum mikrokontroler……….……..12

2.3 Mikrontroler AT89S52………...14

2.3.1 Karakteristik mikrokontroler AT89S52………..16

(6)

vi

2.3.2 Fungsi pin-pin pada mikrokontroler AT89S52………17

2.3.3 Register pada Mikrokontroler AT89S52……….20

2.4 Motor DC... 22

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 32

3.1 Analisis Sistem ... 32

3.2 Perancangan Perangkat Lunak ... 33

3.2.1 Perancang Perangkat Lunak... …33

3.2.2 Diagram Aliran Pemerograman………..35

3.3 Perancangan Perangkat Elektronik. ... …..37

3.4 Rangkaian mikrokontroler AT89S52……….…39

3.5 Driver Motor DC………....40

(7)

vii

4.3 Implementasi Coding……….... …...…..52

BAB V UJ I COBA DAN EVALUASI ... 56

5.1 Analisis Pengujian Hardware ………...…...56

5.2 Pengujian Alat ... .56

5.2.1 Pengujian Cara kerja Tangan Robot …..……….……….……...56

5.2.2 Pengujian Motor DC……….….58

5.3 Pengujian Robot Pengangkat Barang Pecah Belah Dengan Joystick……58

BAB VI PENUTUP ... 63

6.1 Kesimpulan... 63

6.2 Saran ... 63

DAFTAR PUSTAKA………..……….65

(8)

viii

DAFTAR GAMBAR

DAFTAR GAMBAR

Gambar 2.1 Susunan Mikrokontroller ... 13

Gambar 2.2 Diagram Blok Mikrokontroller AT89S52 ... 16

Gambar 2.3 Konfigurasi Pin Pada mikrokontroller AT98S52 ... 17

Gambar 2.4 Motor DC Sederhana ... 23

Gambar 2.5 Medan Magnet Yang Mengelilingi Arus Konduktor ... 24

Gambar 2.6 Medan Magnet Yang Membawa Arus Konduktor ... 24

Gambar 2.7 Medan Magnet Mengelilingi Konduktor Diantara Kutub ... 24

Gambar 2.8 Konduktor. ... 25

Gambar 2.9 Prinsip Kerja Motor DC ... 26

Gambar 2.10 Joystick………...28

Gambar 2.11 Rangkaian Joystick………...………..29

Gambar 2.12 Robot Arm Kit ( Lengan Robot )……….…..30

Gambar 3.1 Diagram Alir Perancangan Sistem ... 35

Gambar 3.2 Blok Diagram Jalan Garis Besar Sistem Mikrokontroler ... 38

Gambar 3.3 Skema Rangkaian Mikrokontroller AT89S52 ... 40

Gambar 3.4 Skema Rangkaian Driver Motor DC ... 41

Gambar 3.5 Skema Motor DC ... 43

(9)

ix

Gambar 4.3 Cek Program ... 49

Gambar 4.4 Run Program ... 50

Gambar 4.5 Compile Program ... 50

Gambar 4.6 Save Program ... 51

Gambar 4.7 Program Dirubah Menjadi .Hex ... 52

Gambar 5.1 Lampu Indikator Posisi Robot Standby ... 55

Gambar 5.2 Posisi Robot Mendekati Barang Pecah Belah ... 56

Gambar 5.3 Posisi Jari Tangan Robot Terbuka ... 57

Gambar 5.4 Posisi Tangan Robot Mengangkat Benda ... 58

(10)

x

DAFTAR TABEL

Tabel 2.1 Mnemonik Perintah Assembly AT89S52 ... 8

Tabel 2.2 Operation code mode……….………..…………9

Tabel 2.3 Kapasitas Memori Mikrokontroler Seri AT89XX……….15

Tabel 5.1 Hasil Pengujian Cara Kerja Tangan Robot ... 57

Tabel 5.2 Hasil Pengujian Berat Benda ... 57

Tabel 5.3 Hasil Pengujian Driver Motor DC ... 58

(11)

i

ROBOT PENGANGKAT BARANG PECAH BELAH MENGGUNAKAN

J OYSTICK BERBASIS MIKROKONTROLER AT89S52

Pembimbing I : Helmy Widyantara, S.Kom, M.Eng Pembimbing II : Ir. Kartini , S.Kom, MT

ABSTRAK

Kemajuan teknologi yang semakin pesat terutama dalam bidang teknologi robotika telah memasuki berbagai segi kehidupan manusia mulai dari bidang industri, militer, entertainment, maupun dalam bidang medis. Robot pengangkat barang pecah belah menggunakan joystick berbasis mikrokontroler adalah salah satu implementasi teknologi dalam bidang robotika yang memiliki kemampuan menirukan salah satu atau beberapa kegiatan manusia seperti mengangkat benda dan sebagainya.

Sistem kendali yang dibutuhkan untuk mewakili suatu kegiatan adalah sistem kendali (joystick) robot pengangkat barang pecah belah, sehingga dibutuhkan sistem kendali secara visual. Pada prinsipnya tujuan dari kendali visual pada robot pengangkat barang pecah belah untuk mengangkat benda ini diterapkan agar robot memiliki kecerdasan dalam mengangkat barang tersebut sesuai dengan cara kerja sistem kendali (joystick) dan fungsi dari robot itu sendiri. Informasi lokasi pada objek merupakan informasi navigasi sehingga menghasilkan kondisi-kondisi yang direspon oleh robot dengan cara mengendalikan joystick tersebut dan robot secara otomatis bergerak.

Dengan joystick, pengendali bisa mengarahkan robot tersebut pada benda yang telah disiapkan sebelumnya untuk mengangkat barang pecah belah atau objek tersebut.

Keyword : joystick, robot pengangkat barang pecah belah, mikrontroler AT89S52.

(12)

ii

KATA PENGANTAR

Dengan memanjatkan puji dan syukur kehadirat Allah SWT, atas berkat dan

rahmat-Nya yang telah dilimpahkan kepada penulis sehingga terbentuklah suatu

Tugas Akhir yang berjudul “Robot Pengangkat Barang Belah Menggunakan

Joystick Berbasis Mikrokontroler AT89S52”, untuk memenuhi salah satu syarat

Ujian Akhir Sarjana di Fakultas Teknologi Industri Jurusan Teknik Informatika

Universitas Pembangunan Nasional “Veteran” Jatim.

Peneliti menyadari bahwasanya dalam penyusunan Tugas Akhir ini masih

memiliki banyak kekurangan baik dari segi materi maupun dari segi penyusunannya

mengingat terbatasnya pengetahuan dan kemampuan peneliti. Untuk itu, dengan

kerendahan hati penyusun mohon maaf dan penyusun sangat mengharapkan segala

saran dan kritikan yang sekiranya dapat membantu peneliti agar dalam penyusunan

selanjutnya bisa lebih baik lagi.

Surabaya, 2013

Peneliti

(13)

iii

UCAPAN TERIMA K ASIH

Tugas Akhir ini dapat peneliti selesaikan berkat kerja sama dari berbagai pihak,

baik moril maupun materil. Oleh karena itu, peneliti ingin menyampaikan rasa

hormat dan terima kasih yang sebesar–besarnya kepada :

1. Allah SWT, atas semua anugrah dan pertolongan yang tak terkira dalam hidupku,

Serta tidak terlupakan iringan salam dan sholawat bagi junjungan kami Nabi

besar Muhamad SAW.

2. Kedua orang tua dan keluarga penulis yang telah memberikan dukungan moril

maupun materil selama ini.

3. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan

Nasional “Veteran” Jawa Timur.

4. Ir. Sutiyono, MT. selaku dekan Fakultas Teknologi Indutri Universitas

Pembangunan Nasional “Veteran” Jatim.

5. Dr. Ir Ni Ketut Sari, MT. selaku Ketua Jurusan Teknik Informatika Universitas

Pembangunan Nasional “Veteran” Jatim yang telah dengan sabar membimbing

dengan segala kerendahan hati dan selalu memberikan kemudahan dan

kesempatan bagi saya untuk berkreasi.

6. Helmy Widyantara, S.Kom, M.Eng. Dosen Pembimbing I, yang telah

meluangkan waktu untuk memberikan arahan dan memberi motivasi sehingga

penulis dapat menyelesaikan Tugas Akhir ini.

(14)

iv

7. Ir. Kartini , S.Kom, MT. selaku pembimbing II yang telah memberikan banyak

kritik dan saran yang bermanfaat dalam menyelesaikan skripsi ini.

8. Bapak Firza Prima Aditiawan, S.Kom., Selaku PIA Tugas Akhir Teknik

Informatika UPN “Veteran” Jawa Timur.

9. Dosen – dosen Teknik Informatika UPN “Veteran” Jatim atas bimbingan dan

ilmunya.

10.Teman-teman penulis yang tidak mungkin penulis sebutkan namanya satu per

satu terima kasih telah membantu dan memberikan doanya kepada penulis untuk

menyelesaikan skripsi ini.

11.Rekan-rekan di Teknik Informatika UPN “Veteran” Jatim angkatan 2006

terutama kelas sore, juga teman- teman penyusun dari semua angkatan yang

secara tidak langsung telah membantu selama penyusunan tugas akhir ini.

12.Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan

satu-persatu.

Semoga keikhlasan dalam membantu hingga terselesaikannya laporan Tugas

Akhir ini mendapatkan balasan pahala dari Allah SWT. Amien.

(15)

1 BAB I PENDAHULUAN

1.1 Latar Belakang

Seiring perkembangan ilmu pengetahuan dan teknologi didunia semakin meningkat. Di negara maju seperti Amerika, Inggris, Jerman dan Perancis mulai bermunculan grup-grup riset yang menjadikan robotik sebagai temanya. Tak lama kemudian di Asia, yang dimotori oleh pemikir – pemikir Jepang bermunculan juga kelompok – kelompok peneliti di bidang robotik. Bahkan, dikemudian hari tercatat bangsa jepang-lah yang paling produktif dalam pengembangan teknologi robot. Hal ini tak lain karena jepang juga gigih dalam melakukan penelitian teknologi infrastruktur seperti komponen dan piranti mikro (microwave) yang akhirnya bidang ini terbukti sebagai inti dari pengembangan robot modern.

Dalam perkembangannya robot digunakan untuk industri dalam pelaksanaan produksi, dengan adanya robot maka proses produksi akan lebih cepat dan efisien. Robot juga memiliki tingkat ketelitian yang tinggi jika dibandingkan dengan tenaga manusia. Sebagai contoh pada industri – industri kimia proses pengangkutan barang harus dengan hati – hati dan mengikuti prosedur yang telah ditetapkan oleh industri, kesalahan sedikit saja akan berakibat fatal terhadap keselamatan pekerja dan kerugian bagi perusahaan.

Biasanya pada industri – industri untuk membedakan jenis dari bahan pada kotak (box) diberi tanda seperti warna kotak (box) atau kode – kode lain yang dapat membedakan kotak (box). Tanda yang sama pada box menyatakan jenis

(16)

2

bahan yang sama. Di dalam industri, barang hasil produksi akan dikelompokkan berdasarkan jenis bahan atau barang yang sama.

Dengan adanya mobile robot yang dapat mengangkut barang dengan cara kendali (joystick) maka secara otomatis tentu bahaya terhadap pekerja tidak akan terjadi dan pekerjaan akan lebih cepat. Dalam penelitian ini peneliti membuat sebuah prototype mobile robot yang dapat mengangkat benda berdasarkan metode joystick sebagai pusat kendali. Robot akan mengangkat barang pecah belah secara otomatis. Tema penelitian yang saya angkat disini adalah : Robot Pengangkat Barang Pecah Belah Dengan Menggunakan joystick.

1.2 Perumusan Masalah

Berdasarkan latar belakang yang diuraikan diatas, maka perlu dirumuskan masalah, antara lain :

a. Bagaimana merancang dan membuat robot yang dapat menerima perintah untuk melakukan pergerakan mengangkat benda tertentu dengan menggunakan joystick ?

b. Bagaimana merancang dan membuat program untuk menjadi robot yang dapat mengangkat barang pecah belah menggunakan joystick?

c. Bagaimana melakukan uji coba pergerakan robot yang sudah ditentukan?

(17)

3

1.3 Batasan Masalah

Dalam penelitian ini suatu batasan masalah diantaranya : a. Menggunakan bahasa pemrograman ASM (assembley). b. Mikrokontroler yang digunakan adalah AT89S52. c. Robot ini dapat mengangkat benda yang ditentukan.

d. Robot ini hanya dapat melakukan gerakan maju, mundur, jari buka, jari tutup, jari turun, jari naik, siku turun, siku naik, bahu turun, bahu naik, putar kanan, putar kiri.

e. Robot ini dapat mengangkat atau memegang benda seperti gelas sloki dengan dimensi; diameter 3 cm, tinggi 4 cm, dan beratnya kurang lebih 100 gram.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah mempelajari dan membuat robot cerdas pengangkat barang pecah belah berdasarkan joystick sebagai sistem kendali.

1.5 Manfaat Penelitian

Adanya Tugas Akhir ini diharapkan dapat bermanfaat, antara lain :

a. Mengetahui dan mempelajari cara kerja mobile robot arm kit ( lengan robot ).

b. Mempermudah pihak pengguna mobile robot tersebut dalam mengangkat benda.

(18)

4

c. Menambah pengetahuan tentang bahasa assembley maupun manfaatnya, agar dapat menggunakannya untuk aplikasi yang bermanfaat lainnya.

1.6 Metodologi Penelitian

Metodologi penelitian yang dilakukan dalam penyelesaian tugas akhir ini meliputi:

A. Studi Literatur

Studi mengenai pengaturan dan pembuatan sebuah mobile robot dengan menggunakan joystick untuk mengendalikan mobile robot sebagai sistem kendali pengaturan kerja robot.

B. Pengumpulan data meliputi:

a. Pengumpulan data program assembler untuk MCS-51 b. Pengumpulan data mobile robot

c. Pengumpulan data mikrokontroler C. Perancangan alat meliputi :

a. Merancang rangkaian minimum joystick b. Merancang joystick

c. Merancang mekanik pengangkat barang seperti: bentuk tangan d. Merancang mikrokontroler

e. Merancang rangkaian minimum AT89S52 D. Pembuatan alat meliputi:

a. Membuat rangkaian minimum joystick b. Membuat rangkaian joystick

(19)

5

c. Membuat mekanik pengangkat barang d. Membuat rangkaian minimum AT89S52 E. Pembuatan program

Membuat software untuk robot pengangkat barang pecah belah menggunakan metode joystick berdasarkan mikrokontroler.

F. Pengujian sistem meliputi :

a. Pengujian karakteristik joystick.

b. Pengujian joystick terhadap cara kerja untuk pengangkat barang pecah belah.

c. Pengujian mobile robot dalam pendeteksian barang pecah belah. d. Pengujian karekteristik mikrokontroler. G. Analisa data

Analisa yang dilakukan dari pengujian sistem H. Pengambilan kesimpulan

Pengambilan kesimpulan dilakukan dengan melihat hasil dari pengujian sistem yang telah dilakukan.

1.7 Sistematika Penelitian

Sistematika penulisan laporan Tugas Akhir ini adalah sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi tentang tentang latar belakang, perumusan masalah, batasan masalah, manfaat penelitian,metodelogi penelitian dan sistematika penulisan.

(20)

6

BAB II : TINJ AUAN PUSTAKA

Bab ini membahas tentang teori- teori pendukung yang digunakan dalam perencanaan dan pembuatan tugas akhir.

BAB III : PERANCANGAN SISTEM

Bab ini berisikan tentang perancangan alat yang akan dibuat untuk tugas akhir ini, meliputi garis besar sistem, perancangan perangkat keras, dan perancangan software yang digunakan.

BAB IV : PENGUJ IAN SISTEM

Bab ini berisi tentang pengujian – pegujian dan analisa yang akan membantu dalam perealisasian alat yang dibuat pada tugas akhir ini, meliputi pengujian sensor suara yang digunakan pada mobile robot dan pengujian sistem dari

mobile robot.

BAB V : KESIMPULAN DAN SARAN

Berisi kesimpulan – kesimpulan yang diperoleh dari perencanaan dan perealisasian alat pada tugas akhir ini, serta saran yang dapat digunakan untuk penyempurnaan tugas akhir ini.

(21)

7 BAB II

TINJ AUAN PUSTAKA

Dalam bab ini dibahas mengenai teori penunjang dari peralatan yang digunakan dalam Bahasa Assembly, Mikrontr oler AT89S52, Motor DC,

Joystick dan Robot arm kit.

2.1 Bahasa Assembly

Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C, C++, Pascal, Turbo Basic, Java, dan sebagainya. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Assembler adalah program yang bekerja membantu penulisan instruksi dalam format Bahasa Inggris sehingga mudah dibaca dan dipahami.

MOV R0, #02h MOV A, #03h ADD A, R0

Perintah baris pertama bekerja menjalankan proses pengisian register R0 dengan data 02h. Perintah baris kedua bekerja menjalankan proses pengisian register A dengan data 03h. Kemudian proses penjumlahan data pada register A dengan data pada register R0 dijalankan menggunakan perintah ADD A,R0 dan menghasilkan data 05h tersimpan di register A.

Perintah MOV dan ADD adalah mnemonik atau singkatan dari perintah

(22)

8

MOVE dan ADD. Mnemonik dari perintah lainnya dapat dirangkum dalam table berikut.

Tabel 2.1 Mnemonik Perintah Assembly AT89S52

No. PERINTAH MNEMONIK

1 ADD ADD

11 DECIMAL ADJUST ACCUMULATOR DAA

12 CLEAR ACCUMULATOR CLR A

13 COMPLEMENT ACCUMULATOR CPL A

14 ROTATE ACCUMULATOR LEFT RL A

15 ROTATE ACCUMULATOR LEFT THROUGH

CARRY

RLC A

16 ROTATE ACCUMULATOR RIGHT RRA

17 ROTATE ACCUMULATOR RIGHT THROUGH

CARRY

RRC A

18 SWAPP NIBBLE WITHIN ACCUMULATOR SWAP

19 PUSH DIRECT BYTE KE STACK PUSH

29 RETURN FROM INTERRUPT RETI

30 ABSOLUTE JUMP AJMP

31 LONG JUMP LJMP

32 SHORT JUMP SJMP

33 JUMP INDIRECT JMP

34 JUMP IF ACCUMULATOR ZERRO JZ

35 JUMP IF ACCUMULATOT NOT ZERRO JNZ

(23)

9

Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Di dalam mikrokontroler instruksi disimpan dalam kode heksa sehingga sulit dibaca dan dipahami maknanya. Sedangkan bahasa assembly memakai kode mnemonik untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan dalam penulisan program.

Tabel 2.2 Operation code mode

NO OPERATION CODE ASSEMBLY

1 26 MOV RO,#02h

2 27 MOV A,#03h

3 28 RO

Kode bahasa mesin atau sering disebut dengan operation code dari perintah MOV R0,#02h adalah 78 02. Untuk MOV A,#03h kode operasinya adalah 74 03 dan 28 adalah kode operasi dari perintah ADD A, R0. Kode operasi untuk setiap perintah dapat dibaca pada lembar instruction set. Program yang ditulis dengan bahasa assembly terdiri dari label, kode mnemonik, operand 1, operand 2, keterangan, dan lain sebagainya. Program ini disebut sebagai program sumber (Source Code). Source code belum bisa diterapkan langsung pada prosesor untuk dijalankan sebagai program. Source code harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner atau operasi.

Source code ditulis dengan program editor biasa, misalnya Note Pad pada

Windows atau SideKick pada DOS, TV demo, lalu source code diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Proses menterjemahkan

36 COMPARE AND JUMP IF NOT EQUAL CJNE

37 DECREAMENT AND JUMP IF NOT ZERO DJNZ

38 NO OPERATION

(24)

10

source code menjadi bahasa mesin disebut dengan proses assembled. Hasil kerja

program Assembler adalah “program objek” dan juga “assembly listing”.

Program Objek berisikan kode kode operasi bahasa mesin. Biasanya file program objek menguanakan ekstensi .HEX. Kode-kode operasi bahasa mesin inilah yang dituliskan ke memori- program prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROM atau EEPROM, dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip mikrokontroler AT89S51 atau AT89C2051.

Assembly Listing merupakan naskah yang berasal dari program sumber,

dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor program berikut dengan kode yang akan diisikan pada memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis.

Yang perlu diperhatikan adalah setiap prosesor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prosesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosesor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja.

2.1.1 Konstruksi Program Assembly

Source program dalam bahasa Assembly menganut prinsip 1 baris untuk

satu perintah tunggal. Setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni bagian Label, bagian mnemonik, bagian operand yang bisa lebih dari satu dan terakhir bagian komentar. Untuk membedakan masing-masing

(25)

11

bagian tersebut dibuat ketentuan sebagian berikut:

a. Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk operand yang lebih dari satu masing-masing operand dipisahkan dengan koma.

b. Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah baris, jika ada satu bagian yang tidak ada maka spasi atau TAB sebagai pemisah bagian tetap harus di tulis.

c. Bagian Label ditulis mulai huruf pertama dari baris, jika baris bersangkutan tidak mengandung Label maka label tersebut digantikan dengan spasi atau TAB, yakni sebagai tanda pemisah antara bagian Label dan bagian mnemonik.

Label mewakili nomor memori-program dari instruksi pada baris bersangkutan, pada saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu mewakili nomor memori- program dan harus ditulis dibagian awal baris instruksi.

Disamping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai tertentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama dari baris instruksi. Mnemonik (artinya sesuatu yang memudahkan diingat) merupakan singkatan perintah, dikenal dua macam mnemonik, yakni manemonic yang dipakai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJ NZ dan lain sebagainya. Ada pula mnemonik yang dipakai untuk mengatur kerja dari program Assembler misalnya ORG, EQU

(26)

12

atau DB, mnemonik untuk mengatur kerja dari program Assembler ini dinamakan sebagai ‘Assembler Directive’. Operand adalah bagian yang letaknya di belakang bagian mnemonik, merupakan pelangkap bagi mnemonik. Kalau sebuah instruksi diibaratkan sebagai kalimat perintah, maka mnemonik merupakan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat perintah tersebut.

Tergantung pada jenis instruksinya, operand bisa berupa berbagai macam hal. Pada instruksi J UMP operand berupa Label yang mewakili nomor memori-program yang dituju misalnya LJ MP Start, pada instruksi untuk pemindahan/pengolahan data, operand bisa berupaSymbol yang mewakili data tersebut, misalnya ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, misalnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai operand, misalnya RET. Komentar merupakan bagian yang sekedar sebagai catatan, tidak berpengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi bagian ini sangat penting untuk keperluan dokumentasi.

2.2 Gambar an Umum Mikr okontroler

Mikrokontroler merupakan suatu IC yang di dalamnya berisi CPU, ROM, RAM, dan I/O. Dengan adanya CPU tersebut maka mikrokontroler dapat melakukan proses berfikir berdasarkan program yang telah diberikan kepadanya. Mikrokontroler banyak terdapat pada peralatan elektronik yang serba otomatis, mesin fax, dan peralatan elektronik lainnya. Mikrokontroler dapat disebut pula sebagai komputer yang berukuran kecil yang berdaya rendah sehingga

(27)

13

sebuah baterai dapat memberikan daya. Mikrokontroler terdiri dari beberapa bagian seperti yang terlihat pada gambar di bawah ini :

Gambar 2.1 Susunan mikrokontroler

Pada gambar tersebut tampak suatu mikrokontroler standart yang tersusun atas komponen-komponen sebagai berikut :

A. Central Processing Unit (CPU)

CPU merupakan bagian utama dalam suatu mikrokontroler. CPU pada mikrokontroler ada yang berukuran 8 bit ada pula yang berukuran 16 bit. CPU ini akan membaca program yang tersimpan di dalam ROM dan melaksanakannya. B. Read Only Memory (ROM)

ROM merupakan suatu memori (alat untuk mengingat) yang sifatnya hanya dibaca saja. Dengan demikian ROM tidak dapat ditulisi. Dalam dunia mikrokontroler ROM digunakan untuk menyimpan program bagi mikrokontroler tersebut. Program tersimpan dalm format biner (‘0’ atau ‘1’). Susunan bilangan biner tersebut bila telah terbaca oleh mikrokontroler akan memiliki arti tersendiri. C. Random Acces Memory (RAM)

Berbeda dengan ROM, RAM adalah jenis memori selain dapat dibaca juga dapat ditulis berulang kali. Tentunya dalam pemakaian mikrokontroler ada

(28)

14

semacam data yang bisa berubah pada saat mikrokontroler tersebut bekerja. Perubahan data tersebut tentunya juga akan tersimpan ke dalam memori. Isi pada RAM akan hilang jika catu daya listrik hilang.

D. Input / Output (I/O)

Untuk berkomunikasi dengan dunia luar, maka mikrokontroler menggunakan terminal I/O (port I/O), yang digunakan untuk masukan atau keluaran.

E. Komponen lainnya

Beberapa mikrokontroler memiliki timer/counter, ADC (Analog to Digital Converter), dan komponen lainnya. Pemilihan komponen tambahan yang sesuai dengan tugas mikrokontr oler akan sangat membantu perancangan sehingga dapat mempertahankan ukuran yang kecil. Apabila komponen-komponen tersebut belum ada pada suatu mikrokontroler, umumnya komponen tersebut masih dapat ditambahkan pada sistem mikrokontroler melalui port-portnya.

2.3 Mikrokontroler AT89S52

Mikrokontroler AT89S52 adalah mikorokomputer CMOS 8 bit yang memiliki 8 KB Programmable and Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non-valatile (tidak kehilangan data bila kehilangan daya listrik). Set instruksi dan kaki keluaran AT89S52 sesuai dengan standar industri 80C51 dan 80C52. Atmel AT89S52 adalah mikrokontroler yang sangat bagus dan fleksibel dengan harga yang relative murah untuk banyak aplikasi system kendali berkerapatan tinggi dari Atmel ini sangat kompatibel dengan mikrokontroler MCS-51 misalnya mikrokontrloler AT80S52 yang

(29)

15

terkenal dan banyak digunakan dan telah menjadi standar industri baik dalam jumlah pin IC maupun set instruksinya.

Sebagai perbandingan kapasitas memori, table 2.1 berikut ini akan menampilkan memori dari mikrokontroler seri AT89XX

Tabel 2.3 Kapasitas Memori Mikrokontroler seri AT89XX

Type RAM Flash Memory EEPROM

Mikrokontroler AT89S52 memiliki fasilitas-fasilitas pendukung yang membuatnya menjadi mikrokontroler yang sangat banyak digunakan dalam berbagai aplikasi Fasilitas-fasilitas yang dimiliki oleh mikrokontroler AT89S52 adalah :

a. Sesuai dengan produk-produk MCS-51

b. Terdapat memori flash yang terintegrasi dalam system. Dapat ditulis ulang hingga 1000 kali.

c. Beroperasi pada frekuensi 0 sampai 24MHz. d. Tiga tingkat kunci memori program.

e. Memiliki 256 x 8 bit RAM internal.

f. Terdapat 32 jalur masukan/keluaran terprogram.

(30)

16

g. Tiga pewaktu/pencacah 6-bit (untuk AT89S52) & dua pewaktu/pencacah 16-bit (untuk AT89S51).

h. Memiliki 8 sumber interupsi (untuk AT89S52) & 6 sumber instruksi untuk AT89S51.

2.3.1 Karakteristik mikr okontroler AT89S52

AT89S52 mempunyai memori yang terdiri dari RAM internal dan

Special Function Register. RAM internal pada mikrokontroler AT89S52

memiliki ukuran 256 byte dan beralamatkan 00H-7FH serta dapat di akses menggunakan RAM adress register. RAM internal terdiri dari delapan buah register (R0-R7) yang membentuk register banks. Special Function

register yang berjumlah 21 buah berada di alamat 80H-FFH. RAM ini

berbeda pada lokasi dengan Flash PEROM dengan alamat 000h-7FFH. Berikut arsitekturnya yang ditunjukkan blok diagram pada gambar 2.1.

Gambar 2.2 Diagram Blok Mikrokontroler AT89S52

(31)

17

IC AT89S52 mempunyai pin sebanyak 40 buah sesuai dengan mikrokontroler 8031 dan memiliki susunan pin seperti gambar di berikut ini :

Gambar 2.3 Konfigurasi pin (kaki) pada mkrokontroler AT89S52

2.3.2 Fungsi Pin-Pin pada mikr okontroler AT89S52 A. Pin 1 sampai pin 8

Pin 1 – 8 adalah port 1 yang merupakan saluran atau bus I/O 8 bit dua arah dengan internal pull-ups yang dapat digunakan untuk berbagai keperluan seperti mengendalikan empat input TTL. Port ini juga digunakan sebagai saluran alamat saat pemrograman dan versikasi

B. Pin 9

Merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroler ini.

C. Pin 10 sampai pin 17

(32)

18

Pin 10 – pin 17 merupakan saluran atau bus I/0 8 bit dua arah dengan internal

pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai

maka dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu, sebagian port 3 dapat berfungsi sebagai sinyal control saat proses pemrograman dan vertifikasi.

D. Pin 18 dan pin 19

Pin-pin ini merupakan jalur masukan ke penguat osilator berpenguat tinggi. Mikrokontroler ini memiliki seluruh rangkaian osilator yang diperlukan pada chip, kecuali rangkaian kristal yang mengendalikan frekuensi osilator. Oleh karena itu, pin 18 dan 19 ini sangat diperlukan untuk dihubungkan dengan Kristal. Selain itu XTAL 1 juga dapat digunakan sebagai input untuk inverting osilator amplifier dan input rangkaian internal clock, sedangkan XTAL 2 merupakan output dari

inverting oscillator amplifier.

E. Pin 20

Pin 20 merupakan ground sumber tegangan dan diberi symbol “gind”. F. Pin 21 sampai 28

Pin-pin ini adalah port 2 yang merupakan saluran atau bus I/O 8 bit dua arah dengan internal pull-ups. Saat pengambilan data dari program memori eksternal yang menggunakan alamat 16 bit (MOVX@DPTR), port 2 berfungsi sebagai saluran / bus alamat tinggi (A8-A15). Akan tetapi, saat mengakses data memori eksternal yang menggunakan alamat 8 bit (MOVX@DPTR), port 2 mengeluarkan isi P2 pada special function register.

(33)

19

G. Pin 29

Pin 29 merupakan Program Store Enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal agar masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).

H. Pin 30

Pin 30 sebagai Adress Lacth Enable (ALE) / PROG merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori. Pin ini juga berfungsi sebagai pulsa/sinyal input pemrograman (PROG) selama prose pemrograman.

I. Pin 31

Pin 31 adalah external Access Enable (EA) merupkan sinyal control untuk pembacaan memori program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program eksternal, sedangkan jika diset tinggi (H) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program internal ketika isi program counter kurang dari 4096. Port ini juga berfungsi sebagai tegangan pemrograman (Vpp=+12V) selama proses pemrograman.

J. Pin 32 sampai 39

Pin 32 sampai pin 39 adalah port 0 yang merupakan saluran bus I/0 8 bit open

collector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus

data selama adanya akses ke memori programeksternal. Saat proses pemrograman dan verifikasi, port 0 digunakan sebagai saluran / bus data. Pull-up eksternal diprlukan selama proses verifikasi.

K. Pin 40

(34)

20

Pin 40 merupakan sumber tegangan positif yang diberi symbol Vcc.

2.3.3 Register pada Mikrokontroler AT89S52

Register adalah penampung data sementara yang terletak dalam CPU. Pada mikrokontroler AT89S52, register-registernya adalah sebagai berikut :

a. Register A (Accumulator)

Accumulator ialah sebagai register 8 bit yang merupakan pusat dari semua

operasi accumulator, termasuk dalam operasi aritmatika dan operasi logika.

b. Regioster B

Register ini memiliki fungsi yang sama dengan register A.

c. Program Counter (PC)

Program Counter (Pencacah program) merupakan sebuah register 16 bit

yang selalu menunjukkan lokasi memori instruksi yang akan diakses.

d. Data Pointer

Data Pointer atau DPATR merupakan register 16 bit yang terletak

dialamat 82H untuk DPL dan 83H untuk DPH. Biasanya Data Pointer digunakan untuk mengakses data atau source kode yang terletak dimemori eksternal.

e. Stack Pointer (SP)

(35)

21

Stack Pointer adalah register 8 bit yang mempunyai fungsi khusus sebagai

penunjuk alamat atau data paling atas pada operasi penumpukkan di RAM.

Stack Pointer terletak di alamat 81H. Penunjuk penumpukkan dan selalu

bertambah dua tiap kali data ditarik keluar dari lokasi penumpukkan. f. Program Status Word

Program Status Word merupakan register yang berisi beberapa bit status

yang mencerminkan keadaan mikrokontroler. g. Bit Carry Flag (CY)

Bit Carry Flag merupakan bit ke 8 yang memiliki dua fungsi :

1. Carry akan menunjukkan apakah operasi penjumlahan

mengandung carry (sisa) atau apakah operasi pengurangan mengandung borrow (kurang). Apabila operasi ini mengandung

borrow, bit ini akan diset agar bernilai nol (0).

2. Carry dimanfaatkan sebagai bit ke-8 untuk operasi pergeseran

(shift) atau perputaran.

h. Bit Auxiliary Carry (AC)

Bit ini menunjukkan adanya carry (bawaan) dari bit ketiga menuju bit keempat atau dari empat bit rendah keempat bit tinggi pada operasi aritmatika. Bit ini jarang digunakan oleh mikrokontroler secara implisit pada operasi aritmatika bilangan BCD.

i. Bit Flag 0 (F0)

(36)

22

Bit ini menunjukkan apakah hasil operasi bernilai nol atau tidak. Apabila hasil operasi adalah nol (0), bit ini akan diset agar bernilai 1, sedangkan apabila hasil operasinya bukan nol (0), maka bit ini akan di-reset. Bit ini juga digunakan pada perbandingan dua buah data. Jika kedua data sama maka bit ini akan diset agar bernilai satu, sedangkan jika kedua data itu berbeda maka bit ini akan direset agar bernilai nol (0).

j. Bit Register Select (RS)

RS0 dan RS1 digunakan untuk memilih bank register. Delapan buah register ini merupakan register serbaguna. Lokasinya pada awal 32 byte RAM internal yang memiliki alamat dari 00H sampai 1FH. Register ini dapat diakses melalui symbol assembler (R1,R2,R3,R4,R5,R6 dan R7).

2.4 Motor DC

2.4.1 Pengertian Motor DC

Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya memutar impeller pompa, fan atau blower, menggerakan kompresor, mengatakan bahan,dll. Motor listrik digunakan juga di rumah ( mixer, bor listrik,

fan angin ) dan industri. Motor listrik kadang kala disebut “kuda kerja” nya

industri sebab diperkirakan bahwa motor- motor menggunakan sekitar 70 % beban listrik total di industri.

Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor

(37)

23

(bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen.

Gambar 2.4 Motor DC Sederhana

Satu tegangan dc dari baterai menuju kelilitan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar diatas disebut angker dinamo. Aangker dinamo adalah sebutan komponen yang berputar di antara medan magnet.

2.4.2 Pr insip Kerja Dan Cara Kerja

Jika arus lewat pada suatu konduktor, timbul medan magnet disekitar konduktor. Arah medan magnet ditentukan oleh arah aliran arus pada konduktor.

(38)

24

Gambar 2.5 Medan magnet yang membawa arus mengelilingi konduktor. Aturan genggaman tangan kanan bisa dipakai untuk menentukan arah garis fluks disekitar konduktor. Genggaman konduktor dengan tangan kanan dengan jempol mengarah pada arah aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks. Gambar 3 menunjukkan medan magnet yang terbentuk disekitar konduktor berubah arah karena bentuk U.

Gambar 2.6 Medan magnet yang membawa arus mengelilingi konduktor. Medan magnet hanya terjadi disekitar sebuah konduktor jika dada arus mengalir pada konduktor tersebut.

Pada motor listrik konduktor berbentuk U disebut angker dinamo.

Gambar 2.7 Medan magnet mengelilingi konduktor dan diantara kutub.

(39)

25

Jika konduktor berbentuk U (angker dinamo) diletakkan diantara kutub utara dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan magnet konduktor akan berinteraksi dengan medan magnet kutub. Lihat gambar 2.5.

Gambar 5. Reaksi garis fluks

Gambar 2.8 Konduktor

Gambar 2.8 Konduktor

Lingkaran bertanda A dan B merupakan ujung konduktor yang dilengkungkan (looped conductor). Arus mengalir masuk melalui ujung A dan keluar melalui ujung B.

Medan konduktor A yang searah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat di bawah konduktor. Konduktor akan berusaha bergerak ke atas untuk keluar dari medan kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat diatas konduktor. Konduktor akan berusaha untuk bergerak turun agar keluar dari

(40)

26

medan yang kuat tersebut. Gaya – gaya tersebut akan membuat angker dinamo berputar searah jarum jam.

Mekanisme kerja untuk seluruh jenis motor secara umum:

a. Arus listrik dalam medan magnet akan memberikan gaya.

b. Jika kawat yang membawa arus dibengkongkan menjadi sebuah lingkaran/ loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet,akan mendapat gaya pada arah yang berlawanan.

c. Pasangan gaya menghasilkan tenaga putar / torque untuk memutar kumparan.

d. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan elektromagnetik yang disebut kumparan medan.

Pada motor dc, daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi dari energy listrik menjadi energy mekanik (motor) maupun sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet disini selain berfungsi sebagai tempat untuk menyimpan energi, sekaligus sebagai tempat berlangsungnya proses perubahan energi, daerah tersebut dapat dilihat pada gambar dibawah ini :

Gambar 2.9 Prinsip Kerja Motor DC

(41)

27

Agar proses perubahan energy mekanik dapat berlangsung secara sempurna, maka tegangan sumber harus lebih besar dari pada tegangan gerak yang disebabkan Reaksi lawan. Dengan member arus pada kumparan jangkar yang dilindungi oleh medan maka menimbulkan perputaran pada motor.

Dalam memahami sebuah motor, penting untuk mengerti apa yang dimaksud dengan beban motor. Beban dalam hal ini mengacu kepada keluaran tenaga putar /

torque sesuai dengan kecepatan yang diperlukan. Beban umumnya dapat

dikategorikan kedalam tiga kelompok :

a. Beban torque konstan adalah beban dimana permintaan keluaran eneginya bervariasi dengan kecepatan operasinya namun torquenya tidak bervariasi. Contoh beban dengan turque konstan adalah corveyors,rotary kilns, dan pompa displacement konstan.

b. Beban dengan variable torque adalah beban dengan tourque yang bervariasi dengan kecepatan operasi. Contoh beban dengan variable

tourque adalah pompa sentrifugal dan fan ( tourque bervariasi sebagai

kuadrat kecepatan ). Peralatan Energi Listrik : Motor Listrik.

c. Beban dengan energy konstan adalah beban dengan permintaan torque yang berubah dan berbanding berbalik dengan kecepatan. Contoh untuk beban dengan daya konstan adalah peralatan mesin.

2.4.3 Pr insip Arah Putaran Motor

Untuk menentukan arah putaran motor yang digunakan kaidah flaming tangan kiri. Kutub – kutub magnet akan menghasilkan medan magnet dengan arah

(42)

28

dari kutub utara ke kutub selatan. Jika medan magnet memotong sebuah kawat penghantar yang dialiri arus searah dengan empat jari, maka akan timbul gerak Searah ibu jari. Gaya ini disebut gaya Lorentz, yang besarnya sama dengan F. Prinsip motor : aliran arus didalam penghantar yang berbeda didalam pengaruh medan magnet akan menghasilkan gerakan. Besarnya gaya penghantar akan bertambah besar jika arus yang melalui penghantar bertambah besar.

2.5 J oystick

Joystick adalah Sebagai pengendali robot berjalan secara otomatis, peneliti menggunakan joystick yang merupakan bagian dari pengendalian pergerakan robot. Rangkaian joystick ini terdiri dari 14 tombol perintah pergerakan robot yaitu maju, mundur, kiri, kanan, jari tutup, jari buka, jari naik, jari turun, lengan naik, lengan turun, bahu naik, bahu turun, bahu kiri, bahu kanan.gambar rangkaian joystick ditunjukan pada gambar berikut ini :

Gambar 2.10 Joystick

(43)

29

Gambar 2.11 Rangkaian joystick

Pada diagram PCB designer joystick sebagai program yang digunakan untuk merancang rangkaian elektronika dan digunakan sebagai program untuk membuat gambar dan rangkaian pada PCB.

2.6 Robot Ar m Kit ( Lengan Robot )

The OWI-535 Arm Kit Ujung Robotic adalah remote control arm kit robot dengan lima derajat kebebasan, kapasitas (100g) mengangkat 3.5oz, dan lampu LED. Menggunakan lima motor dengan gearbox, Edge memiliki gerakan pergelangan tangan ° 120, gerakan ° siku 300, 180 ° gerak bahu, 270 ° gerak dasar, dan 0-1,77 "(0-4.5cm) gerak mencengkeram.

(44)

30

Generasi kedua lengan OWI ini kit robot, Edge Arm Robot, mengajarkan mekanika dasar dan elektronik konstruksi lengan robot dan kontrol. Menggunakan lima motor dengan gearbox, Edge memiliki lima derajat kebebasan: gerakan pergelangan tangan 120 °, gerakan ° siku 300, 180 ° gerak bahu, 270 ° gerak dasar, dan 0-1,77 "(0-4.5cm) gerak mencengkeram. Ketika salah satu gearbox menemui hambatan yang berlebihan terhadap gerakan, gearbox akan membuat suara yang memberitahu Anda untuk menghentikan gerakan lengan ke arah itu. llluminating apapun gripper memegang, LED putih dipasang dengan "tangan" lengan.

Gambar 2.12 Robot Arm kit ( Lengan Robot )

Gambar 2.12 Robot Arm kit ( Lengan Robot )

Sebuah lengan robot adalah jenis lengan mekanik , biasanya diprogram , dengan fungsi yang mirip dengan manusia lengan , lengan mungkin jumlah total dari mekanisme atau mungkin menjadi bagian dari lebih kompleks robot. Lengan

(45)

31

robot ini mempunyai 14 pergerakan, maju, mundur, kiri, kanan, jari buka, jari tutup, jari naik, jari turun, siku naik, siku turun, bahu naik, bahu turun, bahu kiri, bahu kanan. Link seperti manipulator dihubungkan dengan sendi sehingga baik gerak rotasi (seperti dalam robot diartikulasikan) atau translasi (linier) perpindahan. The link manipulator dapat dianggap membentuk rantai kinematik . Ujung dari rantai kinematik dari manipulator disebut end effector dan analog dengan manusia tangan .

2.6.1 Fitur Ringkasan

a. kabel remote control switch dengan lima b. 120 ° pergelangan gerak

c. 300 ° siku gerak d. 180 ° bahu gerak e. 270 ° dasar gerak

f. 15 "jangkauan (38 cm) vertikal g. 12,6 "jangkauan (32 cm) horisontal h. 3.5oz (100g) mengangkat kapasitas i. 0-1,77 "(0-4.5cm) grip kisaran

j. 9 "x 6.3" x 15 "(22,8 × 16 × 38 cm) dirakit dimensi k. £ 1,5 (658g) berat badan

l. LED putih gripper cahaya

m. Indikator gigi terdengar mencegah kerusakan gearbox

(46)

32 BAB III

ANALISIS DAN PERANCANGAN SISTEM

Pada BAB III ini akan dibahas analisi dan perancangan system baik pada perancangan robot,perangkat keras (hardware) dan perangkat lunak (software). Perancangan perangkaat keras (hardware) meliputi :

a. Rangkaian Mikrokontroler AT89S52

Untuk perancangan perangkat lunak menggunakan bahasa assembly untuk menggerakkan tangan robot dan roda yang terpasang di motor DC.

3.1 Analisis Sistem

Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang dibutuhkan, yaitu :

a. Robot ini dirancang dengan menggunakan metode joystick sebagai penggerak perintah yg disesuaikan.

b. Robot ini dirancang dengan menggunakan metode joystick sebagai pengendali pada robot.

c. Robot ini dirancang dengan menggunakan Mikrokontroler AT89S52 sebagai otak utama pada robot.

(47)

33

d. Robot ini menggunakan assembly sebagai bahasa pemrograman.

e. Robot ini dirancang untuk dapat berjalan sesuai perintah yang di inginkan oleh pengendali.

f. Robot ini dirancang untuk mengangkat barang pecah belah dengan

menggunakan metode joystick untuk melakukan perintah yang di inginkan oleh pengendali.

3.2 Perancangan Perangkat Lunak

Setelah dalam pembuatan perangkat keras selesai, bagian yang paling penting dalam pembuatan tugas akhir ini yaitu dalam merancang suatu perangkat lunak. Dalam tugas akhir ini, perancangan perangkat lunak dibagi menjadi 2 bagian yaitu:

a. Perancangan perangkat lunak untuk PC.

b. Perancangan perangkat lunak untuk mikrokontoler.

3.2.1 Perancang Per angkat Lunak

Pada bagian ini menjelaskan tentang perancangan perangkat lunak untuk PC, yang berfungsi untuk mengirim data ke joystick. Untuk perangkat lunak peneliti menggunakan PCB designer diagram dan bahasa assembly untuk pemrogramannya.

(48)

34

a. PCB designer

diagramPCB designer diagram sebagai program yang digunakan untuk merancang rangkaian elektronika dan digunakan sebagai program untuk membuat gambar dan rangkaian pada PCB.

b. Bahasa Assembley

Bahasa assembly adalah program compailer berbasis windows yang menggunakan source code ditulis dengan program editor biasa, misalnya Note Pad pada Windows atau SideKick pada DOS, TV demo, lalu source code diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Proses menterjemahkan source code menjadi bahasa mesin disebut dengan proses assembled. Hasil kerja program Assembler adalah “program objek” dan juga “assemly listing”.

Program Objek berisikan kode kode operasi bahasa mesin. Biasanya file program objek menguanakan ekstensi .HEX. Kode-kode operasi bahasa mesin inilah yang dituliskan ke memori- program prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROMatau EEPROM dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip mikrokontroler AT89S52 atau AT89C2051.

Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler.

(49)

35

Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan.

3.2.2 Diagram Aliran pemr ogr aman

Gambar 3.1 Diagram Alir Perancangan Sistem

(50)

36

Penjelasan diagram alir perancangan sistem :

Penjelasan diagram alir perancangan sistem : a. Awal alur program.

b. Menyalakan tombol power on/off.

c. Setelah menyalakan tombol power, kemudian menunggu proses insialisasi port I/O, insialisasi joystick dan insialisasi port lengan robot hingga selesai.

d. Setelah semua insialisasi selesai, kemudian masukkan perintah pada robot.

e. Setelah masukan perintah pada robot kemudian tekan tombol pada bagian bahu jika ingin menggerakkan bahu robot.

f. Pada saat ingin menggerakkan bagian bahu memutar ke arah kiri atau memutar ke arah kanan, maka tekan tombol putar bahu kiri untuk melakukan perputaran pada bahu ke arah kiri dan jika ingin memutarnya ke arah kanan maka tekan tombol putar bahu kanan sesuai yang diinginkan.

g. Jika ingin melakukan pergerakan bahu naik atau bahu turun, maka tekan tombol bahu naik jika ingin menggerakan bahu tersebut naik dan tekan tombol bahu turun jika ingin menggerakan bahu tersebut turun sesuai yang diinginkan.

h. Jika ingin melakukan pergerakan lengan naik atau lengan turun, maka tekan tombol lengan naik jika ingin menggerakkan lengan tersebut naik

(51)

37

j. Jika ingin melakukan pergerakkan jari buka atau jari tutup, maka tekan tombol jari buka jika ingin menggerakkan jari tersebut membuka dan tekan tombol jari tutup jika ingin mengerakkan jari tutup sesuai yang diinginkan.

k. Jika ingin melakukan pergerakkan robot maju atau robot mundur, maka tekan tombol robot maju jika ingin menggerakkan robot tersebut maju dan tekan tombol robot mundur jika ingin menggerakkan robot mundur sesuai yang diinginkan.

l. Jika ingin melakukan pergerakkan robot kiri atau robot kanan, maka tekan tombol robot kiri jika ingin menggerakkan robot tersebut kekiri dan tekan tombol robot kanan jika ingin menggerakan robot kekanan sesuai yang diinginkan.

m. selesai

3.3 Perancangan Perangkat elektronik

Diagram blok dibawah ini merupakan gambaran secara garis besar dari jalannya sistem yang dibuat dalam tugas akhir ini :

(52)

38

Gambar 3.2 Blok diagram jalan garis besar Mikrokontroler.

Robot cerdas pengangkat barang pecah belah ini mempelajari karekteristik mikrokontroler yang menjadi masukan untuk sistem mikrokontroler AT89S52, sedangkan keluaran dari mikrokontroler yang tidak lain adalah joystick dan motor DC yang menjadi masukan untuk sistem penggerak, Dengan adanya

mobile robot yang dapat mengangkut barang dengan cara kendali (joystick) maka

secara otomatis pekerjaan akan lebih cepat. Dalam penelitian ini peneliti membuat sebuah prototype mobile robot yang dapat mengangkat benda berdasarkan metode joystick sebagai pusat kendali. Robot akan mengangkat barang pecah belah secara otomatis. sedangkan keluaran dari robot arm kit yang tidak lain sebagai penangan dini motor DC dan joystick. Sistem kerja dari sistem minimum adalah memonitoring perintah pengendali joystick yang diberikan secara otomatis robot akan melakukan perintah tersebut dan robot mulai bergerak.

(53)

39

3.4 Rangkaian Mikrokontroler AT89S52

Rangkain mikrokontroler berfungsi untuk mengolah perintah yang dikendalikan oleh joystick kemudian diolah. pengaturan pergerakan motor yang diinginkan sehingga robot dapat bergerak sesuai dengan pengendalian joystick, agar robot dapat berjalan sesuai perintah pergerakan joystick yang telah ditentukan.

Gambar rangkaian mikrokontroler AT 89S52 ditunjukan pada gambar berikut ini :

Gambar 3.3 Skema Rangkaian Mikrokontroler AT89S52

(54)

40

Mikrokontroler AT89S52 memiliki fasilitas-fasilitas pendukung yang membuatnya menjadi mikrokontroler yang sangat banyak digunakan dalam berbagai aplikasi Fasilitas-fasilitas yang dimiliki oleh mikrokontroler AT89S52. Secara garis besar mikrokontroler AT89S52 terdiri dari :

a. Sesuai dengan produk-produk MCS-51

b. Terdapat memori flash yang terintegrasi dalam system. Dapat ditulis ulang hingga 1000 kali.

c. Beroperasi pada frekuensi 0 sampai 24MHz. d. Tiga tingkat kunci memori program.

e. Memiliki 256 x 8 bit RAM internal.

f. masuTerdapat 32 jalur masukan/keluaran terprogram.

g. Tiga pewaktu/pencacah 6-bit (untuk AT89S52) & dua pewaktu/pencacah 16-bit (untuk AT89S51).

h. Memiliki 8 sumber interupsi (untuk AT89S52) & 6 sumber instruksi untuk AT89S51.

i. Jalur serial dengan UART ( Universal Asynchronous Reciver Transmitter ) yang dapat diprogram.

3.5 Driver Motor DC

Untuk mengendalikan perputaran Motor DC dibutuhkan suplai tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang

(55)

41

berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Sehingga perputaran dari Motor DC dapat dikendalikan oleh mikrokontroler.

Rangkaian jembatan H ditunjukan pada gambar berikut ini :

Gambar 3.4 Skema Rangkaian Driver Motor DC

Gambar 3.3 merupakan rangkaian tegangan sebelum masuk kedalam driver motor, rangkaian tersebut terdiri dari resistor. Jika suatu rangkain RC diberi tegangan dc maka muatan listrik pada transistor tidak akan langsung terisi penuh,

(56)

42

akan tetapi membutuhkan waktu untuk mencapai muatan listrik pada transistor tersebut penuh.

Setelah muatan listrik penuh tegangan dilepas maka muatan listrik pada transistor tidak akan langsung kosong akan tetapi membutuhkan waktu untuk mencapai muatan listrik pada transistor kosong. Tujuan dari penggunaan rangkain resistor dan transistor ini adalah menjaga tegangan yang masuk ke driver Motor DC cenderung stabil,karena tegangan akan ditampungkan terlebih dahulu didalam transistor sebelum masuk ke driver motor sehingga robot dapat dikendalikan dengan baik.

3.6 Motor DC

Motor DC merupakan perangkat elektromagnetik yang dapat mengubah energi listrik menjadi energi mekanik. Perubahan ini dilakukan dengan merubah tenaga listrik menjadi magnet yang disebut sebagai elektromagnit. Sebagaimana kita ketahui bahwa kutub-kutub dari magnet yang senama akan tolak-menolak dan kutub-kutub tidak senama, tarik-menarik. Maka kita dapat memperoleh gerakan jika kita menempatkan sebuah magnet pada sebuah poros yang dapat berputar, dan magnet yang lain pada suatu kedudukan yang tetap. Dengan cara inilah energi listrik dapat diubah menjadi energi mekanik. Rangkaian Motor DC ditunjukan pada gambar berikut ini :

(57)

43

Gambar 3.5 skema motor DC

3.7 Perancangan Miniatur Robot

Robot ini terdiri dari alat plat aluminium yang berguna untuk menjadi badan robot ini dan berguna untuk menahan baterai pack dan rangkaian elektroniknya. Tempat rangkaian elektronika seperti Mikrokontroler,Motor DC,Robot arm kit,Voice recognition type dan baterai pack terletak pada atas plat aluminium ini atau dibagian badan robot ini. Bagian robot arm kit atau lengan robot terdapat pada atas badan robot ini atau lebih tepatnya diatas platinium dengan plat atom berdiri untuk mengangkat barang pecah belah sesuai perintah sensor suara yang telah ditentukan.

Bentuk badan (model) atau body robot ini akan ditunjukan pada gambar berikut ini :

(58)

44

Gambar 3.6 Gambar model miniature robot

Pada robot ini juga terdapat satu roda dan Motor DC yang berada dibagian samping depan kanan dan kiri, dan dibagian belakang bawah robot terdapat satu roda bebas untuk mengontrol robot berjalan kesemua arah. Robot didesain berbentuk persegi panjang dengan dua Motor DC disamping depan kanan dan kiri dan satu roda bebas dibelakang bawah, hal ini dikarenakan robot nantinya akan mencari sebuah benda yang telah ditentukan di depan robot ini. Hal ini dimaksudkan demi pencapaian desain yang sebaik mungkin supaya robot mempunyai keseimbangan beban yang baik dan mempunyai kapasitas yang memadai untuk membawa rangkaian elektronika,robot arm kit atau lengan robot dan baterai pack 12 volt.

(59)

45

3.8 Rangkaian J oystick

Sebagai pengendali robot berjalan secara otomatis peneliti menggunakan joystick, yang merupakan bagian dari pengendalian pergerakan robot. Rangkaian joystick ini terdiri dari 14 tombol perintah pergerakan robot yaitu maju, mundur, kiri, kanan, jari tutup, jari buka, jari naik, jari turun, lengan naik, lengan turun, bahu naik, bahu turun, bahu kiri, bahu kanan.gambar rangkaian joystick ditunjukan pada gambar berikut ini :

Gambar 3.7 Skema rangkaian joystick

(60)

46

3.9 Robot Ar m Kit ( Lengan Robot )

Sebuah lengan robot adalah jenis lengan mekanik, biasanya diprogram dengan fungsi yang mirip dengan lengan manusia, dengan mekanisme yang sama atau lebih kompleks. Robot manipulator seperti ini dihubungkan dengan baik, sehingga bergerak rotasi (seperti dalam robot diartikulasikan) atau translasi (linier) perpindahan. Manipulator dapat membentuk rantai kinematik yang ujungnya disebut effector yang cara kerjanya menyerupai tangan manusia. Rangkaian Robot Arm Kit ( Lengan Robot ) pada gambar berikut ini :

Gambar 3.8 Skema Robot Arm Kit ( Lengan Robot )

(61)

47 BAB IV IMPLEMENTASI

Pada bab ini akan membahas tentang implementasi program dari hasil analisa dan perancangan sistem yang ada pada bab III, serta bagaimana cara sistem tersebut dijalankan.

4.1 Alat yang digunakan

Pada implementasi program, alat-alat yang digunakan yaitu perangkat keras

(hardware) dan perangkat lunak (software) yang dijabarkan sebagai berikut:

A. Perangkat keras

Perangkat keras (hardware) yang digunakan adalah : a. Rangkaian minimum AT89S52.

b. Miniatur Robot. c. Joystick.

d. Lampu LED. e. Baterai pack 12 V. f. Lengan Robot.

B. Perangkat Lunak

Perangkat lunak (software) yang digunakan adalah : a. Windows XP Service Pack 3.

b. Easy Assembler. c. AVR Studio 4

(62)

48

4.2 Prosedur pembuatan pr ogram

Ada beberapa cara yang harus dilakukan sebelum program dibuat dan dimasukklan kedalam chip robot yaitu :

a. Install terlebih dahulu aplikasi Easy Assembler pada computer.

b. Setelah menginstall pilih new project untuk membuat project baru, kemudian pilih project baru. Untuk implementasi akan ditunjukan pada gambar 4.1

Gambar 4.1 Membuat Project Baru

c. Setelah mengklik project baru akan keluar tabel baru dengan project baru, kemudian membuat program Easy Assembler karena kita menggunakan bahasa assembler. Untuk implementasi akan ditunjukkan pada gambar 4.2.

(63)

49

Gambar 4.2 Program Utama

d.Setelah membuat program baru kemudian melihat jenis file. Maka pilih jenis file yaitu Intel-HEX File. Untuk implementasinya akan ditunjukkan pada gambar 4.3.

Gambar 4.3 Cek Program

(64)

50

e. Setelah memilih jenis file Intel-HEX File, kemudian klik Run assembler yang berfungsi untuk pembuatan program dalam bentuk “.HEX” yang akan dimasukkan kedalam mobile robot. Untuk implementasinya ditunjukkan pada gambar 4.4.

Gambar 4.4 Run Program

f. Setelah program dibuat, terlebih dahulu kita compile agar kita dapat mengetahui adakah program yang error, untuk penjelasan bisa dilihat pada gambar 4.5.

Gambar 4.5 Compile Program

(65)

51

g. Setelah melakukan pengecekan, maka kita dapat mengetahui apakah program yang kita buat terdapat error atau tidak. Apabila dalam program tidak ada kesalahan kita save program tersebut,untuk penjelasan bisa kita lihat pada gambar 4.6.

Gambar 4.6 Save Program

h. Jika dalam program kita tidak terdapat kesalahan atau error maka kita dapat mendapatkan “ .HEX“ di folder dimana kita menyimpan project tersebut dan kemudian di download ke mikrokontroler. Untuk implementasi ditunjukkan pada gambar 4.7

(66)

52

Gambar 4.7 Program Dirubah Menjadi .Hex

4.3 Implementasi Coding

Pada tahap ini akan dibahas mengenai program yang telah dibuat untuk mikrokontroler tersebut.

Adapun sebagian source code yang dibutuhkan adalah :

Source code Bahasa Assembly :

(67)

53 ;14 perint ah joyst ick ; mikrokontroller selesai, langkah selanjutnya adalah membuat program untuk inisialisasi relay pergerakkan robot arm. Berikut adalah potongan program

(68)

54

inisialisasi relay pergerakkan robot arm, dimana telah dibuat fungsi agar mempermudah pengerjaan dalam program tersebut.

;---

Dibawah ini adalah potongan program untuk penggerak robot dengan menggunakan joystick.

(69)

55

Dibawah ini adalah potongan program fungsi utama lengan robot yang berguna untuk memulai proses pergerakkan pada lengan mobile robot.

Arm1_St op

Dibawah ini potongan program yang digunakan untuk pergerakkan roda pada mobile robot.

(70)

56 BAB V

UJ I COBA DAN EVALUASI

5.1 Analisis Pengujian Hardware

Pada bagian ini akan dibahas mengenai pengujian pada hardware yang telah dirancang. Tujuan dari pengujian ini adalah untuk mengetahui apakah hardware tersebut telah berfungsi dengan benar dan sesuai rencana atau tidak. Pengujian ini ditunjukkan pada pengujian komponen yang terdapat pada robot serta pengujian robot pengangkat barang pecah belah dengan metode joystick yang berbasis mikrokontroler.

5.2 Pengujian Alat

Berikut adalah pengujian alat atau komponen yang terdapat pada robot pengangkat barang pecah belah dengan menggunakan metode joystick.

5.2.1 Pengujian Cara Kerja Tangan Robot

Pada pengujian ini dilakukan dengan cara menggunakan joystick pada tangan robot dengan menghubungkan port tangan ke joystick tersebut. Tujuan dari pengujian ini adalah untuk memastikan cara kerja tangan robot berfungsi sesuai dengan sistem kerjanya. Pada pengujian cara kerja tangan robot ini bisa terlihat bagaimana tangan tersebut bisa menjepit, mengangkat, bergerak kanan dan bergerak ke kiri. Hasil pengujian dapat dilihat pada tabel 5.1.

Gambar

Gambar 2.2  Diagram Blok Mikrokontroler AT89S52
Gambar 2.3  Konfigurasi pin (kaki) pada mkrokontroler AT89S52
Gambar 2.4  Motor DC Sederhana
Gambar 2.5  Medan magnet yang membawa arus mengelilingi konduktor.
+7

Referensi

Dokumen terkait

Adhedasar pangoncekipun dhata, saget dipun pendhet dudutan : (1) lampahipun pasinaon nyerat ukara aksara Jawi, (a) guru sampun saget nguwaosi piwulang/materi nyerat

Berdasarkan Surat Penetapan Penyedia Barang / Jasa Pengadaan Langsung Nomor : 381 /BA/PPBJ- II/APBD/BKP/VII/2014, tanggal 10 Juli 2014, tentang Penetapan Penyedia Barang /

PAKET PEKERJAAN : PENGADAAN KONTRUKSI SUMUR GALI DAN BANGUNAN PENDUKUNG BESERTA AKSESORIS DI PONPES SABILUN NASAH DESA SUKAJADI KEC. Sekayu, 11

Bahwa untuk menjamin keselamatan pelayaran sebagai penunjang kelancaran lalu lintas kapal di laut, diperlukan adanya awak kapal yang berkeahlian, berkemampuan dan terampil,

Nama Barang tertulis Mesin Pengayak seharusnya Mesin Belt Conveyor Spesifikasi Dimensi dalam satuan meter (m). - Item

Penelitian ini hanya dibatasi pada nasabah bank BRI Iskandar Muda Medan yang telah menggunakan layanan SMS Banking BRI.. Untuk menghindari kesimpangsiuran dalam penelitian,

Nomor (8) : Diisi dengan jenis dan masa/tahun ketetapan atau pemotongan/pemungutan pajak seperti Surat Ketetapan Pajak Kurang Bayar Pajak Pertambahan Nilai Barang dan Jasa

Data yang digunakan dalam penelitian ini adalah data sekunder, meliputi: a)Data keuangan Pemerintah Kabupaten Kulon Progo tahun anggaran 1996 sampai dengan 2008 meliputi tar-