6
BAB 2
LANDASAN TEORI
2.1 Pendahuluan
Robot yang dapat berpindah tempat tanpa campur tangan manusia (Autonomous Mobile Robot - AMR) membutuhkan 3 komponen utama dalam sistemnya. Komponen tersebut adalah pengolah data, sensor dan penggerak. Ketiga komponen tersebut saling berkaitan dan membentuk suatu sistem kendali yang diatur oleh pusat kendali pada robot.
2.2 Pengolah Data Mikrokontroler ATMega8535
Mikrokontroler AVR (Alf and Vegard’s Risc Processor) memiliki arsitektur RISC 8bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits words) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock. Ini terjadi karena AVR berteknologi RISC (Reduced Instruction Set Computing) atau memiliki set instruksi yang lebih sederhana, sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computing) atau set instruksi yang kompleks.
ATMega8535 adalah mikrokontroler AVR dengan arsitektur RISC (Reduced Instruction Set Computing). Mikrokontroler ini memiliki fasilitas yang sangat
Universitas Sumatera Utara
7
lengkap jika dibandingkan dari keluarga MCS-51 dan memiliki kesamaan arsitektur dengan mikrokontroler PICmicro dari produsen Microchip yang juga memiliki arsitektur RISC 8-bit.
Pemrograman
AVR
tergolong
mudah
karena
pemrograman
AVR
menggunakan teknik ISP (In-System Programming), yaitu kode hasil kompilasi berupa file HEX dapat langsung didownload pada mikrokontroler di dalam rangkaian aplikasi.
2.2.1 Arsitektur ATMega8535
Gambar 2.1 Blok Diagram Fungsional ATMega8535
Universitas Sumatera Utara
8
Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 saluran, yaitu Port A, Port B, Port C, dan PortD. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART (Universal Serial Asynchronous serial Receiver and Transmitter) untuk komunikasi serial.
Adapun kemampuan umum dari ATMega8535 adalah sebagai berikut: 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
Universitas Sumatera Utara
9
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
Gambar 2.2 Pin ATMega8535
Konfigurasi pin ATMega8535 bisa dilihat pada Gambar 2.2. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/0 dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI. 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator.
Universitas Sumatera Utara
10
6. Port D (PD0..PD7) merupakan pin I/O dua arch dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL 1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC.
Mikrokontroler AVR memiliki model arsitektur Harvard, di mana memori dan bus untuk program dan data dipisahkan. Dalam arsitektur AVR, seluruh 32 register umum yang ada terhubung langsung ke ALU prosesor. Hal inilah yang membuat AVR begitu cepat dalam mengeksekusi instruksi. Dalam satu siklus clock, terdapat dua register independen yang dapat diakses oleh satu instruksi. Teknik yang digunakan adalah fetch during execution atau memegang sambil mengerjakan. Hal ini berarti, dua operan dibaca dari dua register sekaligus, pertama dilakukan eksekusi operasi, dan hasilnya disimpan kembali dalam salah satu register, semuanya dilakukan hanya dalam satu siklus clock. Arsitektur AVR ATMega535 ditunjukkan dalam Gambar 2.3.
Universitas Sumatera Utara
11
Gambar 2.3 Arsitektur ATMega8535
2.2.2 Peta Memori ATMega8535
AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu
Universitas Sumatera Utara
12
pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada Gambar 2.4.
Register Umum
Alamat
R0 R1 …. R30 R31
$0000 $0001 …. $001E $001F
Register I/O $00 $01 …. $3E $3F
$0020 $0021 …. $005E $005F SRAM Internal $0060 $0061 …. $025E $025F (RAMEND)
Gambar 2.4 Konfigurasi Memori Data AVR ATMega8535
Memori program yang terletak dalam Flash PEROM tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATMega8535 memiliki 4Kbytex16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF sehingga mikrokontroler AVR tersebut memiliki 12-bit Program Counter (PC) sehingga mampu mengalamati isi Flash. Selain itu, AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte.
Universitas Sumatera Utara
13
2.2.3 Status Register (SREG)
Status Register adalah register berisi status yang dihasilkan pada setup operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler ATMega8535.
BIT
7
6
5
4
3
2
1
0
I
T
H
S
V
N
Z
C
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial Value
0
0
0
0
0
0
0
0
SREG
Gambar 2.5 Status Register ATMega8535
a.
Bit 7 - I: Global Interrupt Enable Bit harus diset untuk meng-enable interupsi. Setelah itu, Anda dapat mengaktifkan interupsi mana yang akan Anda gunakan dengan cara mengenable bit kontrol register yang bersangkutan secara individu. Bit akan diclear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.
b. Bit 6 - T: Bit Copy Storage Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam satu register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD.
Universitas Sumatera Utara
14
c.
Bit 5 - H: Half Carry Flag
d. Bit 4 - S: Sign Bit Bit-S menimpakan hasil operasi EOR antara flag-N (negatif) dan flag V (komplemen dua overflow). e.
Bit 3 - V: Two's Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika.
f.
Bit 2 - N: Negative Flag Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset.
g. Bit 1- Z: Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol. h. Bit 0 - C: Carry Flag Apabila suatu operasi menghasilkan carry, maka bit akan diset.
2.2.4 General Purpose Register (GPR)
Seluruh instruksi operasi register dalam AVR memiliki akses langsung ke semua register. Kecuali untuk lima instruksi aritmatika-logika yang mengoperasikan register dengan konstanta (SBCI, SUBI, CPI, ANDI, dan ORI) dan LDI yang mengoperasikan pemuatan data konstan langsung (immediate). Instruksi-instruksi tersebut dioperasikan hanya pada separo lokasi register terakhir GPR (R16 sampai R31). Instruksi untuk operasi umum seperti SBC, SUB, CP, AND, OR, dan operasi
Universitas Sumatera Utara
15
lainnya yang mengoperasikan dua register atau satu register dapat melakukan akses terhadap seluruh register.
Alamat R0 R1
$0000 $0001
R15
$000F
R16
$001F
R26 R27 R28 R29 R30 R31
$1A register x byte bawah $1B register x byte atas
$1F register Z byte atas
Gambar 2.6 General Purpose Register ATMega8535
2.2.5 Pengarah Assembler
Pengarah Assembler berguna untuk mengubah penunjuk kode assembly. Sebagai contoh, kita dapat mengubah lokasi kode asm kits pada memori program, memberi label pada SRAM, atau mendefinisikan suatu konstanta menggunakan sintaksis pengarah assembler. Berikut beberapa sintaksis pengarah assembler yang terdapat pada AVR ATMega8535.
Universitas Sumatera Utara
16
a.
.cseg (code segment); pengarah ini berguna sebagai penunjuk bahwa kode atau ekspresi di bawahnya diletakkan pada memori program. Pengarah ini biasanya digunakan setelah pengarah.dseg
b. .db (data byte); pengarah ini memungkinkan kita dapat meletakkan konstanta, seperti serial number dan look-up table di memori program pada alamat tertentu. c.
.dw (data word); pengarah ini sama seperti data byte, tetapi dalam ukuran word
d. org; digunakan untuk mengeset program counter pada alamat tertentu. Digunakan pada awal program org 0x0000 atau pengarah pada vektor interupsi, misalnya vektor interupsi untuk interupsi eksternal 1, maka alamat vektor interupsinya org 0x0002. e.
.byte; digunakan untuk inisilisasi besar byte yang digunakan pada SRAM untuk label tertentu.
f.
.dseg (data segmen); pengarah ini berguna sebagai penunjuk bahwa kode di bawahnya berfungsi untuk melakukan setting SRAM.
g. .def (define); pengarah ini memungkinkan suatu register dapat didefinisikan. Contoh:.def temp = r16 h. .equ; berguna untuk memberi nama suatu konstanta yang tidak dapat berubah. Contoh:.equ max = 19200 i.
.set; sama seperti equ, tetapi konstantanya dapat diubah. Contoh: set baud = 2400
Universitas Sumatera Utara
17
2.2.6 Port I/O ATMega8535
Port I/O pada mikrokontroler ATmega8535 dapat difungsikan sebagai input ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan Port. Berikut tabel pengaturan port I/O:
Tabel 2.1 Konfigurasi setting untuk Port I/O DDR bit = 1
DDR bit = 0
Port bit = 1
Output High
Input Pull-Up
Port bit = 0
Output Low
Input Floating
Dari tabel di atas, menyetting input/output adalah: a.
Sebagai Input; DDR bit 0 (Low) dan Port bit 1 (High)
b. Untuk Output High; DDR bit 1 (High) dan Port bit 1 (Low) c.
Untuk Output Low; DDR bit 1 (High) dan Port bit 0 (Low)
Contohnya dalam kode program untuk mengeset setiap Port I/O: ldi R16, 0xff ldi R17, 0x00
;Isi register dengan nilai High semua ;Isi register dengan nilai Low semua
out DDRA, R17 out PORTA, R17
;input ;floating
;Input ADC ;Tanpa pull-up
out DDRB, R16 out PORTB, R17
;output ;low
;Output sensor ;Aktif High
out DDRC, R16 out PORTC, R17
;output ;low
;Output ke Motor dan Pompa ;Aktif High
out DDRD, R17 out PORTD, R16
;input ;pullup
;Input sensor ;Dengan pull-ip
Universitas Sumatera Utara
18
Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.
Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai sinking current, seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.
2.2.7 Instruksi Transfer Data
Instruksi transfer data digunakan untuk memindahkan data antar register, antara port dan register, juga antara GPR (General Purpose Register) dengan internal pheripheral register (register inti AVR). Beberapa contoh instruksi transfer data.
a.
in; membaca data I/O Port atau internal peripheral register (Timers, UART, dsb) ke dalam register. contoh: in r16, PinA
b. out; menulis data sebuah register ke I/O Port atau internal peripheral register c.
ldi (load immediate); untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O Port
Universitas Sumatera Utara
19
contohl:
contoh2:
ldi r16, 0b11111111
; bentuk biner
out PortD, r 16
; portd high semua
ldi r17, 0xff
; bentuk heksadesimal (0xff = 255)
out PortD, r17 ; portd juga high semua contoh3:
Idi r18, 255
; bentuk desimal
out PortD, r18 ; portd juga high semua d. sbi (set bit in I/O) ; untuk membuat logika high satu bit I/O register contoh: e.
; set bit ke-7 dari PortB
cbi (clear bit in I/O) ; untuk membuat logika low satu bit I/O register contoh:
f.
sbi PortB,7
cbi PortC,5
; clear bit ke-5 dari PortC
sbic (skip if bit in 110 is cleared); untuk mengecek apakah bit I/O register clear. Jika ya, skip satu perintah di bawahnya. contoh:
sbic PortA,3
; skip perintah jika bit ke3 PortA clear
g. sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika ya, skip satu perintah di bawahnya. contoh:
sbis PortA,0
; skip perintah jika bit ke-0 PortA set
2.2.8 Instruksi Aritmatika dan Logika
Data yang dipakai dalam mikrokontroler ATmega8535 direpresentasikan dalam sistem bilangan biner (basis 2), desimal (basis 10), dan bilangan heksadesimal (basis 16). Data yang terdapat di mikrokontroler dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian) maupun operasi logika {AND, OR, dan EOR (Ekslusif OR)}.
Universitas Sumatera Utara
20
a.
add; menambahkan isi dua register contoh:
add r15,r14
; r15 =r15+r14
b. sub; mengurangi isi dua register contoh: c.
sub r19,r14
; r19 = r19-r14
mul; mengalikan dua register. Perkalian 8 bit dengan 8 bit akan menghasilkan bilangan 16 bit yang disimpan pada r0 untuk byte rendah dan r1 untuk byte tinggi. Untuk memindahkan bilangan 16 bit antarregister, gunakan perintah movw (Copy Register Word). contoh:
mul r2 1,1-20 ; r1:r0 = r21 *r20
d. and; untuk operasi logika And dua register contoh: e.
andi; untuk operasi logika And register dengan konstanta immediate contoh:
f.
and r23,r27
andi r25,0b11110000 ; konstanta biner
or; untuk operasi logika or dua register contoh:
or r18,r17
g. ori; untuk operasi logika or dengan konstanta immediate contoh:
ori r24,0xfe
; konstanta heksadesimal
h. inc; menaikkan 1 isi register contoh: i.
dec; menurunkan I isi register contoh:
j.
inc r0
dec rl
clr; clear register, isi register menjadi 0 contoh:
clr r16
k. ser; set all bits in register, isi register menjadi 1 contoh:
ser rl6
Universitas Sumatera Utara
21
2.2.9 Instruksi Percabangan
Dengan memperhatikan kondisi tertentu, perlu digunakan instruksi percabangan bersyarat untuk melakukan percabangan. Instruksi percabangan bersyarat akan melakukan lompatan menuju suatu rangkaian program (berlabel) bila suatu kondisi dipenuhi atau suatu kondisi tidak dipenuhi
a.
sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear. Jika ya, skip satu perintah di bawahnya. contoh:
sbic PortA,3 ; skip perintah jika bit ke-3 PortA clear
b. sbis (skip if bit in I/0 is set); untuk mengecek apakah bit I/O register set. Jika ya, skip satu perintah di bawahnya. contoh: c.
sbis PortA,0 ; skip perintah jika bit ke-0 PortA
sbrc (skip if bit in register is cleared); untuk mengecek apakah bit register clear. Jika ya, skip satu perintah di bawahnya. sbrs (skip if bit in register is set); untuk mengecek apakah bit register set. Jika ya, skip satu perintah di bawahnya.
d. cp (compare); untuk membandingkan dua register. e.
mov; mengopi dua register.
f.
cpi (compare with immediate); untuk membandingkan register dengan konstanta immediate.
g. breq (branch if equal); lompat ke alamat yang ditunjuk bila dua register atau antara register dengan konstanta yang dibandingkan sama.
Universitas Sumatera Utara
22
2.3 Sensor
Terdapat berbagai macam sensor yang digunakan dalam penelitian ini, untuk itu akan dipaparkan landasan teori singkat untuk masing-masing sensor yang digunakan.
2.3.1 Sensor Jarak Optik
Untuk bergerak dengan baik dan dapat memetakan sirkuit, maka robot harus mampu mengukur dengan akurat jarak halangan(dinding) yang terdapat di depan atau disamping robot. Maka penulis mencoba menggunakan metode Optical Distance Sensing atau penginderaan jarak secara optik. Artinya sensor yang digunakan menggunakan prinsip pemantulan segitiga (triangulation).
80 cm
10 cm Gambar 2.7 Optical Distance Sensing
Universitas Sumatera Utara
23
SHARP GP2D12 adalah sensor yang menggunakan metode pemantulan segitiga ini, adapun jarak maksimum yang dapat dideteksi adalah ± 80 cm dan jarak terdekat adalah 10 cm.
Sinar inframerah yang ditembakkan oleh pemancar sensor inframerah pada sensor SHARP GP2D12 akan disejajarkan oleh lensa penyearah sehingga sinar inframerah memancar ke satu arah saja. Kemudian sinar inframerah akan menumbuk permukaan halangan (dinding) dan akan dipantulkan. Pantulan sinar inframerah ini akan ditangkap oleh lensa pem-fokus yang diteruskan ke CCD-Array (Charged Coupled Device) atau susunan piranti peka cahaya berupa susunan photodioda (PSD/Position Sensitive Detector). Perkenaan pada setiap bagian dari array tergantung sudut tumbukan yang dihasilkan, semakin kecil sudut tumbukan berarti halangan semakin jauh juga sebaliknya. Kemudian sebagian dari susunan yang terkena pantulan akan memberikan output sinyal ke rangkaian processing-unit pada sensor, yang pada akhirnya akan mengeluarkan output tegangan analog. Skema pantulan dapat dilihat pada Gambar 2.7.
2.3.2 Sensor Inframerah
Inframerah adalah radiasi elektromagnetik dari panjang gelombang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Radiasi inframerah memiliki jangkauan tiga "order" dan memiliki panjang gelombang antara 700 nm dan 1 mm.
Universitas Sumatera Utara
24
Spektrofotometri Infra Red atau Infra Merah merupakan suatu metode yang mengamati interaksi molekul dengan radiasi elektromagnetik yang berada pada daerah panjang gelombang 0,75 1.000 nm atau pada Bilangan Gelombang 13.000 10 cm-1. Radiasi elektromagnetik dikemukakan pertama kali oleh James Clark Maxwell, yang menyatakan bahwa cahaya secara fisis merupakan gelombang elektromagnetik, artinya mempunyai vektor listrik dan vektor magnetik yang keduanya saling tegak lurus dengan arah rambatan.
LED inframerah adalah suatu komponen yang tersusun dari sambungan PN yang akan memancarkan cahaya bila dialiri arus dengan bias maju. Proses pancaran cahaya berdasarkan perubahan tingkat energi ketika elektron dan lubang bergabung atau berekombinasi di daerah N pada saat LED dibias maju. Selama perubahan energi ini, proton akan dibangkitkan, sebagian akan diserap oleh bahan semikonduktor dan sebagian lagi akan dipancarkan sebagai energi cahaya.
Sensor inframerah yang digunakan pada robot ini adalah berupa photodioda. Photodioda digunakan untuk mendeteksi inframerah yang dipancarkan oleh objek yang hendak diukur. Photodioda memiliki lensa yang berfungsi untuk memfokuskan sinar jatuh pada pertemuan pn. Konduktivitas dioda ditentukan langsung oleh cahaya yang jatuh padanya. Energi pancaran cahaya yang jatuh pada pertemuan pn menyebabkan sebuah elektron berpindah ke tingkat energi yang lebih tinggi. Elektron berpindah ke luar dari valensi band meninggalkan "hole" sehingga membangkitkan pasangan elektron bebas dan hole.
Universitas Sumatera Utara
25
Rangkaian dasar photodioda ditunjukkan dengan gambar 2.8. Photodioda dihubungkan seri dengan sebuah R dan dicatu dengan sumber tegangan DC. Arus balik akan bertambah besar bila sebuah cahaya jatuh pada pertemuan pn photodioda dan arus balik (Iλ) akan menjadi sangat kecil bila pada pertemuan pn photodioda tidak terdapat cahaya yang jatuh padanya.
Arus yang mengalir pada kondisi gelap disebut "dark current" sedangkan resistansinya ditentukan dengan hukum Ohm sebagai berikut: RR
VR I
Gambar 2.9 menunjukkan kurva karakteristik photodioda. Arus reverse ditentukan oleh tegangan balik. Arus balik ditunjukkan dengan sumbu Y dalam satuan mA. Adapun kuat cahaya ditunjukkan pada sumbu X dengan satuan foot candles.
Gambar 2.8 Rangkaian dasar photodiode
Universitas Sumatera Utara
26
Gambar 2.9 Grafik hubungan kuat arus reverse terhadap terang cahaya photodioda
2.4 Robot Bergerak Beroda
Robot bergerak beroda (Wheeled Mobile Robot) didefinisikan sebagai “sebuah robot yang memiliki kemampuan untuk bergerak pada sebuah permukaan hanya melalui pergerakan dari roda yang terpasang pada robot dan menyinggung permukaan lantai”. Roda terpasang adalah sebuah alat yang memungkinkan pergerakan relatif antara benda tempat roda terpasang dan permukaan yang menyinggung tepi roda yang ditujukan untuk memiliki satu titik kontak gelinding.
Agar pada sebuah robot bergerak dapat diperlakukan perhitungan yang sesuai diasumsikan: a.
Robot terbuat dari bahan yang rigid (tidak berubah bentuk).
b. Robot memiliki maksimum satu kemudi untuk setiap roda. c.
Sumbu kemudi tegak lurus terhadap lantai.
d. Permukaan lantai berbentuk datar halus.
Universitas Sumatera Utara
27
e.
Tidak terjadi selip antara roda dengan lantai.
f.
Gaya gesek putaran pada titik kontak cukup kecil untuk memutar roda.
2.5 Sistem Kontrol Robot
Sistem pengendalian robot dapat digolongkan ke dalam closed-loop feedback control (kendali terumpan putaran tertutup). Dalam feedback control, parameter yang dikendalikan diukur, dibandingkan dengan referensi, dan perbedaannya digunakan untuk menentukan langkah selanjutnya yang diambil.
Contoh umumnya dapat dilihat pada pengendali motor. Pengendali digital mengirimkan tegangan acuan ke penguat melalui DAC, yang digunakan untuk menggerakkan motor. Sinyal analog, seperti besar kecepatan dari tachometer, harus diubah lagi ke sinyal digital melalui ADC. Sinyal terukur kemudian dibandingkan dengan sinyal referensi pada program/sinyal digital, sehingga didapat error/kesalahan
Error = acuan - umpan balik
Error ini diperkuat oleh fungsi kendali agar mendapatkan keluaran untuk menggerakkan penguat.
Input penguat = keluaran kontrol = fungsi (error) Fungsi kontrol ini dikenal sebagai hukum kendali (control law) atau algoritma kendali (control algorithm), secara efektif adalah pendapatan (gain) dari umpan
Universitas Sumatera Utara
28
pengendali. Control law menghitung besar energi yang harus diberikan untuk menghilangkan error.
2.5.1 Rutin Percepatan
Adalah subrutin perpindahan robot untuk bergerak dari kecepatan nol menuju suatu kecepatan yang diinginkan. Kecepatan ini kemudian dibandingkan dengan kecepatan referensi. Selisih yang diperoleh digunakan untuk mengatur duty cyle tegangan PWM yang diberikan ke motor. Prinsip ini ditunjukkan pada Gambar 2.10.
Gambar 2.10 Diagram blok pengendalian kecepatan robot.
Dari Gambar 2.10 besarnya duty cyle (DC) yang diberikan ke masing-masing motor adalah sesuai dengan persamaan :
Kdc ditentukan pada saat pengujian robot yaitu besarnya duty cyle PWM yang diberikan ke motor pada saat kecepatan konstan Sd diperoleh. Sedangkan Kps
Universitas Sumatera Utara
29
ditentukan dengan mencari nilai sebesar mungkin namun sistem tetap stabil. Setelah beberapa saat rutin percepatan dilaksanakan maka robot akan melaju dengan kecepatan konstan sebesar Sd dan kemudian pergerakan robot diatur oleh sub rutin lain yang sesui dengan kebutuhan.
Universitas Sumatera Utara