BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas...

38
BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS PERANGKAT KERAS INVERTED PENDULUM 5.1 Perancangan Perangkat Keras Sistem Inverted Pendulum 5.1.1 Desain Global Diagram blok dari sistem inverted pendulum yang dikembangkan dalam tugas akhir ini diperlihatkan dalam Gambar 5-1 berikut. MCS-51 (Pengontrol fuzzy) ATTiny2313 (Sensor posisi pedati) ATTiny2313 (Pengontrol posisi pedati) ATTiny2313 (Sensor sudut bandul) Sudut bandul Sudut bandul Posisi pedati Posisi pedati Gaya pada pedati Voltase PWM Gambar 5-1 Diagram blok sistem inverted pendulum secara keseluruhan Pada tugas akhir ini akan digunakan empat buah mikrokontroller yaitu satu buah mikrokontroller DT-51 dengan frekuensi kristal osilator 12 MHz dan tiga buah mikrokontroller tipe ATTiny2313 dengan frekuensi kristal osilator 20 MHz. Dua dari tiga mikrokontroller ATTiny2313 berfungsi sebagai sensor posisi pedati dan sudut bandul 5-1

Transcript of BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas...

Page 1: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

BAB VI

PERANCANGAN, PENGUJIAN, DAN ANALISIS

PERANGKAT KERAS INVERTED PENDULUM

5.1 Perancangan Perangkat Keras Sistem Inverted Pendulum

5.1.1 Desain Global

Diagram blok dari sistem inverted pendulum yang dikembangkan dalam tugas akhir ini

diperlihatkan dalam Gambar 5-1 berikut.

MCS-51 (Pengontrol fuzzy)

ATTiny2313 (Sensor posisi pedati)

ATTiny2313 (Pengontrol posisi pedati)

ATTiny2313 (Sensor sudut bandul) Sudut bandul

Sudut bandul

Posisi pedati Posisi pedati

Gaya pada pedati

Voltase PWM

Gambar 5-1 Diagram blok sistem inverted pendulum secara keseluruhan

Pada tugas akhir ini akan digunakan empat buah mikrokontroller yaitu satu buah

mikrokontroller DT-51 dengan frekuensi kristal osilator 12 MHz dan tiga buah

mikrokontroller tipe ATTiny2313 dengan frekuensi kristal osilator 20 MHz. Dua dari tiga

mikrokontroller ATTiny2313 berfungsi sebagai sensor posisi pedati dan sudut bandul

5-1

Page 2: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-2

pada sistem. Informasi sudut dan posisi ini kemudian akan diteruskan oleh

mikrokontroller ATTiny2313 ke mikrokontroller pusat yaitu DT-51. Dari data-data

yang telah diterima, mikrokontroller DT-51 kemudian melakukan proses fuzzy

control dan akan mengeluarkan sebuah nilai yang menandakan gaya yang harus

diaplikasikan pada kereta. Nilai ini diterima oleh mikrokontroller ATTiny2313 yang

ketiga dan kemudian ia akan mengeluarkan sinyal PWM untuk mengontrol posisi

pedati.

5.1.2 Desain Sistem Inverted Pendulum

Pada sub-bab ini akan dijelaskan secara lebih terperinci desain dari perangkat keras

sistem inverted pendulum. Sistem inverted pendulum terdiri dari dua bagian utama

yaitu pedati dan bandul. Pedati digerakkan menggunakan motor DC dan posisinya

dideteksi menggunakan sensor rotary shaft encoder. Bandul merupakan sebuah benda

yang menempel pada poros pedati dan dapat bergerak dengan satu derajat kebebasan

(searah atau berlawanan arah dengan jarum jam). Posisi bandul dideteksi

menggunakan sensor rotary shaft encoder.

5.1.2.1 Pedati

Pedati merupakan sebuah benda yang dapat bergerak translasi dalam arah horizontal

pada suatu lintasan. Pedati yang akan digunakan adalah sebuah linear actuator yang

didesain oleh Yaskawa Electric Corporation dan bertipe UGTMEM-03LSK21.

Linear Actuator ini didesain menggunakan sebuah motor DC 24V, memiliki sebuah

optical encoder sebagai sensor posisi pedati, dan menggunakan mekanisme ball

screw pada lintasan pedatinya. Mekanisme ball screw ini menggunakan prinsip ulir

dan mur sehingga seolah-olah mengakibatkan posisi kereta menjadi terkunci ketika

motor tidak dijalankan. Hal ini mengakibatkan kereta memiliki impulse yang besar

Page 3: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-3

ketika akan berbalik arah. Arah gerak pedati dapat dikontrol menggunakan rangkaian

H-Bridge. Pedati memiliki panjang 48.5 cm. Gambar 5-2 menunjukkan Yaskawa

linear actuator yang akan digunakan sebagai pedati pada tugas akhir ini.

Gambar 5-2 Yaskawa Linear Actuator

Posisi optical encoder pada linear actuator tersebut ditunjukkan oleh Gambar 5-3.

Gambar 5-3 Posisi optical encoder pada linear actuator

5.1.2.2 Bandul

Bandul merupakan sebuah benda yang menempel pada poros pedati dan dapat

bergerak dengan satu derajat kebebasan (searah atau berlawanan arah dengan jarum

jam). Bandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang

alumunium dengan panjang 81 cm. Bandul diletakkan pada poros sebuah optical

encoder sehingga dimungkinkan diketahuinya sudut bandul dengan presisi secara

real-time. Gambar 5-4 menunjukkan bandul yang diletakkan pada poros sebuah

encoder.

Page 4: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-4

Gambar 5-4 Bandul yang diletakkan pada poros sebuah encoder

Encoder yang digunakan untuk menempelkan bandul ini sebenarnya adalah satu

kesatuan dengan motor DC. Motor DC terdapat pada bagian depan dan encoder

sebagai sensor terletak pada bagian belakang. Dikarenakan encoder dan motor tidak

dapat dipisah, maka komponen yang akan digunakan hanyalah bagian belakang saja

yaitu encoder. Motor dan encoder sebagai satu kesatuan dapat dilihat pada Gambar 5-

5(a), encoder yang terletak pada bagian belakang motor dapat dilihat pada Gambar 5-

5(b).

(a) (b)

Gambar 5-5 (a) Motor dan Encoder (b) Optical encoder

5.1.2.3 Motor Penggerak Pedati (Motor DC)

Motor penggerak yang digunakan adalah motor DC yang menggunakan brush, yaitu

motor yang digerakkan oleh arus searah (direct current) dan menggunakan

