Agus Purwanto
NRP. 7103 030 052
Dosen Pembimbing:
Oleh :
AGUS PURWANTO
7103 030 052
Proyek Akhir ini Diajukan untuk Sebagai Salah Satu Syarat Untuk
Memperoleh Gelar Ahli Madya (A.Md.)
di
Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Disetujui Oleh:
Mengetahui :
Ketua Jurusan Teknik Elektronika
2
ABSTRAK
3
ABSTRACT
This time robotic technology have expanded at full speed and very wide.
The function of robot expected useful to all area especially industrial
area. Some developed countries, robot also earn as a means of having
the character of to amuse. In this final project will be made the " Yellow
Force Robot ". This Final project aim to make a robot peripheral, good
of peripheral of hardware and also mechanic peripheral.. YELLOW
FORCE ROBOT is robot vision who can move automatically in border
room. Robot use webcam as a censor and take the garbage on that
floor. The garbage must have little measurement and scattered around
the floor. The robot take the garbage from the floor use arm robot
which resemble with broom and put the garbage into the shovel. Robot
moving find the garbage according to location where is the garbage be
there. Robot using webcam to detect the garbage by image processing.
The information from the object delivered to computer and result of the
detection from Computer will be delivered by passing serial
communications RS232 to microcontroller AT89S51 as a character.
Character accepted by microcontroller used for control move robot, like
going forward turn to right, left, backward, stop and take garbage. from
all system experiment, robot can take the garbage and then patch it with
successfully 10% and the garbage has entered to the shovel is 55,3%
4
KATA PENGANTAR
Penyusun
5
UCAPAN TERIMA KASIH
6
DAFTAR ISI
Judul ...................................................................................... i
Lembar Pengesahan............................................................... ii
Abstrak .................................................................................. iii
Abstract.................................................................................. iv
Kata Pengantar...................................................................... v
Ucapan Terima Kasih................................................................ vi
Daftar Isi ................................................................................ vii
Daftar Gambar ...................................................................... viii
Daftar Tabel........................................................................... ix
7
2.7.1 Konfigurasi Serial DB9................................................ 28
2.8 Piranti Masukan (Webcam) ............................................ 30
2.9 Piranti Keluaran (Motor DC) .......................................... 30
2.9.1 Teori Motor DC ........................................................ 31
2.9.2 Torsi......................................................................... 32
2.9.3 Kontruksi Motor DC................................................. 33
2.9.4 Rugi-rugi dan Efisiensi ............................................. 33
2.10 Pulse Width Modulation (PWM)................................... 34
DAFTAR PUSTAKA................................................................. 67
LAMPIRAN........................................................................... 69
8
DAFTAR GAMBAR
9
Gambar 4.2 ISP – Flash Programmer..................................... 52
Gambar 4.3 Tampilan Led pada Port 0................................... 53
Gambar 4.4 Diagram Blok dari Rangkaian Pengujian Gerak
Motor DC .......................................................... 53
Gambar 4.5 Diagram Blok dari Rangkaian Pengujian
Komunikasi Serial .............................................. 57
Gambar 4.6 Port Settings Hyperterminal.................................. 58
Gambar 4.7 Hasil dari pengujian komunikasi serial ................ 60
Gambar 4.8 Diagram Blok dari Rangkaian Pengujian Sistem
Secara Keseluruhan............................................... 61
10
DAFTAR TABEL
11
BAB I
PENDAHULUAN
12
navigasi ini akan diaplikasikan pada sebuah robot yang diberi nama
Robot Pasukan Kuning. Selain navigasi, robot tersebut juga mampu
untuk melakukan beberapa tugas. Dalam melakukan tugasnya robot ini
dapat bergerak mandiri karena robot memiliki beberapa kemampuan
(behaviour) untuk merespon beberapa informasi dari luar yang dibaca
oleh sensor (kamera). Kemampuan (behaviour) yang dimiliki robot ini
adalah kemampuan bergerak secara mandiri, kemampuan untuk
menemukan objek yang dianggap sebagai sampah yang berwarna
merah , berukuran kecil dan berserakan/ berada di lantai.
I.2 TUJUAN
Tujuan yang ingin dicapai dalam pembuatan Proyek Akhir ini
adalah untuk merencanakan, merancang dan membuat sistem robot
pasukan kuning yang menggunakan pengolahan citra, Mengaplikasikan
WebCam sebagai sensor robot untuk mendeteksi bentuk dan jarak suatu
obyek dan mengaplikasikan mikrokontroler AT89S51 sebagai pusat
pengontrolan robot berdasarkan informasi dari kamera serta untuk lebih
memperdalam dan mengaplikasikan Mikrokontroler AT89S51 sebagai
interfacing komputer dengan Hardware (robot).
Dengan selesainya Proyek Akhir ini diharapkan dapat
digunakan untuk mengendalikan robot dengan cara yang lebih mudah,
serta memasyarakatkan fungsi atau kegunaan dari robot dan sebagai
robot entertainment sebagai sarana hiburan.
1.3 PERMASALAHAN
Sistem kontrol elektronika memiliki fungsi sebagai pusat
pengendali kegiatan yang dilakukan oleh alat ini. Adapun permasalahan
sistem pada perangkat keras (hardware) dan perangkat lunak (software)
yang akan dibuat dalam Proyek Akhir adalah sebagai berikut :
13
2. Perangkat keras (hardware).
Ø Bagaimana membuat sebuah penggerak motor DC sehingga motor
mampu bergerak kearah kiri dan ke kanan maupun maju dan
mundur dengan daya yang optimal.
Ø Bagaimana membuat perangkat keras elektronik pendukung sistem
minimum berbasis mikrokontroller agar dapat berfungsi sebagai
basis sistem kontrol dengan baik.
3.Komunikasi data serial
Ø Bagaimana membuat komunikasi data serial sehingga dapat
menyalurkan informasi yang telah diolah oleh software dari
komputer ke mikrokontroller.
BAB I PENDAHULUAN
Berisi latar belakang pembuatan, tujuan, permasalahan, batasan
masalah yang dikerjakan dan sistematika pembahasan.
14
BAB II TEORI PENUNJANG
Menjelaskan mengenai teori-teori penunjang yang dijadikan
landasan dan rujukan perhitungan dalam mengerjakan Proyek Akhir ini.
Teori penunjang disini meliputi teori mikrokontroler AT89S51, motor
DC, komunikasi serial dan Web Camera.
BAB V PENUTUP
Berisi kesimpulan dari keseluruhan pengerjaan Proyek Akhir
dan saran-saran untuk memperbaiki kelemahan sistem yang telah dibuat
demi pengembangan dan penyempurnaan di masa mendatang.
15
BAB II
TEORI PENUNJANG
Pada bab ini akan dijelaskan mengenai teori–teori yang
digunakan dalam ”Perancangan, Pembuatan, dan Implementasi Robot
Pasukan Kuning”. Teori yang digunakan meliputi Mikrokontroller,
Komunikasi data serial, dan Perangkat Input/Output yang digunakan.
1
Agfianto Eko Putra, “Belajar mikrokontroler AT89C51/52/55 (Teori dan Aplikasi) Edisi
2”, Gava Media, Yogyakarta, 2004, Hal 3.
16
§ RAM internal, yang dapat digunakan untuk penyimpanan variable
atau data yang bersifat sementara sebesar 128 byte dimulai dari
alamat 00h hingga 7Fh.
§ Flash PEROM, yang digunakan untuk menyimpan kode program
yang telah di-kompile menjadi biner, disediakan sebanyak 4 Kbyte.
Jika masih kurang, bisa ditambahkan ROM eksternal yang besarnya
64 Kbyte.
§ Special Function Register (Register Fungsi Khusus), memori yang
berisi register-register yang mempunyai fungsi-fungsi khusus yang
hanya bisa diakses dengan pengalamatan langsung, seperti timer,
counter, serial, dan lain-lain.
2
Semua perangkat MCS-51 memiliki ruang alamat tersendiri
untuk Program Memori dan Data Memori, seperti terlihat pada gambar
2.2 :
3
Ibid, Hal 3
17
Gambar 2.3 Program Memori MCS-51
4
Ibid, Hal 5
18
lebar alamat cukup 1 byte saja atau dengan 2 byte. Pengalamatan dengan
1 byte sering digunakan asalkan satu atau lebih dari jalur I/O digunakan
untuk memilih RAM page. Sedangkan pengalamatan 2 byte digunakan
dengan catatan Port 2 digunakan untuk mengirim high address byte
(byte alamat atas).
5
Ibid, Hal 7
19
Ada Instruction Set dari MCS-51 terdapat instruksi-instruksi
yang dapat mengolah bit tunggal dan sebanyak 128 bit pada area ini
dapat diakses secara langsung dengan menggunakan Intruktion Set. Bit
yang dapat diakses langsung ini adalah daerah dari 00H sampai 7FH.
Semua daerah dalam Lower 128 dapat diakses secara direct maupun
indirect addressing (pengalamatan langsung maupun tidak langsung).
Sedangkan Upper 128 hanya dapat diakses menggunakan indirect
addressing. Upper 128 dari RAM tidak digunakan pada MCS-51 tapi
menggunakan RAM lain dengan kapasitas 256 byte.
Gambar 2.6 menunjukkan ruang SFR (Special Function
Register). Dalam ruang SFR terdapat Port latch, timer, kontrol
peripheral dan lain-lain. Register-register ini hanya dapat diakses dengan
menggunakan direct addressing. Secara umum, seluruh keluarga MCS-
51 memiliki ruang SFR yang sama dengan 8051 dan SFR tersebut
diletakkan pada alamat yang sama.
Sebanyak 16 alamat pada ruang SFR dapat dilakukan
pengalamatan baik pengalamatan bit maupun byte. SFR yang bersifat bit
addressable adalah alamat-alamat yang berakhir dengan 000BH. Bit
yang dialamatkan pada area ini adalah mulai 80H sampai FFH.
6
Ibid, Hal 9
20
BCD), dua buah bit select untuk bank register, Overflow flag, Parity bit
dan dua buah flag yang dapat didefinisikan apa saja.
Selain untuk melayani fungsi sebagai Carry pada proses
aritmatika, bit Carry pada PSW juga memiliki beberapa fungsi untuk
membantu “Akumulator” pada operasi-operasi Boolean. Bit RS0 dan
RS1 digunakan untuk memilih salah satu dari bank register. Bit Parity
akan selalu mengacu pada isi dari “Akumulator”, apabila P=1 maka
Akumulator sedang berisi bilangan ganjil, sedangkan apabila P=0 maka
Akumulator sedang berisi bilangan genap. Isi Akumulator apabila
dijumlahkan dengan bit Parity akan selalu menghasilkan bilangan genap.
Dua buah bit pada PSW yang tidak terdefinisi, dapat digunakan sebagai
“general purpose status flag”.
1. Direct Addressing
Pada direct addressing instruksi yang dikeluarkan secara spesifik
akan menyebutkan alamat dari operand yang diproses. Hanya internal
Data RAM dan SFR yang dapat diproses dengan menggunakan direct
addressing ini.
2. Indirect Addressing
Pada indirect addressing instruksi yang dikeluarkan akan
menyebutkan sebuah register yang berisi alamat dari operand yang akan
diproses. Baik internal maupun eksternal RAM dapat diakses
menggunakan indirect addressing ini. Register alamat untuk 8 bit yang
dapat dipakai adalah R0 dan R1 dari bank register, atau Stack Pointer.
Pada pengalamatan 16 bit dapat menggunakan register DPTR (Data
Pointer).
7
Ibid, Hal 10
21
3. Register Instruction
Bank register berisi register R0 sampai R7 yang dapat diakses
dengan instruksi-instruksi tertentu dimana hanya akan melibatkan 3 bit
register spesifik yang berisi opcode dari instruksi. Instruksi yang
mengakses register dengan cara ini akan lebih efisien, karena mode ini
akan menghilangkan bagian byte alamat. Saat instruksi ini dieksekusi,
satu dari delapan register dari bank register akan diakses.
5. Immediate Constants
Sebuah konstanta dapat mengikuti opcode pada Program Memori,
sebagai Contoh : MOV A,#100. Perintah di atas akan mengisi
Akumulator dengan sebuah konstanta dengan nilai desimal
100,sedangkan untuk nilai Hexadesimalnya adalah 64H.
6. Indexed Addressing
Hanya Program Memori yang dapat diakses secara indexed
addressing dan operasi yang dilakukan hanyalah membaca. Mode
pengalamatan ini dimaksudkan untuk membaca tabel pada Program
Memori. Sebuah register berbasis 16 bit (dapat DPTR atau Program
Counter) menunjuk basis dari tabel dan akumulator akan diset dengan
entry dari tabel. Alamat dari tabel entry pada Program Memori dibentuk
dengan menambahkan data dari Akumulator ke dalam basis pointer.
Tipe lain dari indexed addressingdapat dilihat dari instruksi “Jump”.
Pada kasus ini alamat tujuan yang dituju oleh instruksi Jump akan
diproses sebagai penjumlahan terhadap basis pointer dan data
Akumulator.
22
2.3.3 Instruksi-Instruksi Aritmatika
23
2.3.5 Data Transfer
a. Internal RAM
8
Tabel 2.3 menunjukkan perintah-perintah untuk memindahkan
data di dalam internal memory. Transfer data di dalam SFR dan Internal
RAM dapat dilakukan tanpa melalui Akumulator, untuk Upper 128
hanya dapat ditransfer melalui indirect addressing, sedangkan untuk
transfer data melalui SFR hanya dapat dilakukan dengan direct
addressing. Perhatikan bahwa pada semua piranti MCS-51, stack yang
berada di dalam memory bergerak dari bawah ke atas. Instruksi PUSH
mula-mula akan menginkremen nilai dari SP (Stack Pointer), kemudian
akan menduplikat isi data ke dalam stack. Instruksi PUSH dan POP
hanya digunakan dengan direct addressing untuk mengidentifikasi byte
yang disimpan ataupun dikeluarkan. Namun demikian stack itu sendiri
dapat diakses menggunakan indirect addressing dengan perantaraan
register SP. Hal ini berarti stack dapat sampai pada Upper 128 jika
dibutuhkan, namun tidak dapat masuk ke dalam daerah SFR.
Pada piranti yang tidak menggunakan Upper 128, bila SP
menunjuk pada daerah Upper 128, maka data yang diberi operasi PUSH
akan hilang begitu saja, sedangkan data yang dikenakan operasi POP
akan tidak terdeteksi. Instruksi-instruksi Data Transfer meliputi sebuah
perintah MOV 16 bit yang dapat digunakan untuk menginisialisasi Data
Pointer (DPTR) untuk memeriksa tabel-tabel pada Program Memori,
atau untuk akses 16 bit pada external Data Memory.
8
Ibid hal 14
24
b. External RAM
9
Tabel 2.4 akan menunjukkan daftar dari instruksi-instruksi
Data Transfer untuk mengakses external Data Memory. Pada instruksi-
instruksi ini hanya digunakan mode Indirect addressing :
Tabel 2.4 Instruksi Data Transfer Yang Mengakses External Data Memory
9 Ibid hal 16
10
Ibid hal 18
25
Instruksi-instruksi untuk prosesor Boolean yang diperlihatkan
pada tabel 2.5, seluruh pengaksesan bit adalah dengan direct addressing.
Alamat-alamat bit 00H sampai dengan 7FH adalah di dalam Lower 128
dan alamat-alamat bit dari 80H sampai dengan FFH ada dalam SFR.
MOV C,FLAG
MOV P1.0,C
Dalam contoh di atas FLAG adalah nama sembarang bit yang
dapat dialamatkan dalam Lower 128 atau dalam SFR. Sebuah jalur I/O
(dalam hal ini LSB dari Port1) diset atau di-clear bergantung pada harga
flag bit 1 atau 0. Bit Carry dalam PSW digunakan sebagai akumulator
bit tunggal dari prosesor Boolean. Perlu diingat bahwa instruksi Boolean
menyertakan operasi ANL dan ORL, tapi tidak XRL. Sebuah operasi
XRL dapat dengan mudah diimplementasikan ke dalam software,
sebagai contoh untuk membentuk Exclusive OR 2 bit :
C= Bit1. XRL . Bit2
Secara software dapat dilakukan sbb:
MOV C, Bit1
JNB Bit2,OVER
CPL C
OVER: …………
Mula-mula, bit1 akan dipindahkan ke Carry. Jika bit2=0 maka
C sekarang berisi dari hasil akhir. Sebaliknya apabila bit2=1 maka C
akan berisi hasil akhir. Semua bit pada PSW pengaksesannya adalah
hanya dengan direct addressing, jadi Parity bit, atau flag-flag yang lain
juga dapat digunakan untuk instruksi-instruksi bit test seperti di atas.
26
Pada tabel 2.6 hanya terdapat perintah “JMP addr”, padahal
secara fakta terdapat tiga buah perintah lain, yakni : SJMP, LJMP dan
AJMP, dimana memiliki perbedaan pada format dan alamat tujuan.
v JMP adalah mnemonic umum yang biasa digunakan pada
program, user biasanya tidak peduli lagi dengan bagaimana
suatu perintah Jump itu dikodekan.
v Perintah SJMP mengkodekan alamat tujuan sebagai relative
offset, seperti yang telah dijelaskan di atas. Instruksi ini
memiliki lebar 2 byte, berisi opcode dan byte relative offset.
Perintah ini memiliki batas range dari -128 sampai 128 byte
dihitung dari perintah SJMP itu dieksekusi.
v Perintah LJMP mengkodekan alamat tujuan sebagai sebuah
konstanta 16 bit. Instruksi ini terdiri atas 3 byte, berisi opcode
dari instruksi serta dua byte alamat. Alamat tujuan dapat
diletakkan dimana saja di dalam Program Memori yang 64 KB
tersebut.
v Perintah AJMP mengkodekan alamat tujuan sebagai konstanta
11 bit. Instruksi ini terdiri atas 2 byte, yang berisi opcode,
dimana opcode itu sendiri berisi 3 bit yang merupakan bagian
dari konstanta yang 11 bit itu, serta 1 byte alamat. Saat
instruksi ini dieksekusi, 11 bit ini akan menggantikan 11 bit
terendah dari PC, sedangkan 5 bit Teratas dari PC tetap pada
tempatnya. Sehingga alamat tujuan paling tidak adalah masuk
dalam range 2K dari instruksi AJMP.
Pada semua kasus Jump, programmer mendefinisikan alamat
tujuan dengan cara yang sama yaitu dengan label atau dengan konstanta
16 bit. Jika format yang diberikan oleh instruksi tidak mensupport jarak
dari alamat tujuan, maka pesan “Destination out of Range” akan muncul
di dalam file List pada saat kita mengkompilasi.
Perintah ‘JMP @ A+DPTR’ juga menunjang instruksi-instruksi
jump bersyarat. Alamat tujuan diproses pada saat penjumlahan antara
DPTR 16 bit dengan Akumulator. Biasanya, DPTR diset dengan diisi
alamat basis (acuan) , sedangkan akumulator diisi dengan index dari
tabel. Pada pencabangan 5 jalur, sebagai contoh, sebuah integer 0
sampai 4 dapat dieksekusi seperti berikut:
MOV DPTR,#JUMP_TABLE
MOV A,INDEX_NUMBER
RL A
JMP @A+DPTR
27
Instruksi RL A mengkonversikan nomor index (0 sampai 4)
menjadi bilangan ganjil dari 0 sampai 8, karena tiap entri pada tabel
Jump memiliki lebar 2 byte :
JUMP_TABLE:
AJMP CASE_0
AJMP CASE_1
AJMP CASE_2
AJMP CASE_3
AJMP CASE_4
11
Ibid hal 24
28
Tabel 2.7 IE (Interrupt Enable)
29
2.4 TIMER/COUNTER
12
Mikrokontroller MCS-51 mempunyai dua buah register
Timer/Counter 16 bit , Timer 0 dan Timer 1. Pada saat sebagai Timer,
register naik satu (increment) setiap satu cycle. Jika digunakan osilator
12 Mhz, maka satu cycle sama dengan 1/12 frekuensi osilator = 1_s.
Pada saat sebagai counter, register naik satu (increment) pada saat
transisi 1 ke 0 dari input eksternal , T0 atau T1. Apabila periode tertentu
telah dilampaui, Timer/Counter segera menginterupsi mikrokontroller
untuk memberitahukan bahwa perhitungan periode waktu telah selesai
dilaksanakan. Periode waktu Timer/Counter secara umum ditentukan
oleh persamaan berikut:
a. Sebagai T/C 8 bit
T = (255 – TLx) * 1_s
Dimana TLx adalah isi register TL0 atau TL1.
b. Sebagai T/C 16 bit
T = (65535 – THx TLx) * 1_s
THx = isi register TH0 atau TH1
TLx = isi register TL0 atau TL1
Pengontrol pemilihan mode operasi Timer/Counter ada pada register
timer mode (TMOD) . Definisi bit-bitnya adalah sebagai berikut:
12
Ibid hal 112
30
Pengontrol pemilihan mode operasi Timer/Counter ada pada register
timer mode (TMOD) . Definisi bit-bitnya adalah sebagai berikut:
Keterangan:
Ø GATE Gate control set. Timer/Counter “x” akan aktif jika pin
“INTx” high dan kondisi pin “TRx” sedang set.
Gate control clear. Timer”x” akan aktif jika “TRx” set
Ø C / T Timer/Counter Selector. Clear untuk mode Timer ( input
dari internal clock ) dan set untuk mode Counter (input dari pin
“Tx” )
Ø M1 Bit untuk memilih mode timer/counter
Ø M0 Bit untuk memilih mode timer/counter
Ø x = 0 atau 1.
Ø Mode 0
13
Pada mode ini timer bekerja sebagai timer 13 bit yang terdiri
dari counter 8-bit dengan pembagi 32 (pembagi 5 bit). Gambar
menunjukkan diagram timer yang bekerja pada mode 0. Setelah
perhitungan selesai, mikrokontroller akan mengeset Timer Interrupt Flag
(TF1). Dengan membuat GATE = 1, timer dapat dikontrol oleh input
dari luar (INT1), untuk fasilitas pengukuran lebar pulsa. Register 13 bit
yang digunakan terdiri dari 8 bit dari TH1 dan 5 bit bawah dari TL1 ( bit
6,7,8 tidak digunakan ).Mengeset TR1 tidak akan menghapus isi
register. Operasi pada mode 0 untuk Timer 0 dan Timer 1 adalah sama.
13
Ibid hal 112
31
Gambar 2.8 Timer/Counter 1 bekerja dalam mode 0, sebagai T/C 13-
bit
Ø Mode 1
14
Mode 1 sama dengan mode 0 kecuali register timer akan
bekerja dalam mode 16 bit.
Ø Mode 2
15
Mode 2 menyusun register timer sebagai 8 bit counter (TL1)
dengan kemampuan reload otomatis seperti yang ditunjukkan pada
gambar 14. Overflow dari TL1 tidak hanya menset TF1 tetapi juga
mengisi TL1 dengan isi TH1 yang diisi sebelumnya oleh software.
Pengisian ulang ini tidak mengubah nilai TH1.
14
Ibid hal 113
15
Ibid hal 114
32
dihidupkan atau dimatikan, atau dapat digunakan oleh port serial sebagai
pembangkit baud rate dalam aplikasi komunikasi serial.
16
Ibid hal 118
33
(MSB) (LSB)
SM0 SM1 SM2 REN TB8 RB8 TI R
I
2SMOD
X (Timer 1 Overflow Rate)
Baud Rate Mode 1,3 = ………....(2.1)
32
34
2.6 Rangkaian Berbasis Mikrokontroller AT89S51
Mikrokontroller yang digunakan didalam proyek akhir ini
adalah AT89S51dari ATMEL yang merupakan keluarga MCS 51 yang
banyak berada di pasaran. Mikrokontroller ini merupakan
mikrokontroller 8 bit yang merupakan single chip microcontroller,
dimana semua rangkaian termasuk memori dan I/O tergabung dalam
satu pak IC.
Mikrokontroller AT89S51 memiliki fasilitas antara lain:
o 4K Bytes In-System Programmable (ISP) Flash Memori,
Daya tahan: 1000 kali tulis/hapus.
o Range operasi 4.0V ke 5.5V.
o Operasi Secara penuh Statis: 0 Hz ke 33 MHZ.
o Tiga Level Program Memori Lock.
o 125 x 8-bit RAM Internal.
o 32 jalur I/O Programmable.
o Lima Sumber Interrupt.
o UART Full Duplex Saluran Serial.
o Low-Power Idle dan Power-Down Modes.
o Interrupt Recovery dari Power-Down Modes.
o Dua 16 bit Timer/Counter
o Fast Programming Time.
o Fleksibel ISP Programming (Byte dan Page Mode).
35
d. Pin 18 (XTAL 1) adalah pin masukan ke rangkaian osilator
internal.
e. Pin 19 (XTAL 2) adalah pin keluaran ke rangkaian osilator
internal. Pin ini dipakai bila mengunakan osilator kristal.
f. Pin 20 (GND) dihubungkan ke ground.
g. Pin 21 sampai 28 (port 2) adalah port pararel 2 selebar 8 bit dua
arah (bidirectional).
h. Pin 29 adalah pin PSEN (Program store enable).
i. Pin 30 adalah pin ALE (Address Latch Enable ) yang
digunakan untuk menahan alamat memori eksternal selama
pelaksanaan instruksi.
j. Pin 31 (EA). Bila pin ini diberi logika tinggi mikrokontroller
akan melaksanakan instruksi dari ROM/EPROM. Bila diberi
logika rendah mikrokontroller akan melaksanakan seluruh
instruksi dari memori luar.
36
2.6.2 Konfigurasi I/O
Mikrokotroller AT89S51 mempunyai 32 bit jalur I/O yang
terbagi dalam 4 port yaitu port 0 sampai dengan port 3.
Ø Port 0
Port 0 merupakan 8 bit biderectional I/O dengan dengan
dengan rangkaian open drain sebagai penggerak di dalamnya, sehingga
saat diisi logika satu maka port ini akan bersifat mengambang (high
impedance). Jadi supaya dapat dijadikan rangkaian I/O diperlukan
resistor pull-up eksternal. Port 0 juga dapat dijadikan sebagai
multiplexed low order address bus saaat dikonfigurasikan dengan
rangkaian memori eksternal. Saat flash programing port ini menerima
byte kode program dan mengeluarkan byte kode saaat proses verifikasi.
Ø Port 1
Port 1 terdiri dari 8 bit I/O biderectional dengan internal
resistor pull-up.
Ø Port 2
Port 2 Merupakan 8 bit biderectional I/O dengan internal
resistor pullup. Saat dikonfigurasikan dengan rangkaian memori
eksternal port ini akan berfungsi sebagai addres bus byte yang tinggi
(A8-A15). Port 2 berfungsi sebagai multiplexed high order address bus
saat flash programing dan sebagai bit kontrol saat proses verifikasi.
Ø Port 3
Port 3 Merupakan 8 bit biderectional I/O dengan internal
resistor pullup. Port 3 juga dapat difungsikan untuk beberapa fungsi
khusus seperti yang ditunjukkan pada tabel berikut:
37
2.7 KOMUNIKASI SERIAL RS232
Dalam proyek akhir ini akan dibuat robot otomatis dengan
menggunakan komunikasi serial. Pada bagian pemroses gambar dalam
hal ini warna terdiri dari kamera, USB (Universal Serial Bus), komputer,
rangkaian pengubah level tegangan. Sedangkan untuk perancangan
komunikasi data menggunakan komunikasi serial RS232.
RS232 merupakan salah satu standar interface dalam proses
transfer data antar komputer terutama dalam bentuk serial transfer.
RS232 merupakan kependekan dari Recommended Standard number
232. Standar ini dibuat oleh Elektronik Industri Association (EIA), untuk
interface antara peralatan terminal data dan peralatan komunikasi data,
dengan menggunakan data biner sebagai data yang ditransmisi. RS232
adalah suatu Serial Data Interface Standard yang dikeluarkan oleh EIA.
Standarisasi meliputi konektor, fungsi serta posisi tiap per timing
(pewaktu) dan level tegangan/arus.
Standar ini juga berisikan karakteristik sinyal listrik,
karakteristik mekanik dan cara operasional rangkaian fungsional
Beberapa karakterstik rangkaian fungsionalnya adalah sebagai berikut:
1. Tegangan terbuka maksimum 25 volt.
2. Keadaan logika ‘1’ ditandai dengan tegangan antara -
5 volt sampai dengan -15 volt.
3. Keadaan logika ‘0’ ditandai dengan tegangan antara -5
volt sampai dengan +15 volt.
4. Hambatan keluaran DC harus dikurangi dari 700 ohm
jika diberi tegangan 3 volt dan 15 volt, dan harus lebih
besar 3000 ohm, bila tegangan kurang dari 25 volt.
5. Slew rate harus lebih kecil dari 30 volt/µdetik. Waktu yang
diinginkan untuk melewati daerah peralihan -3 volt
sampai +3 volt tidak boleh melebihi 1mdetik
38
Terdapat berbagai macam cara untuk menerapkan interface data
biner pada komunikasi secara serial, salah satunya adalah yang disebut
RS-232 ini. Komunikasi yang digunakan adalah komunikasi serial
asinkron dimana komunikasi ini tidak memerlukan sinyal clock sebagai
sinkronisasi, namun pengiriman data ini harus diawali dengan start dan
diakhiri stop bit. Sinyal clock yang merupakan baud rate dari
komunikasi data ini dibangkitkan oleh masing _masing sisi penerima
dan sisi pengirim data dengan frekuensi yang sama.
Penerima hanya perlu mendeteksi adanya start bit sebagai awal
pengiriman data, selanjutnya komunikasi terjadi antara dua buah shift
register yang ada pada bagian pengirim dan pemerima. Setelah 8 bit data
diterima, penerima akan menunggu adanya stop bit sebagai tanda bahwa
1 byte data telah terkirim dan penerima dapat siap untuk menunggu
pengiriman data berikutnya.
Salah satu perangkat penunjang proses komunikasi data serial
pada terminal komputer dengan dunia luar adalah port serial. Komputer
memiliki port serial dengan konektor 9 pin (DB9). Pada dasarnya hanya
3 pin yang terpakai, yaitu pin pengirim, penerima, dan ground.
39
Received Line Signal
DCE Ready
Request To send Received Data
Clear To send Transmitted Data
Data Terminal Ready
Ring Indicator
Signal Ground
Tabel 2.12 Konfigurasi pin dan nama sinyal konektor serial DB-918
Nomor Nama Direction Keterangan
Pin Sinyal
1 DCD In Data Carrier Detect /
Received Line Signal Detect
2 RxD In Received Data
3 TxD Out Transmit Data
4 DTR Out Data Terminal Ready
5 GND - Gound
6 DSR In Data Set Ready
7 RST Out Request to Send
8 CTS In Clear to Send
9 RI In Ring Indicator
Keterangan :
• Pin 1(Data Carier Detect) berfungsi unutk medeteksi boleh
atau tidaknya DTE menerima data.
• Pin2(Received Data), digunakan DTE menerima data dari
DCE
• Pin3(Transmitted Data), digunakan DTE mengirimkan data ke
DCE.
17
Retna Prasetia & Catur Edi Widodo, Interfacing Port Paralel dan Port Serial Komputer
degan Visual Basic 6.0.
18
Retna Prasetia & Catur Edi Widodo, Interfacing Port Paralel dan Port Serial Komputer
degan Visual Basic 6.0.
40
• Pin4(Data Terminal Ready), pada saluran ini DTE
memberitahukan kesiapan terminalnya.
• Pin5(Signal Ground), saluran ground.
• Pin6(DCE Ready), sinyal aktif pada saliran ini menunjukan
bahwa DCE sudah siap.
• Pin7(Request To Send), dengan saluran ini DCE diminta
mengirimkan data oleh DTE.
• Pin8(Clear To send), dengan saluran ini DCE
memberitahukan bahwa DTE boleh mulai mengirimkan data.
• Pin9(Ring Indicator), pada saluran ini DCE memberitahukan
ke DTE bahwa sebuah stasiun menghendaki hubungan
dengannya.
41
2.9.1 Teori Motor DC
Motor DC berfungsi mengubah tenaga listrik menjadi tenaga
mekanis dimana gerak tersebut berupa putaran dari motor. Prinsip dasar
dari motor arus searah adalah kalau sebuah kawat berarus diletakkan
antara kutub magnet (U-S), maka pada kawat itu akan bekerja suatu
gaya yang menggerakan kawat itu. Arah gerakan kawat dapat ditentukan
dengan mengguankan kaidah tangan kiri, yang berbunyi sebagai berikut
:”Apabila tangan kiri terbuka diletakkan diantara kutub U dan S,
sehingga garis-garis gaya yang keluar dari kutub utara menembus
telapak tangan kiri dan arus di dalam kawat mengalir searah dengan arah
keempat jari, maka kawat itu akan mendapat gaya yang arahnya sesuai
dengan arah ibu jari”. Yang diperlihatkan dengan gambar berikut ini.
42
untuk diubah menjadi energi mekanik. Pada motor DC, kumparan
medan yang dialiri arus listrik akan menghasilkan medan magnet yang
melingkupi kumparan jangkar dengan arah tertentu. Konversi energi
listrik yang diubah menjadi energi mekanik berkangsung melalui
medium medan magnet. Energi yang akan diubah dari suatu sistem yang
lainnya, sementara akan disimpan dalam medium medan magnet untuk
kemudian dilepaskan menjadi energi sistem yang lainnya. Dengan
demikian, medan magnet berfungsi sebagai tempat penyimpanan energi
dan mengkopel proses pengubah energi.
Dengan mengingat hukum kekekalan energi, proses konversi
energi mekanik dapat dinyatakan sebagai berikut : “Energi listrik
sebagai input = Energi mekanik sebagai output + Energi yang diubah
sebagai panas + Energi yang tersimpan dalam medan magnet”.
Motor DC mempunyai dua bagian dasar yaitu :
1. Bagian diam/tetap (stasioner) yang disebut stator. Stator ini
menghasilkan medan magnet, baik yang dibangkitkan dari
sebuah koil (elektromagnetik) atau magnet permanen.
Bagian stator terdiri dari bodi motor yang memiliki magnet
yang melekat padanya. Untuk motor kecil, magnet tersebut
adalah magnet permanen sedangkan untuk motor besar
menggunakan elektromagnetik. Kumparan yang dililitkan
pada lempeng-lempeng magnet disebut kumparan medan.
2. Bagian berputar (rotor). Rotor ini berupa sebuah koil
dimana arus listrik mengalir.
Suatu kumparan motor akan berfungsi apabila mempunyai :
♦ Kumparan medan,berfungsi sebagai pengahsil medan
magnet.
♦ Kumparan jangkar, berfungsi sebagai pengimbas GGL
pada konduktor yang terletak pada laur-alur jangkar.
♦ Celah udara yang memungkinkan berputarnya jangkar
dalam medan magnet.
2.9.2 Torsi
Torsi adalah putaran dari suatu gaya terhadap suatu poros. Hal
ini dapat diukur dengan hasil kali gaya itu dengan jari-jari lingkaran,
dimana gaya itu bekerja. Pada suatu pulley dengan jari-jari r meter
bekerja suatu gaya F Newton yang menyebabkan pulley berputar dengan
kecepatan n putaran per detik.
Torsi (T) = F x r Newton meter (N-m)………....(2.5)
Usaha yang dilakukan oleh gaya tersebut pada suatu putaran
adalah :
43
Usaha = gaya x jarak
= F x 2πr………………………………....(2.6)
Daya yang dibangkitkan adalah :
Daya = Usaha x n……………………………….(2.7)
44
2.10 PULSE WIDTH MODULATION (PWM)
Pada dasarnya putaran motor DC secara umum berbanding
lurus dengan tegangan supply pada terminalnya. Untuk mendapatkan
putaran/kecepatan motor yang rendah maka diberi yang tegangan
rendah. Untuk tegangan yang tinggi maka putaran/kecepatan motor juga
akan makin cepat. Dengan demikian, masalah yang harus diseleseikan
pada rangkaian pengerak motor adalah bagaimana mengatur
putaran/kecepatan motor yang bervariasi secara linier dengan cara
mengatur tegangan/arus yang masuk ke rangkaian penggerak (dapat
diatur mulai dari 0 Volt hingga tegangan maksimal secara linier ).
PWM (Pulse Width Modulation) adalah suatu teknik
manipulasi dalam pengaturan kecepatan motor yang menggunakan
prinsip ON-OFF dari pulsa yang diberikan ke input rangkaian driver
dalam suatu periode waktu tertentu. Lebar pulsa linier dinyatakan dalam
Duty Cycle. Misal duty cycle 10 %, berati lebar pulsa adalah 1/10
bagian dari perioda penuh. Pada Gambar 2.19 nampak bahwa makin
sempit pulsa PWM, tegangan ekivalen liniearnya makin kecil. Jika duty
cycle 100 % maka tegangan ekivalen liniernya sama dengan tegangan
maksimum pada motor dikurangi tegangan saturasi pada kolektor-emitor
(atau drain-source pada komponen MOSPET). Pembangkitan pulsa
PWM dapat diperoleh melalui berbagai rangkaian timer atau pulsa
dengan Duty cycle dari mikrokontroller dapat diberikan ke
transistor/mosfet sebagai pengaturan arus yang akan mengalir menuju ke
motor. Dengan demikian kecepatan motor dapat diubah ubah
berdasarkan duty cycle yang dapat diatur dari PWM mikrokontroller
45
BAB III
PERENCANAAN DAN PEMBUATAN ALAT
(HARDWARE DAN MEKANIK)
3.1 PENDAHULUAN
Pada pembuatan "Robot Pasukan Kuning" untuk proyek akhir ini
secara umum terbagi menjadi dua bagian pokok, yaitu pembuatan
perangkat keras dan perangkat lunak. Pembuatan perangkat lunak untuk
pengolahan citra ini dirancang dengan menggunakan bahasa
pemrograman Visual Basic.
Untuk pembuatan perangkat keras yang meliputi pembuatan
perangkat mekanik serta perangkat keras elektonik (hardware) akan
dibahas pada bab ini yang merupakan pokok bahasan utama dalam
proyek akhir ini. Pembuatan perangkat mekanik terdiri dari desain
mengenai konstruksi robot itu sendiri berupa pembuatan kerangka robot
yang menggunakan aluminium yaitu pembuatan tubuh robot, penyangga
kamera, penyangga Motor DC, penyangga Roda serta lengan untuk
mengambil sampah. Kemudian merangkai bagian-bagian tersebut
menjadi satu kesatuan yang utuh, rapi, dan bergerak sesuai dengan hasil
yang diharapkan.
Sedangkan pembuatan perangkat keras elektronik terdiri dari
pembuatan rangkaian power supply, sistem minimum mikrokontroller
AT89S51 serta downloadernya, program assembly, penggerak motor
DC, rangkaian indikator Led, dan rangkaian komunikasi data serial
RS232.
Sebagai interface dalam sistem ini digunakan sistem minimum
AT89S51 yang akan mengontrol perangkat keras melalui port-port yang
tersedia. Port 2 akan digunakan untuk mengontrol kerja dari penggerak
motor DC, dan terdapat indikator Led, sedangkan port 0 digunakan
untuk menampilkan karakter huruf yang merupakan kode ASCII pada
indikator led.
46
menghubungkan antara komputer dengan mikrokontroller.
Mikrokontroller menerima masukan berupa karakter melalui komunikasi
data serial RS232. Karakter tersebut diinisialisasi sehingga menjadi
sebuah instruksi untuk menggerakkan motor dc sesuai dengan data yang
terkirim.
47
3.4 DIAGRAM ALIR
START
INISIALISASI
No
Ada Input Dari PC
Yes
Yes
Karakter A
Maju
No
Karakter B
Yes
Belok Kiri
No
Yes
Karakter C Belok Kanan
No Yes
Karakter D Mundur
No
No Yes
Karakter H
END
No
Jarak=Referensi
Yes
Ambil Sampah
48
Dari diagram alir tersebut, pada saat inisialisasi hardware
selesai maka robot langsung bergerak maju untuk mencari sampah yang
ada didepannya, apabila tidak ada sampah yang ditemukan maka robot
akan terus bergerak maju sampai ada sampah yang ditemukan. Apabila
robot menemukan sampah maka robot akan berhenti dan mengambil
sampah. Waktu yang diberikan untuk mengambil sampah adalah 1detik.
Setelah robot mengambil sampah maka mikrokontroller akan menunggu
menerima karakter dari pc untuk kontrol gerak robot selanjutnya.
49
rangkaian ini akan menurunkan performa mikrokontroller dan rangkaian
secara keseluruhan, yang mana imbasnya akan juga mengurangi
performa dari robot, disamping itu supply 5V ini juga dibutuhkan oleh
rangkaian yang lain seperti rangkaian optocoupler yang mana rangkaian
ini digunakan untuk menjaga supaya mikrokontroller tidak rusak akibat
dari imbas dari rangkaian driver motor dan untu mendrive rangkaian
driver motor dc.
Untuk rangkaian yang lain seperti rangkaian driver motor dc,
membutuhkan 12V, hal ini tergantung dari jenis relay yang digunakan
dan besarnya tegangan relay yang digunakan. Pemberian tegangan 12 V
yang diberikan oleh trafo 3A juga sangat mempengaruhi penggunaan
dari jenis relay
50
Untuk rangkaian downloader dan sistem minimum
mikrokontroller AT89S51 seperti pada gambar di atas, untuk interfacing
dengan komputer menggunakan kabel dan port pararel DB25. Pada
rangkaian di atas SPI port dihubungkan dengan port-port yang ada pada
sistem minimum mikrokontroller AT89S51 yaitu port 1.7 adalah SCK,
port 1.6 adalah MISO, port 1.5 adalah MOSI, dan pin ke 9 adalah RST.
Pada rangkaian sistem minimum mikrokontroller AT89S51 dipakai
frekuensi osilator (Xtall) sebesar 11,0592 MHz, hal ini akan berakibat
pada pengesetan komunikasi serial dengan menggunakan RS232 untuk
memilih baudrate yang digunakan.
3.5.2.1Rangkaian Reset
Reset pada mikrokontroler AT89S51 terjadi bila ada logika “1”
(high) selama dua siklus mesin pada kaki/pin RST. Setelah kondisi pin
RST kembali low, maka mikrokontroler akan menjalankan program
mulai dari alamat 0000H.
Rangkaian reset yang digunakan pada proyek akhir ini adalah
seperti gambar 3.6 di bawah ini.
Vcc PB
10K
10µF/16v
reset
Gambar 3.6 Rangkaian Reset pada Mikrokontroler AT89S51
51
3.5.2.2 Rangkaian Osilator
Pin XTAL1 dan XTAL2 merupakan pin osilator bagi
mikrokontroler AT89S51. Osilator bisa berasal dari kristal atau dari
keramik resonator. Pada proyek akhir ini, dibuat rangkaian osilator
internal yang berasal dari kristal 11,059 MHz. Sedangkan nilai kapasitor
C1 dan C2 masing-masing 30pF.
52
Ø Port 2
Pada port 2 digunakan sebagai port kontrol untuk penggerak
motor DC baik motor penggerak kanan dan kiri ataupun motor pada
lengan.
- Port 2.0 sebagai pwm motor kanan.
- Port 2.1sebagai arah motor kanan.
- Port 2.2 sebagai pwm motor kiri.
- Port 2.3 sebagai arah motor kiri.
- Port 2.6 sebagai motor lengan.
Ø Port 3
- Port 3.0 sebagai RXD
- Port 3.1 sebagai TXD
Pada rangkaian indikator led seperti pada gambar 3.8 ini anoda
led dihubungkan dengan resistor 330 sebagai resistor pull up dan baru
dihubungkan dengan Vcc, kemudian katoda led dihubungkan dengan
port pada mikrokontroller, hal ini berarti rangkaian aktif low.
Indikator Led ini berfungsi sebagai indikasi adanya data yang
ditampilkan, yang berasal dari masukkan (input). Rangkaian
menggunakan 8 led dan menggunakan komponen 8 buah Resistor 330
. Pada port 0 berfungsi untuk menampilkan karakter berupa kode
ASCII sedangkan pada port 2 berfungsi untuk menampilkan port yang
aktif saat mengontrol penggerak motor penggerak.
53
komputer dan perangkat lunak untuk komunikasi data pada
mikrokontroller.
Rangkaian pengubah tegangan IC MAX232 ditunjukkan pada
gambar 3.9. Rangkaian ini berfungsi untuk mengubah level keluaran
tegangan yang keluar dari komputer yaitu level RS232 menjadi level
tegangan TTL. Dimana tegangan pada level RS232 menjadi level logika
”1” didefinisikan -3 volt sampai -15 dan logika ”0” didefinisikan +3 volt
sampai +15 volt. Pada level TTL yang didefinisikan untuk kondisi ”0”
volt dan untuk kondisi ”1”, tegangannya 2,4 volt sampai 5 volt
54
Untuk perencanaan pembuatan karakter yang dikirimkan dari
komputer ke mikrokontroller untuk komunikasinya adalah sebagai
berikut :
Tabel 3.1 Karakter, dan Instruksi Robot
Karakter Instruksi Robot
A Maju
D Mundur
C Kanan
B Kiri
G Stop/ambil
H End
55
TLP 621 berupa optocoupler sebagai pentriger dari port mikrokontroller
yang mempunyai spesifikasi sebagai berikut:
- Arus forward : 60 mA
- Tegangan Reverse : 5V
- VCEO : 55V
- VECO : 7V
- IC : 50mA
56
Gambar 3.10 Rangkaian Penggerak Motor DC 2 arah
57
3.6 PERENCANAAN DAN PEMBUATAN MEKANIK.
Pada perencanaan pembuatan mekanik baik rangka dari robot
dipilih bahan yang mudah untuk dibentuk dan mempunyai berat yang
ringan, maupun dalam pemilihan motor untuk penggerak robot dan
spinner juga diperlukan motor dengan putaran (rpm) dan tegangan yang
sesuai agar robot dapat bergerak dengan baik. Pada motor untuk
penggerak robot dipilih motor yang mempunyai geerbox agar
mempunyai torsi yang besar, sedangkan untuk spiner dipilih motor
dengan bentuk yang kecil tetapi mempunyai putaran (rpm) yang besar,
agar robot tidak terlalu berat sehingga dapat bergerak dengan cepat
webcam body
motor
sekop
Lengan gerak
58
MAJU
59
4. Robot akan bergerak ke kanan yaitu motor DC bagian roda kiri
bergerak ke arah maju dan motor DC bagian roda kanan bergerak
ke arah maju dengan kecepatan yang lebih kecil.
5. Robot akan berhenti (stop) yaitu ke dua motor DC bagian kiri dan
bagian kanan tidak bergerak/berhenti.
Robot akan mengambil sampah yaitu motor depan akan
menarik tuas dari lengan robot sehingga lengan akan bergerak
berlawanan arah
60
Halaman Ini sengaja Dikosongkan
61
BAB IV
PENGUJIAN DAN ANALISA
62
Sebelum didownload maka hubungkan konektor DB25 pada port
paralel dan tekan ”Verify” pada program ISP-Flash Programmer, jika
sudah selesai dan tidak ada pesan error maka downloader siap
digunakan. Untuk running program, caranya hubungkan langsung antara
komputer dan mikrokontroller melalui kabel yang terhubung dengan
port pararel dan lakukan download program, lalu amati hasilnya pada
modul percobaan. Programnya dapat diikuti seperti di bawah ini, dimana
modul yang dikontrol berupa 8 buah LED dihubungkan dengan port 0
dari mikrokontroller.
Org 0h
nop
63
Mulai: Mov R2,#7
Mov A,#11111110B
Ulang1: Mov P0,A
RL A
Call Delay
DJNZ R2,ULANG1
MOV R2,#7
Ulang2: Mov P0,A
RR A
Call Delay
DJNZ R2,ULANG2
Jmp Mulai
Delay: Mov R0,#0FFh
Delay1: Mov R1,#0FFh
Delay2: Djnz R1,Delay2
Djnz R0,Delay1
Ret
End
Hasil dan Analisa :
Bit 7 6 5 4 3 2 1 0
64
4.2 PENGUJIAN RANGKAIAN PENGGERAK MOTOR DC
Untuk pengujian penggerak motor dc harus diperhatikan
tegangan dan arus yang masuk melalui transistor, karena hal ini sangat
berpengaruh pada kinerja dari rangkaian tersebut.
Pengujian ini dilakukan untuk mengetahui apakah rangkaian
bekerja dengan baik.untuk pengujiaan ini hubungkan suplai tegangan
pada konektor pada rangkaian driver .
Tujuan
§ Untuk mengetahui apakah rangkaian penggerak motor DC
dapat berjalan dengan baik.
§ Untuk mengetahui torsi dan kecepatan motor DC pada mekanik
yang telah dibuat.
§ Untuk mengetahui arah pergerakan robot agar sesuai yang
diharapkan dan apakah robot dapat bergerak stabil
Rangkaian
PC Modul AT89S51
65
Motor Trigger Kumparan Motor Respon
+ Trigger Arus
Kumparan Arus
Port 2.3 Port 2.2
Motor Kiri 1 0 Putarsearah(CW)
Motor Kiri 0 0 Putar berlawanan
arah (CCW)
Motor Kiri 1 1 Diam(relay tidak
aktif)
Motor Kiri 0 1 Diam(relay aktif)
Hasil:
Tabel 4.2 Kecepatan Motor
Motor Kecepatan (rpm)
Kiri 195
Kanan 186
Analisa:
Dalam pengujian driver motor ini digunakan metode dengan
memberikan trigger pada tiap-tiap pin trigger driver dan letak dari
kontaktor dari relay itu sendiri. Dengan pengujian ini dapat diketahui
pergerakan dari tiap-tiap motor.
Pin-pin input dari rangkaian driver ini aktif low. Port 2.0
terhubung pada triger mosfet yang akan menghantarkan arus ke motor.
Sedangkan port 2.1 terhubung pada triger transistor yang akan
mengaktifkan relay. Ketika kedua port mendapat logika 0, arus mengalir
melalui mosfet ke motor dan relai juga aktif sehingga motor berputar
dengan arah putar CCW. Ketika port 2.1 diberi logika 1, relai tidak aktif
sehingga arah aliran arus berbalik. Hal in menyebabkan motor berputar
pada arah yang sebaliknya. Sedangkan jika port 2.0 berlogika 1 dan port
2.1 berlogika 0, motor tidak berputar walaupun relai aktif. Hal ini karena
aliran arus ke motor terputus. Dan ketika kedua input port berlogika 1,
baik motor maupun relai keduanya diam.
Pengujian rangkaian penggerak motor dc telah berhasil
dilakukan karena rangkaian tersebut dapat menggerakkan roda /ban
searah atau berlawanan jarum jam. Rangkaian driver dan gear yang
terpasang pada kedua motor juga sama tapi didapatkan kecepatan yang
berbeda meskipun jenis motornya sama. Hal ini memang keadaan kedua
66
motor dari awal kondisinya memang tidak sama(motor bekas). Untuk itu
diperlukan pengaturan PWM supaya kecepatan kedua motor mendekati
sama dan supaya robot dapat bergerak stabil
67
4.3 PENGUJIAN KOMUNIKASI DATA SERIAL
Pada pengujian komunikasi serial, PC terhubung dengan modul
mikrokontroler AT89S51 dengan fasilitas RS232 pada COM1,
sedangkan input berasal dari penekanan tombol keyboard pada PC.
Rangkaian tersebut menggunakan IC MAX232 sebagai perangkat
pengubah level tegangan TTL dari IC ke level tegangan komputer,
begitu juga sebaliknya dan sebagai jalur data ke komputer
Tujuan
§ Untuk mengetahui apakah komunikasi serial antara PC dengan
mikrokontroler dapat berjalan sesuai dengan yang diharapkan.
§ Untuk menguji kesamaan data antara yang dikirim dan diterima
antara PC dengan mikrokontroler.
§ Untuk mengetahui kode Ascii dari karakter yang ditekan dari
keyboard yang ditampilkan dalam indikator led.
Rangkaian
PC Modul AT89S51
Power supply 5 V
Komunikasi dengan RS232
68
- Stop bits = 1
- Flow control = None
2. Form untuk komunikasi data,
- Saat karakter diketik dari keyboard, maka karakter
akan langsung dikirim melalui COM1 (port COM
disesuaikan).
- Kemudian mikrokontroller akan mengirim balik
karakter tersebut, dan hyperterminal akan menerima
balik dan menuliskan pada form.
69
setb TR1
mov SCON,#50h
;=====================================
; mengirimkan data lewat serial port
;=====================================
tulis: mov DPTR,#Pesan ; alamat text pesan
next_1: call Ldelay
clr A
movc A,@A+DPTR ; ambil data
clr ES
mov sbuf,A ; kirim lewat serial comm.
y: jnb ti,y
clr ti
setb ES
Inc DPTR
cjne A,#0,next_1
jmp tulis
;-- Routine delay --
Ldelay: mov R2,#50
Ld1:
h: djnz R6,h
c: djnz R6,c
djnz R2,Ld1
ret
;DATA AREA
Pesan:
DB 0dh,0Ah
DB 'VIVA AT EEPIS-ITS 2006'
DB ' ROBOT PASUKAN KUNING '
DB 0dh,0Ah
DB ' ******** proyek akhir 2006 ********* '
DB 0
end
70
Hasil:
Analisa :
Pengujian komunikasi serial telah berhasil dilakukan dan
mendapatkan hasil yang sesuai dengan data yang diharapkan. Tampilan
hyperterminal muncul tulisan ”VIVA AT EEPIS-ITS 2006 ROBOT
PASUKAN KUNING proyek akhir 2006” secara terus menerus
untuk pengiriman data dari mikrokontroler ke komputer dan untuk
penerimaan data dari komputer ke mikrokontroler hanya tinggal
menekan tombol pada keyboard maka akan terjadi interupsi serial dan
program loncat ke alamat 23h. Pada alamat tersebut di port 0 led akan
menyala sesuai dengan karakter yang ditekan pada keyboard (bilangan
ASCII), misalnya karakter A akan tampil dengan bilangan ASCII 41H.
Untuk menampilkan data yang berupa beberapa karakter, data-data
tersebut disimpan sementara pada ram internal kemudian dikirimkan
lagi ke register sbuf sebagai data 8 bit sementara yang ditampilkan ke
Console Hyper Terminal. Setting komunikasi serial dipakai pada Timer
1. Pemilihan baudrate komunikasi serial diatur berdasarkan koefisien
timer.
71
Tabel 4.5 Karakter, Instruksi Robot, dan kode ASCII
Tujuan
• Untuk mengetahui kinerja sistem secara keseluruhan
• Untuk mengetahui tingkat keberhasilan robot dalam mengambil
sampah
Rangkaian
Webcam
Lengan
Gambar 4.8 Diagram Blok dari Rangkaian Pengujian
Sistem Secara Keseluruhan
Persiapan
a. Memasang rangkaian seperti yang ditunjukkan pada Gambar 4.7
b. Meng-compile program dengan menggunakan perangkat Umps
sampai didapatkan file berekstensi HEX.
72
c. Pada perangkat lunak untuk komputer memerlukan kalibrasi, ini
dilakukan agar robot dapat mengenali objek yang berada di
ruangan itu.
d. Setelah semua dikalibrasi, maka robot dapat dirunning test.
Hasil:
Tabel 4.6 Pengujian sistem keseluruhan (a)
Letak Sampah D Ki Ka
Percobaan
Depan Kiri Kanan M T M T M T
1 V V V - v v - v -
2 V - V V - - - v -
3 V - V V - - - v -
4 V V - V - v - - -
5 V - V V - - - v -
6 V - - - v - - - -
7 V V - - v v - - -
8 V - - V - - - - -
9 V V V V - v - v -
10 V - - V - - - - -
73
Tabel 4.7 Pengujian sistem keseluruhan
Letak Sampah D Ki Ka
Percobaan
Depan Kiri Kanan M T M T M T
1 V - V - v - - v -
2 - - - - - - - - -
3 V - - v - - - - -
4 - - - - - - - - -
5 V V V v - v - v -
6 V - - - v - - - -
7 V V - v v - - -
8 - - - - - - - - -
9 V V V v - v - v -
10 - - - - - - - - -
Keterangan:
V: sampah berhasil diambil
M:sampah masih berada dalam sekop
T: sampah sudah dapat ditampung
% Akurasi = jumlah (Vatau M) / Jumlah Percobaan X 100%
Rata-rata = % Akurasi / n
Keberhasilan robot untuk menampung sampah yang berada di
depan robot adalah sebesar 30% dan untuk sampah yang berada di
dalam sekop sebesar 70%
Keberhasilan robot untuk menampung sampah yang berada di
kanan robot adalah sebesar 0% dan untuk sampah yang berada di dalam
sekop sebesar 50%
Keberhasilan robot untuk menampung sampah yang berada di
kiri robot adalah sebesar 0% dan untuk sampah yang berada di dalam
sekop sebesar 40%
Dari keseluruhan pengujian sistem secara menyeluruh maka
robot dapat mengambil sampah dan menampungnya dengan
keberhasilan sebesar 10% dan sampah yang masih di dalam sekop
adalah sebesar 53,3%
74
robot masih terbuka ke atas sehingga mudah bagi robot untuk
mengambil sampah karena pada saat lengan robot terbuka ke atas maka
pandangan webcam tidak akan terhalang oleh lengan robot. Setelah
robot dapat mengambil sampah maka posisi dari lengan robot akan
berhenti secara acak. Waktu yang diperlukan robot untuk mengambil
sampah selama 1 detik. Lengan robot berhenti secara acak karena tidak
ada umpan balik dari segi software (image) untuk kirim karakter ke
mikro pada saat pandangan webcam tertutup oleh lengan robot supaya
menginstruksikan mikro supaya membuka lengan robot ke atas atau
tidak ada rangkaian limit switch pada robot . Apabila lengan robot
menyentuh limit switch pada saat lengan robot berhenti maka secara
otomatis lengan tersebut akan bergerak membuka lagi ke atas.
Lengan robot berada pada posisi acak setelah robot mengambil
sampah yang berada didepannya, kemudian robot mendapat instruksi
untuk belok kanan atau kiri untuk mencari obyek dengan kondisi lengan
robot masih berada pada posisi acak menyulitkan robot untuk mencari
sampah karena pada kondisi acak lengan robot bisa berada pada posisi
apa saja, sedangkan untuk bisa menemukan sampah maka posisi sampah
harus berada di dalam jangkauan pandangan webcam atau harus berada
di dalam frame yang telah ditentukan sebelumnya. Peletakan webcam
membuat jangkauan pandang webcam menjadi sempit sehingga sulit
untuk memenpatkan posisi robot supaya sampah berada tepat dalam
pandangan / frame dari wecam.
75
BAB V
PENUTUP
Pada bab ini akan dibahas mengenai hasil dan kelemahan dari
alat yang telah dibuat. Setelah melakukan perencanaan, pembuatan dan
implementasi sistem ”Robot Pasukan Kuning”, kemudian dilakukan
pengujian dan analisa maka dapat diambil kesimpulan dan saran-saran
sebagai berikut :
5.1 KESIMPULAN
Setelah melalui tahap perencanaan, pembuatan dan pengujian
sistem ”Robot pasukan Kuning”, ada beberapa hal yang dapat
disimpulkan yang antara lain adalah :
5.2 SARAN
Pada perencanaan, pembuatan dan pengujian sistem ” Robot
pasukan Kuning”, masih terdapat beberapa kelemahan, sehingga perlu
diperbaiki untuk penyempurnaan. Saran untuk pengembangan lebih
lanjut pada sistem robot ini adalah :
1. Pembuatan mekanik yang lebih menarik dan bersifat
entertainment sehingga benar-benar dapat digunakan untuk
hiburan.
76
2. Perbaikan sistem komunikasi data antara komputer dengan
robot, misalnya menggunakan frekuensi (wireless) sehingga
robot dapat bergerak bebas.
77
DAFTAR PUSTAKA
1. Agfianto Putra E, Belajar Mikrokontroler AT89C51/52/55 Teori
Dan Aplikasi, Gava Media, Yogyakarta 2002.
2. Innovative Electronics, HandBook 89C51 Development Tools
DT-51 version 3, Innovative Electronics.
3. Paulus Andi Nalwan, Teknik Antarmuka dan Pemrograman
Mikrokontroller AT89C51, Elex Media Komputindo Kelompok
Gramedia, Jakarta, 2003.
4. Verdy Ardianto, Perancangan dan Implementasi Robot Banteng
Yang Mengikuti Warna Merah Sebagai Acuan Pergerakannya,
Proyek Akhir 2004 EEPIS-ITS.
5. Mussa Bahtiar Rifa’I Al-Muhammadiy, Robot Penyerang dalam
permainan sepak bola(hardware dan mekanik), Proyek Akhir
2005 EEPIS-ITS.
6. .........., “datasheet AT89S51”, Atmel, www.alldatasheet.com
7. .........., “datasheet TLP621”, Sharp, www.alldatasheet.com
8. ..........,“datasheet IRF540”, SGS-Thompson Microelectronic,
www.alldatasheet.com
9. ..........,“datasheet BD139”, FairChild Semiconductor,
www.alldatasheet.com
78
Halaman ini sengaja dikosongkan
LAMPIRAN I
79
DATA SHEET AT89S51
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
LAMPIRAN II
Program Assembly pada Mikrokontroller :
ORG 0000H
LJMP MULAI
ORG 0BH
PWM_Service:
djnz R7,CheckV
SETB p0.0
SETB p0.2
DEC R7
CheckV:xch A,R7
cjne A,MKI,CheckV2
CLR p0.0
CheckV2:cjne A,MKA,PWM_Ret
CLR p0.2
PWM_Ret:
xch A,R7
reti
ORG 23H
CLR ES
wait: JNB RI,wait
CLR RI
MOV A,SBUF
MOV P0,A
SETB ES
reti
;
MULAI:
LCALL InitSerial
LCALL PWM_INIT
100
START: CJNE A,#'F',nxt1 ;MAJU
CALL MAJU
nxt1: CJNE A,#'B',nxt2 ;MUNDUR
CALL MUNDUR
nxt2: CJNE A,#'R',nxt3 ;KANAN
CALL KANAN
nxt3: CJNE A,#'L',nxt4 ;KIRI
CALL KIRI
nxt4: CJNE A,#'G',START
CALL AMBIL
JMP START
;
PWM_INIT:
SETB EA
MOV TMOD,#22H
MOV IE,#82H
;MOV MKI,#00H
;MOV MKA,#00H
MOV TL0,#0C0H
MOV TH0,#0C0H
;MOV TL1,#0C0H
; MOV TH1,#0C0H
SETB TR0
SETB TR1
MOV STATUS,#0
SETB p0.1
SETB p0.3
SETB P0.7
SETB ES
MOV LENG,#00H
MOV MKA,#20H
MOV MKI,#00H
CALL DELAY
CALL DELAY
SETB p0.1
SETB p0.3
MOV MKA,#00H
MOV MKI,#20H
CALL DELAY
CALL DELAY
101
SETB p0.1
SETB p0.3
MOV MKA,#20H
MOV MKI,#20H
CALL DELAY
CALL DELAY
SETB ES
RET
InitSerial:
MOV SCON,#50H
MOV TH1,#0FDH
SETB TR1
SETB TR0
SETB ES
MOV 87H,#00H
RET
KIRIM: CLR TI
MOV SBUF,A
WAIT1:
JNB TI,WAIT1
RET
MAJU:
SETB p0.1
SETB p0.3
MOV MKA,#0DCH
MOV MKI,#0FFH
RET
MUNDUR:
CLR p0.1
CLR p0.3
MOV MKA,#0DBH
MOV MKI,#0FFH
RET
KANAN:
SETB p0.1
SETB p0.3
102
MOV MKA,#02FH
MOV MKI,#05FH
RET
KIRI:
SETB p0.1
SETB p0.3
MOV MKA,#09FH
MOV MKI,#01FH
RET
AMBIL:
MOV MKA,#00H
MOV MKI,#00H
SETB P0.7
MOV LENG,#33H
djnz R6,CheckV1
SETB p0.6
DEC R6
CheckV1:xch A,R6
cjne A,LENG,CheckV21
CLR p0.6
CheckV21:xch A,R6
RET
Delay:
Mov R0,#0fh
Delay1:
Mov R1,#07fh
Delay2:
MOV R2,#00H
Delay3:
Djnz R2,Delay3
Djnz R1,Delay2
DJNZ R0,Delay1
Ret
End
103
LAMPIRAN III
GAMBAR ROBOT PASUKAN KUNING
104
RIWAYAT HIDUP PENULIS
Nama : Agus Purwanto
Tempat/Tgl Lahir : Surabaya, 14 Agustus 1983
Alamat : JL. PLOSO 7 NO.18
Telp : 5051293
Nama Bapak : PINGI
Nama Ibu : PASEH
EMAIL :mb_arplos@telkom.net
HOBBY :jalan jalan/nai naik ke tempat tinggi
Riwayat Pendidikan
105
106