BAB 3 PERANCANGAN SISTEM Perancangan sistem ini secara umum dapat dibagi kedalam tiga bagian, yaitu perancangan perangkat keras, perancangan piranti lunak dan rancang bangun. Perancangan perangkat keras terdiri dari perancangan berbagai komponen elektrik yang digunakan dalam sistem. Perancangan piranti lunak terdiri dari perancangan program-program yang digunakan dalam sistem. Rancang bangun terdiri dari perancangan mekanik penggerak robot serta sistem kerja mekanik robot tersebut.
3.1
Perancangan Perangkat Keras Perancangan perangkat keras sistem ini terdiri dari dua bagian dimana
bagian pertama difungsikan pada robot dan bagian kedua difungsikan untuk RFID yang dikontrol oleh PC. Robot menggunakan 2 aki yang memiliki nilai tegangan yang sama yaitu 12,4V. Aki yang memiliki arus sebesar 5Ah dan difungsikan sebagai sumber tegangan untuk setiap motor pada robot seperti motor pada forklift dan motor pada roda kiri dan kanan robot. Sedangkan aki yang memiliki arus sebesar 2,2 Ah digunakan sebagi sumber tegangan modul-modul yang ada pada robot. Sedangkan untuk modul RFID_PC digunakan adaptor dengan tegangan 9V / 1A.
64
65
3.1.1
Perancangan Perangkat Keras pada Robot
Gambar 3.1 Blok Diagram Sistem Robot Robot menggunakan AVR ATMega 8535 untuk memproses semua pergerakan robot. Robot dapat berkomunikasi dengan PC dengan menggunakan jalur serial RS232, sehingga robot memerlukan IC MAX232 untuk mengubah level tegangan dari TTL ke RS232 dan sebaliknya. Pada robot juga terdapat RFID sebagai sensor pendeteksi barang, dimana untuk berkomunikasi dengan RFID diperlukan jalur I2C. Selain itu robot juga mendeteksi sensor line follower dan sensor ketinggian pada forklift. Untuk bergerak robot menggunakan motor DC
66
sebagai aktuatornya, dimana pada robot terdapat 3 motor yang difungsikan untuk roda kiri, roda kanan dan pengangkat lengan forklift, dan diperlukan driver motor untuk dapat menggerakkan motor DC tersebut. Selain itu robot juga dilengkapi dengan modul LCD untuk menunjukkan pesan kesalahan yang terjadi pada robot.
A.
Modul AVR pada Robot
Gambar 3.2 Modul AVR pada Robot AVR ATMega 8535 difungsikan untuk memproses masukan yang berasal dari sensor Line Follower sebagai penunjuk arah, sensor ketinggian sebagai
67
penunjuk ketinggian lengan forklift, RFID sebagai pendeteksi barang, serta serial UART untuk menerima perintah dari PC. Selain itu AVR juga dapat mengontrol pergerakan motor DC dan tampilan LCD.
B.
Modul RFID pada Robot
Gambar 3.3 Modul RFID pada Robot RFID (U2) berkomunikasi dengan AVR (U1) dengan menggunakan komunikasi I2C dengan menggunakan pin SDA dan SCL pada AVR (U1) sehingga komunikasi dapat terjadi. Untuk supply tegangan digunakan tegangan 3.3V sebagai sumber tegangan RFID. Pada pin RFID_IN diberikan pembagi tegangan dengan memfungsikan dua buah resistor yaitu R5 yang bernilai 2KΩ dan R6 yang bernilai 2K2Ω seperti pada Gambar 3.3. Alasan digunakan pembagi tegangan tersebut karena karakteristik dari keadaan high tegangan input VTH RFID yaitu 0,6VDD untuk minimum dan 0,7VDD untuk maksimum. Pada modul ini digunakan dua buah transistor Q1 dan Q2 dengan tipe S9013 yang berfungsi
68
sebagai stepup tegangan untuk RFID_OUT. Ketika pin 5 menghasilkan logika ‘0’ maka Kolektor pada Q1 akan bernilai ‘1’ sehingga Base pada Q2 bernilai ‘1’ dan mengakibatkan Kolektor dan Emitter pada Q2 terhubung sehingga RFID_OUT akan bernilai ‘0’. Begitu pula sebaliknya ketika pin 5 menghasilkan logika ‘1’ maka Kolektor dan Emitter pada Q1 akan terhubung sehingga Base pada Q8 akan bernilai ‘0’ dan mengakibatkan RFID_OUT akan bernilai ‘1’ karena terhubung dengan VCC 5V.
C.
Modul MAX232 pada Robot
Gambar 3.4 Modul MAX232 pada Robot Komunikasi serial antara komputer dengan modul AVR (U1) dikerjakan melalui IC MAX232 (U3) yang berfungsi sebagai konverter tegangan dari PC ke AVR, yaitu dari logic RS232 (-12 s.d.+12 V) ke dalam logic TTL (0 s.d.+5 V). Komunikasi dikerjakan melalui pin TX dan RX dimana TX (R1IN) yang
69
terkoneksi ke PC berfungsi untuk mengirimkan data dari PC dan diterima oleh RX (R1OUT) yang terkoneksi ke AVR (U1) yang berfungsi sebagai penerima dan begitu juga sebaliknya dengan TX (T1IN) yang terkoneksi ke AVR (U1) dengan RX (T1OUT) yang terkoneksi ke PC. Data yang dikirim dalam format 8 bit data dengan LSB dikirim terlebih dahulu, serta 1 start bit (berlogika 0) dan 1 stop bit (berlogika1). Untuk baudrate yang digunakan tergantung dari clock yang digunakan pada AVR (U1) dan nilai baudrate antar AVR (U1) dengan PC harus disamakan.
D.
Modul LCD pada Robot
Gambar 3.5 Modul LCD pada Robot Modul LCD (U4) yang digunakan memiliki tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul LCD ini dihubungkan dengan AVR (U1) yang di desain untuk mengendalikan LCD (U4). Untuk mengakses LCD (U4) diperlukan pengaturan pada pin RS, saat berlogika 0, register yang
70
dilakukan adalah perintah, sedangkan pada saat berlogika 1, register yang diakses adalah register data. Agar dapat mengaktifkan LCD (U4), proses inisialisasi harus dilakukan dengan mengeset bit RS dan membuat bit E dalam kondisi clear. Untuk jalur data digunakan pin 11-14 dan pengaturan pengesetan terang display dari LCD (U4) dapat dilakukan dari potensiometer R10 yang bernilai 10KΩ yang dihubungkan pada pin 3.
E.
Modul Driver Motor pada Robot
Gambar 3.6 Modul Driver Motor pada Robot
71
Modul driver dirancang dengan menggunakan suatu IC driver L298N (U5 dan U6) yang merupakan dual full-bridge driver yang dirancang untuk menerima logika TTL tingkat standar dan men-drive beban induktif seperti relay, solenoid, dan motor. Dua input enable dapat mengaktifkan atau menonaktifkan alat secara independent berdasarkan sinyal input. Driver motor L298N (U5 dan U6) mempunyai 4 input yang digunakan untuk mengontrol pergerakan dari motor dan dua input enable yang dipergunakan untuk switching motor dari keadan on dan off. Untuk mengontrol kecepatan dari motor suatu bentuk gelombang PWM dengan variabel duty cycle dapat dipergunakan pada pin enable. Pergantian tegangan listrik dengan cepat di antara Vs dan GND akan memberikan suatu tegangan listrik efektif di antara Vs dan GND dimana nilainya tergantung dari duty cylcle dari PWM. Duty cycle sebesar 100% akan memberikan nilai tegangan listrik sama dengan Vs, dan duty cycle sebesar 50 % sama dengan 0.5Vs dan seterusnya. PWM yang diberikan untuk menjalankan motor dapat bervariasi dari 30Hz sampai 4KHz, tergantung dari jenis motor DC yang digunakan. Penggunaan PWM yang tidak sesuai dengan motor DC akan menyebabkan driver menjadi terlalu panas dan motor DC yang digunakan tidak akan beroperasi dengan baik. H-Bridge yang dirancang menggunakan optional Auto-shutdown yang dipakai untuk memberhentikan motor secara langsung sehingga driver dan motor terlindungi jika ada gangguan seperti kelebihan arus yang menyebabkan panas berlebihan pada driver. Secara fungsional driver L298 (U5 dan U6) dapat digunakan untuk dua motor untuk setiap driver. Namun untuk menjalankan motor yang memerlukan arus yang besar diatas 2A, maka output dari driver dapat di
72
pararel sehingga arus yang dihasilkan adalah output yang berasal dari output 1 dan output 2. Komponen diode FR301 digunakan untuk melindungi motor dimana arus yang dilewati dapat lebih dari 2A. Penggunaan heatsink pada driver sangat disarankan karena panas yang dihasilkan cukup tinggi, apalagi pada saat PWM yang diberikan kurang tepat atau memaksa.
Gambar 3.7 Supply Tegangan H-Bridge dan Buffer pada Robot Sumber tegangan untuk mengaktifkan H-Bridge dan buffer menggunakan sumber tegangan dari modul regulator LM2576 (U25) dimana dapat menghasilkan output tegangan sebesar 5V dan arus sebesar 3A. Penggunaan regulator LM2576 difungsikan untuk step-down switching regulator sehingga
73
dapat dihasilkan tegangan yang bernilai tetap namun dapat diatur tegangan keluarannya. Selain itu LM2576 mudah untuk diaplikasikan karena hanya dibutuhkan komponen eksternal yang sederhana dan panas yang dihasilkan pun relatif lebih rendah dari regulator LM7805. Alasan dari penggunaan buffer (U26) pada H-Bridge karena motor yang ingin dikendalikan akan diatur dengan menggunakan sinyal PWM dengan menggunakan nilai frekuensi. Jika motor langsung diatur dari H-Bridge maka sinyal yang hilang ataupun terlalu cepat dapat tidak tertangkap ke motor, oleh karena itu outputnya lebih baik jika ditampung dahulu di buffer, setelah itu baru menuju ke motor.
F.
H-Bridge Forklift pada Robot
H-Bridge forklift (Gambar 3.8) ini menggunakan power transistor NPN TIP3055 (Q8 dan Q13) dan PNP TIP2955 (Q7 dan Q12), dimana kedua transistor ini dapat beroperasi pada besaran 15A dan 60V. Selain power transistor, digunakan juga transistor silicon dengan tipe NPN S9013(Q9, Q10, Q11, Q14, Q15, dan Q16) dengan
tujuan sebagai penguatan dari input motor. Untuk
menghasilkan arus yang memadai bagi motor maka diperlukan arus lebih besar dari 2A untuk menggerakkan motor. Dan cara yang dilakukan ialah dengan switching transistor menggunakan power transistor dengan menggunakan persamaan John Hewes yaitu :
74
................................................................. (4.1)
Gambar 3.8 Modul H-Bridge untuk Forklift pada Robot Arus yang diinginkan untuk menjalankan motor lebih besar dari 2A (IC), sehingga penguatan (hFE) yang didapatkan dari power transistor sebesar 70 sampai dengan 50 dan Vc yang digunakan sebesar 5V. Dari yang diketahui
75
tersebut maka besaran hambatan RB dapat diketahui melalui perhitungan seperti di bawah : •
Untuk hFE = 50 dan Ic = 4,8A RB =
12v x 50 5
x 4,8A
RB = 25 Ω •
Untuk hFE = 70 dan Ic = 6,7A RB =
12v x 70 5 x 6,7A
RB = 35 Ω
G.
Sensor Level Ketinggian Forklift dan Gerbang Logika AND pada Robot
Gambar 3.9 Sensor Ketinggian Forklift pada Robot
76
Untuk mengetahui keadaan dari ketinggian forklift maka digunakan sensor level ketinggian (U17 – U20) untuk mengetahuinya. Tiap sensor diletakkan diposisi masing-masing level ketinggian yang menandakan ketinggian dari forklift yang dicapai. Optocoupler digunakan sebagai sensor pendeteksinya dimana sensor akan menghasilkan logika high jika tidak ada penghalang antara photodiode dan phototransistor dan sensor akan menghasilkan logika low jika ada penghalang. Penghalang diletakkan pada forklift sedemikian rupa, sehingga pendeteksian level ketinggian dapat tercapai. Digunakan 4 sensor dimana tiap sensor memiliki peran masing-masing yaitu sebagai penanda level highest, middle 2, middle 1, dan lowest. Penggunaan transistor S9013 (Q17 - Q20) ialah sebagai penguat tegangan untuk logika dari optocoupler sehingga nilai logika high ataupun low dapat diterima dengan lebih pasti pada level tegangan analog.
77
Gambar 3.10 Aplikasi Gerbang Logika AND pada Robot Untuk mengetahui level ketinggian forklift pada posisi tengah-tengah maka diperlukan suatu cara untuk mendeteksinya. Karena itu digunakan gerbang logika AND (U21) untuk memproses nilai input dari sensor ketinggian Middle 1 dan Middle 2. Nilai output dari gerbang logika AND (U21) akan dipengaruhi dari nilai pin 1 dan pin 2 karena nilai pin 4 dan pin 5 telah bernilai logika high,
78
sehingga output dari gerbang logika adalah high. Namun saat forklift melewati sensor Middle 1 atau Middle 2 maka output dari gerbang logika akan bernilai logika low karena operasi logika AND akan bernilai low jika ada inputnya yang bernilai low. H.
Sensor Line Follower
Gambar 3.11 Skematik Modul Sensor Line Follower pada Robot Sensor pantul digunakan sebagai sensor pada line follower dimana dalam satu sensor tersebut terdapat sinar infra merah yang berfungsi sebagai transceiver dan phototransistor yang berfungsi sebagai receiver. Sensor pantul tersebut dinamakan sebagai optocoupler. Output yang dihasilkan dari optocoupler tidak
79
dimungkinkan untuk langsung diinputkan ke AVR (U1) karena range tegangan yang dihasilkan relatif kecil sehingga akan sulit untuk membedakan kondisi high dan low dan sistem akan bekerja, tidak sesuai dengan yang diharapkan. Digunakan sebuah komparator tegangan yang difungsikan sebagai penguat dari tegangan yang dihasilkan oleh optocoupler dimana dilakukan pengaturan besar dari nilai resistansi pada pin negatifnya. Maksud dari pengaturan tersebut ialah untuk mendapatkan nilai input yang sesuai untuk komparator sehingga bisa dihasilkan output yang maksimal dari input antara pin negatif dan positifnya. Ketika sensor terkena daerah berwarna putih maka base dan collector pada optocoupler akan terhubung sehingga arus akan mengalir pada input positif pada komparator, dan komparator akan memberikan nilai high berupa tegangan kepada AVR berdasarkan perbandingan dari input negatif dan positif. Sedangkan jika sensor terkena garis hitam maka optocoupler tidak akan mengalirkan arus, dan komparator mendapatkan input hanya dari pin negatifnya sehingga komparator akan memberikan nilai low kepada AVR. Untuk sensor line follower digunakan 7 buah sensor pantul dimana cahaya yang digunakan ialah sinar infra merah yang memiliki jangkauan yang lebih baik dibandingkan dengan cahaya yang berasal dari LED. Sensor disusun secara 2 baris dimana baris depan terdiri dari 5 sensor dan baris belakang terdiri dari 2 sensor. Penggunaan 5 sensor pada baris depan dan 2 sensor pada baris belakang dimaksudkan untuk membuat suatu acuan posisi dari titik yang ditangkap oleh sensor terhadap garis. Sensor pada baris depan akan menjaga posisi robot ketika berjalan maju dimana keadaan sensor akan mempengaruhi pergerakan dari robot
80
sehingga robot akan memperbaiki kesalahan posisi berdasarkan acuan dari sensor pada baris depan. Untuk jalan mundur, sensor pada baris belakang akan memberikan input ke kontroler apakah robot masih berjalan dalam garis atau tidak, dan posisi robot akan dipengaruhi oleh sensor pada baris depan.
I.
Modul Power (LM7805, AIC1734, MJ2955)
Gambar 3.12 Modul Power AIC1734 pada Robot
Gambar 3.13 Suply Tegangan (5V/3A) AVR dan Sensor pada Robot Sumber tegangan yang digunakan untuk modul kontroler dan sensor menggunakan regulator LM7805 yang digabungkan dengan power transistor
81
MJ2955. Transistor MJ2955 digunakan untuk switching dan penguatan power sehingga arus yang dihasilkan dari power transistor bisa lebih dari 3A. Karena beroperasi dalam watt yang besar maka resistor yang digunakan dapat beroperasi pada 5 W agar kerusakan pada resistor dapat dihindari. Output dari LM7805 diparalelkan dengan collector pada MJ2955 dan output yang dihasilkan ialah 5 V dengan besar arus kelipatan dari 2 regulator LM7805 dan penguatan arus dari power transistor MJ2955. Untuk gambar rangkaian dari modul powernya dapat dilihat pada Gambar 3.13.
3.1.2
Perancangan Perangkat Keras pada modul RFID_PC
Gambar 3.14 Blok Diagram modul RFID_PC Gambar 3.14 merupakan blok diagram dari modul RFID_PC, dimana PC akan memberikan instruksi ke AVR melalui komunikasi serial melalui jalur
82
RS232 yang dikonversikan oleh MAX232 ke dalam level tegangan TTL. AVR akan melakukan instruksi yang diberikan dari PC untuk mengecek kondisi Tag, membaca Tag, menulis Tag, ataupun menghapus isi dari Tag menggunakan modul RFID yang dikontrol melalui jalur I2C.
A.
Modul RFID_PC
Gambar 3.15 Modul RFID_PC
83
Modul RFID_PC digunakan untuk melakukan read atau write pada Label Tag RFID yang ada di barang yang menunjukkan spesifikasi dari barang tersebut. Sebelum barang di bawa oleh robot ke tempat tujuan maka Label Tag RFID di tulis dahulu oleh RFID_PC dimana dilakukan sepenuhnya oleh pengguna dengan menggunakan program pada PC. Setelah setiap Label Tag di write maka Label tersebut telah memiliki nilai atau isi masing-masing. Setiap Label Tag yang telah memiliki nilai atau isi maka dapat dilihat dengan melakukan read pada Label Tag dengan modul RFID_PC dan isinya ditampilkan di PC. PC melakukan komunikasi dengan AVR ATMega8535L (U3) melalui komunikasi serial menggunakan MAX232 (U4) sedangkan Modul RFID langsung terhubung dengan AVR ATMega8535L (U3) dengan menggunakan jalur I2C.
3.2 Perancangan Piranti Lunak Perancangan piranti lunak dibagi menjadi tiga program berbeda, dimana tiap program dijalankan pada komputer, modul RFID_PC, dan modul AVR, dan tiap program memiliki fungsi khusus masing-masing. Fungsi program pada komputer adalah sebagai penghubung pengguna dengan robot dan tag RFID. Program pada komputer menggunakan bahasa pemrograman Visual Studio 2005, dimana pemilihan Visual Studio 2005 sendiri karena fungsi-fungsinya yang lengkap dan kemudahan bagi penggunanya. Selain menggunakan Visual Studio 2005, program pada komputer juga menggunakan SQL 2005 sebagai program database, dimana database yang akan disimpan
84
adalah database dari barang-barang yang disimpan di lemari, serta status pengiriman atau pengambilan barang oleh robot. Fungsi program pada modul RFID_PC adalah untuk menghubungkan komputer dengan modul RFID, dimana modul RFID menggunakan komunikasi dengan jalur I2C, sedangkan komputer menggunakan komunikasi UART. Hal tersebut maka dibutuhkan sebuah modul untuk mengkonversikan jalur UART menjadi I2C dan sebaliknya, serta menjadi buffer data. Dimana fungsi-fungsi dari modul RFID-PC antara lain untuk membaca nomor seri tag, membaca isi tag, menulis isi tag, dan menghapus isi tag. Program pada robot digunakan untuk menghubungkan robot dengan komputer menggunakan jalur UART, membaca isi dari tag, menjalankan motor forklift, memproses perintah dari komputer, mengontrol driver motor untuk menggerakkan roda, membaca sensor garis yang kemudian akan diolah agar robot dapat mengikuti garis tersebut, serta menampilkan pesan kesalahan pada LCD. Program pada modul RFID_PC dan robot menggunakan bahasa C dengan menggunakan program compiler CodeVisionAVR, dimana pada program ini menggunakan wizard untuk mengatur penggunaan fungsi-fungsi dari AVR, sehingga pemrograman akan lebih mudah. Penggunaan bahasa C untuk memprogram AVR lebih memudahkan dibanding menggunakan Bahasa Rakitan, karena AVR merupakan processor RISC sehingga pemrograman menggunakan Bahasa Rakitan akan memakan waktu lebih lama.
85
3.2.1
Perancangan Program pada Komputer Start
Initialisasi
T Input = RFID?
Robot?
Y
RFID? Taruh
Cek Tag
Cek Tag
Baca Tag
Baca Tag
Tulis Tag
Tulis Tag
Ambil
Hapus Tag
Baca Tag
Hapus Tag
Gambar 3.16 Alur Diagram Program pada Komputer
86
Gambar 3.17 Tampilan Antarmuka Pengguna untuk RFID
Gambar 3.18 Tampilan Antarmuka Pengguna untuk Robot Secara umum program pada komputer berfungsi sebagai penghubung antara pengguna dengan RFID dan juga dengan robot. Program ini dapat mengupdate database. Program pada komputer ini memiliki lima perintah yang
87
dapat di akses oleh pengguna yang terdapat dalam dua pilihan, antara lain pilihan untuk RFID dan pilihan untuk Robot. Perintah – perintah yang terdapat dalam pilihan RFID antara lain membaca nomor seri tag, menulis isi tag, membaca isi tag, dan menghapus isi tag. Sedangkan perintah – perintah yang terdapat dalam pilihan robot antara lain menaruh barang dan mengambil barang. Program pada komputer berbentuk seperti tampilan antarmuka pengguna yang terlihat seperti pada gambar 3.17 dan gambar 3.18. Pada gambar tersebut terlihat ada dua buah menu utama yaitu menu untuk RFID dan menu untuk Robot. Adapun fungsi dari setiap bagian pada program interface ini adalah sebagai berikut : 1.
Tabel database lemari.
2.
Tombol untuk memperbaharui isi tabel lemari.
3.
Pilihan com berapa yang digunakan untuk berkomunikasi.
4.
User interface untuk membaca, menulis, dan menghapus isi dari Tag.
5.
Pilihan untuk membaca serial number dari Tag.
6.
Pilihan untuk membaca isi dari Tag.
7.
pilihan untuk menulis Tag dengan isi Data Tulis.
8.
Pilihan untuk menghapus isi dari Tag.
9.
Isi dari data yang akan ditulis atau dibaca padaTag.
10.
Tombol untuk mengirim perintah kepada modul RFID.
11.
User interface untuk mengirimkan perintah mengambil atau menaruh pada robot.
12.
Pilihan untuk menaruh Tag pada lemari.
13.
Pilihan untuk mengambil Tag pada lemari.
88
14.
Koordinat dan isi Tag yang akan ditaruh atau diambil oleh robot.
15.
Tombol untuk mengirim perintah kepada robot.
A.
Antarmuka untuk RFID Perintah ‘Cek Tag’ berfungsi untuk memerintahkan modul RFID_PC
untuk membaca nomor seri dari tag yang terdeteksi. Fungsi ini juga dapat dipakai untuk mendeteksi adanya tag. Perintah ‘Baca tag’ berfungsi untuk memerintahkan modul RFID_PC untuk membaca isi data pada memori tag, kemudian data tersebut diolah dan ditampilkan dalam bentuk koordinat jalur, sisi, kolom, dan baris. Perintah ‘Tulis tag’ berfungsi untuk memerintahkan modul RFID_PC untuk menulis isi data pada memori tag dengan koordinat dan keterangan yang telah dimasukkan oleh pengguna serta mengupdate database dari koordinat tersebut dengan keterangan yang telah dimasukkan oleh pengguna serta melakukan perubahan status menjadi wait. Perintah ‘Hapus tag’ berfungsi untuk memerintahkan modul RFID_PC untuk membaca isi tag yang kemudian data hasil baca tersebut dipakai untuk memperbaharui database status dan keterangan dari tag yang ingin dihapus. Kemudian memerintahkan modul RFID_PC untuk menghapus isi tag dengan data 0FFh.
89
B.
Antarmuka untuk Robot Perintah ‘Taruh’ berfungsi untuk memerintahkan robot menaruh barang ke
koordinat yang dituju setelah robot membaca tag. Setelah tag terdeteksi oleh robot dan data koordinat berhasil dibaca, data tersebut kemudian akan dikirimkan oleh robot ke program untuk kemudian diolah dan dicocokkan dengan status dari tag tersebut pada database. Kalau statusnya adalah ‘wait’, maka program memerintahkan robot untuk berjalan, bila bukan, maka program meminta robot untuk membatalkan perintah. Perintah ‘Ambil’ berfungsi untuk memerintahkan robot untuk mengambil barang dengan koordinat yang telah dimasukkan oleh pengguna dan kemudian memperbaharui status pada database dari koordinat yang dipilih tersebut menjadi ‘lemari’.
C.
Database Robot Sistem ini menggunakan SQL2005 sebagai database. Database tersebut
digunakan untuk mendata isi dari slot lemari. Adapun tabel database yang digunakan : •
Nomor dengan tipe integer sebagai Primary Key.
•
Jalur dengan tipe integer
•
Sisi dengan tipe varchar
•
Kolom dengan tipe integer
•
Baris degan tipe integer
90
•
Keterangan dengan tipe Varchar(94)
•
Status dengan tipe Varchar(6) Nomor adalah nomor dari slot lemari, sedangkan jalur, sisi, baris dan
kolom adalah koordinat dari slot lemari tersebut. Keterangan adalah isi dari slot lemari tersebut. Status adalah status dari barang yang disimpan pada slot tersebut. Status dapat berupa wait, lemari, ataupun kosong. Wait artinya slot tersebut sudah terisi barang tetapi barang tidak berada pada slot lemari, lemari artinya slot tersebut sudah terisi barang dan barang berada pada slot lemari, dan kosong artinya slot lemari tersebut belum terisi barang.
Gambar 3.19 Contoh Database Robot
Database Pada PC dibuat supaya pengguna dapat mengetahui record berupa keterangan dan status dari setiap slot penyimpanan. Isi dari database dapat dilihat langsung pada user interface baik untuk menu RFID atau pada menu Robot
91
dan database tersebut dapat langsung diperbaharui saat pengguna memberikan perintah baru baik untuk RFID ataupun untuk Robot. Pada kolom keterangan digunakan untuk mengetahui keterangan yang telah dituliskan pada tag. Untuk kolom status ada tiga jenis status yang digunakan untuk menandakan status dari slot penyimpanan yaitu ‘kosong’, ‘wait’, dan ‘lemari’ seperti contoh yang ditunjukkan pada Gambar 3.19 . Status ‘kosong’ artinya slot penyimpanan dalam keadaan tersedia untuk diisi, status ‘wait’ artinya slot penyimpanan sudah akan diisi oleh robot, dan status ‘lemari’ artinya slot penyimpanan dalam keadaan terisi.
D.
Format Data pada tag RFID
Gambar 3.20 Format data pada tag RFID Sistem menggunakan 96 Byte penyimpanan pada tag RFID dengan perincian 2 byte pada MSB sebagai koordinat dan 94 byte sisanya sebagai keterangan. 2 byte koordinat terdiri dari 1 bit sisi, 7 bit jalur, 4 bit kolom dan 4 bit baris. Dengan demikian sistem dapat mencakup 128 jalur dengan 2 sisi, 16 kolom dan 16 baris pada setiap jalurnya.
92
E.
Format Data untuk komunikasi UART
Gambar 3.21 Format Komunikasi PC – Robot & PC – RFID Dibuat sebuah format pengiriman data untuk komunikasi antar program Robot Controller dengan robot dan modul RFID_PC. Format tersebut ditunjukkan seperti pada Gambar 3.21 dengan format 1 Byte panjang data dari perintah hingga data paling akhir, 1 Byte perintah dan selanjutnya adalah data.
3.2.2
Perancangan Program pada Modul RFID-PC Secara umum program pada modul RFID-PC berfungsi sebagai
penghubung komputer dengan modul RFID. Dimana AVR pada modul RFID-PC akan menjalankan perintah yang diberikan oleh komputer. Modul RFID-PC ini memiliki empat perintah yang dapat diberikan, antara lain: perintah untuk mendeteksi ada tidaknya tag, perintah untuk membaca isi tag, perintah untuk menulis tag, dan perintah untuk menghapus isi tag. Semua perintah itu diberikan oleh komputer sesuai dengan kebutuhan dari program komputer. Semua perintah akan menghasilkan respon berupa status dari proses yang dikerjakannya, yang kemudian status itu akan dikirimkan ke PC melalui jalur UART.
93
A.
Diagram Alir Umum Program pada Modul RFID_PC
Gambar 3.22 Diagram alir Program pada Modul RFID_PC Setelah melakukan inisialisasi yang berupa inisialisasi jalur UART dan inisialisasi jalur I2C, program akan menunggu hingga ada perintah yang diberikan oleh komputer. Setelah perintah diterima, maka perintah akan dibaca. Apabila
94
perintahnya merupakan perintah untuk mengecek ada atau tidaknya tag, maka akan dipanggil fungsi Cek_tag. Bila perintahnya adalah untuk membaca isi tag, maka program akan memanggil fungsi Baca_tag. Bila perintahnya adalah untuk menulis tag, maka program akan memanggil fungsi Tulis_tag. Bila perintahnya adalah untuk menghapus isi tag, maka program akan memanggil fungsi hapus tag. Bila perintahnya tak terdefinisikan, maka program akan membuat status menjadi Error_Command. Setelah menjalankan fungsi yang dipanggil maka program akan mengirimkan status dari proses yang dilakukan melalui jalur UART untuk diolah oleh komputer dan direspon oleh pengguna.
B.
Diagram Alir Fungsi Cek_tag pada Modul RFID-PC
Gambar 3.23 Diagram alir Program pada Modul RFID-PC Fungsi Cek_tag adalah fungsi untuk membaca nomor seri dari tag yang terdeteksi. Untuk bisa membaca nomor serial dari tag maka digunakan perintah Select Mifare Card ke modul RFID. Perintah tersebut dimaksudkan agar modul
95
RFID dapat mengenali jenis tag yang terdeteksi dan membaca nomor serial dari tag tersebut. Setelah perintah tersebut dikirimkan, maka akan ada balasan dari modul RFID berupa nomor serial dari tag yang terdeteksi tersebut dan status yang menyatakan pembacaan tag berhasil atau tidak, kemudian nomor seri tersebut dikirimkan ke program Robot Controler. Apabila fungsi Cek_tag dipilih pada saat tidak ada tag yang dideteksi, maka nomor serial idak akan muncul dan dikirimkan status tidak ada tag.
C.
Diagram Alir Fungsi Baca_tag pada Modul RFID_PC
Gambar 3.24 Diagram alir Fungsi Baca_tag pada Modul RFID_PC
96
Fungsi Baca_tag berfungsi untuk membaca isi tag pada sector dua dan tiga. Fungsi ini akan menunggu hingga tag yang mau dibaca didekatkan ke modul RFID dan terdeteksi oleh modul RFID, baru kemudian menjalankan semua perintah-perintah yang ada didalamnya. Program bekerja dalam dua looping, karena data hanya dapat dibaca setiap satu block, dimana tiap block berisi 16 byte data. Dan untuk mengakses setiap block harus log-in dahulu pada sector dimana block tersebut berada, sehingga sebelum mengirimkan perintah untuk membaca sebuah block terlebih dahulu harus dikirimkan perintah log-in sector melalui jalur I2C ke modul RFID. Setelah log-in baru dikirimkan perintah membaca block melalui jalur I2C ke modul RFID. Delay 100ms diberikan untuk menunggu modul RFID selesai menjalankan perintah. Setelah itu baru dikirimkan perintah untuk membaca status pengerjaan melalui jalur I2C ke modul RFID. Setelah data terkirim data yang berada di dalam buffer dicopy ke variable array hasil, variabel hasil ini akan dicopy ke variable status sebagai status pengerjaan.
97
D.
Diagram Alir Fungsi Tulis_tag pada Modul RFID-PC
Gambar 3.25 Diagram alir Fungsi Tulis_tag pada Modul RFID-PC Fungsi Tulis_tag berfungsi untuk menulis isi dari tag yang diinginkan. Pada saat fungsi ini dijalankan, maka modul RFID akan melakukan log-in terlebih dahulu ke tag yang ingin ditulis agar dapat masuk ke dalam sector dalam tag. Program bekerja dalam dua looping, karena data hanya dapat ditulis setiap satu block, dimana tiap block berisi 16 byte data. Dan untuk mengakses setiap block harus log-in dahulu pada sector dimana block tersebut berada, sehingga sebelum mengirimkan perintah untuk membaca sebuah block terlebih dahulu harus
98
dikirimkan perintah log-in sector melalui jalur I2C ke modul RFID. Setelah log-in baru dapat dikirimkan perintah untuk menulis block beserta isi block yang mau dituliskan melalui jalur I2C ke modul RFID. Delay 100us diberikan untuk menunggu modul RFID selesai menjalankan perintah. Setelah itu baru dikirimkan perintah baca melalui jalur I2C ke modul RFID. Setelah data terkirim data yang berada di dalam buffer dicopy ke variable array hasil, variabel hasil ini akan dicopy ke variable status sebagai status pengerjaan. Fungsi Tulis_tag menulis isi tag pada sector dua dan tiga. Fungsi ini akan menunggu hingga tag yang mau dibaca didekatkan ke modul RFID dan terdeteksi oleh modul RFID, baru kemudian menjalankan semua perintah-perintah yang ada didalamnya. Program bekerja dalam dua looping, karena data hanya dapat ditulis setiap satu block, dimana tiap block berisi 16 byte data. Dan untuk mengakses setiap block harus log-in dahulu pada sector dimana block tersebut berada, sehingga sebelum mengirimkan perintah untuk membaca sebuah block terlebih dahulu harus dikirimkan perintah log-in sector melalui jalur I2C ke modul RFID. Setelah log-in baru dapat dikirimkan perintah untuk menulis block beserta isi block yang mau dituliskan melalui jalur I2C ke modul RFID. Delay 100ms diberikan untuk menunggu modul RFID selesai menjalankan perintah. Setelah itu baru dikirimkan perintah baca melalui jalur I2C ke modul RFID. Setelah data terkirim data yang berada di dalam buffer dicopy ke variable array hasil, variabel hasil ini akan dicopy ke variable status sebagai status pengerjaan.
99
E.
Diagram Alir Fungsi Hapus_tag pada Modul RFID-PC
Gambar 3.26 Diagram alir Fungsi Hapus_tag pada Modul RFID-PC
Fungsi Hapus_tag untuk menulis isi tag pada sector dua dan tiga dengan nilai 0FFh. Fungsi ini akan menunggu hingga tag yang mau dibaca didekatkan ke modul RFID dan terdeteksi oleh modul RFID, baru kemudian menjalankan semua perintah-perintah yang ada didalamnya. Program bekerja dalam dua looping dimana data hanya dapat ditulis setiap satu block dan tiap block berisi 16 byte data. Untuk mengakess setiap block harus log-in dahulu pada sector dimana block tersebut berada, sehingga sebelum mengirimkan perintah untuk membaca sebuah
100
block terlebih dahulu harus dikirimkan perintah log-in sector melalui jalur I2C ke modul RFID. Setelah log-in baru dapat dikirimkan perintah untuk menulis block beserta nilai 0FFh melalui jalur I2C ke modul RFID. Delay 100us diberikan untuk menunggu modul RFID selesai menjalankan perintah. Setelah itu baru dikirimkan perintah baca melalui jalur I2C ke modul RFID. Setelah data terkirim data yang berada di dalam buffer dicopy ke variable array temp, status yang berada divariable temp ini dicopy ke status sebagai status pengerjaan.
F.
Diagram Alir Interupt USART_RXC pada Modul RFID_PC Fungsi interupsi ini untuk menyimpan data yang dikirimkan oleh
komputer melalui UART. Setiap kali AVR menerima data dari UART maka interupsi ini dipanggil dan fungsi ini mengcopy buffer kedalam variable data. Data pertama yang dikirimkan oleh komputer adalah jumlah data yang akan dikirimkan oleh komputer. Oleh karena itu dibutuhkan sebuah counter untuk menghitung jumlah data yang sudah dikirimkan. Variable dataptr berisi jumlah data yang belum terkirim. Bila dataptr bernilai nol, maka data dicopy ke variable Dataptr sebagai petunjuk jumlah data yang akan dikirim, kemudian data dimasukkan ke dalam buffer. Setelah data dimasukan ke dalam bufer maka Dataptr akan dikurang satu. Jika Dataptr sudah bernilai nol, maka perintah sudah ada dan siap untuk diambil dari buffer.
101
Gambar 3.27 Diagram Alir Interupt USART_RXC pada Modul RFID_PC
3.2.3
Perancangan Program Pada Robot Robot melakukan inisialisasi terhadap jalur UART pada saat awal.
Kemudian robot akan menunggu perintah yang diberikan oleh pengguna melalui program yang terdapat pada PC. Jika tidak ada perintah maka robot akan menunggu sampai perintah diberikan. Setelah robot mendapat perintah, robot akan mencek perintah yang diberikan. Apabila perintah yang diberikan adalah
102
’ambil’, maka buffer UART akan disalin ke robot supaya robot dapat mengetahui koordinat slot yang dituju. Apabila perintah yang diberikan adalah ’taruh’, maka lokasi koodinat tujuan akan disalin dari memori tag yang dideteksi oleh robot yang kemudian digunakan robot untuk menuju ke lokasi koordinat slot yang dituju.
103
Gambar 3.28 Diagram Alir Robot Secara Umum
104
A.
Fungsi Jalan pada Robot
A2
B2
A1
B1
6 7
A0
5
B0
4 3 1
8 9
2
10
2
Gambar 3.29 Diagram alir Fungsi Jalan pada Modul AVR Tabel 3.1 Perancangan Pergerakan Robot Nomor arah
Keterangan
1
Robot berjalan meninggalkan base dan maju menuju jalur yang dituju dengan persamaan ((koordinat jalur x 2) + 1).
2
Belok maju ke kiri 900.
3
Jalan maju sebanyak (koordinat kolom + 1).
4
Belok dan maju ke sisi yang dituju
105
5
Bila perintah taruh maka lengan forklift dinaikkan setinggi forklift yang dituju ditambah tinggi indikator dari lengan forklift. Bila perintah ambil maka lengan forklift dinaikkan setinggi forklift yang dituju dikurangi tinggi indikator dari lengan forklift kemudian cek Tag dari barang.
6
Robot bergerak mundur sebanyak 1x.
7
Robot belok mundur kearah kanan sampai keluar dari jalur lemari dengan arah sesuai yang ditunjukkan oleh tanda panah.
B.
8
Robot berjalan mundur 1x.
9
Belok mundur ke kiri 900.
10
Robot jalan mundur menuju Home.
Fungsi Jalan Maju Untuk jalan maju, digunakan sensor belakang dan depan untuk
mengetahui posisi robot terhadap garis. Jika terkena garis maka sensor akan memberikan nilai logika ”0” dan jika tidak terkena garis maka sensor akan memberikan nilai logika ”1”. S0
S1
S2
S3
S4
sensor_depan = (S4x2) + (S3x1) – (S1x1) – (S0x2) Gambar 3.30 Array Logika Sensor Terhadap Arah Robot
106
Dengan menggunakan perhitungan seperti pada Gambar 3.30, robot membaca sensor depan dan kemudian memproses sensor depan tersebut menjadi pergerakan seperti yang ditunjukkan pada Tabel 3.2. Tabel 3.2 Nilai sensor_depan Terhadap Arah Robot Keadaan nilai sensor_depan
Output
If (sensor_depan < 0)
robot condong ke arah kiri, maka roda kanan berhenti
If (sensor_depan > 0)
robot condong ke arah kanan, maka roda kiri berhenti
If(sensor_depan = 0)
robot dalam keadaan lurus terhadap garis, periksa keadaan sensor belakang(lihat Tabel 3.3)
Tabel 3.3 Nilai sensor_belakang terhadap sensor_depan sensor_belakang
Output
If (sensor_belakang == 01b)
roda kiri diperlambat
If (senso_ belakang == 10b)
roda kanan diperlambat
Else
roda berjalan dalam keadaan normal
C.
Fungsi Jalan Mundur Untuk jalan mundur, digunakan sensor belakang dan depan untuk
mengetahui posisi robot terhadap garis. Jika terkena garis maka sensor akan
107
memberikan nilai logika ”0” dan jika tidak terkena garis maka sensor akan memberikan nilai logika ”1”. Untuk berjalan mundur robot akan mendeteksi sensor belakang terlebih dahulu, kemudian bila sensor belakang tidak bermasalah maka baru robot akan mendeteksi sensor depan. Respon robot terhadap sensor belakang dilihat pada Tabel 3.4, sedangkan respon robot terhadap sensor depan dapat dilihat pada Tabel 3.5. Pembacaan sensor depan menggunakan perhitungan seperti pada Gambar 3.30. Robot akan menjalankan algoritma ini hingga robot mendeteksi sensor depan terkena garis seluruhnya.
Tabel 3.4 Logika pengolahan sensor belakang pada fungsi Jalan Mundur Keadaan nilai sensor belakang
Output
If (sensor_belakang == 10b)
Robot condong kearah kanan, sehingga roda kiri berhenti
If (sensor_belakang == 01b)
Roda condong kearah kiri, sehingga roda kanan berhenti
Else
Periksa sensor depan seperti pada Tabel 3.5
Tabel 3.5 Logika pengolahan sensor depan pada fungsi Jalan Mundur Keadaan nilai sensor depan
Output
If(sensor_depan < 0)
Robot sedikit miring ke arah kanan, sehingga roda kiri diperlambat
108
If(sensor_depan > 0)
Robot sedikit miring ke arah kiri, sehingga roda kanan diperlambat
If(sensor_depan == 0)
Roda berada pada kondisi normal , sehingga roda kembali kekecepatan awal.
D.
Diagram Alir Fungsi Ambil Barang pada Robot
Gambar 3.31 Diagram alir Ambil Barang pada Robot
109
Fungsi ’ambil barang’ adalah perintah yang meminta robot untuk mengambil barang yang sesuai dengan koordinat yang diberikan. Fungsi ini berjalan dengan membaca lokasi dan melihat apakah lokasi tersebut adalah lokasi yang valid ( jalur, kolom, dan baris tidak melebihi jalur yang tersedia ). Bila valid, robot mengirimkan status siap dan menunggu perintah untuk jalan atau untuk membatalkan perintah. Bila perintahnya jalan, maka robot akan berjalan.
E.
Diagram Alir Fungsi Taruh Barang pada Robot Taruh_barang
TX lokasi
Perintah T ada ? Y T T
Perintah == Cancel? Y
Perintah == Go? Y Jalan(Taruh)
Return
Gambar 3.32 Diagram alir Taruh Barang pada Robot Dengan memanggil fungsi ’taruh barang’, maka robot akan mengirimkan koordinat yang terdeteksi dari tag. Kemudian robot akan menunggu perintah jalan
110
atau perintah untuk membatalkan. Apabila jalan, maka robot akan berjalan ke koordinat yang diinginkan.
F.
Diagram Alir Fungsi Angkat pada Robot
Gambar 3.33 Diagram alir Fungsi Angkat pada Robot
Fungsi angkat pada robot berfungsi untuk menggerakkan robot untuk menaruh atau mengambil barang dengan posisi awal berada di depan lemari. Fungsi ini mengecek posisi lengan forklift sesuai dengan koordinat tingkat yang diinginkan atau tidak. Apabila tidak sesuai maka posisi lengan forklift akan diatur
111
sesuai dengan koordinat tingkat yang dituju. Jika fungsi yang diberikan oleh robot adalah ’taruh’, maka robot akan maju menuju ke dalam slot yang dituju dan kemudian lengan forklift akan turun sedkit untuk melepaskan barang ke dalam slot, kemudian setelah selesai menaruh barang, maka robot akan mundur kembali dan posisi lengan forklift diturunkan ke tingkat paling bawah. Jika fungsinya adalah ’ambil’ maka robot akan maju ke dalam slot yang dituju dan setelah lengan forklift mencapai posisi pas untuk mengambil, maka lengan forklift akan diangkat sedikit supaya barang bisa diambil, kemudian robot mundur kembali dan posisi lengan forklift diturunkan sampai pada tingkat paling bawah.
G.
Diagram Alir Interupt USART_RXC pada Robot
Gambar 3.34 Diagram Alir Interupt USART_RXC pada Modul AVR
112
Fungsi interupsi ini untuk menyimpan data yang dikirimkan oleh komputer melalui UART. Setiap kali AVR menerima data dari UART maka interupsi ini dipanggil dan fungsi ini mengcopy buffer kedalam variable data. Data pertama yang dikirimkan oleh komputer adalah jumlah data yang akan dikirimkan oleh komputer. Oleh karena itu dibutuhkan sebuah counter untuk menghitung jumlah data yang sudah dikirimkan. Variable dataptr berisi jumlah data yang belum terkirim. Bila dataptr bernilai nol, maka data dicopy ke variable Dataptr sebagai petunjuk jumlah data yang akan dikirim, kemudian data dimasukkan ke dalam buffer. Setelah data dimasukan ke dalam bufer maka Dataptr akan dikurang satu. Jika Dataptr sudah bernilai nol, maka perintah sudah ada dan siap untuk diambil dari buffer.
3.3 Rancang Bangun Sistem Mekanik forklift yang digunakan pada robot terbuat dari bahan besi. Bagian forklift berbentuk rangka dengan menggunakan 4 buah kaki yang digunakan untuk menyatukan antara bagian forklift dengan badan robot. Konstruksi forklift sengaja dirancang untuk bisa dibongkar pasang supaya memudahkan dalam melakukan setting robot. Untuk bagian badan robot, digunakan bahan aluminium yang berukuran 50x30 cm dengan ketebalan 2 mm yang tergambar pada Gambar 3.35. Konstruksi mekanik forklift dapat dilihat pada Gambar 3.36 .
113
Gambar 3.35 Badan Bawah Robot
114
Gambar 3.36 Konstruksi Forklift
3.3.1
Analisa Pemilihan Motor Motor penggerak untuk robot dipilih dengan mempertimbangkan torsi
yang bisa dihasilkan dari motor tersebut karna melihat kondisi dari bobot robot yang cukup berat yang dikarenakan bahan yang digunakan terbuat dari logam. Motor yang digunakan untuk sistem penggerak robot forklift ini ini adalah jenis motor power window mobil. Motor power window mempunyai kelebihan dibanding jenis motor dc lainnya karena di dalam motor tersebut memakai transmisi antara dua buah gir, yaitu gir worm dan gir spur. Kombinasi kedua gir tersebut menghasilkan efisiensi mekanik yang maksimal karena rasio gir yang dihasilkan relatif besar sehingga torsi yang dihasilkan dari rasio kedua gir tersebut cukup untuk bisa menahan beban yang berat. Selain itu motor power window
115
memilki keuntungan yaitu dengan adanya gir worm didalam motor tersebut, maka robot akan berhenti apabila motor tidak mendapat sinyal listrik, hal ini dikarenakan ketika motor berhenti maka gir worm yang terdapat didalam motor akan menahan gir spur yang juga terdapat didalam motor, mengingat derajat kemiringan dari gir worm terbut sangat kecil.
3.3.2
Sistem Gir Pada Robot Untuk sistem pergerakan forklift robot, digunakan sebuah motor dengan
sistem gir worm yang terdiri dari satu buah gir worm dan satu buah gir spur. Kombinasi gir tersebut memiliki keuntungan dari segi efisiensi mekanik karena rasio gir yang dihasilkan dari perbandingan antara jumlah gigi gir pada poros motor dan poros keluarannya dapat dibuat relatif sangat besar dengan hanya sekali konversi. Jika ulir pada gir poros motor memiliki konfigurasi tunggal maka satu putaran penuh pada poros motor akan menghasilkan gerakan translasi (keliling) dari gir yang sebanding dengan jarak ulir dari sisi ke sisi. Jarak antar gir worm yang digunakan adalah 2mm dan diameter dari gir keluarannya adalah 10cm, dan untuk mencapai satu putaran penuh pada gir output maka poros motor harus berputar sebanyak
= 50 kali, sehingga rasio gir adalah 1:50. Jadi worm
gir ini memiliki torsi yang besar. Worm gir ini tidak dapat bergerak jika poros dari bagian spur gir yang diputar. Hal ini dapat digunakan sebagai mekanisme untuk mengunci gerakan.
116
Gambar 3.37 Sistem Gir Penggerak Forklift
3.3.3
Tata Letak Sensor Sensor yang digunakan pada robot forklift ini ada 2 jenis, yaitu sensor garis
dan sensor forklift.
A.
Sensor Garis Sensor garis yang digunakan adalah sensor optocoupler diletakkan dibawah
bagian bawah dari base robot. Sensor ini diletakkan ± 1.0cm dari lantai dan tepat berada di tengah-tengah base robot. Sensor ini berfungsi untuk mengenali garis berwarna hitam.
117
Gambar 3.38 Peletakkan Sensor Garis (optocoupler)
Tabel 3.6 Posisi sensor terhadap garis Gambar sensor terhadap garis
Keterangan Posisi sensor saat robot berada ditengah garis .
118
Posisi sensor saat robot berada ditengah garis dengan kemiringan 10o.
Posisi sensor saat jalan lurus dan miring ke kiri.
Posisi sensor saat robot bergesaer ke kanan.
119
Posisi sensor saat robot bergeser ke kiri.
Posisi sensor saat robot condong ke kanan sebesar 10o.
Posisi sensor saat robot condong ke kiri sebesar 10o.
120
Posisi
sensor
saat
robot
akan
berbelok.
Posisi sensor saat robot berada di depan lemari.
B.
Sensor Forklift Sensor
Forklift digunakan untuk menentukan ketinggian dari lemari
penyimpanan. Untuk menentukan tingkat satu sampai tingkat tiga, maka digunakan 3 buah sensor yang diletakkan pada tiang forklift yang menandai tiga tingkatan lantai tersebut dan juga sensor tersebut berfungsi untuk menandai batas pergerakan forklift dari yang paling bawah dan juga yang paling atas.
121
Gambar 3.39 Peletakkan sensor tingkat forklift
3.3.4
Modul RFID Modul RFID digunakan untuk mengenali barang yang diinginkan sehingga
untuk memudahkan dalam identifikasi barang, modul RFID diletakkan di bagian forklift robot. Penempatan modul RFID tersebut berada di bagian belakang forklift agar RFID tersebut dapat ikut naik dan turun sesuai dengan gerakan forklift. Penempatan RFID tersebut juga dilakukan karena mempertimbangkan jarak yang bisa dideteksi oleh RFID tersebut hanya sebesar ≤ 5cm.
122
Gambar 3.40 Penempatan RFID pada Forklift
3.3.5
Jalur ( Track & Tata Letak )
A2
B2
A1
B1 B0
A0
Gambar 3.41 Rancang Bangun Track Robot Forklift
123
Trak untuk acuan robot forklift memakai sistem garis penuntun. Garis penuntun tersebut digunakan oleh robot sebagai acuan untuk bisa berjalan lurus dan berbelok ke tempat yang dituju. Garis penuntun tersebut menggunakan garis berwarna hitam yang mempunyai lebar 2,5cm yang diletakkan diatas daerah berwarna putih. Untuk acuan robot agar bisa berbelok, digunakan penanda garis hitam yang ukurannya telah disesuaikan dengan ukuran dari sensor robot yang diletakkan pada jarak 18cm dari garis lurus pada track lorong lemari. Jarak dari sisi trak ke sisi lemari berjarak ≥ 20cm. Pada saat robot dalam keadaan standby, terdapat sebuah base yang digunakan sebagai tempat start robot forklift dan base tersebut juga digunakan untuk tempat pengiriman data dari PC ke robot sebelum robot tersebut melakukan tugasnya.
3.3.6
Lemari Penyimpanan
60 cm
Tingkat 4
Tingkat 3
cm
Tingkat 1 20
9,5 cm
Tingkat 2
60 cm
Gambar 3.42 Lemari Penyimpanan
124
Lemari penyimpanan barang yang digunakan berbentuk box yang berukuran 60cm x 20cm x 60cm yang terlihat seperti Gambar 3.42. Jumlah lemari yang digunakan adalah berjumlah 2 buah. 2 buah lemari itu diletakan di dalam koordinat yang berbeda sehingga pada saat simulasinya adalah robot bergerak mengambil barang dari lemari 1 dan meletakan barang tersebut di lemari yang kedua. Lemari penyimpanan tersebut mempunyai 4 tingkat dimana tiap tingkatnya diisi dengan palet barang.
3.3.7
Rancang Robot Secara Umum
125
Gambar 3.43 Rancang robot secara umum