komutator. Motor DC merupakan suatu aktuator yang dapat mengkonversi energi

listrik menjadi energi mekanik. Skema motor DC dapat dilihat pada Gambar 5.6.

Page 5: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-5

Armature 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 melukiskan 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 permanen di kedua sisi armature.

Interaksi ini menghasilkan gaya tarik-menarik dan tolak-menolak pada armature

mengakibatkan armature berputar.

Gambar 5-6 Skema motor DC beserta komponen pendukungnya

Cara kerja motor DC ini dapat dilihat pada Gambar 5-7 [URL-02]. Pada Gambar 5-

7(a), ketika koil dialiri listrik maka akan dihasilkan medan magnet di sekitar

armature. Bagian kiri dari armature terdorong oleh magnet kiri dan menyebabkan

armature berputar ke arah kanan, sehingga mengakibatkan terjadinya rotasi. Gambar

5-7(b) menunjukkan armature terus berputar. Pada Gambar 5-7(c), ketika armature

sejajar horizontal dengan magnet permanen maka komutator akan membalikkan arus

yang mengalir pada koil sehingga akan membalikkan medan magnet pada armature.

Page 6: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-6

Hal ini akan menyebabkan proses pada Gambar 5-7(a) terulang. Penjelasan lebih

detail tentang motor DC dapat dilihat pada [URL-03].

(b)

(c)

(a)

Gambar 5-7 Cara Kerja motor DC sederhana

5.1.2.4 Rotary Shaft Encoders [URL-05]

Encoder adalah sebuah sensor yang berfungsi untuk mengukur besar putaran sebuah

roda. Encoder dapat dibuat dengan menggunakan berbagai metode seperti magnetik

dan optical. Pada bagian ini akan dibahas mengenai optical encoder.

Ada dua macam encoder yang terdapat dipasaran, yaitu absolute dan relatif. Absolute

encoder memberikan sebuah kode yang menandakan posisi roda saat ini. Incremental

encoder hanya mengukur seberapa jauh roda telah bergerak. Incremental encoder

biasanya dipakai untuk mengukur seberapa jauh perpindahan roda robot ketika

bergerak.

Sensor optical encoder memiliki tiga bagian utama, yaitu piringan encoder, LED

(Light Emiting Diode) dan fototransistor. Piringan encoder berupa lingkaran dengan

lubang-lubang pada bagian pinggirnya. Pada jalur lubang-lubang 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. Fototransistor

merupakan transistor yang aktif jika terkena cahaya. Dua buah contoh rangkaian

Page 7: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-7

mekanik dari sensor incremental optical encoder ini dapat dilihat pada Gambar 5-8.

Pada masing-masing contoh tersebut, berkas cahaya dipancarkan dan dideteksi

menggunakan photo detector.

Gambar 5-8 Skema rangkaian sensor incremental optical encoder

Pada Gambar 5-8 kiri, berkas cahaya melewati lubang yang berada pada piringan

encoder. Pada Gambar 5-8 kanan, berkas cahaya dipantulkan oleh bagian terang dan

gelap dari piringan yang akan menyebabkan perbedaan intensitas cahaya. Rangkaian

sirkuit tambahan pada encoder kemudian akan mengubah sinyal dari photo detector

ini menjadi tegangan 0 atau 5 volt dc.

Gambar 5-9 menunjukkan bagaimana photo detector melihat bagian terang dan gelap

(atau lubang) dari piringan dan hasil tegangan yang dihasilkannya. Bagian gelap dan

terang merepresentasikan bagian lubang atau solid pada piringan encoder. Ketika

bagian gelap berada di depan detektor maka tegangan keluaran adalah low (0 vdc).

Ketika bagian terang berada di depan detektor maka tegangan keluaran adalah high (5

vdc).

Page 8: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-8

Gambar 5-9 Optical encoder dengan satu sensor

Pulsa yang terbentuk dapat dibaca dan dihitung dengan mudah menggunakan

processor atau mikrokontroller dengan menggunakan berbagai macam teknik yang

berbeda. Ketika diketahui berapa banyak pulsa yang terdeteksi dan berapa keliling

roda, maka dapat diketahui pula berapa jauh roda telah bergerak (mengukur jarak

perpindahan roda). Kelemahan optical encoder dengan satu sensor ini adalah

mikrokontroller akan menerima pulsa yang terlihat sama ketika roda berputar searah

ataupun berlawanan jarum jam sehingga mikrokontroller tidak dapat membedakan

arah gerakan dari roda.

Untuk dapat membedakan arah gerakan roda, maka diperlukan tipe encoder lain yang

lebih canggih, yaitu quadrature encoder. Tidak seperti encoder biasa, quadrature

encoder memiliki satu buah sensor tambahan guna memberikan informasi arah

putaran. Gambar 5-10 mengilustrasikan cara kerja quadrature encoder dengan dua

buah sensor. Detektor A diletakkan pada permulaan strip putih dan detektor B

diletakkan pada bagian tengah strip hitam. Perbedaan offset peletakan detektor inilah

yang akan memberikan penambahan informasi arah gerak. Jika strip hitam/putih

bergerak ke kiri (dari kanan ke kiri), maka mikrokontroller akan menerima pulsa dari

detektor A yang pada mula-mula berada pada strip putih (seperti terlihat pada

Gambar 5-10, pulsa A). Pada saat yang bersamaan, detektor B berada pada

pertengahan strip hitam sehingga menghasilkan pulsa B seperti yang terlihat pada

Gambar 5-10, pulsa B. Hal yang sama pun terjadi ketika strip hitam/putih bergerak ke

Page 9: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-9

kanan (dari kiri ke kanan). Ketika detektor A berada pada permulaan strip putih,

detektor B berada pada pertengahan strip putih. Sehingga arah putaran dapat

ditentukan dengan cara melihat status detektor B pada saat terjadi perubahan status

pada detektor A, atau sebaliknya. Hal ini dapat dirumuskan dengan aturan berikut ini:

Ketika terjadi perubahan status pulsa pada detektor A (dari 0→1, atau 1→0): Jika (status detector B adalah high) maka counter=counter+1 Jika (status detector B adalah low) maka counter=counter-1

Gambar 5-10 Ilustrasi cara kerja quadrature encoder

Encoder yang berada di pasaran biasanya memiliki 5 buah kabel, yaitu: ground, vcc,

dua buah signal pulsa untuk detektor A dan B, dan satu buah kabel disebut sebagai

index. Kabel index akan menghasilkan pulsa ketika encoder berada pada posisi

tertentu. Posisi ini biasa disebut sebagai posisi nol encoder.

