BAB II TEORI DASAR MOBILE-ROBOT DAN SISTEM PENUNJANGNYA
2.1. Komponen Utama Mobile-Robot Ada dua jenis mobile-robot dilihat dari sistem penggeraknya, yaitu mobilerobot beroda dan berkaki dengan ilustrasi yang dapat dilihat pada Gambar 2.1.
(a)
(b)
Gambar 2.1 Jenis-jenis mobile-robot. (a) mobile-robot beroda; (b) mobile-robot berkaki Mobile-robot yang akan dibuat dalam penelitian ini adalah mobile-robot beroda. Komponen utama dari mobile-robot beroda diantaranya adalah rangka dasar, sistem stir dan pusat pengontrol.
2.1.1. Sistem stir mobile-robot beroda Terdapat beberapa jenis sistem stir untuk robot beroda, diantaranya adalah sistem stir diferensial, skid-steer, omnidirrectional, car-drive, pivot-drive, dan
6
7
lain-lain. Sistem stir pada mobile-robot yang akan dibuat adalah sistem stir diferensial, yaitu sistem stir yang memungkinkan roda pada bagian kiri dan kanan dapat bergerak secara mandiri (tidak saling terikat). Umumnya sistem seperti ini menggunakan dua roda dan dua motor penggerak yang terletak di bagian tengah badan robot. Ilustrasi dari sistem stir diferensial dapat dilihat pada gambar di bawah ini.
Maju/ mundur
Belok kanan
Belok kiri
Gambar 2.2 Sistem stir diferensial
Gerak maju atau mundur didapat dengan menggerakkan roda ke arah yang sama .Untuk berputar di tempat, roda digerakkan ke arah yang berlawanan, sedangkan untuk berbelok, kecepatan kedua roda dibuat berbeda. Keuntungan dari sistem stir ini adalah sederhana dalam perancangannya dan mudah serta murah untuk dibuat. Sistem stir ini memiliki kelemahan yaitu sulitnya untuk melakukan gerak lurus karena karakteristik antara dua motor penggerak dan ukuran rodanya cenderung tidak identik.
8
2.1.2. Motor penggerak mobile-robot Motor penggerak yang digunakan adalah motor DC yang menggunakan brush, yaitu motor yang digerakan oleh arus searah (Direct Current) dan menggunakan komutator. Motor DC merupakan suatu aktuator yang dapat mengkonversi energi listrik menjadi energi mekanik. Bentuk motor DC diberikan pada Gambar 2.3 dibawah ini.
Gambar 2.3 Bentuk motor DC beserta komponen pendukungnya
Armatur merupakan komponen yang bergerak dalam motor dan tempat untuk melilitkan kawat.
Tiap bagian kawat dihubungkan ke komutator yang
menempel pada brush. Kutub-kutub baterai atau sumber tegangan dihubungkan pada brush. Prinsip kerja motor DC merupakan aplikasi dari Hukum Ampere yang menjabarkan hubungan kuantitatif antara arus dan medan magnet. Ketika koil dialiri listrik, maka medan magnet akan tercipta pada lilitan kawat, medan magnet ini akan berinteraksi dengan medan magnet yang dihasilkan oleh magnet
9
permanen di kedua sisi armatur. Interaksi ini menghasilkan gaya tarik-menarik dan tolak-menolak pada armatur yang mengakibatkan armatur berputar. Motor DC dapat dimodelkan dengan Gambar 2.4 di bawah ini.
Gambar 2.4 Gambar pemodelan motor DC yang menggunakan brush
Parameter yang digunakan pada pemodelan diatas adalah: Ra
: hambatan armatur
La
: induktansi armatur
Ea(t)
: tegangan input armatur
ia(t)
: arus armatur
Eb(t)
: back emf (electromagnetic flux)
ef(t)
: tegangan pada magnet konstan
if
: arus magnet konstan
Tm
: torka yang dihasilkan motor
θ(t)
: posisi sudut armatur
ω(t)
: kecepatan sudut armatur
10
Flux yang dihasilkan oleh magnet permanen sebanding dengan if, yaitu Ф = Kfdif
(2.1.1)
dengan Kfd adalah konstanta medan koil. Torka yang dihasilkan merupakan perkalian antara flux magnet permanen (Ф), arus armatur (ia) dan konstanta armatur (Kam), yang apabila dirumuskan akan menjadi, Tm(t) = ФKamia(t)
(2.1.2)
Dengan menggabungkan Persamaan 2.1.1 dan 2.1.2, maka akan dihasilkan persamaan di bawah ini. Tm(t) = KfdifKamia(t)
(2.1.3)
Tm(t) = Kaia(t)
(2.1.4)
Ka yaitu KfdifKam adalah konstanta armatur keseluruhan. Ketika armatur berotasi, maka motor akan berlaku sebagai generator yang menghasilkan back electromagnetic flux (BEMF) yang diwakili Eb(t) yang sebanding dengan kecepatan sudut armatur, yaitu: Eb(t) = Kbω(t)
(2.1.5)
dengan Kb adalah konstanta BEMF. Perbedaan tegangan pada lilitan armatur digambarkan oleh rumus di bawah ini. E a (t ) − E b (t ) = La
di a + Ra ia dt
(2.1.6)
Apabila kita mentransformasi Persamaan 2.1.4, 2.1.5, 2.1.6 dengan menggunakan Transformasi Laplace menggunakan parameter awal nol, maka persamaan yang didapat berbentuk seperti di bawah ini.
11
Tm(s) = KaIa(s)
(2.1.7)
Eb(s) = KbΩ(s)
(2.1.8)
Ea(s) – Eb(s) = (Las + Ra)Ia(s)
(2.1.9)
Dengan mensubtitusikan ketiga persamaan di atas, maka kita akan mendapatkan persamaan di bawah ini.
Tm ( s ) =
K a ( E a ( s ) − K b Ω( s)) La s + R a
(2.1.10)
Representasi blok diagram dari persamaan di atas ditunjukan oleh Gambar 2.5 di bawah ini. Ea(s)
+
Tm(s) -
Eb(s) Ω(s) Kb
Gambar 2.5 Blok diagram persamaan motor DC
2.2. Perhitungan Fungsi Transfer Sistem Penggerak Mobile-Robot Diagram blok dari sistem penggerak mobile-robot ditunjukkan pada Gambar 2.6 di bawah ini.
Ea(s)
Motor dan roda
Ω(s)
Roda gigi
Ωf(s)
Gambar 2.6 Diagram blok sistem penggerak mobile-robot
12
Persamaan torka (τ) dari sistem dapat diperoleh dari persamaan-persamaan di bawah ini.
Jα = τ − f θ
(2.2.1)
dθ (t ) dt dω (t ) τ=J + bω (t ) dt Jα = τ − b
(2.2.2) (2.2.3)
Dengan J sebagai kombinasi momen inersia dari roda dan armatur motor sedangkan parameter fθ merupakan kombinasi gaya gesek yang terjadi di dalam sistem. Dengan mengganti torka (τ) dengan torka pada motor DC (τm), maka persamaan di atas berubah menjadi:
K a i a (t ) = J
dω (t ) + bω (t ) dt
(2.2.4)
Dengan menggunakan Transformasi Laplace menggunakan kondisi awal nol, maka persamaan di atas berubah menjadi: K a I a ( s) = JΩ( s) s + bΩ( s )
(2.2.5)
Persamaan di atas disubtitusikan dengan Persamaan (2.1.9) dengan mengeliminasi Ia(s), sehinga didapatkan persamaan-persamaan sebagai berikut:
JΩ( s ) s + bΩ( s ) E a ( s) − Eb ( s) = ( La s + Ra ) Ka L s + Ra (Js + b )Ω( s ) E a ( s) − Eb ( s) = a Ka K (E ( s ) − Eb ( s ) ) Ω( s ) = a a (La s + Ra )(Js + b )
(2.2.6) (2.2.7) (2.2.8)
13
Subtitusikan Persamaan 2.1.8 ke persamaan di atas, sehingga menghasilkan persamaan-persamaan di bawah ini:
Ω( s ) =
K a ( E a ( s ) − K b Ω( s ) ) (La s + Ra )(Js + b )
Ω( s ) +
K a K b Ω( s ) K a E a (s) = (La s + Ra )(Js + b ) (La s + Ra )(Js + b )
Ka Kb K a E a (s) = Ω( s )1 + (La s + Ra )( Js + b ) (La s + Ra )( Js + b ) K a E a ( s) Ω( s ) = Ka Kb (La s + Ra )(Js + b )1 + (La s + Ra )( Js + b ) Ω( s ) =
K a E a ( s) (La s + Ra )(Js + b ) + K a K b
Ka Ω( s ) = E a ( s ) (La s + Ra )( Js + b ) + K a K b
(2.2.9)
(2.2.10)
(2.2.11)
(2.2.12)
(2.2.13)
(2.2.14)
Persamaan (2.2.14) adalah persamaan fungsi transfer motor yang telah diberi beban. Fungsi transfer roda gigi didapat dengan menganggap bahwa roda gigi tersebut ideal yang berarti tiap roda gigi melekat sempurna dan tidak bermassa. Apabila keluaran dari motor menghasilkan kecepatan sudut ω(s), maka keluaran dari roda gigi adalah suatu konstanta dikali ωf(s). Konstanta tersebut merupakan perbandingan masukan dan keluaran dari roda gigi yang digunakan. Fungsi transfer roda gigi adalah: Ωf(s) = NΩ(s)
(2.2.15)
dengan N adalah konstanta perbandingan roda gigi yang telah disebutkan di atas.
14
Dengan mensubtitusikan Persamaan 2.2.15 dengan Persamaan 2.2.14, maka fungsi transfer loop terbuka dari sistem penggerak mobile-robot didapatkan, yaitu: Ω f ( s) Ea (s)
=
Bentuk
(2.2.16)
NK a (La s + Ra )(Js + b ) + K a K b diagram
blok
dari
persamaan
di
atas
adalah
sebagai
berikut:
Ωf(s)
Ea(s)
Gambar 2.7 Diagram blok sistem penggerak mobile-robot
2.3. Teori Sensor Kecepatan Menggunakan Encoder Optik Sensor yang digunakan untuk mengukur kecepatan pada tiap roda mobilerobot adalah encoder optik. Skema dari sensor ini dapat dilihat pada Gambar 2.8 dibawah ini. Piringan Encoder Fototransistor
LED
Sinyal keluaran Fototransistor
Motor
Gambar 2.8 Skema encoder optik
15
Sensor encoder optik ini memiliki tiga bagian utama, yaitu piringan encoder, Light Emiting Diode (LED) dan fototransistor. Piringan encoder berupa lingkaran dengan lubang-lubang pada bagian pinggirnya. Pada jalur lubanglubang ini, ditempatkan fototransistor dan LED. LED merupakan dioda yang dapat memancarkan cahaya, cahaya yang dihasilkan oleh LED merupakan energi yang dihasilkan akibat perpindahan elektron dari orbital luar ke orbital yang lebih dalam sehingga menghasilkan energi. Fototransistor merupakan transistor yang aktif jika terkena cahaya. Skema rangkaian fototransistor sederhana ditunjukkan pada Gambar 2.9 dibawah ini. cahaya emitor
kolektor
I R Gambar 2.9 Skema rangkaian fototransistor dengan R sebagai hambatan dan I sebagai arus yang mengalir
Fototransistor merupakan komponen elektronika yang peka terhadap cahaya sehingga ketika cahaya jatuh pada komponen elektronika ini, maka arus listrik dapat mengalir dari kaki kolektor ke emitor menuju hambatan R apabila kaki tersebut dihubungkan pada sumber tegangan. Pada saat motor berputar, piringan encoder juga berputar, sehingga cahaya LED yang masuk ke fototransistor akan terputus-putus, yang mengakibatkan sinyal keluaran yang terbaca pada komponen ini naik turun (high dan low) seperti ditunjukan pada
16
Gambar 2.8 diatas. Sinyal naik turun ini diambil dengan rentang waktu tertentu. Rumus yang digunakan untuk mengkalkulasi kecepatan putar piringan diberikan pada persamaan dibawah ini. 2π jumlah cacahan × jumlah lubang pada piringan ω (radian / waktu ) = waktu pengambilan sinyal
(2.3.1)
Dengan memasukan waktu pengambilan sinyal keluaran dalam satuan detik, maka kecepatan hasil kalkulasi memiliki satuan radian/detik.
2.4. Teori Sistem Kontrol Proporsional Integral Derivatif (PID) 2.4.1. Persamaan sistem kontrol PID dalam bentuk kontinu Sistem kontrol Proporsional Integral Derivatif (PID) merupakan tipe sistem kontrol tertutup. Sistem kontrol ini merupakan gabungan dari tiga sistem kontrol yaitu sistem kontrol proporsional, integral dan derivatif. Sinyal yang dimasukan pada sistem ini adalah nilai set point (nilai keluaran yang diinginkan). Sistem kontrol proporsional pada dasarnya adalah suatu penguat dengan konstanta penguatan tertentu. Dengan menggunakan sistem kontrol ini saja, maka respon dari sistem yang dikontrol kurang memuaskan karena adanya offset, yaitu jarak antara nilai keluaran yang terjadi dengan nilai keluaran yang diinginkan. Apabila konstanta penguatan diperbesar dengan tujuan menghilangkan offset, maka respon keluaran akan berosilasi. Sistem kontrol integral mempunyai keluaran yang sebanding dengan integrasi kesalahan pada sistem yang dikontrol. Apabila digabungkan dengan sistem kontrol proporsional maka offset yang terjadi dapat dihilangkan. Tetapi
17
penggabungan ini masih menghasilkan overshoot, yaitu terciptanya puncak pada keluaran sistem pada saat keluaran pertama kali menyentuh nilai yang diinginkan. Sistem kontrol derivatif tidak dapat berdiri sendiri karena hanya bekerja pada periode transien, sehingga harus dikombinasikan dengan sistem kontrol proporsional atau proporsional dan integral. Respon gabungan dari sistem kontrol ini mempunyai respon yang sangat peka terhadap perubahan kesalahan. Sistem kontrol derivatif bertindak sebagai sistem kontrol untuk mengantisipasi kesalahan yang akan terjadi. Gabungan dari ketiga sistem kontrol diatas menghasilkan sistem kontrol Proporsional Integral Derivatif (PID). Gabungan dari sistem kontrol ini mempunyai karakteristik sistem kontrol penyusunnya, sehingga respon keluaran dari sistem akan cepat, tidak ada offset, dan tidak berosilasi. Persamaan dari sistem kontrol gabungan ini diberikan pada persamaan dibawah ini.
u (t ) = K p e(t ) +
Kp Ti
t
∫ e(t )dt + K 0
T
p d
de(t ) dt
Keterangan konstanta yang digunakan adalah sebagai berikut: Kp
: Konstanta proporsional
Ti
: Waktu integral
Td
: Waktu derivatif
e(t) : Kesalahan yang terjadi (error) u(t) : Respon keluaran sistem
(2.5.1)
18
2.4.2. Persamaan sistem kontrol PID dalam bentuk diskrit Setiap persamaan yang akan diproses menggunakan komputer harus dalam bentuk diskrit, begitu juga dengan persamaan PID dan pergerakan sistem yang akan diterapkan ke mikrokontroler. Persamaan PID tersebut dalam bentuk diskrit adalah sebagai berikut: u ( n ) = K p e( n ) +
Kp Ti
n
∑ e( k ) + K
T (e(n) − e(n − 2)) / 2
p d
(2.5.2)
k =0
Dengan konstanta-konstanta yang digunakan adalah sebagai berikut: u(n)
: keluaran sistem kontrol PID diskrit
e(n) dan e(k)
: kesalahan yang didapatkan yaitu set point dikurangi actual value (nilai keluaran yang terjadi pada saat itu)
e(n-2)
: kesalahan setelah n-2 langkah berlalu
Kp
: konstanta proprosional
Ti
: waktu integral
Td
: waktu derivatif
2.4.3. Tuning sistem kontrol PID dengan Metode Ziegler-Nichols Terdapat dua cara metode tuning dengan menggunakan Ziegler-Nichols, yaitu metode loop terbuka dan loop tertutup. Metode yang digunakan dalam eksperimen tugas akhir ini adalah metode Ziegler-Nichols loop tertutup. Untuk sistem kontrol PID, langkah-langkah yang digunakan adalah sebagai berikut: 1. Masukan nilai tak hingga untuk waktu integral (Ti = ∞) dan nol untuk waktu derivativ (Td = 0).
19
2. Perbesar nilai konstanta proporsional (Kp) dari nol lalu perhatikan respon keluaran dari sistem yang dikontrol terhadap waktu. 3. Ambil nilai Kp pada saat respon keluaran sistem yang dikontrol berosilasi secara harmonik (Kkritis) lalu ukur waktu dari puncak ke puncak respon keluaran (Pkritis) tersebut. 4. Penentuan konstanta waktu integral dan derivativ didapatkan dari tabel di bawah ini. Tipe pengontrol
Kp
Ti
Td
PID
0,6Kkritis
0,5Pkritis
0,125Pkritis
Tabel 2.1 Tabel penentuan nilai konstanta-konstanta pengontrol PID dengan menggunakan metode Ziegler-Nichols.
2.5. Mikrokontroler ATMEL ATMEGA16 Mikrokontroler yang digunakan untuk pengendalian adalah ATMEL ATMEGA16 yang memiliki spesifikasi sebagai berikut: 1. Mikrokontroler AVR 8-bit dengan daya rendah dan performansi tinggi. 2. Arsitektur (Reduce Instruction Set Computer) RISC tingkat lanjut. 3. Nonvolatile program dan data memori. 4. Tegangan kerja 4.1. Rentang tegangan kerja yaitu untuk ATmega16L 2.7 - 5.5V. 4.2. Rentang tegangan kerja yaitu untuk ATmega16 4.5 - 5.5V. 5. Frekuensi osilator 5.1. ATmega16L menggunakan frekuensi 0 - 8 MHz.
20
5.2. ATmega16 menggunakan frekuensi 0 - 16 MHz. 6. Fasilitas yang lain 6.1. Dua timer/counter 8-bit. 6.2. Satu timer/counter 16-bit. 6.3. Empat kanal Pulse Width Modulation (PWM). 6.4. Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) yang dapat diprogram. 6.5. Analog to Digital Converter (ADC) 10-bit 7. Fitur-fitur penunjang yang lain yang dapat dilihat pada lampiran
Program pengontrol kestabilan sistem (kontrol PID) akan dimasukan dalam memori mikrokontroler. Fitur-fitur penunjang sistem kontrol yang digunakan dalam mikrokontroler ini diantaranya adalah: 1. Pulse Width Modulation (PWM) 16-bit 2. Timer 8-bit 3. Interupsi eksternal 4. USART 5. Analog to Digital Converter (ADC)
2.5.1. Pulse Width Modulation (PWM) 16-bit Pulse Width Modulation (PWM) yang digunakan memanfaatkan timer 16bit dan beberapa alamat memori (register) baik dalam pengaturannya maupun kerjanya, register yang terlibat diantaranya adalah:
21
1. Register yang digunakan untuk mengatur timer adalah TCCR1A, TCCR1B, OCR1 (OCR1BL dan OCR1BH), ICR1 (ICR1L dan ICR1H) dan TIMSK. 2. Register yang digunakan sebagai pencacah adalah TCNT1 (TCNT1L dan TCNT1H).
Register TCNT1 akan melakukan pencacahan dari nol sampai nilai maksimum (65535). Setelah pencacah mencapai nilai maksimum, maka pencacah akan melakukan hitungan mundur sampai nol lalu mencacah lagi sampai nilai maksimum dan kejadian ini berulang terus-menerus. Mikrokontroler diatur agar melakukan interupsi pada saat terjadi kecocokan nilai antara register OCR1B dan TCNT1. Pada saat pencacah mencacah naik atau turun, nilai dari register TCNT1 akan dibandingkan dengan register OCR1B. Apabila nilai sama (TCNT1 OCR1B = 0), maka interupsi akan terjadi. Interupsi ini dimanfaatkan untuk mengubah kondisi pada pin yang merupakan keluaran dari PWM. Semakin besar nilai OCR1B, maka pulsa PWM yang dihasilkan akan semakin sempit. Ilustrasi mengenai PWM ini diberikan pada Gambar 2.10 di bawah ini.
OCR1B Cacah naik TCNT1
65536
Cacah turun 65536
Output PWM Gambar 2.10 Ilustrasi proses pembentukan PWM
22
2.5.2. Timer 8-bit Timer 8-bit yang digunakan berjumlah dua buah yaitu Timer2 dan Timer0. Timer yang pertama digunakan untuk mengambil nilai cacahan dari encoder, sedangkan timer yang kedua digunakan untuk menjalankan rutin PID. Kedua timer diatur agar menjalankan interupsi ketika overflow. Register yang berperan dalam pengaturan kedua timer ini adalah TCCR0, TCNT0, TCCR2, TCNT2 dan TIMSK.
2.5.3. Interupsi eksternal Interupsi eksternal yang digunakan adalah INT0. Interupsi diatur agar terjadi pada saat sinyal yang masuk ke pin INT0 berubah dari rendah ke tinggi. Pin INT0 ini dihubungkan ke fototransistor untuk mengambil nilai cacahan encoder.
Register yang digunakan untuk pengaturan interupsi eksternal ini
diantaranya adalah MCUCR dan GICR.
2.5.4. Universal Synchronous and Asynchronous Serial Receiver and Transmitter (USART) Transmisi data USART ini digunakan untuk mengamati respon dari sistem yang dikontrol. Data respon dari sistem ditransmisikan ke komputer untuk dianalisis lebih lanjut. Mode transmisi yang digunakan adalah tidak sinkron (asynchronous), yaitu proses transmisi yang menggunakan metode start bit untuk memulainya. Start bit ini merupakan logika rendah. Ketika pengirim tidak melakukan apa-apa (idle), logika yang ditransmisikan adalah tinggi. Ketika terjadi perubahan dari logika tinggi ke logika rendah, maka bagian penerima akan
23
melakukan pemeriksaan dengan selang waktu setengah bit untuk memastikan bahwa perubahan logika merupakan pengiriman start bit dan bukan merupakan derau yang terjadi pada jalur transmisi.
2.5.5. Analog to Digital Converter (ADC) 10-bit Komponen ADC adalah komponen yang dapat mengubah sinyal analog yang kontinu dengan rentang tertentu menjadi sinyal digital dalam representasi bilangan biner. Jenis ADC yang telah terintegrasi dalam mikrokontroler adalah Successive-approximation ADC dengan 10-bit resolusi. Skema dari ADC tersebut dapat dilihat pada Gambar 2.11 di bawah ini.
Masukan trigger
Vi
+
Register 10-bit
-
VA
Digital to Analog Converter
Bit status
Keluaran digital
Gambar 2.11 Skema rangkaian Successive-approximation ADC Proses konversi dimulai ketika pulsa diberikan pada masukan trigger. Pada saat proses berlangsung bit status diubah menjadi satu (busy). Nilai keluaran digital tidak akan dibaca sampai bit status bernilai nol. Proses konversi dilakukan dengan mengubah bit akhir (Most significant bit) sampai bit awal (Least significant bit) Langkah-langkah konversi ADC jenis ini adalah: 1. Set bit akhir register menjadi satu.
24
2. Masukan nilai register kepada Digital to Analog Converter (DAC) lalu bandingkan nilai keluaran DAC dengan tegangan input (Vi). 3. Apabila VA < Vi, maka bit selanjutnya (bit n-1) pada register diubah menjadi satu. Apabila VA > Vi, maka bit yang sedang dikerjakan (bit n) pada register diubah menjadi nol. 4. Kembali ke langkah dua sampai semua bit berhasil dikerjakan.