perancangan, pembuatan, dan implementasi robot …
TRANSCRIPT
PERANCANGAN, PEMBUATAN, DAN IMPLEMENTASI ROBOT
PELUKIS MENGGUNAKAN MIKROKONTROLLER
Puji Waluyo
Univeritas Mitra Karya [email protected]
ABSTRAK
Konsep penciptaan lukisan adalah penggambaran robot dimasa depan yang
mempunyai sifat-sifat manusia sehingga mereka berinteraksi dalam situasi sosial.
Tema pada penciptaan lukisan merupakan personifikasi robot yang terinspirasi dari
komik, film animasi dan film fiksi ilmiah. Figur robot pada lukisan merupakan
deformasi dari bentuk robot yang telah ada dalam komik, film animasi dan film fiksi
ilmiah untuk diubah dan menghasilkan bentuk baru yang berbeda. Proses visualisasi
lukisan dikerjakan menggunakan media cat akrilik di atas kanvas dengan teknik
opaque dan brushstroke. Robot pelukis ini dapat dikategorikan dalam robot vision
karena robot ini menggunakan perangkat kamera dan image processing dalam
prosesnya yang didapat dari sebuah perangkat I/O yang berupa informasi warna RGB
(red, green, blue).
Kata Kunci : Pembuatan, Implementasi, Robot Pelukis
PENDAHULUAN :
Robot banyak digunakan pada baik pada skala kecil maupun besar, mulai
dunia industri sampai pada entertainment sehingga robot dapat difungsikan
sebagai pengganti pekerjaan yang seharusnya dikerjakan oleh manusia.
Robot mempunyai kelebihan yang tidak dimiliki oleh manusia yaitu dalam hal
kecepatan proses, ketelitian dan tidak adanya unsur kelelahan dalam melakukan
sesuatu. Sehingga dalam melakukan proses pada skala besar dapat menggantikan
proses manual yang dilakukan oleh manusia dan dapat mempercepat proses yang
diinginkan dengan hasil yang lebih baik.
Robot pelukis ini dapat dikategorikan dalam robot vision karena robot ini
menggunakan perangkat kamera dan image processing dalam prosesnya yang
didapat dari sebuah perangkat I/O yang berupa informasi warna RGB (red, green,
blue) seperti pada gambar.
Gambar Blok Diagram Robot Vision
Lukisan yang dihasilkan dari robot ini hampir sama dengan hasil dari
printer, hanya saja pada printer media untuk hasil hanya sebatas kertas,
sedangkan pada robot pelukis media yang digunakan bisa disesuaikan, misalnya
kertas, dinding, kayu, bahkan robot ini dapat dikembangkan lagi untuk melukis
benda tiga dimensi.
Sistem kontrol elektronik mempunyai fungsi sebagai pusat pengendali
kegiatan dari alat ini. Adapun permasalahan sistem pada perangkat keras yang
akan timbul pada pembuatan robot ini adalah pembuatan perangkat mekanik
yang tepat sehingga robot dapat berjalan stabil dan sesuai yang diharapkan.
Kemudian pada pembuatan hardware elektronik dimana mencakup driver motor,
solenoid, dan sistem minimum. Pada driver motor bagaimana merancang agar dapat
bergerak ke kiri dan ke kanan, sedangkan pada driver solenoid diharapkan dapat
menarik atau mendorong pena gambar sehingga dapat bergereak naik – turun. Dan
juga bagaimana membuat sistem minimum berbasis mikrokontroller agar dapat
berfungsi sebagai basis sistem kontrol dengan baik. Selain itu pada software
bagaimana mengubah image yang ditangkap robot menjadi sebuah bentuk arsiran,
masalah ini tentunya akan mencakup tentang image processing dan video capture.
Kemudian bagaimana konversi suatu citra menjadi data yang akan dikirim ke
mikrokontroller.
METODOLOGI:
Prosedur dan langkah-langkah dalam pengerjaan penelitian dapat diuraikan sebagai
berikut:
a. Tahap studi literature
Studi tentang mikrokontroller, rangkaian driver motor dan solenoid,
komunikasi serial (RS-232), perancangan sistem minimum, program Visual
Basic untuk visualisasi pada PC, serta literatur-literatur yang lain yang
dapat menunjang penyelesaian penelitian .
b. Tahap perancangan dan pembuatan hardware\
Tahap perancangan meliputi pembuatan mekanik robot untuk gerak robot,
serta pengaturan gerak motor dan solenoid oleh mikrokontroller, kemudian
perancangan sistem minimum untuk menerima data dari komputer sebagai
informasi yang dipakai mikrokontroller untuk menggerakkan lengan robot.
c. Tahap pengujian dan simulasi
Hardware yang telah jadi akan disimulasikan dengan mengambil sebuah obyek
tertentu dan mengubahnya dalam format lukisan.
d. Tahap realisasi
Dalam tahap ini kita menghubungkan semua hardware (PC, mikrokontroller,
robot, dan kamera) serta mengimplementasikan software didalamnya.
e. Tahap penulisan laporan
Pada tahap ini pekerjaan yang dilakukan adalah penulisan laporan secara
lengkap dan detail sesuai dengan data yang diperoleh dari penelitian ini.
PEMBAHASAN
Pada pembuatan "Robot Pelukis" untuk penelitian ini secara umum terbagi
menjadi dua bagian pokok, yaitu pembuatan perangkat keras (hardware) dan
perangkat lunak (software). 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 penelitian 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 pena, serta penyangga motor DC. 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 sistem minimum mikrokontroller AT89S51 serta downloader dalam
sistemnya, penggerak (driver) motor DC, penggerak (driver) solenoid 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 penggerak
solenoid.
Sistem minimum yang terdapat pada robot ini terbagi atas dua bagian dasar,
yaitu bagian perangkat keras (hardware) dan bagian perangkat lunak (software).
Sistem minimum ini digunakan sebagai tatap muka (interfacing) dari komputer
dengan robot, sistem minimum ini menggunakan mikrokontroller AT89S51 yang
merupakan keluaran dari Atmel. Sedangkan untuk perencanaan sistem berdasarkan
pada fungsi komunikasi data itu sendiri adalah dengan mengintegrasikan dan
menghubungkan antara komputer dengan mikrokontroller. Mikrokontroller
menerima masukan melalui komunikasi data serial RS232 untuk menggerakkan
motor dc sesuai dengan data yang terkirim.
Data dari komputer yang dikirim melalui komunikasi serial RS232
menuju mikrokontroller akan direalisasikan berupa gerakansecara vertikal dan
horisontal sehingga robot dapat menggambar sesuai pola.
Gambar Diagram Blok
Informasi data yang berupa obyek gambar diterima kamera kemudian data informasi
tersebut dikirim ke komputer dengan kabel USB (Universal Serial Bus), setelah
komputer menerima hasil informasi tersebut maka data informasi tersebut akan di
manipulasi di komputer dengan menggunakan metode image processing menjadi
suatu data yang diinginkan untuk proses selanjutnya, data yang telah dimanipulasi
komputer akan dikirim ke mikrokontroller AT89S51 menggunakan komunikasi serial
RS232 untuk di inisialisasi menjadi intruksi data, sebagai intruksi untuk menjalankan
driver motor pada robot. Robot ini bergerak secara otomatis sesuai dengan informasi
yang diterima dari proses objek yang diterima oleh kamera. Pergerakan robot ini
adalah kekiri-kekanan, kebawah-keatas, dan maju-mundur.
Perangkat keras elektronik yang digunakan sebagai interface adalah
rangkaian – rangkaian berikut ini yaitu rangkaian penggerak (driver) motor
DC, rangkaian penggerak (driver) solenoid serta penggunaan sistem minimum.
a. Perangkat Mikrokontroler
Pada penelitian ini dibuat piranti penggendali menggunakan mikrokontroler
keluaran ATMEL yaitu AT89S51. Untuk mengaktifkan atau menjalankan
mikrokontroler ini diperlukan rangkaian minimum sistemRangkaian sistem
minimum tersebut terdiri rangkaian reset , rangakaian oscillator rangkaian power
supply dan rangkaian sistem mikrokontroler.
- Rangkaian Reset
Reset pada mikrokontroler AT89S51 terjadi dengan adanya logika high “1”
selama dua cycle pada kaki RST pada mikrokontroler AT89S51. setelah
kondisi pin RST kembali low, maka mikrokontroler akan menjalankan
program dari alamat 0000H.
Rangkaian reset pada penelitian ini seperti gambar
Gambar Rangkaian reset
Rangkaian reset pada gambar diatas merupakan rangkaian reset yang
dapat bekerja secara manual maupun otomatis. Pada saat sumber daya
diaktifkan maka kapasitor C sesuai dengan sifat kapasitor akan terhubung
singkat sehingga arus mengalir langsung dari Vcc ke pin RST.
Kemudian kapasitor akan terisi sehingga tegangan kapasitor Vc akan
mencapai tegangan Vcc. Karena nilai Vc sama dengan nilai Vcc maka
tegangan di resistor 8K2 dan tegangan pada pin RST menjadi low jika
saklar s ditekan , reset mikrokontroler bekerja secara manual. Aliran arus
akan mengalir dari Vcc melalui resistor 100 menuju pin RST. Adanya
resistor 8K2 menyebabkan adanya pembagi tegangan antara tegangan Vr 8K2
dengan pin RST. Tegangan itu sama dengan
Tegangan VR 8K2 menyebabkan pin RST berlogika high “1” pada saat
saklar S ditekan. Saat saklar s dilepas, aliran dari Vcc melalui R 100 akan
terhenti sehingga tegangan pada pin RST akan turun menjadi low.
- Rangkaian Osilator
Pin XTAL1 dan XTAL2 merupakan pin osilator bagi mikrokontroler
AT89S51. Pin XTAL1 befungsi sebagai input dan XTAL2 sebagai output
osilator. Osilator ini bisa berasal dari kristal atau dari keramik resonator.
Untuk osilator kristal, nilai C1 dan C2 adalah 30 Pf ± 10 Pf dan untuk keramik
resonator 40 Pf ± 10 Pf
Gambar 3.3 Rangkaian Minimum Osilator
Pada penelitian ini dibuat rangkaian osilator internal yang terbuat
dari kristal. Nilai C1 dan C2 masing- masing 30 Pf.
- Rangkaian Minimum Mikrokontroler AT89S51
Untuk menjalankan mikrokontroler AT89S51 dibutuhkan sebuah rangkaian
minimum agar mikrokontroler tersebut dapat bekerja dengan baik. Rangkaian
minimum mikrokontroler terdiri dari rangkaian reset dan rangkaian osilator.
Gambar Minimum Sistem
Pada proyek akhir ini, dibuat rangkaian minimum mikrokontroler agar
mikrokontroler dapat bekerja dengan baik. Rangkaian minimum tersebut
adalah seperti gambar 3.4 di atas
b. Driver Motor dan Solenoid
Pada robot tersebut terdapat 2 motor DC, jadi outputnya berupa driver motor
DC dengan system driver maju mundur dan berhenti. Pada perencanaan
pembuatan penggerak motor DC ini dipilih beberapa komponen yang mempunyai
tegangan yang besar agar motor dapat bergerak secara maksimal sesuai dengan
spesifikasi motor yaitu 12V, mempunyai arus yang besar, mempunyai kecepatan
switching yang tinggi. Maka dari itu dibuatlah penggerak motor dengan
komponen yang dapat tahan dengan tegangan pada Vcc yaitu 12V dan arus 5A
Gambar Rangkaian Driver Motor
Pemilihan relay untuk pembalik polaritas motor diguanakan, karena relay
merupakan saklar mekanik dan tidak dipengaruhi oleh Vce atau Ib seperti pada
transistor. Kemudian dipilih TIP 31 untuk penggerak pada kontak relay untuk
mengatur tegangan yang masuk.
Untuk membalik polaritas motor pada relay agar dapat bergerak maju,
mundur, kekanan, dan kekiri diperlukan transistor yang dapat tahan terhadap
tegangan 12V, maka dipilih transistor BD139 yang terhubung dengan
kumparan relay, dengan spesifikasi sebagai berikut:
- VCBO : 80V
- VCEO : 80V
- VEBO : 5V
- IC : 1,5A
- IB : 0,5A
c. Perencanaan komunikasi data serial RS232
Untuk mengaktifkan seluruh kerja sistem sesuai dengan fungsinya perlu
dibuat perangkat keras dan perangkat lunak. Perangkat lunak disini yaitu untuk
mengatur jalannya data yang dikirim oleh komputer ke mikrokontroller agar
data yang terkirim diterima dengan sempurna oleh mikrokontroller. Ada
dua perangkat lunak pada komunikasi data yaitu perangkat lunak untuk
komunikasi data pada PC dan perangkat lunak untuk komunikasi data pada
mikrokontroller.
Dalam proyek akhir ini akan membuat robot otomatis dengan menggunakan
komunikasi serial. Pada bagian pemroses gambar dalam hal ini warna terdiri
dari kamera web, USB (Universal Serial Bus), komputer sedangkan bagian
pengaturan gerak robot terdiri dari rangkaian mikrokontroller dan rangkaian driver
sebagai penggerak motor, sedangkan untuk perancangan komunikasi data
menggunakan RS 232 sebagai protokolnya.
Dengan perangkat tersebut dapat digunakan untuk mengirimkan data atau karakter
dari komputer ke mikrokontroller dengan sempurna
Gambar Rangkaian komunikasi serial RS232
Mekanik robot ini terdiri atas penyangga area gambar, penyangga motor
DC, dan penyangga solenoid dan pena. Di sini kondisi robot dibuat tetap atau
diam, sehingga yang bergerak adalah dudukan solenoid atau penenya saja
berdasarkan arah putaran dari motor dan salah satu lengan yang menopang
solenoid.
Untuk menggeser dudukan lengan – lengan robot, dipakai suatu penarik dan jalur
dari penarik itu sendiri, dan di sini penarik yang digunakan adalah berupa tali senar
yang diikat pada ujung sumbu horisontal sedangkan pada tengah senar diputar
melalui gear dari motor. Sehingga bila motor berputar maka motor akan menarik
senar dan berjalan di permukaan senar. Untuk konstruksi robot dpat dilihat pada
gambar berikut ini.
Gambar Konstruksi Mekanik Robot
d. Pengujian dan Analisa
- Pengujian Komunikasi Serial
Pada pengujian komunikasi serial, ditampilkan pada Hiperterminal, dimana
pengujian ini diharapkan sebagai tanda bahwa komunikasi serial bisa
digunakan. Kemudian hasil dan analisa adalah Untuk mengakses
hiperterminal kita harus mengatur port settingnya seperti pada gambar
dibawah
Gambar Port Setting
Adapun program yang kita gunakan untuk mengakses serial adalah sebagai
berikut:
baudrate equ 0fDh
code_seg equ 0000h
PCON EQU 0087H
org code_seg
ljmp start init:
mov scon,#50h
mov th1,#baudrate ;speed 9600 utk 11059200 Hz
mov tmod,#21h ;timer1 set mode2, timer0 set mode1
mov tcon,#40h ;enable timer1 disable timer0
ret
org 100h
start:
mov sp,#10h ;sp=10h
lcall init ;inisialisasi
loop:
mov a,#'A'
mov sbuf,a
wait:
jnb scon.1,wait
clr scon.1
sjmp loop ;jika ya loop
end
dimana pada hiperterminal menunjukan data sebagai berikut:
Gambar Hyperterminal
Hal ini karena pada program kita memberi perintah pada micro untuk
mengirimkan ’A’ ke PC sehingga munculah huruf ’A’ di hiperterminal.
Berdasarkan hasil pengamatan terlihat bahwa pada pengiriman dari micro ke
PC bisa dilakukan bila keduanya telah mengalami sinkronisasi, artinya
keduanya sudah sama piranti dan baudratenya sehingga dapat berkomunikasi.
- Pengujian Driver Motor
Pada pengujian gerak motor, ditampilkan pada motor DC sebagai
penggerak untuk mengetahui apakah motor dapat berfungsi sesuai dengan
yang diharapkan
org 00h
loop
clr P2.4
clr p2.6
call delay
call delay
LOOP1: clr p2.5
clr p2.7
call delay
call delay
setb P2.5
setb p2.7
call delay
call delay
sjmp LOOP1
delay: MOV R0,#5
del1: MOV R1,#0FFH
del2: MOV R2,#00H
DJNZ R2,$ DJNZ R1,del2 DJNZ R0, del1 RET
END
Gerakan yang dihasilkan robot sesuai dengan yang diinginkan yaitu dapat
bergerak bolak – balik sesuai dengan program yang dijalankan.
Table 4.1 hasl pengujian motor P 2.6 P.27 Kondisi Motor
0 0 kanan
0 1 kiri
1 0 mati
1 1 mati
Berdasarkan pengamatan secara langsung torsi yang dihasilkan oleh motor
besar, sehingga motor dapat menggerakkan lengan yang membawa
penyangga solenoid dan pena. Maka tampak bahwa penggerak (driver)
motor DC berjalan dengan baik, mampu untuk diaplikasikan untuk pergerakan.
Dan pada penggerak (driver) motor DC ini akan aktif low dikarenakan jenis
dari optocoupler yang digunakan sebagai rangkaian driver.
- Pengujian Driver Solenoid Pada pengujian driver solenoid, ditampilkan pada solenoid sebagai
penggerak untuk mengetahui apakah solenoid dapat berfungsi sesuai dengan
yang diharapkan dengan analisanya gerakan yang dihasilkan motor sesuai
dengan yang diinginkan yaitu dapat bergerak naik turun. Serta driver
solenoid menggunakan relay pada rangkaian dapat mengaktifkan solenoid
pada saat diberi pulsa pada drivernya. Pada penggerak (driver) solenoid jika
diberikan logika ”1”, maka solenoid akan aktif dan di sini solenoid
diaplikasikan untuk menarik sedangkan jika diberi logika ”0”, maka solenoid
tidak aktif dan diaplikasiakn sebagai pendorong. Kondisi solenoid dan
pena dapat dilihat dalam table
Tabel 4.2. Kondisi solenoid dan pena
Trigger Kondisi solenoid Kondisi pena
0 Tidak aktif, mendorong Posisi naik
1 Aktif, menarik Posisi turun
- Pengujian Sistem
Pengujian keseluruhan disini merupakan pengujian yang dilakukan dengan
menggabungkan seluruh sistem rangkaian (hardware), sistem mekanik,
perangkat lunak (software) dan Image Processing (Software) di computer
dengan analisanya adalah
Setelah diuji secara keseluruhan, yaitu dengan menghubungkan robot
dengan PC, dimana dari PC mengirimkan data untuk menggerakkan robot dapat
berjalan lancar dan sesuai dengan yang diharapkan,meskipun terdapat
beberapa kendala yaitu pada penggerak (driver) motor yang agak panas. Namun
robot tetap menggambar sesuai dengan data yang dikirimkan Dengan
memperhitungkan jarak antara kamera dan objek, maka didapatkan hasil
perbandingan ganbar pola dari robot dengan gambar objek awal seperti pada
gambar Dimana yang menjadi acuan disini adalah perbandingan antara ukuran
dari hasil gambar yang diperoleh dengan ukuran gambar objek awal.
Gambar Obyek dan Hasil yang digambar
Untuk mendapatkan tingkat ketelitian dari robot dilakukan percobaan
berkali-kali. Dan didapatkan hasil pergerakan robot dalam menggambar yang
tampak pada tabel di bawah:
Gambar Ukuran objek
Waktu yang
diperlukan
Ukuran hasil Jarak
kamera- objek
Vertikal 15.6 7.6 detik 19 20 cm
Horisontal 15.2 7.3 detik 19 20 cm
Persegi Pejal 8 cm x 8 cm 30.8 detik 10 cm x 10 cm 20cm
Persegi 18 cm x 18 cm 2 menit 43detik 21 cm x 21 cm 20 cm
Dari hasil pengujian di atas maka dapat diketahui persentase error
seperti pada rumus perhitungan
Error(%) = Ukuran hasil - Ukuran objek x 100 %
Ukuran hasil
1. Gambar vertikal
Error (%) = 19 − 15 . 6 x100 % = 17.89%
19
2. Gambar Horisontal
Error (%) = 19 − 15 . 2 x100 % = 20%
19
3. Gambar Persegi pejal
Error (%) = 10 − 8 x100 % = 20%
10
4. Gambar Persegi
Error (%) = 21 − 18 x100 % = 14.28%
21
Pada alat terlihat bahwa sistem terdapat error yang cukup besar hal ini
dikarenakan oleh pemberian besarnya timer yang berakibat pada lamanya motor
bekerja untuk menggambar. Semakin besar timer yang diberikan maka semakin
besar pula hasil yang akan digambar, begitu pula sebaliknya.
KESIMPULAN:
Dari pengujian perangkat keras pada robot pelukis didapatkan kesimpulan sebagai
berikut:
1. Hasil lukisan dari robot bergantung pada:
• Jarak obyek yang akan dilukis dengan kamera.
• Besar timer yang dipakai untuk menjalankan robot.
• Pencahayaan yang dapat mempengaruhi konversi ke biner.
2. Pada sistem dalam menggabungkan blok-blok dari sistem harus tepat sehingga
sinkronisasi kerjanya bisa terjaga.
DAFTAR PUSTAKA:
1) Agfianto Eko Putra, “Belajar Mikrokontroller T89C51/52/55”, Gava Media,
Yogyakarta, 2002.
2) Akhmad Hendriawan, ”Mikrokontroller 8051 Step by Step”, Surabaya,
2004
3) Gde Brata Indrawan, ”Robot Pembersih Kaca Jendela pada Gedung
Bertingkat dengan Kamera”, tugas akhir jurusan Elektronika tahun 2004.
4) Himawan Sutamto, “Pengaturan Kecepatan Motor DC Menggunakan
PI Kontroller”, tugas akhir jurusan Elektronika tahun 2004.
5) Mussa Bahtiar Rifa’i Al-Muhammadiy, ”Robot Penggambar Pola dengan
Kamera”, tugas akhir jurusan Elektronika tahun 2004.
6) Paulus Andi Nalwan, “Teknik Antarmuka dan Pemrograman
Mikrokontroller AT89C51”, Penerbit Alex Media Komputindo, Jakarta,
2003.
7) \Widodo Budiarto, S.Si, M.kom, “Interfacing Komputer dan
Mikrokontroler”, Penerbit Alex Media Komputindo, Jakarta, 2004
8) ……., “datasheet AT89S51”, Atmel, www.alldatasheet.com, diakses
tanggal 13-3-2005
9) ……., “datasheet MAX232”, Maxim, www.alldatasheet.com, diakses
tanggal 13-3-2005