5.1.3 Mikrokontroller

Mikrokontroller, atau microcomputer, ialah sistem yang terdiri dari CPU (Central

Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), bus

(untuk address/alamat, data, sinyal kontrol), dan divais I/O (input/output) yang

dikemas dalam suatu IC (Integrated Circuit) [MAC-95]. Mikrokontroller yang akan

Page 10: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-10

digunakan dalam tugas akhir ini ialah AT89C51 (keluarga MCS-51® 1 ) dan

ATTiny2313 (keluarga AVR) yang keduanya diproduksi oleh Atmel Corporation.

5.1.3.1 Atmel AT89C51

Dalam tugas akhir ini akan digunakan DT-51 Minimum System Ver 3.0 dari

Inovative Electronics [URL-06]. Gambar 5-11 memperlihatkan board DT-51 yang

dapat diperoleh secara langsung dari Innovative Electronics. DT-51 ini memiliki

desain kompak (ukuran board hanya 8.5 x 9.5 cm), menggunakan non-volative

memory, memiliki system downloading, dan debugger kernel.

Gambar 5-11 DT-51 Mikrokontroller Berbasis 89C51

Fitur 89C51 ini adalah memiliki internal program memory sebesar 4 kilo-byte,

internal data memory sebesar 256 byte, memiliki timer/counter, interrupt, serial

interface, port input/output, dan special function [URL-07]. Panduan dasar keluarga

mikrokontroller MCS-51 ini dapat diunduh pada [URL-07].

1 MCS-51 merupakan merek dagang dari Intel Corporation

Page 11: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-11

5.1.3.2 Atmel ATTiny2313 [ATT-06]

Selain DT-51, mikrokontroller yang digunakan untuk tugas akhir ini adalah Atmel

ATTiny2313. Gambar 5-12 menunjukkan chip IC ATTiny2313 model PDIP/SOIC

yang memiliki 20 buah kaki.

Gambar 5-12 IC Atmel ATTiny2313

ATTiny2313 memiliki spesifikasi dasar sebagai berikut:

1. Mikrokontroller AVR 8-bit dengan daya rendah dan performansi tinggi dan

memiliki arsitektur RISC (Reduce Instruction Set Computer) tingkat lanjut.

• Memiliki 120 buah instruksi, yang sebagian besar memiliki waktu eksekusi

satu clock cycle.

• Memiliki 32 x 8 buah register umum yang dapat digunakan.

2. Nonvolatile program dan data memori.

3. Tegangan kerja:

• Rentang tegangan kerja ATTiny2313V yaitu 1.8 - 5.5V

• Rentang tegangan kerja ATTiny2313 yaitu 2.7 - 5.5V

4. Frekuensi Osilator

• ATTiny2313V : 0 - 4 MHz @ 1.8 – 5.5V, 0 – 10 MHz @ 2.7 – 5.5V

• ATINY2313 : 0 – 10 MHz @ 2.7 – 5.5V, 0 – 20 MHz @ 4.5 – 5.5V

Page 12: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-12

5. Fasilitas yang lain:

• Satu buah timer/counter 8-bit dengan prescaler yang terpisah dan compare

mode.

• Satu buah timer/counter 16-bit dengan prescaler yang terpisah, compare dan

capture mode.

• Empat kanal PWM (Pulse Width Modulation).

• USI (Universal Serial Interface).

• Full Duplex USART (Universal Synchronous and Asynchronous serial

Receiver and Transmitter) yang dapat diprogram

Pada tugas akhir ini, fitur mikrokontroller ATTiny2313 yang akan digunakan adalah

akses port I/O, PWM (Pulse Width Modulation), dan Interrupt. Panduan dasar dari

mikrokontroller ini dapat diunduh pada [URL-08].

5.1.4 Skematik Rangkaian dan Konfigurasi Kabel

Skema rangkaian yang akan dibahas adalah rangkaian H-Bridge untuk mengontrol

pedati, rangkaian sensor left default pedati untuk mengetahui posisi paling kiri dari

pedati, dan rangkaian opsional komunikasi serial MAX232 pada ATTiny2313 untuk

keperluan proses debugging. Konfigurasi hubungan-hubungan kabel antara

komponen satu dengan yang lain pun akan dijelaskan pada sub-bab ini.

5.1.4.1 Rangkaian H-Bridge

Pada prinsipnya H-Bridge adalah konfigurasi dari 4 buah switch yang disusun

sedemikian rupa untuk mengatur arah arus yang mengalir pada motor. Pada motor

Page 13: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-13

DC dengan brush, arah rotasi dari armature diubah dengan cara mengubah arah arus

yang mengalir padanya.

Gambar 5-13 menunjukkan cara kerja H-Bridge secara sederhana. Pada Gambar 5-13,

terdapat 2 buah kemungkinan jalur arus, yaitu jalur merah dan jalur hijau. Jalur merah

melalui switch S3 dan S2 sehingga motor berputar searah jarum jam. Jalur hijau

melalui switch S1 dan S4 sehingga motor berputar berlawanan arah jarum jam. Pada

tahap implementasi semua switch akan digantikan oleh transistor sehingga kecepatan

dan arah motor dapat dikendalikan secara langsung melalui mikrokontroller.

Gambar 5-13 Diagram H-Bridge sederhana Rangkaian H-Bridge digunakan untuk mengatur arah putaran motor DC. Rangkaian

ini bertindak sebagai sebuah saklar yang mengubah arah arus yang melalui motor.

Desain rangkaian H-Bridge yang akan digunakan pada tugas akhir ini adalah hak

cipta dari Ibrahim Kamal dan dikenal sebagai rangkaian H-Bridge IkaLogic yang

dapat diakses melalui [URL-11].

Rangkaian H-Bridge IkaLogic yang dipakai memiliki keunggulan sebagai berikut:

• Dapat dialiri arus kontinu sampai 5A dan arus puncak 8A.

• Voltase maksimum adalah 24V.

• Sistem pendingin yang digunakan memiliki performansi tinggi.

• Desain yang kompak.

Page 14: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-14

• Komponen yang digunakan relatif murah.

Rangkaian skematik H-Bridge IkaLogic ini dapat dilihat pada Gambar 5-14. Gambar

ini terdiri dari 3 bagian, yaitu:

1. Rangkaian proteksi dan logika

Rangkaian skematik ini dapat dilihat pada Gambar 5-14 yang diarsir dengan

warna kuning. Fungsi dari rangkaian ini adalah untuk melindungi rangkaian H-

Bridge dari kerusakan fatal akibat kesalahan pemberian instruksi oleh device

