bab 3 perancangan sistem - thesis.binus.ac.idthesis.binus.ac.id/doc/bab3/2009-2-00422-sk bab...
TRANSCRIPT
64
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.
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 :
G. Sensor Level Ketinggian Forklift dan Gerbang Logika AND pada
Robot
Gambar 3.9 Sensor Ketinggian Forklift pada Robot
• 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 Ω
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
RFID?
Cek TagBaca Tag Tulis Tag Hapus Tag
T
Baca Tag Tulis Tag Baca Tag
Input = RFID?
Cek Tag
Hapus Tag
Taruh Ambil
Robot?
Y
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
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
1
4
3
5
67
8
2 9
10
A0
A1
A2
B0
B1
B2
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.
8 Robot berjalan mundur 1x.
9 Belok mundur ke kiri 900.
10 Robot jalan mundur menuju Home.
B. 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
Perintah ada ?
Perintah == Go?
Perintah == Cancel?
Jalan(Taruh)
Return
Y
Y
Y
T
T
T
TX lokasi
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 )
Gambar 3.41 Rancang Bangun Track Robot Forklift
A0
A1
A2
B0
B1
B2
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
Gambar 3.42 Lemari Penyimpanan
60 c
m
20 cm
60 cm
Tingkat 1
Tingkat 2
Tingkat 3
Tingkat 4
9,5
cm
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