BAB 3 SENSOR DAN KENDALI ROBOT
3.1
Limit switch (saklar limit) Saklar adalah alat pengendali industri yang sangat umum, ada yang dikendalikan
secara manual atau secara mekanis. Dan juga terdapat berbagai tipe dan apabila batas yang sudah ditentukan sebelumnya sudah dicapai, dan saklar-saklar tersebut biasanya diaktifkan kontak dengan obyek. Alat tersebut mengganti operator manusia, Saklar-saklar tersebut sering digunakan pada rangkaian pengendali dari mesin yang memproses untuk pengaturan starling. Sloping atau pembalikan motor. Dan yang paling praktis untuk digunakan adalah saklar mikro dikarenakan ukuran yang kecil dan tuas pengoperasian yang bermacam-macam membuat saklar mikro sangat bermanfaat. Saklar dapat bekerja dengan tekanan yang kecil pada pengoperasian tuas yang memungkinkan sensitifitas yang besar.
Gambar 3.1. Limit Switch 3.2
Motor Stepper Motor stepper banyak digunakan untuk aplikasi-aplikasi yang biasanya cukup
menggunakan torsi yang kecil, seperti untuk penggerak head piringan disket atau head 55 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
piringan CD (compact disk). Dalam hal kecepatan, kecepatan motor stepper cukup cepat jika dibandingkan dengan motor DC. Motor stepper merupakan motor DC yang tidak memiliki komutator. Pada umumnya motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan magnet permanen. Dengan model motor seperti ini maka motor stepper dapat diatur posisinya pada posisi tertentu dan berputar ke arah yang diinginkan, searah jarum jam atau sebaliknya. Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada kumparannya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur. 3.2.1
Tipe motor stepper Motor stepper dibedakan menjadi dua macam berdasarkan magnet yang
digunakan, yaitu tipe magnet permanen dan reluktansi variabel. Pada umumnya motor stepper saat ini yang digunakan adalah motor stepper yang bertipe reluktansi variabel. Cara yang paling mudah untuk membedakan antara tipe motor stepper di atas adalah dengan cara memutar rotor dengan tangan ketika tidak dihubungkan ke sumber tegangan. Pada motor stepper yang bertipe magnet permanen maka ketika diputar dengan tangan akan terasa lebih tersendat karena adanya gaya yang ditimbulkan oleh magnet permanen. Tetapi ketika menggunakan motor stepper yang bertipe reluktansi variabel maka ketika diputar akan lebih halus karena sisa reluktansinya cukup kecil. 3.2.2 Motor stepper reluktansi variabel Pada motor stepper yang bertipe reluktansi variabel terdapat 3 buah lilitan yang pada ujungnya dijadikan satu pada sebuah pin common. Untuk dapat menggerakkan motor ini maka aktivasi tiap-tiap lilitan harus sesuai urutannya. Bentuk lilitan dan konstruksi motor stepper reluktansi variabel seperti tampak dalam gambar 3.1 dan 3.2. Dimana tiap langkahnya adalah 300. Mempunyai 4 buah kutub pada rotor dan 6 buah kutub pada statornya yang terletak saling berseberangan.
Gambar 3.2. Bentuk Lilitan Motor Stepper Reluktansi Variabel 56 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Gambar 3.3. Konstruksi Motor Stepper Reluktansi Variabel Jika lilitan 1 dilewati oleh arus, lilitan 2 mati dan lilitan 3 juga mati, maka kumparan 1 akan menghasilkan gaya tolak pada rotor dan rotor akan berputar sejauh 300 searah jarum jam sehingga kutub rotor dengan label Y sejajar dengan kutub dengan label 2. Jika kondisi seperti ini berulang terus menerus secara berurutan, lilitan 2 dilewati arus kemudian lilitan 3 maka motor akan berputar secara terus menerus. Maka agar dapat berputar sebanyak 21 langkah maka perlu diberikan data dengan urutan seperti pada Tabel 3.1, Angka 1 pada table 3.1 mengartikan bahwa lilitan tersebut dilewati arus sehingga menghasilkan gaya tolak untuk rotor. Sedangkan angka ‘0’ mengartikan lilitan dalam kondisi off, tidak dilewati arus. Tabel 3.1. Urutan Pemberian Data Motor Stepper Reluktansi Variabel
3.2.3
Lilitan
Data
1
1001001001001001001
2
0100100100100100100
3
0010010010010010010
Motor stepper bipolar Motor dengan tipe bipolar ini mempunyai konstruksi yang hampir sama dengan
motor stepper tipe unipolar namun tidak terdapat tap pada lilitannya, seperti tampak pada Gambar 3.4 dan Gambar 3.5.
Gambar 3.4. Bentuk Lilitan Motor Stepper Bipolar
57 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Gambar 3.5. Konstruksi Motor Stepper Bipolar Penggunaan motor dengan tipe bipolar ini membutuhkan rangkaian yang sedikit lebih rumit untuk mengatur agar motor ini dapat berputar dalam dua arah. Biasanya untuk menggerakkan motor stepper jenis ini membutuhkan sebuah driver motor yang sering dikenal sebagai H-Bridge. Rangkaian ini akan mengendalikan tiap-tiap lilitan secara independen termasuk dengan polaritasnya untuk tiap-tiap lilitan. Untuk mengendalikan agar motor ini dapat berputar satu langkah maka perlu diberikan arus pada tiap-tiap lilitan dengan polaritas tertentu pula. Urutan datanya dapat dilihat pada Tabel 3.2. Tabel 3.2. Urutan Pemberian Data Motor Stepper Bipolar Terminal
Polaritas
1a
+---+---+---+---++--++--++--++--
1b
--+---+---+---+---++--++--++--++
2a
-+---+---+---+---++--++--++--++-
2b
---+---+---+---++--++--++--++--+
3.3
Mikrokontroller AT89S52 Mikrokontroller AT89S52 merupakan salah satu jenis Mikrokontroller CMOS 8 bit yang memiliki performa yang tinggi dengan disipasi daya yang rendah, cocok dengan produk MCS-51. Kemudian memiliki sistem pemograman kembali Flash Memori 4 Kbyte dengan daya tahan 1000 kali write/erase.
3.3.1. Diagram Blok dan Konfigurasi Adapun blok diagram dari Mikrokontroller AT89S52 digambarkan pada Gambar 3.6. Mikrokontroller ini memiliki 40 konfigurasi pin seperti digambarkan pada gambar 3.7. Fungsi dari tiap – tiap pin dapat dikelompokkan menjadi sumber tegangan, kristal, kontrol, dan input-output. 58 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Gambar 3.6. Blok Diagram Mikrokontroler AT89S52[2]
Gambar 3.7. Konfigurasi Mikrokontroler AT89S52
59 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
A. Pin 1 sampai 8 ini adalah port 1 yang merupakan saluran/bus I/O 8 bit dua arah. Dengan internal pull-up yang dapat digunakan untuk berbagai keperluan. Pada port ini juga digunakan sebagai saluran alamat pada saat pemograman dan verifikasi. B. Pin 9 Merupakan masukan reset (aktif tinggi), pulsa transisi dari rendah ke tinggi akan me-reset Mikrokontroller ini. C. Pin 10 sampai 17 Ini adalah port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pullups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka – ini dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu sebagian dari port 3 dapat berfungsi sebagai sinyal kontrol pada saat proses pemograman dan verifikasi. Adapun fungsi penggantinya seperti pada tabel 3.3. D. Pin 18 dan 19 ini merupakan masukan ke penguat osilator berpenguat tinggi. Pada Mikrokontroller ini memiliki seluruh rangkaian osilator yang diperlukan pada serpih yang sama (on chip) kecuali rangkaian kristal yang mengendalikan frekuensi osilator. 18 dan 19 dihubungkan dengan kristal. Selain itu XTAL 1 dapat juga sebagai input untuk inverting oscilator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting oscilator amplifier Tabel 3.3. Fungsi pengganti dari port 3.. Bit
Nama
Fungsi Alternatif
P3.0
RXD
Untuk menerima data port serial
P3.1
TXD
Untuk mengirim data port serial
P3.2
INT0 Interupsi eksternal 0
P3.3
INT1 Interupsi eksternal 1
P3.4
T0
Input Eksternal waktu/pencacah 0
P3.5
T1
Input Eksternal waktu/pencacah 1
P3.6
WR
Jalur menulis memori data eksternal
P3.7
RD
Jalur membaca memori data eksternal
E. pin 20 Merupakan ground sumber tegangan yang diberi simbol GND. 60 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
F. Pin 21 sampai 28 ini adalah port 2 yang merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups. Saat pengambilan data dari program memori eksternal atau selama mengakses data memori eksternal yang menggunakan alamat 16 bit (MOVX @ DPTR), port 2 berfungsi sebagai saluran/bus alamat tinggi (A8 – A15). Sedangkan pada saat mengakses ke data memori eksternal yang menggunakan alamat 8 bit (MOVX @ R1), port 2 mengeluarkan isi dari P2 pada Special Function Register. 3.4
Kendali Robot Sistem robot secara garis besar terdiri dari sistem kontroler, elektronik dan
mekanik. Dalam bentuk diagram dapat dinyatakan seperti dalam gambar 3.8
Kendali Transformasi Koordinat P ke θ
P(x,y)
Elektronik Mekanik G(s)
H(s)
θ(θ1, θ2)
Kinematik Invers
Kinematik Maju Transformasi Koordinat θ ke P
Gambar 3.8. Diagram sistem kendali robot Input merupakan fungsi dari suatu koordinat vektor posisi berorientasi P(x,y,z) dan output adalah θ(θ1,
θ2).
Dengan demikian perlu dilakukan transformasi koordinat ruang
kartesian dengan ruang sendi/sudut, dinyatakan sebagai kinematik invers dan kinematik maju. 3.4.1
Konsep Kinematik Kinematik dalam robotik adalah suatu bentuk pernyataan tentang diskripsi
matematik geometri dari suatu struktur robot. Dari persamaan kinematik dapat dapat ditentukan input informasi kedudukan sudut yang harus diumpankan ke setiap aktuator agar robot dapat melakukan gerakan seluruh sendi untuk mencapai posisi yang dikehendaki. yaitu ujung lengan robot yang bergerak dalam koordinat ruang. 61 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Persamaan kinematik maju untuk setiap sendi satu derajat kebebasan dinyatakan, P(x,y) = ƒ(r,θ)
(3.1)
R = Panjang lengan θ = sudut sendi P = koordinat (x,y) Persamaan kinematik kinematik inversnya dinyatakan sebagai (r,θ) = ƒ( P)
(3.2)
Kinematik inverse
Ruang Sudut (r,θ)
Ruang Cartesian P(x, y, z)
Kinematik maju
Gambar 3.9. Transformasi kinematik maju dan kinematik invers 3.4.2
Matrik Jacobian Matriks Jacobian adalah suatu matrik turunan pertama dari suatu fungsi vector.
F:ℜn → ℜm dalam pemodelan robotic, matrik Jacobian dapat digunakan untuk memperoleh persamaan gerak. Bentuk dasarnya adalah sebagai berikut, dx = Jdθ
(3.3)
dengan x = matriks x pada koordinat Cartesian θ = matriks θ pada koordinat ruang sendi/sudut J = matrik Jacobian hingga x = l1 cos θ1 + l2 cos (θ1 + θ2)
(3.4)
y = l1 sin θ1 + l2 sin (θ1 + θ2)
(3.5)
Dalam bentuk matriknya dapat ditulis,
62 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
. . x θ = θ 1 dan x = .T θ 2 yT
(3.6)
Maka matrik Jacobian dapat diperoleh, ∂x ∂θ J = 1 ∂y ∂θ 1
∂x ∂θ 2 ∂y ∂θ 2
(3.7)
dengan J11 J12 J21 J22
∂x = -l1 cos θ1 + l2 cos (θ1 + θ2) ∂θ 2 ∂y ∂θ1 ∂y ∂θ1 ∂y ∂θ 2
= -l2 sin (θ1 + θ2)
(3.8) (3.9)
= l1 cos θ1 + l2 cos (θ1 + θ2) dan
(3.10)
= l2 cos (θ1 + θ2)
(3.11)
Secara lengkap dapat ditulis l sin θ1 − l2 sin (θ1 + θ 2 ) − l2 sin (θ1 + θ 2 ) J = 1 ( ) ( ) cos cos cos l l l θ θ θ θ θ − + + 1 1 2 1 2 2 1 2
3.4.3
(3.12)
PENGGUNAAN PERSAMAAN TRIGONOMETRI Kinematik adalah bentuk pernyataan yang berisi tentang deskripsi matematik dan geometri dari suatu struktur robot. Analisa persamaan kinematik dapat diselesaikan dengan cara yang paling dasar yaitu menggunakan persamaan trigonometri. Setiap komponen dalam koordinat (x,y,z) dinyatakan sebagai transformasi dari tiap-tiap componen ruang sendi (r,θ). Jari-jari r dalam persamaan ditulis sebagai panjang lengan atau l. Untuk bidang planar componen z dapat tidak dituliskan. 63 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Kinematik Lengan Robot Planar Dua Sendi
Gambar 3.10.. Konfigurasi lengan robot planar dua sendi Kedudukan ujung lengan dinyatakan sebagai P(x,y), P(x, y) = ƒ(θ1, θ2)
(3.13)
Jika P diasumsikan sebagai vektor penjumlahan yang terdiri dari vektor r1 lengan 1 dan r2 lengan 2, r1 = [l1 cos θ1, l1 sin θ1 ]
(3.14)
r2 = [l2 cos (θ1 + θ2), l2 sin (θ1 + θ2)]
(3.15)
x = l1 cos θ1 + l2 cos (θ1 + θ2)
(3.16)
y = l1 sin θ1 + l2 sin (θ1 + θ2)
(3.17)
maka
Kinematk invers dijabarkan sebagai berikut, cos (a + b) = cos(a)cos(b) – sin(a)sin(b)
(3.18)
sin (a + b) = sin(a)cos(b) + sin(b)cos(a)
(3.19)
Persamaan (3.18) dan (3.19) dapat ditulis kembali, x = l1 cosθ1 + l2 cosθ1 cosθ2 – l2 sinθ1 sinθ2
(3.20)
y = l1 sin θ1 + l2 sinθ1 cosθ2 + l2 cosθ1 sinθ2
(3.21)
θ2 didapat dengan mengeluarkan cosθ2 dari kedua persamaan 64 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
x 2 + y 2 − l12 − l 22 cosθ2 = 2l1l 2
(3.22)
Sehingga x 2 + y 2 − l12 − l 22 θ2 = arccos 2l1l 2
(3.23)
θ2 didapat tanα =
l 2 sin θ 2 y dan tanβ = x l 2 cos θ 2 + l1
(3.24)(3.25)
sedangkan θ1 = β 1 - α
(3.26)
Dengan menggunakan hukum identitas trigonometri, tan(a − b) =
tan(a) − tan(b) 1 + tan(a) tan(b)
(3.27)
didapat tan θ 1 =
y (l1 + l 2 cos θ 2 ) − xl 2 sin θ 2 x(l1 + l 2 cos θ 2 ) − yl 2 sin θ 2
(3.28)
θ1 dapat dihitung, y (l + l cos θ 2 ) − xl 2 sin θ 2 θ 1 = arctan 1 2 x(l1 + l 2 cos θ 2 ) − yl 2 sin θ 2
(3.29)
3.5. Transmisi Jarak yang jauh antara motor dan poros tidak memungkinkan transmisi langsung dengan roda gigi. Untuk mengatasi kekurangan tersebut digunakan sabuk gilir. Persamaan untuk menghitung panjang sabuk gilir yaitu jarak sumbu poros dibagi dengan jarak bagi gigi dinyatakan dengan CP jadi, CP =
C P
(3.30)
65 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Gambar 3.11. Perhitungan panjang keliling belt Dimana CP dapat berupa pecahan, maka panjang sabuk dalam jumlah jarak bagi LP adalah Z + Z2 [(Z − Z 2 ) / 6,28] LP = 1 + 2C P + 1 CP 2
2
(3.31)
di mana Z1 = Jumlah gigi puli kecil Z2 = Jumlah gigi puli besar Putaran masing-masing puli dinyatakan denagn n1 dan n2, maka n Z2 = 1 n2
.z1
(3.32)
Gambar 3.12. Gir - belt
66 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
BAB 4 PERANCANGAN ROBOT
Dalam penulisan tentang perancangan robot planar dua sendi ini pembahasan akan dibagi dalam dua bagian utama yaitu perancangan perangkat keras sistem dan perangkat lunak (pemograman) sistem. Dalam perancangan perangkat keras sistem pembahasan akan mencakup tentang perancangan modul elektronika dan modul mekanik. 4.1. Perancangan Perangkat Keras 4.1.1. Modul mekanik Jenis robot yang dirancang adalah robot dengan konfigurasi mekanik berbentuk planar terdiri dari dua sendi yang berputar horizontal dengan tambahan satu sendi yang bergerak vertikal.
Gambar 4.1. Rancangan Mekanik Lengan Robot Planar Dua Sendi
Gambar 4.2. Diagram lengan robot planar dua sendi
67 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Nama komponen
Keterangan
Jumlah komponen
Motor Stepper
1 A, 5 V, 1,8o/langkah
2 buah
Motor DC
25 mA, 12 V
1 buah
Lengan Horisontal
Plat Alumunium 10x10 cm
2 buah
Lengan Vertikal
Pipa Alumunium d 14 mm
1 buah
Puli
Jumlah Gigi 25
5 buah
Sabuk Gilir
Tipe XL Jumlah gigi 210
1 buah
Sabuk Gilir
Tipe XL Jumlah gigi 110
2 buah
Katup Selenoid
25 mA, 12 V
1 buah
Tabel 4.1. Daftar Komponen Mekanik Yang Digunakan 4.1.2. Perancangan Modul Elektronika. Dalam perancangan perancangan lengan robot planar dua sendi, perancangan modul elektronika pada sistem ini sebenarnya hanya terdiri dari satu modul rangkaian, yang di dalamnya telah mencakup rangkaian utama dan rangkaian pendukung. Namun dalam penulisan ini, penulis membagi dan membahas rancangan rangkaian tersebut dalam beberapa modul antara lain yaitu perancangan modul rangkaian sistem minimum Mikrokontroler AT89S52, perancangan modul rangkaian motor stepper, dan perancangan modul sensor. Gambar keseluruhan rangkaian sistem secara umum dapat dilihat pada lampiran A Swith 1 menu menggulung ke atas Swith 2 menu menggulung ke bawah
Mikrokontroler AT89S51
Antar muka
Motor stepper 1
Antar muka
Motor stepper 2
Antar muka
Motor DC
Antar muka
Katub selenoid
Swith 2 pilih menu
LCD
Gambar 4.3. Diagram blok sistem elektronik lengan robot planar dua sendi
68 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
4.1.2.1. Rangkaian Liquid Crytal Display (LCD) LCD pada perancangan alat ini digunakan sebagai penampil informasi pemakaian alat dan informasi yang mendukung pemakaian alat. Modul LCD dapat dihubungkan langsung ke pin Mikrokontroller tanpa membutuhkan IC perantara lainnya sehingga antarmuka komponen menjadi lebih sederhana. Proses transfer data tampilan diatur oleh Mikrokontroller AT89S51. Pada saat alat tidak digunakan, LCD akan memberikan tampilan
yang berupa
menu. Untuk
rangkaian lengkap LCD dapat ditunjukkan gambar 4.5. LCD ini mempunyai 14 pin, data yang dikirim melalui jalur data ke LCD dan diatur dengan pulsa kendali yang sesuai. Adapun pin kendali kendali yang terdapat pada rangkaian LCD adalah sebagai berikut: 1.
Pin R/W berfungsi sebagai pengendalai data yang menyatakan apakah data tersebut akan ditulis atau dibaca.
2.
Pin Res berfungsi sebagai penentu jenis data yang dikirim ke Modul LCD.
3.
Pin LCDEN berfungsi sebagai pin yang mengaktifkan pulsa kendali pada kontroler LCD agar menerima data yang dikirim. Kontras tampilan LCD dapat diubah dengan mengatur trimpot agar didapat
pembacaan yang cukup jelas. Tegangan untuk mengatru kontras layar ini diarahkan ke pin VCC.
Gambar 4.4. Rangkaian Liquid Crystal Display Data yang dikirim ke jalur data LCD dapat berupa kode karakter maupun kode instruksi. Kedua jenis data tersebut dapat dibedakan dari cara pengirimannya. Hal ini tampak dari perbedaan kondisi pada pin RS., Dimana pin RS harus diberi tegangan
69 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
berlogika 0 saat pengiriman data berupa kode karakter. Untuk diagram alir pengiriman data sebagai karakter diperlihatkan seperti Gambar 4.5. Mulai
Clear Pin RS
Kirim Data ke Port 0
Set Pin E
Clear Pin E
Selesai
Gambar 4.5. Diagram Alir Pengiriman Data Sebagai Kode Karakter Mulai
Set Pin RS
Kirim Data ke Port 0
Set Pin E
Clear Pin E
Selesai
Gambar 4.6. Diagram Alir Pengiriman Data Sebagai Kode Insturksi Begitu juga sebaliknya, pin RS diberi tegangan berlogika 1 apabila data yang dikirim berupa kode instruksi. Untuk gambar diagaram alir pengiriman data berupa kode instruksi diperlihatkan seperti gambar 4.6.
70 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
4.1.2.2. Perancangan rangkaian modul motor stepper. Pada perancangan ini dipilih motor stepper sebagai penggerak dari alat yang dirancang. Mengapa dipilih motor stepper, karena dalam mengendalikannya lebih mudah bila dibandingkan dengan jenis motor lainnya.. Selain itu ada lagi kelebihannya yaitu motor stepper memiliki hubungan antara torsi dan kecepatan yang lebih baik dimana dalam kondisi kecepatan yang rendah motor stepper memiliki torsi yang besar. Dalam perancangan ini kecepatan yang dihasilkan sangat rendah sedangkan torsi yang dibutuhkan cukup besar, sehingga dapat disimpulkan bahwa motor stepper ini memiliki karakteristik yang sesuai untuk perancangan ini. Keunggulan lain dari motor stepper adalah adanya karakteristik torsi penahan (holding torque) dimana dalam karakteristik tersebut akan dapat menahan alat pada posisi tertentu sesuai dengan kebutuhan meskipun alat tersebut memiliki beban yang cukup berat. Pada saat motor stepper bekerja terjadi kondisi dimana motor stepper akan berputar dan berhenti secara berulang – ulang dan ini tidak dimilki oleh jenis motor yang lain. Dalam pemilihannya harus pula diketahui karakteristik dari motor stepper, baik dari besaran putaran yang dimiliki, power yang dibutuhkan, jumlah bit yang dimiliki serta banyaknya step yang bisa dihasilkan dalam satu putaran karena semua karakteristik tersebut mempengaruhi jalannya alat yang akan dirancang. Dalam perancangan ini motor tidak langsung dihubungkan dengan mikrokontroler AT 89S52. Modul motor stepper dihubungkan dengan rangkaian driver yang berfungsi untuk menguatkan arus yang dibutuhkan sehingga motor mendapatkan input data atau informasi agar motor dapat berputar, berupa gerakan rotasi kekiri dan kekanan ataupun keatas dan kebawah. Port yang digunakan pada rangkaian driver untuk mengirim data ke motor stepper adalah Port (Q1…Q8). Dimana dalam perancangan sistem ini motor stepper yang digunakan sebanyak dua buah dengan rincian kedua motor tersebut digunakan untuk memutar ke kiri dan ke kanan tiap sendi lengan robot planar. Selain dihubungkan ke sistim minimum mikrokontroler, maka untuk dapat menggerakan modul – modul mekanik ke dua motor stepper tersebut mendapatkan daya dari power supply sebesar 12 volt DC. Motor stepper yang digunakan ini memiliki 4 bit data dan 1 common.
71 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Gambar 4.7. Rangkaian Driver Motor stepper 4.1.2.3. Perancangan rangkaian modul motor DC. Untuk mengontrol agar motor DC memutar kiri-kanan dapat dilakukan dengan membalik arah polaritas dari titik catu dayanya, oleh karena itu diperlukan suatu rangkaian yang dapat membalik titik popularitas pada motor DC, yang rangkaiannya dapat dilihat pada gambar. Rangkaian ini dikendalikan oleh kondisi 2 bit inputnya, bila kombinasi adalah '0' dan '0' atau '1' dan '1', motor DC tidak dapat bekerja karena salah satu jalur arus dari Vcc terputus. Dan apabila kombinasi '0' dan '1', maka motor akan berputar ke arah kanan menggerakan lengan keatas, dan bila kombinasi adalah '1' dan '0', maka motor akan berputar ke arah kiri yang menggerakan lengan kebawah. Penjelasan untuk yang diaplikasikan untuk menggerakan posisi keatas atau kebawah menggunakan motor DC sama seperti dengan penjelasan diatas.
Gambar 4.8 Rangkaian Pembalik Putaran Motor DC
72 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
4.1.2.4. Perancangan Rangkaian Modul Pompa Vakum. Seperti telah dijelaskan sebelumnya, bahwa pompa vakum akan langsung dihubungkan dengan mikrokontroler melalui Port 3 (P3.0) yang sebelumnya dirangkai dengan sebuah relay dan rangkaian driver. Pompa ini akan menghisap udara melalui selang kecil dari wadah yang berada di ujung lengan kedua sehingga dapat memungut butiran pil satu-persatu. Pompa yang digunakan merupakan pompa penghisap yang biasa digunakan diindustri dengan daya sebesar 24 volt DC.
Gambar 4.9. Rangkaian modul Pompa 4.1.2.5. Perancangan Modul Rangkaian Sistem Minimum Mikrokontroler AT89S52 Rangkaian sistem minimum ini terdiri dari Mikrokontroler AT 89S52 yang merupakan pusat pengendali keseluruhan pergerakan sistem. Rangkaian sistem minimum mempunyai tugas yang sangat penting, yaitu mengolah data yang masuk dari rangkaian pendukung lainnya untuk kemudian di terjemahkan dan selanjutnya dikirim kembali untuk menggerakan rangkaian lainnya. Sebagai pusat pengelola data dalam sistem rangkaian ini, terdapat pada Mikrokontroler AT 89S52 dimana semua data yang diterima dari rangkaian sensor limit switch berfungsi sebagai input atau masukan dari seluruh sistem. Untuk mengaktifkan mikrokontroler AT 89S52 ini maka diberikan tegangan sebesar 5 volt DC melalui pin 20 yang diberikan oleh power supply. Selanjutnya mikrokontroler akan memproses semua data atau informasi yang telah diprogram sebelumnya untuk kemudian dikirimkan ke rangkaian driver dari motor stepper. Dalam menstransmisikan data yang ada, port yang digunakan pada mikrokontroler adalah Port 3 (P0.0…P0.4). Untuk Port 3 (P3.0) digunakan menerima data dari rangkaian sehingga mikrokontroler dapat memproses dan menghasilkan output berupa bekerjanya motor stepper sesuai dengan program yang telah dibuat. Sedangkan Port 3 (P3.1…P3.4) 73 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
menerima data dari rangkaian sensor switch sehingga mikrokontroler mendapatkan input yang kemudian diproses menjadi output yang selanjutnya akan dikirmkan melalui Port 1 (P2.0…P2.7), Port ini akan berfungsi sebagai jalur data dan address yang dihubungkan kejalur data pada rangkaian driver (D0…D7). Pada sistem ini juga diaktifkan Pin reset dan Pin ini dihubungkan dengan saklar untuk mengaktifkannya. Pin reset ini berguna untuk mengulang program ke awal proses. Data yang telah diproses pada mikrokontroler selanjutnya dikirim ke rangkaian driver. didalam rangkaian driver yang merupakan interface antar device, data akan diproses dan dipilih sesuai dengan fungsi dan jenisnya. Selanjutnya data yang telah terpilih tersebut dikirim ke masing – masing motor stepper. Port yang digunakan pada rangkaian driver untuk mengirim data ke motor stepper adalah Port (Q…Q8).
Gambar 4.10. Rangkaian sistim minimum 4.2.
Perancangan Modul Perangkat Lunak. Perancangan perangkat lunak atau pemprograman sistem menggunakan bahasa
assembly dan C untuk mikrokontroler AT 89S52. Tugas robot adalah mengambil butiran obat dari kordinat X1,Y1 menuju X2, Y2. Program akan dibagi menjadi tiga rutin utama yaitu : 1.
Menampilkan pilihan menu LCD dan menentukan posisi tiap jenis obat di koordinat X,Y
2.
Menghitung besar sudut tiap lengan yaitu θ1, θ2 untuk mencapai koordinat tersebut dengan pemodelan invers kinematik. 74 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
3.
Mengendalikan motor stepper lengan satu, motor stepper lengan kedua dan menggerakan motor DC batang penghisap.
Tampilan menu LCD
Masukan pilihan
PROGRAM KENDALI ROBOT
Posisi Tujuan dalam dalam koordinat x,y
Kinematik mundur
Perintah gerakan dalam derajat Motor Sendi 1 θ1 Motor Sendi 2 θ2
Gambar 4.11 Diagram blok program kendali lengan robot planar dua sendi 4.2.1 Alur diagram dari program utama pergerakan lengan robot planar dua sendi. Contoh kasus : Jika apoteker menginginkan vitamin C cukup dengan menekan tombol pilihan pada menu maka lengan robot tersebut akan mengambil satu butir tablet vitamin C dari tempatnya. 1. Pertama LCD akan menampilkan menu berupa pilihan berbagai macam obat yang tersedia. 2. Setiap tombol scroll ditekan menu akan terus berganti menampilkan macam obat yang tersedia. 3. Begitu tombol pilih ditekan motor stepper berputar menggerakan lengan robot ke titik koordinat posisi obat yang dipilih. 4. Lengan yang ketiga bergerak vertical ke bawah sampai menyentuh obat yang hendak diambil. 5. Pompa vakum menghisap butiran pil satu persatu. 6. Lengan robot kembali bergerak ketitik semula 7. Butiran obat diletakan pada wadah untuk dikumpulkan 8. Siap untuk menerima perintah pengambilan kembali. Untuk gambar diagaram alir pergerakan lengan diperlihatkan seperti gambar 4.13
75 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Mulai
SW menggulung
Tidak Ya Gulung menu LCD
SW pilih menu
Tidak Ya Tentukan koordinat tujuan X, Y
Selesai Gambar 4.12. Diagram Alir penentuan koordinat tujuan 4.2.5. Program Pengendali Motor Nilai sudut yang didapat digunakan rutin program penggerak motor stepper untuk berputar sebanyak berapa langkah yang perlu. kemudian batang penghisap bergerak turun untuk memungut pil.
76 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Mulai Besar sudut tujuan lengan1=θ1 lengan2=θ2
Banyak langkah n = θ/1,8o
Putar Motor sebanyak n langkah { Data=00010001 for(i=0;i>1; //geser data
Rutin memungut obat
Putar balik Motor sebanyak n langkah { Data=00010001 for(i=0;i>1; //geser data
Selesai
Gambar 4.13. Diagram alir program penggerak lengan robot
77 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.
Mulai Putar motor DC menggerakan batang penghisap turun
Swith menyentuh dasar Buka katup selenoid Putar motor DC menggerakan batang penghisap naik Swith menyentuh batas atas
Putar balik Motor sebanyak n langkah kembali awal { Data=00010001 for(i=0;i>1; //geser data
Tutup katup selenoid
Selesai
Gambar 4.14. Diagram Alir program penggerak batang penghisap
78 Perancangan aplikasi..., Dian Hardiyanto, FT UI, 2008.