pengontrol, seperti menghidupkan empat buah transistor secara bersamaan (hal ini

akan mengakibatkan short circuit dan dapat merusak satu atau dua dari empat

transistor). Fungsi lain adalah memungkinkan pengontrol seperti mikrokontroller

untuk mengatur empat buah transistor melalui gerbang-gerbang logika. Masing-

masing empat buah transistor yang berada pada tahap paling akhir, yaitu: Q1, Q2,

Q3, dan Q4 (lihat Gambar 5-14) memiliki fungsi untuk membalikkan signal dan

melakukan amplifikasi tegangan dan arus. Transistor Q1, Q2, Q3, dan Q4 ini

memakai prinsip kerja active turn OFF dan menghasilkan keluaran melalui

resistor pull-up atau pull-down. Ketika transistor dalam keadaan ON, maka ia

akan mematikan device apapun yang terhubung dengannya. Active turn OFF akan

memperkecil waktu transistor untuk OFF sehingga meningkatkan perfomansi dari

H-Bridge. Resistor R2, R4, R5, dan R10 haruslah memiliki daya minimal ½ watt,

terutama ketika dipakai catu daya 24V. Transistor Q2, Q4, Q9, dan Q10 adalah

NPN bertipe 2N2222.

Tabel kebenaran yang menggambarkan hubungan dari 3 buah masukan pada

gerbang logika (P1, P2, P3) dan keluaran pada transistor Q1, Q2, Q3, dan Q4

digambarkan pada Tabel 5-1.

Tabel 5-1 Hubungan P3, P2, P1 terhadap Q1, Q2, Q3, Q4 Masukan Keluaran

P3 P1 P2 Q1 Q2 Q3 Q4Hasil pada H-Bridge

0 X X 1 0 1 0 Motor bebas bergerak

Page 15: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-15

1 0 0 1 1 1 1 Motor direm 1 0 1 1 1 0 0 Motor bergerak searah jarum jam 1 1 0 0 0 1 1 Motor bergerak berlawanan jarum jam 1 1 1 0 0 0 0 Motor direm

Pin P3 berfungsi sebagai saklar ON/OFF dan biasanya dihubungkan dengan pin

PWM pada mikrokontroller. Ketika P3 diberikan masukan OFF maka motor tidak

bergerak, sama seperti tidak dihubungkan pada rangkaian apapun. Pin P1 dan P2

berfungsi untuk menentukan arah gerak dari motor, yaitu searah atau berlawanan

arah jarum jam.

Gambar 5-14 Rangkaian skematik H-Bridge IkaLogic

2. Rangkaian H-Bridge

Rangkaian skematik ini dapat dilihat pada Gambar 5-14 yang diarsir dengan

warna merah. Rangkaian ini terdiri dari empat buah transistor, yaitu dua buah

Page 16: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-16

transistor TIP122 (NPN) dan dua buah transistor TIP127 (PNP) yang memiliki

penguatan arus sampai 1000. Diode D2 sampai D5 sangat penting untuk

melindungi transistor dari voltase back EMF (ElectroMagnetic Force) yang

dihasilkan dari Motor DC yang dihidupkan dan dimatikan secara bergantian. J5

adalah konektor untuk dihubungkan dengan motor.

3. Rangkaian kipas pendingin

Rangkaian skematik ini dapat dilihat pada Gambar 5-14 yang diarsir dengan

warna biru. Rangkaian ini berfungsi untuk mendinginkan transistor dan memiliki

led sebagai indikator bahwa H-Bridge dalam keadaan ON atau OFF.

Gambar 5-15 memperlihatkan implementasi perangkat keras rangkaian H-Bridge

IkaLogic yang digunakan pada tugas akhir ini.

(a) (b)

Gambar 5-15 Perangkat Keras H-Bridge IkaLogic (a) Tampak atas (b) Tampak samping

5.1.4.2 Rangkaian Sensor Left Default Pedati

Rangkaian ini digunakan untuk medeteksi posisi paling kiri dari pedati (posisi nol).

Hal ini diperlukan pada saat pedati digerakkan ke posisi tengah kereta sebelum sistem

Page 17: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-17

inverted pendulum dijalalankan. Diagram skematik rangkaian sensor left default

edati berada di posisi paling kiri, maka

menggunakan sebuah sensor opto-interrupter H21A1 yang diproduksi oleh

perusahaan semikonduktor Fairchild. Skematik dan bentuk komponen opto-

interrupter dapat dilihat pada Gambar 5-16.

Rangkaian transistor untuk mencuplik sinyal menggunakan konfigurasi common

emitter amplifier dan berlaku sebagai saklar yang akan terbuka apabila terdapat benda

di antara diode dan fototransistor. Ketika p

lempengan logam yang disisipkan pada pedati akan menutup ruang kosong antara

diode dan fototransistor pada opto-interrupter sehingga menyebabkan sinyal yang

diamati menjadi berubah.

Gambar 5-16 Komponen opto-interrupter

Rangkaian skematik untuk sensor left default pedati diperlihatkan oleh Gambar 5-17.

Perubahan sinyal akan t ruang kosong antara

iode dan fototransistor pada opto-interrupter tertutup.

diamati oleh mikrokontroller pada saa

d

Gambar 5-17 Skema rangkaian sensor left default pedati

Page 18: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-18

Gambar 5-18 memperlihatkan perangkat keras sensor left default pedati yang

ditempatkan pada posisi paling kiri dari lintasan pedati.

Gambar 5-18 Perangkat keras sensor left d ult pedati

Rangkaian reset DT-51 berguna untuk mengembalikan program mikrokontroller DT-

51 ke kondisi semula. Reset tidak mempengaruhi internal program memory. Reset

terjadi jika pin RST pada DT-51 bernilai high selama minimal 2 machine cycle lalu

kembali bernilai low. Diagram skematik rangkaian reset ditunjukkan oleh Gambar 5-

19(a) dan Gambar perangkat keras reset ditunjukkan oleh Gambar 5-19(b).

Gambar 5-19 Reset DT-51 (a) Diagram Skematik (b) Perangkat keras

efa

5.1.4.3 Rangkaian Reset DT-51 dan Start Pendulum

(a) (b)

Page 19: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-19

Rangkaian start pendulum adalah sebuah switch atau trigger yang berguna untuk

menginformasikan mikrokontroller DT-51 bahwa sistem telah siap dijalankan.

Rangkaian ini dibangun hanya dengan menggunakan sebuah switch dan pull-up pada

salah satu pin DT-51. Diagram skematik dan Gambar perangkat keras rangkaian start

pendulum dapat dilihat pada Gambar 5-20(a) dan 5-20(b) berurutan.

Gambar 5-20 Start pendulum (a) Diagram skematik (b) Perangkat keras

5.1.4.4

Transistor

elalui

debugging

pada m bar 5-

21.

(b) (a)

Rangkaian MAX232

Koneksi serial pada mikrokontroller masih mempunyai keluaran berlogika

Transistor Logic (TTL) sehingga apabila data akan dikirim ke komputer m

konektor DB-9 dibutuhkan suatu konverter tegangan. Rangkaian MAX232 ini

berfungsi sebagai konverter logika dari TTL menjadi RS232. Tegangan yang

dikeluarkan dari komponen ini mempunyai nilai -10V dan 10V. Rangkaian MAX232

adalah rangkaian opsional yang diperlukan hanya untuk kemudahan proses

ikrokontroller ATTiny2313. Skema rangkaian dapat dilihat pada Gam

Page 20: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-20

Gambar 5-21 Skema rangkaian MAX232

5.1.4.5 Konfigurasi Pin

Pada sub-bab ini akan dibahas konfigurasi penggunaan pin pada setiap

mikrokontroller dan hubungannya dengan komponen-komponen lain yang terlibat

dalam sistem inverted pendulum. Pertama-tama komunikasi antara mikrokontroller

pusat (DT-51) dengan ketiga mikrokontroller ATTiny2313 menggunakan komunikasi

paralel dengan besar data 1 byte (8 jalur kabel). Mikrokontroller ATTiny2313 motor

(ATTiny2313 yang tugasnya mengontrol motor) dan ATTiny2313 sensorPedati

(ATTiny2313 yang tugasnya membaca sensor encoder pedati) berkomunikasi hanya

melalui 2 jalur kabel pa edati di tengah-tengah

lintasan. Mikrokontroller-mikrokontroller yang digunakan dapat dilihat pada Gambar

5-22. Konfigurasi pin antara mikrokontroller dapat dilihat pada Tabel 5-2.

da saat permulaan inisialisasi posisi p

Page 21: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-21

Gambar 5-22 Mikrokontroller (a)DT-51 (b)ATTiny2313 Motor (c)ATTiny2313 sensorBandul

(d)ATTiny2313 sensorPedati

Tabel 5-2 Konfigurasi kabel antara mikrokontroller Mikrokontroller1 Mikrokontroller2 Keterangan DT-51 PA.0 ... PA.7

ATTiny2313 motor PB.0 PB.1 PD.0 PB.3 ...

Komunikasi parantara DT-51

PB.7

alel 8 jalur dengan

ATTiny2313 motor DT-51 PB.0 ... PB.7

ATTiny2313 sensorBandul PB.0 ... PB.7

Komunikasi paralel 8 jalur antara DT-51 dengan ATTiny2313 sensorBandul

DT-51 PC.0 ... PC.7

ATTiny2313 sensorPedati PB.0 ... PB.7

Komunikasi paralel 8 jalur antara DT-51 dengan ATTiny2313 sensorPedati

DT-51 P1.2

ATTiny2313 motor Toggle status pin yang

PWM pada ATTiny2313 motor

PD.6 dihasilkan DT-51 ketika akan menulis besaran

DT-51 status pin yang T-51 ketika P1.4

ATTinny2313 Toggle sensorPedati PD.6

dihasilkan Dakan membaca posisi kereta pada ATTiny2313 sensorPedati

ATTiny2313 sensorPedati

ma oleh

kiri dari pedati pada

PD.1 ATTiny2313 motor PD.5

Status pin yang dihasilkan oleh ATTiny2313 motor dan diteriATTiny2313 sensorPedati. Status pin ini berfungsi untuk mendeteksi posisi paling

(a) (b) (c) (d)

Page 22: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-22

proses inisialisasi. ATTiny2313 sensorPedati PD.0

y2313 motor PD.4

TTiny2313 motor.

ATTin Status pin yang dihasilkan oleh ATTiny2313 sensorPedati dan diterima oleh AStatus pin ini berfungsi untuk menempatkan pedati pada posisi tengah-tengah lintasan.

hubungan antara m ntroller satu dengan

hubungan mikrokontroller dengan komponen-komponen la

left default pedati, komponen reset DT-51, start pendulum

ini dapat dilihat pada Tabel 5-3.

Tabel 5-3 Konfigurasi kabel antara mikrokontroller dengan

Selain ikroko yang lain, juga terdapat

in seperti H-Bridge, sensor

, dan lain-lain. Hubungan

komponen-komponen Mikrokontroller Komponen Keterangan ATTiny2313 sensorBandul

putih PD.2 Encoder bandul Kabel

Sensor encoder bandul channel A

ATTiny2313 sensorBandul PD.3

Encoder bandul Kabel biru

Sensor encoder bandul channel B

ATTiny2313 sensorPedati PD.2

Encoder pedati Kabel biru

Sensor encoder pedati channel A

ATTiny2313 sensorPedati Encoder pedati Kabel kuning

Sensor encoder pedati channel B PD.4

ATTiny2313 motor H-Bridge Penentu arah motor DC PD.1 Kabel hijau (gerakan pedati) ATTiny2313 motor PD.3

H-Bridge Kabel kuning

Penentu arah motor DC (gerakan pedati)

ATTiny2313 motor PB.2

H-Bridge Kabel orange

Sinyal ON/OFF (PWM) untuk H-Bridge

ATTiny2313 motor SenPD.2

sor left default pedati Kabel putih

Sensor posisi nol pedati

DT-51P1.0

Start pendulum Trigger proses stabilisKabel biru (Vout)

asi pendulum

DT-51 RST

Reset DT-51 Kabel biru (RST)

Trigger untuk proses reset DT-51

Page 23: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-23

5.1.5 Diagram Alir

n i program ya

rogram uh dari komputer

satu bua rokontroller DT

kontroller ATTiny2313

m alir program pada m er DT-51 dapat dilihat pada Gambar 5-23.

ikrokontro lakukan

nakan built-in libra , yaitu _initfu

ukan inisialisasi pemil n output (PortA, PortB, dan PortC)

untuk komunikasi paralel dengan ketiga mikrokontroller ATTiny2313. DT-51 akan

a una menekan tombol ON (start pendulum). Proses yang

Tech kemudian akan melakukan proses fuzzy control

terhadap keempat input tersebut dan dihasilkanlah sebuah keluaran output yang

Force ini akan diberikan oleh DT-51 kepada ATTiny2313 motor yang

Bagian ini akan menjelaska diagram alir dar ng digunakan untuk sistem

inverted pendulum. P yang diund ke mikrokontroller terdapat

empat buah, yaitu h untuk mik -51 dan tiga buah untuk

mikro .

5.1.5.1 DT-51

Diagra ikrokontroll

Pertama-tama m ller DT-51 me inisialisasi FuzzyTech

ry FuzzyTech zzy1. Setelah itu DT-51 menggu

melak ihan port input da

bekerj setelah pengg

dilakukan adalah DT-51 menerima dua masukan dari ATTiny2313 yaitu sudut bandul

dan posisi pedati. Setelah itu ia akan menghitung perubahan sudut bandul (thetaDot)

dan perubahan posisi pedati (Xdot). Kemudian keempat data ini akan menjadi

masukan ke FuzzyTech. Fuzzy

bernama force.

selanjutnya akan digunakan untuk menggerakkan pedati. Siklus ini berulang dengan

cara DT-51 membaca kedua input kembali.

Page 24: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-24

Gambar 5-23 Diagram alir pada mikrokontoller DT-51

5.1.5.2 ATTiny2313 Motor

Diagram alir pada mikrokontroller ATTiny2313 motor dapat dilihat pada Gambar 5-

24. Pertama-tama ATTiny2313 motor melakukan inisialisasi guna menempatkan

posisi pedati tepat cara komunikasi

ntara dua mikrokontroller terpisah yaitu: ATTiny2313 motor (untuk menggerakkan

di tengah-tengah lintasan. Hal ini dicapai dengan

a

Page 25: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-25

motor) dan ATTiny2313 sensorPedati (untuk mengetahui posisi pedati). Diagram alir

R adalah untuk menginformasikan kepada

ini dapat dilihat pada Gambar 5-24 dan 5-25 pada bagian prosedur inisialisasi posisi

pedati. Pada prinsipnya inisialisasi posisi pedati pada tengah-tengah lintasan

dilakukan dengan cara menggerakkan pedati (dilakukan oleh ATTiny2313 motor)

sampai ke ujung paling kiri lintasan (dideteksi menggunakan sensor left default

pedati) kemudian pedati digerakkan sampai posisi tengah-tengah lintasan (dideteksi

oleh ATTiny2313 sensorPedati).

Berikut ini akan dijelaskan proses inisialisasi secara lebih detail pada mikrokontroller

ATTiny2313 motor. SET_COUNTER adalah sebuah pin pada mikrokontroller

ATTiny2313 motor (berfungsi sebagai output) yang berhubungan secara langsung

dengan pin ATTiny2313 sensorPedati yaitu GET_0_COUNTER (berfungsi sebagai

input). Fungsi SET_COUNTE

ATTiny2313 sensorPedati bahwa posisi pedati telah berada di posisi paling kiri

lintasan (sensor left default pedati bernilai 1). ATTiny2313 sensorPedati kemudian

akan melakukan proses reset counter (counter=0). Hal ini menandakan bahwa posisi

nol pedati adalah pada ujung paling kiri lintasan. Setelah pedati berada di posisi

paling kiri maka ATTiny2313 motor akan menggerakkan pedati ke arah kanan,

sampai posisi pedati berada tepat di tengah-tengah lintasan. Posisi pedati yang berada

di tengah-tengah lintasan ditandai oleh pin STOP_CART pada mikrokontroller

ATTiny2313 motor yang bernilai satu. STOP_CART adalah sebuah pin yang

menghubungkan antara mikrokontroller ATTiny2313 motor (berfungsi sebagai input)

dan ATTiny2313 sensorPedati yaitu SET_STOP_CART (berfungsi sebagai output).

Setelah posisi pedati berada di tengah-tengah lintasan, pedati kemudian berhenti dan

proses inisialisasi selesai.

Page 26: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-26

Gambar 5-24 Diagram alir pada mikrokontoller ATTiny2313 motor

Setelah proses inisialisa

embaca input force yang dikeluarkan oleh DT-51. Force ini kemudian digunakan

si posisi pedati selesai, maka ATTiny2313 motor akan

m

untuk menentukan arah dan seberapa jauh kereta akan bergerak. Untuk kemudahan

program maka dipilih posisi nol force adalah 128. Pedati akan berhenti ketika pin

Page 27: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-27

STOP_CART bernilai satu. Hal ini mengindikasikan bahwa pedati telah menabrak

ujung paling kiri atau kanan lintasan.

5.1.5.3 ATTiny2313 SensorPedati

edati dapat dilihat pada

inisialisasi secara lebih detail pada mikrokontroller

Diagram alir pada mikrokontroller ATTiny2313 sensorP

Gambar 5-25. Pertama-tama ATTiny2313 sensorPedati melakukan inisialisasi guna

menempatkan posisi pedati tepat di tengah-tengah lintasan. Hal ini dicapai dengan

cara komunikasi antara dua mikrokontroller terpisah yaitu: ATTiny2313 motor

(untuk menggerakkan motor) dan ATTiny2313 sensorPedati (untuk mengetahui

posisi pedati). Diagram alir ini dapat dilihat pada Gambar 5-24 dan 5-25 pada bagian

prosedur inisialisasi posisi pedati.

Berikut ini akan dijelaskan proses

ATTiny2313 sensorPedati. SET_STOP_CART adalah pin yang berada pada

ATTiny2313 sensorPedati (berfungsi sebagai output) yang berhubungan dengan pin

ATTiny2313 motor yaitu STOP_CART (berfungsi sebagai input).

SET_STOP_CART mula-mula diberi nilai nol, yang menandakan bahwa posisi

pedati belum berada di tengah-tengah lintasan. Pedati sekarang bergerak ke ujung

paling kiri lintasan dan mikrokontroller ATTiny2313 terus menerus mengamati status

pin GET_0_COUNTER. GET_0_COUNTER adalah pin yang berada pada

ATTiny2313 sensorPedati (berfungsi sebagai input) yang berhubungan dengan pin

ATTiny2313 motor yaitu SET_COUNTER (berfungsi sebagai output). Ketika pedati

telah berada diujung paling kiri, maka pin GET_0_COUNTER akan bernilai satu

sehingga ATTiny2313 sensorPedati akan melakukan proses reset counter (counter=0)

untuk menandakan posisi nol dari pedati adalah ketika ia berada pada ujung paling

kiri lintasan. Setelah itu, pedati akan bergerak ke arah kanan dan ATTiny2313

sensorPedati akan mengubah status pin SET_STOP_CART menjadi satu ketika posisi

pedati telah berada ditengah-tengah lintasan. Setelah delay tertentu, status

Page 28: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-28

SET_STOP_CART akan diubah kembali menjadi nol dan proses inisialisasi pun

selesai.

Main

Inisialisasi Posisi Pedati

Posisi pedati berada diujung paling kiri atau kanan track?

SET_STOP_CART=1

End

Output posisi pedati saat ini

ya

tidak

Inisialisasi Posisi Pedati

SET_STOP_CART=0

GET_0_COUNTER = 1?

dellay

Counter=0

ya

tidak

Apakah kereta berada di posisi tengah-

tengah track?

SET_STOP_CART=1

SET_STOP_CART=0

RET

ya

tidak

Interupsi 0: EXT_INT0

PIN_EA=1?

PIN_EB=1?

counter=counter+1

counter=counter-1

PIN_EB=1?

counter=counter-1

counter=counter+1

RETI

RETI

ya

tidak

ya

tidak

ya

tidak

Gambar 5-25 Diagram alir pada mikrokontroller ATTiny2313 sensorPedati

etelah proses inisialisasi selesai, maka tugas mikrokontroller ini adalah untuk

mengeluarkan informasi posisi pedati pada mikrokontroller DT-51. Ketika posisi

S

Page 29: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-29

pedati berada di ujung paling kiri atau kanan lintasan, maka ATTiny2313

sensorPedati akan mengubah status SET_STOP_CART menjadi satu yang

menandakan bahwa pedati harus berhenti.

Proses pembacaan sensor encoder untuk posisi pedati ini menggunakan interupsi

eksternal INT0 pada mikrokontroller ATTiny2313 sensorPedati. Algoritma yang

ATTiny2313 SensorBandul

Diagram alir pada mikrokontroller ATTiny2313 sensorBandul dapat dilihat pada

ller ATTiny2313 sensorBandul ini hanya untuk

encoder

digunakan untuk mencacah posisi pedati ini pada dasarnya sama seperti dengan yang

telah dijelaskan pada Subbab 5.1.2.4, hanya saja kali ini ketelitian pembacaan

encoder lebih tinggi.

5.1.5.4

Gambar 5-26. Kegunaan mikrokontro

mendeteksi sudut bandul saat kini. Untuk memudahkan pembuatan program maka

posisi nol bandul diambil pada posisi tegak vertikal terbalik.

Mula-mula ATTiny2313 sensorBandul mereset variabel counter menjadi nol.

Variable counter digunakan untuk mencacah sinyal yang dikeluarkan oleh

bandul. Proses pembacaan sensor encoder untuk sudut bandul ini menggunakan

interupsi eksternal INT0 pada mikrokontroller ATTiny2313 sensorBandul. Setiap kali

interupsi selesai maka ATTiny2313 sensorBandul akan mengeluarkan informasi

sudut bandul ini (counter) pada mikrokontroller DT-51. Algoritma yang digunakan

untuk mencacah sudut bandul ini pada dasarnya sama seperti dengan yang telah

dijelaskan pada Subbab 5.1.2.4, hanya saja kali ini ketelitian pembacaan encoder

lebih tinggi.

Page 30: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-30

Main

END

Output sudut bandul (counter) pada DT-51

counter=0

Interupsi 0: EXT_INT0

PIN_CHA=1?

PIN_CHB=1?

counter=counter+1

counter=counter-1

PIN_CHB=1?

counter=counter-1

counter=counter+1

ya

tidak

ya

tidak

ya

tidak

1

RETI

1

1

Output sudut bandul (counter) pada DT-51

Gambar 5-26 Diagram alir pada mikrokontroller ATTiny2313 sensorBandul

5.1.6 Membership Function & Rule Pada Perangkat Lunak FuzzyTech

FuzzyTech2 adalah sebuah perangkat lunak yang dapat mengimplementasikan fuzzy

logic pada bermacam-macam tipe mikrokontroller yang berbeda-beda. FuzzyTech

menyediakan editor grafik yang akan memudahkan user untuk mendesain sistem

2 FuzzyTech adalah merk dagang dari Inform Software Corporation

Page 31: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-31

fuzzy, melakukan proses debugging, optimasi, dan verifikasi. Setelah desain fuzzy

selesai dibangun, kemudian perangkat lunak FuzzyTech dapat dengan mudah men-

generate kode assembly sesuai dengan tipe mikrokontroller yang dipilih. Pada tugas

akhir ini akan digunakan FuzzyTech ver 5.5 MCU-51 yang kompatibel dengan

mikrokontroller DT-51. Perangkat lunak FuzzyTech merupakan produk komersial

dan dapat diakses pada [URL-09]. Panduan lengkap cara penggunaan perangkat lunak

ini terdapat pada FuzzyTech User Manual dan dapat diunduh pada [URL-10].

Panduan proses mengintegrasikan kode assembly yang digenerate oleh FuzzyTech

dengan kode user pada DT-51 dapat dilihat pada lampiran A. Panduan penginstallan

MCU-51 pada FuzzyTech dapat dilihat pada lampiran B.

Perangkat lunak FuzzyTech pada tugas akhir ini digunakan untuk

mengimplementasikan konsep fuzzy control guna mengontrol kestabilan sistem

inverted pendulum. Proses desain membership function dan pembangunan aturan

fuzzy pada perangkat lunak ini sangatlah mudah sekali karena didukung oleh GUI

(Graphic User Interface) yang memadai. Setelah proses desain fuzzy selesai

dibangun, kemudian perangkat lunak FuzzyTech pun dapat dengan mudah men-

generate kode assembly untuk mikrokontroller DT-51.

Secara umum masukan pada sistem fuzzy terdiri dari empat buah variabel, yaitu

Angle, Angle_dot, x, dan x_dot. Keluaran dari sistem fuzzy ini hanya satu buah

variabel yaitu force. Sistem fuzzy ini dikenal juga sebagai sistem MISO (Multiple

Input Single Output). Gambar 5-27 memperlihatkan desain umum sistem inverted

pendulum pada perangkat lunak FuzzyTech. Empat variabel masukan pada fuzzy

menggunakan method: Fast Compute MBF. Output defuzzification menggunakan

metode COM (Center of Maximum).

Setiap variabel pada FuzzyTech memiliki dua buah nilai yaitu shell values dan code

values. Shell values adalah nilai yang digunakan pada editor, debugger, dan analyzer

pada GUI FuzzyTech. Code values adalah nilai yang digunakan oleh FuzzyTech

ketika men-generate code assembly. Sebagai contoh ambil variabel input angle dari

Page 32: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-32

sistem inverted pendulum. Misalkan batas dari linguistic variabel ini adalah dari -90

sampai 90 derajat. Pada saat implementasi perangkat keras, sudut ini diukur oleh

sensor incremental yang misalnya menghasilkan output dari 240 sampai 1400. Maka

dari itu proses konversi diperlukan oleh perangkat lunak FuzzyTech dengan

mengambil shell values pada batas [-90o, +90o] dan code values dari [240, 1400].

Gambar 5-27 Desain sistem inverted pendulum pada perangkat lunak FuzzyTech

Shell values dan code values untuk variabel Angle, Angle_dot, x, x_dot, dan Force

dari sistem inverted pendulum ini dapat dilihat pada Gambar 5-28 (a), (b), (c), (d),

dan (e) secara berurutan.

Page 33: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-33

(a) (b)

(c) (d)

Page 34: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-34

(e)

Gambar 5-28 Shell values dan code values untuk : (a) Angle, (b) AngleDot, (c) x, (d) x_dot, dan (e) Force

Membership function yang digunakan terdiri dari lima buah yaitu angle (sudut

bandul), angle_dot (perubahan sudut bandul), x (posisi pedati), x_dot (perubahan

posisi pedati), dan force (gaya pada pedati). Masing-masing bentuk membership

function dapat dilihat pada Gambar 5-29 (a), (b), (c), (d), dan (e) secara berurutan.

FuzzyTech memiliki keterbatasan dalam jumlah keanggotaan dalam suatu

membership function. Jumlah keanggotaan maksimum yang diperbolehkan adalah

sebanyak delapan buah. Selain itu FuzzyTech yang digunakan kali ini adalah edisi

MCU-51 yang mengharuskan semua variabel yang dideskripsikan hanya sebesar 1

byte.

Page 35: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-35

(a) (b)

(c) (d)

(e)

Gambar 5-29 Membership Function untuk: (a) Angle (b) AngleDot (c) X (d) Xdot (e) Force

Page 36: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-36

Aturan fuzzy yang digunakan terdiri dari 225 buah dan kode program untuk

menghasilkan aturan ini dapat dilihat pada program rule.c yang dilampirkan pada CD.

Gambar 5-30 memperlihatkan sepotong aturan fuzzy yang digunakan pada perangkat

lunak FuzzyTech.

Gambar 5-30 Contoh aturan fuzzy yang digunakan pada FuzzyTech

5.2 Pengujian dan Analisis Perangkat Keras Sistem Inverted Pendulum

Pengujian perangkat keras sistem inverted pendulum akan dilakukan secara kualitatif

dengan melampirkan CD video percobaan. Data percobaan secara kuantitatif tidak

dapat disampaikan pada laporan kali ini karena berbagai alasan teknis. Untuk

mengambil data percobaan, variabel theta, theta_dot, x, dan x_dot pada setiap iterasi

perlu diambil oleh komputer. Komunikasi antara mikrokontroller dengan komputer

akan memakan waktu yang signifikan sehingga hal ini akan sangat menganggu

kestabilan sistem.

Page 37: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-37

Hasil percobaan inverted pendulum dengan menggunakan dua buah variabel yaitu

theta dan theta_dot adalah sudut bandul dapat distabilkan pada posisi vertikal

terbalik, tetapi posisi pedati tidak dapat distabilkan pada posisi tengah-tengah lintasan

sehingga pedati akan terus menerus bergerak menuju akhir lintasan. Hasil percobaan

ini sesuai dengan hasil simulasi dengan dua buah variabel di mana posisi pedati (x)

bergerak menuju tak hingga. Dengan menggunakan empat buah variabel yaitu theta,

theta_dot, x, dan x_dot, baik sudut bandul maupun posisi pedati dapat distabilkan

dengan baik. Hasil simulasi untuk empat variabel menunjukkan bahwa sistem dapat

distabilkan dalam jangka waktu yang lama, tetapi tidak demikian dengan hasil

implementasi perangkat kerasnya.

Implementasi perangkat keras sistem inverted pendulum ini memiliki berbagai

keterbatasan seperti: sudut bandul mula-mula haruslah kecil (<±5 derajat) dan bandul

dapat distabilkan pada posisi vertikal terbaliknya hanya dalam jangka waktu yang

pendek.

Berbagai kendala yang dihadapi pada saat pembangunan perangkat keras sistem

inverted pendulum ialah:

1. Keterbatasan perangkat lunak FuzzyTech yang mengharuskan besar variabel

adalah 1 byte untuk edisi FuzzyTech MCU-51 sehinggga mengakibatkan

keakuratan data menjadi berkurang.

2. Keterbatasan perangkat lunak FuzzyTech yang mengharuskan jumlah derajat

keanggotaan maksimum sebanyak 8 buah sehingga variasi keluaran nilai force

menjadi berkurang.

3. Kompensasi antara kestabilan bandul dan posisi pedati. Proses penstabilan

posisi pedati sebenarnya merupakan sebuah gangguan lain (disturbance) pada

proses penstabilan sudut bandul, sehingga perlu ditelaah lebih lanjut

bagaimana kompensasi untuk kestabilan keduanya.

Page 38: BAB VI PERANCANGAN, PENGUJIAN, DAN ANALISIS · PDF fileBandul yang akan digunakan pada tugas akhir ini menggunakan sebuah batang alumunium dengan panjang 81 cm. Bandul diletakkan pada

5-38

4. Perbedaan parameter (berat pedati, berat bandul, panjang bandul, dan

sebagainya) yang besar antara simulasi dan perangkat keras sehingga

mengakibatkan perbedaan parameter-parameter fuzzy (membership function)

yang cukup besar antara keduanya. Selain itu simulasi menggunakan model

ideal (seluruh gesekan diabaikan) sedangkan kenyataannya pada perangkat

keras gesekan sangat berpengaruh terhadap perfomansi sistem. Perangkat

keras memerlukan proses tuning parameter tersendiri.

5. Mekanisme pedati memakai prinsip ball screw yang mengakibatkan impulse

pada bandul menjadi besar saat pedati berganti arah, sehingga waktu

kestabilan inverted pendulum menjadi relatif pendek.

6. Gaya maksimum yang dihasilkan motor pedati tidaklah cukup kuat untuk

mengejar perubahan sudut bandul yang relatif besar.

7. Proses tuning variabel dan aturan fuzzy dilakukan secara manual sehingga

mengakibatkan tidak dapat diperolehnya solusi global optimum dari masalah.

Proses tuning variabel sebaiknya menggunakan algoritma lain seperti genetic

algorithms atau jaringan saraf tiruan.