Upload
dinhnhu
View
220
Download
0
Embed Size (px)
Citation preview
46
BAB V PENGUJIAN DAN ANALISIS WAHANA
Pengujian sistem pada wahana dilakukan baik pada perangkat keras, perangkat lunak,
maupun fungsional sistem secara keseluruhan. Pengujian ini bertujuan untuk
mengetahui tingkat keberhasilan perangkat-perangkat sistem pada wahana yang telah
dirancang dan dibangun.
5.1. Pengujian Perangkat Keras
5.1.1. Pengujian Subsistem Pengendali
Pengujian subsistem pengendali meliputi pengujian karakteristik board
mikrokontroler dan konfigurasi fungsional sistem. Pengujian ini dilakukan secara
langsung dengan menghubungkan setiap komponen yang diuji terhadap target
pengujian. Tujuannya adalah untuk memperoleh hasil pengujian secara langsung
pada setiap komponen wahana (target) yang diuji.
• Pengujian karakteristik board mikrokontroler
Pengujian ini merupakan pengujian yang dilakukan untuk mengetahui
apakah mikrokontroler yang telah diberi program – dapat memroses data
atau memberikan respon yang tepat berdasarkan suatu masukan data dari
pengguna. Pengujian karakteristik ini dilakukan dengan menghubungkan
board mikrokontroler dengan catu daya sistem dan peralatan sistem
aktuator yang akan digunakan. Tujuannya adalah untuk melihat secara
langsung keluaran pin-pin mikrokontroler (baik sebagai pin masukan dan
pin keluaran) dan bagaimana respon yang diberikan mikrokontroler
tersebut terhadap suatu masukan dari pengguna sistem.
Pengujian ini dilakukan dengan mengukur nilai tegangan VCC pada
rangkaian yang telah dibuat dan nilai tegangan logika “high” dan ”low”
yang dihasilkan oleh mikrokontroler saat beroperasi.
Hasil pengujian karakteristik board mikrokontroler adalah:
(a) board mikrokontroler (DT AVR low cost micro system) mendukung
pemrograman mikrokontroler secara ISP (In System Programming)
dengan artian bahwa program assembly yang berasal dari PC dapat
47
dimasukkan ke dalam mikrokontroler tanpa harus melepaskan
mikrokontroler dari board (mikrokontroler berada dalam sistem),
(b) pemrograman ISP ini dapat dilakukan dengan menggunakan paralel
port atau serial port PC. Untuk pemrograman ISP melalui paralel
port PC, dapat digunakan interface DT-HiQ dan untuk pemrograman
melalui serial port dapat digunakan interface AVR 910,
(c) perangkat lunak CVAVR dapat memasukkan program hasil compile-
nya ke dalam mikrokontroler secara langsung,
(d) tegangan yang keluar dari pin I/O board adalah 4.96 Volt DC (VCC)
dengan nilai tegangan pin saat logika hi sama dengan 4.02 Volt dan
nilai tegangan pin saat logika lo sama dengan 0.5 Volt.
• Pengujian fungsional sistem
Pengujian ini meliputi pengujian pengiriman dan penerimaan data dari
dan ke PC, dan pengujian hubungan mikrokontroler dengan subsistem
aktuator. Semua pengujian tersebut dilakukan secara langsung dengan
menghubungkan board mikrokontroler dengan target pengujian
(subsistem aktuator servo atau motor DC).
� Pengujian pengiriman dan penerimaan data
Pengujian ini bertujuan untuk mengetahui apakah subsistem
pengendali wahana dapat mengirim dan menerima data ke dan dari
PC. Pengujian menggunakan perangkat lunak Hyper Terminal untuk
mengetahui hasil pengiriman dan penerimaan data pada serial port
(koneksi antara mikrokontroler dan PC).
Hasil pengujiannya adalah:
(a) pada saat inisialisasi, mikrokontroler berhasil mengirimkan
beberapa data karakter kepada PC dan menghasilkan keluaran
”Selamat Datang” pada tampilan Hyper Terminal,
(b) metode swirch-case kode program mikrokontroler berhasil
memberikan respon terhadap instruksi dari PC dengan
mengirimkan data karakter huruf sebagai indikator bahwa
instruksi telah diproses.
48
� Pengujian hubungan mikrokontroler dengan subsistem aktuator
Pengujian ini dilakukan dengan cara menghubungkan
mikrokontroler dengan subsistem aktuator (motor DC dan servo)
dan melihat respon dari subsistem aktuator tersebut.
Hasil pengujian ini adalah:
(a) pada saat inisialisasi, shaft servo berada pada posisi 180o dan
motor DC diam,
(b) instruksi lebar pulsa hi servo yang dapat dikirim ke
mikrokontroler bernilai 40 s.d. 200,
(c) motor DC dapat bergerak dengan instruksi besar PWM bernilai 0
s.d. 1023.
Kesemua pengujian subsistem pengendali menunjukkan bahwa subsistem
pengendali telah dapat bekerja dengan baik dan mampu mengendalikan
semua kebutuhan gerakan wahana.
5.1.2. Pengujian Subsistem Catu Daya
Pengujian subsistem catu daya ini bertujuan untuk mengetahui apakah
subsistem ini mampu mendukung semua kebutuhan sumber tegangan semua
komponen wahana. Pengujian dilakukan dengan menghubungkan catu daya
dengan sumber tegangan AC (± 220 volt). Sumber tegangan AC tersebut dapat
diperoleh dari konektor pada catu daya PC atau dari konektor sumber tegangan
ruangan. Kemudian, setiap keluaran dari subsistem catu daya diukur dengan
multitester untuk mengetahui besarnya tegangan di setiap keluaran subsistem
ini. Dari hasil pengukuran tegangan ini, dapat diketahui setiap keluaran yang
menjadi kebutuhan komponen-komponen wahana.
Hasil pengujian subsistem catu daya adalah:
• Kabel berwarna hitam merupakan keluaran catu daya dalam bentuk ground.
• Kabel berwarna merah merupakan keluaran tegangan DC 4,96 volt. Keluaran
ini kemudian dihubungkan dengan kabel power servo dan terminal tegangan
(max 5 volt) board mikrokontroler.
• Kabel berwarna kuning merupakan keluaran tegangan DC 11 - 12 volt yang
menjadi kebutuhan modul H-Bridge dan tegangan masukan mikrokontroler.
49
• Hasil pengukuran keluaran catu daya yang lain (kabel berwarna selain hitam,
kuning, dan merah) adalah tegangan DC yang lebih kecil dari 5 volt.
Hasil pengujian subsistem catu daya ini menunjukkan bahwa subsistem ini
mampu mendukung kebutuhan sumber tegangan wahana, yaitu kebutuhan
sumber tegangan untuk subsistem pengendali dan aktuator. Bahkan setelah
semua kebutuhan sumber tegangan wahana terpenuhi, keluaran subsistem ini
masih tersisa dan dapat digunakan sebagai sumber tegangan komponen
pendukung yang lain (misalnya kipas pendingin dan lampu indikator).
5.2. Pengujian Perangkat Lunak
Pengujian perangkat lunak wahana merupakan pengujian komunikasi antara
mikrokontroler dengan PC. Dua kode program yang berjalan pada masing-
masing komponen (mikrokontroler dan PC) harus saling berhubungan dan dapat
merespon dengan tepat satu sama lain. Pengolahan data yang dikirim atau
diterima oleh masing-masing komponen akan menentukan keberhasilan wahana
dalam menjalankan fungsinya. Pengujian ini dilakukan dengan menggunakan
fasilitas GUIDE MATLAB dan SIMULINK MATLAB.
5.2.1. Pengujian Pengendalian GUIDE
Pengendalian perangkat lunak GUIDE MATLAB merupakan pengendalian yang
bersifat statik. Kode program GUIDE akan membuka port komunikasi,
mengirimkan instruksi, kemudian menutup kembali port komunikasi tersebut.
Dalam hal ini, subsistem aktuator akan memberikan respon sesaat berdasarkan
instruksi yang dikirimkan oleh GUIDE.
Pembukaan, pengiriman, dan penutupan komunikasi melalui serial port
dilakukan pada setiap event callback komponen GUIDE wahana.
function s1_btn_Callback(hObject, eventdata, handle s) fopen(handles.to_com); a=get(handles.s1_slider,'Value'); b=strcat(num2str(round(a)),'a'); fwrite(handles.to_com,b); fclose(handles.to_com);
Pada kode tersebut, fungsi fopen() akan membuka port komunikasi yang telah
didefinikan dalam variabel handles.to_com. Setelah itu, fungsi fwrite() akan
50
mengirimkan data variabel b ke variabel handles.to_com atau mengirimkan
instruksi ke mikrokontroler. Fungsi fclose() akan menutup port komunikasi yang
telah dibuka oleh fungsi fopen().
Untuk setiap pengendalian subsistem aktuator baik servo maupun motor DC,
kode program GUIDE memiliki algoritma yang serupa dengan isi variabel (yang
dikirim oleh fungsi fwrite()) yang berbeda-beda (tergantung dari target yang
diinginkan).
Hasil pengujian perangkat lunak ini menunjukkan hasil yang memuaskan dan
telah berjalan dengan baik. Gangguan komunikasi dalam pengiriman dan
penerimaan instruksi tidak ditemukan dalam pengujian ini karena data yang
dikirim dan diterima hanya dikrim secara sesaat (tidak terus-menerus).
0 20 40 60 80 100 120 140 160 18040
60
80
100
120
140
160
180
200Kalibrasi Uji Statik Servo
Posisi shaft (derajat)
Pul
sa y
ang
diki
rim
Gambar 5. 1. Grafik hasil pengujian GUIDE MATLAB.
51
5.2.2. Pengujian Pengendalian SIMULINK
Pengujian perangkat lunak SIMULINK pada dasarnya sama dengan pengujian
GUIDE tetapi pada kode program SIMULINK, data instruksi bagi mikrokontroler
dikirim secara terus menerus berdasarkan suatu fungsi gerakan tertentu. Kode
program SIMULINK yang dibuat juga hanya mengendalikan subsistem aktuator
servo saja, tidak mendukung pengendalian subsistem aktuator motor DC.
Hasil pengujian perangkat lunak ini menunjukkan bahwa perangkat lunak ini
masih tidak stabil. Hal ini disebabkan oleh buffer serial port yang penuh.
Penuhnya buffer ini sebagai akibat dari SIMULINK yang mengirimkan data secara
terus menerus tanpa mempedulikan respon dari mikrokontroler. Keadaan ini
menyebabkan buffer serial port menerima data dari kedua pihak (instruksi dari
SIMULINK dan respon dari mikrokontroler) tanpa sempat mengosongkan isinya.
Walaupun kecepatan komunikasi antara mikrokontroler dan SIMULINK telah
dibuat sama, isi buffer tetap tidak mudah dikosongkan dari penerimaan dan
pengiriman data yang bersifat terus-menerus itu.
PC dengan kecepatan yang lebih tinggi dari mikrokontroler akan mengirimkan
data dengan frekuensi perubahan yang lebih banyak daripada mikrokontroler.
Perubahan respon mikrokontroler yang lebih lambat membuat buffer terus terisi
data instruksi SIMULINK sebelum sempat dikosongkan dari data respon
mikrokontroler. Hal ini akan menimbulkan adanya penumpukan data dalam
buffer serial port (data instruksi dan respon) dan menyebabkan terjadinya
overflow. Keadaan ini membuat program tidak stabil dan membuat respon
wahana tidak sesuai dengan yang diinginkan. Keadaan overflow ini sering terjadi
jika PC sedang menjalankan program yang sangat banyak dan menggunakan
kapasitas memori yang besar.
Buffer serial port menggunakan memori PC untuk menyimpan data yang
diterima atau dikirim kepadanya. Data itu dapat diambil oleh perangkat lunak
dalam PC (sebagai respon) atau mikrokontroler (sebagai instruksi) dan
mengakibatkan kondisi memori (isi buffer) kembali kosong. Jika PC sedang
menjalankan program yang banyak, besarnya memori PC bagi buffer serial port
menjadi sedikit dan data yang dapat ditampung oleh buffer tersebut menjadi
terbatas. Keterbatasan jumlah memori ini dan perubahan instruksi yang tidak
52
diiringi oleh perubahan respon akan menyebabkan penuhnya buffer serial port
sehingga sistem menjadi overflow.
Gambar 5. 2. Pengujian SIMULINK MATLAB
5.3. Pengujian Fungsional Sistem
Pengujian fungsional sistem bertujuan untuk menguji prestasi wahana
terhadap suatu kasus tertentu. Dalam hal ini, kasus yang akan diuji terdiri atas:
(a) kemampuan alat untuk bergerak membentuk kurva ∞,
(b) kemampuan alat untuk bergerak sesuai dengan fungsi gerakan yang
didefinisikan pengguna.
Pengujian fungsional ini difokuskan pada pengendalian subsistem aktuator
servo karena kedua kasus yang akan diuji dapat dipenuhi oleh subsistem
aktuator servo (tanpa pengendalian subsistem aktuator motor DC). Selain itu,
perangkat lunak yang dibangun tidak dapat mendukung kedua jenis
pengendalian ini (pengujian gerakan dan pengendalian motor DC) secara
bersamaan. Untuk melakukan pengendalian subsistem motor DC selama
pengujian sistem, perlu adanya pengembangan perangkat lunak bagi PC
(misalnya penambahan blok pengenadalian motor DC dalam SIMULINK). Sistem
yang telah dibangun pada penelitian ini sebenarnya dapat melakukan kedua
pengendalian tersebut (pengendalian motor DC dan pengujian kasus) tetapi
harus dilakukan secara berurutan, yaitu pengendalian subsistem motor DC
dijalankan terlebih dahulu (dengan GUIDE) kemudian dilanjutkan dengan
53
pengujian wahana untuk kedua kasus; atau sebaliknya pengujian gerakan
wahana kemudian pengendalian subsistem aktuator motor DC.
Teknik pengujian fungsional sistem dilakukan dengan dua metode utama, yaitu
berdasarkan PC (PC based) dan berdasarkan mikrokontroler (micro based).
Pada metode berdasarkan PC, perhitungan persamaan gerak 3 DOF
didefinisikan dan diproses dalam PC. Kemudian, hasil perhitungan tersebut
(berupa perubahan posisi shaft servo) dikirimkan ke mikrokontroler untuk
disalurkan ke subsistem aktuator servo. Pada micro based proses perubahan
posisi shaft servo dilakukan di dalam mikrokontroler; PC hanya mengirimkan
instruksi berupa konstanta variabel yang sesuai dengan persamaan kasus gerak
wahana.
Kedua metode utama tersebut pada dasarnya memiliki teknik yang sama,
perbedaannya terletak di tempat pengendalian perubahan posisi shaft servo.
Pada PC based, tempat perubahan posisi shaft servo berada di PC sehingga
mikrokontroler langsung menerima posisi shaft servo tanpa perlu melakukan
perhitungan. Dalam hal ini, PC harus terus berkomunikasi dengan
mikrokontroler untuk memperbaiki keadaan / merubah posisi shaft servo.
Pada micro based, PC hanya memberikan variabel-variabel – yang sesuai
dengan persamaan gerak – yang didefinisikan oleh pengguna kemudian
membiarkan mikrokontroler melakukan perubahan posisi shaft servo.
Hubungan antara PC dan mikrokontroler dapat diputus / ditutup setelah semua
variabel gerak selesai dikirim ke mikrokontroler. Dengan kata lain
mikrokontroler dapat bergerak secara bebas tanpa terikat dengan PC.
Tabel 5. 1. Tabel perbedaan metode pengujian sistem:
Metode Tempat merubah posisi shaft servo
Hubungan komunikasi PC dan mikrokontroler
PC based PC Terus terbuka Micro based Mikrokontroler Dapat ditutup
54
5.3.1. Persamaan Gerak Fungsional Sistem
Persamaan gerak yang menjadi dasar pergerakan sistem merupakan persamaan
yang didefinisikan oleh pengguna. Persamaan ini dapat diproses dalam PC (PC-
based) atau dalam mikrokontroler (micro-based). Pada dasarnya persamaan
gerak untuk wahana kepakan sayap terdiri atas 3 buah persamaan utama. Ketiga
persamaan itu menyatakan pergerakan angular subsistem aktuator yang berada
di ketiga sumbu koordinat utama. Dengan mendefinisikan persamaan ini,
subsistem aktuator akan bergerak dalam tiga derajat kebebasan dan berada
pada posisi yang sesuai dengan persamaan gerak tersebut.
Kasus gerakan yang diuji adalah kasus gerakan membentuk kurva ∞ dan kasus
gerakan sayap serangga saat hovering. Kedua kasus tersebut merupakan kasus
yang memiliki persamaan gerak sinusoidal terhadap waktu.
• Kasus gerakan kurva ∞ / kurva 8 /helix
Komponen utama untuk kasus gerakan kurva ∞ adalah servo yang bergerak
pada sumbu x dan y. Perubahan posisi shaft kedua servo ini merupakan
fungsi sinusoidal terhadap waktu, yaitu:
persamaan 5. 1.
dimana:
A = amplitudo (maksimum posisi shaft servo),
f = frekuensi gerakan servo,
t = waktu.
Sebelum hasil perhitungan dimasukkan ke dalam mikrokontroler,
persamaan 5.1. harus diubah menjadi lebar pulsa hi yang merupakan
parameter kedudukan shaft servo. Cara termudah yang dapat dilakukan
adalah dengan melakukan konversi sudut shaft dari persamaan 5.1.
menjadi lebar pulsa hi, dimana jika posisi shaft servo sebesar 180o, lebar
pulsa hi yang dikirim ke mikrokontroler / servo sebesar 200. Dengan
rentang posisi shaft servo antara 0o sampai 180
o, lebar pulsa hi yang dikirim
ke mikrokontroler / servo berada dalam rentang 40 sampai 200. Dengan
melakukan konversi sederhana tersebut, persamaan 5.1. dapat menjadi
55
persamaan gerakan / posisi shaft servo terhadap waktu dan dapat
digunakan untuk menggerakkan wahana.
Cara konversi yang lain adalah dengan menggunakan proses pengujian
static (GUIDE). Melalui pengujian ini akan diperoleh hasil kalibrasi /
persamaan distribusi pulsa servo terhadap sudut shaft yang terbentuk pada
subsistem aktuator. Dengan persamaan tersebut, pengguna dapat
mendefinisikan besar pulsa yang akan memberikan gerakan sudut shaft
yang sesuai dengan persamaan yang diinginkannya.
Untuk membentuk kurva ∞, dibutuhkan dua buah persamaan untuk
mengendalikan gerakan servo pada sumbu x dan y. Kedua persamaan
tersebut merupakan persamaan sinusoidal dengan karakteristik / model
yang sama, tetapi memiliki frekuensi yang berbeda. Salah satu frekuensi
(untuk servo di sumbu x atau y) harus memiliki frekuensi dua kali frekuensi
sumbu yang lain (x atau y). Misal jika persamaan gerak servo pada sumbu x
memiliki frekuensi sebesar a, persamaan gerak servo pada sumbu y harus
memiliki frekuensi sebesar 2a. Persamaan ini akan membentuk gerakan
seperti pada gambar 3.2 dengan arah vertikal kertas sebagai sumbu y dan
arah mendatar sebagai sumbu x.
• Kasus gerakan berdasarkan fungsi masukan pengguna
Dalam kasus ini, fungsi yang dipilih adalah fungsi gerakan sayap serangga.
Kepakan serangga ini merupakan gerakan kepakan sayap yang cukup
sederhana. Pergerakan sayap serangga merupakan gerakan bolak-balik
(sinusoidal) yang terdiri dari dua persamaan utama. Kedua persamaan
tersebut terdiri dari persamaan untuk mendefinisikan gerakan kepakan (ke
atas-ke bawah) dan gerakan sudut serang sayap serangga tersebut dalam
suatu rentang waktu tertentu.
56
Fungsi tersebut adalah:
(a) persamaan gerak pusat sayap:
persamaan 5. 2.
(b) persamaan sudut serang sayap:
persamaan 5. 3.
dimana:
φ = perbedaan fase.
Gambar 5. 3. Hasil fungsi persamaan kepakan sayap serangga (Wang, Two
Dimensional Mechanism for Insect Hovering, 2000)
5.3.2. Pengujian Berdasarkan PC
Pengujian berdasarkan PC dilakukan dengan menggunakan SIMULINK. Hal ini
didasarkan pada kemudahan SIMULINK untuk mendefinisikan fungsi dan
merubah (menambah / mengurangi / mendefinisikan) setiap blok yang ada di
dalamnya. Perangkat lunak SIMULINK yang diuji (yang telah dijelaskan pada bab-
bab sebelumnya) dijalankan dalam bentuk real time berdasarkan fasilitas real
time windows target yang dimiliki oleh MATLAB. Dengan fasilitas ini, sample
time (perubahan waktu) SIMULINK wahana berubah berdasarkan perubahan
waktu sistem operasi (yang menjadi tempat operasi perangkat lunak MATLAB
berjalan).
Karena pada saat pengujian perangkat lunak SIMULINK wahana terjadi
kesalahan overflow, dalam blok pengiriman data (m-file) ditambahkan fungsi try-
cacth yang akan mengatasi kesalahan pengiriman data akibat overflow tersebut.
57
Hasil pengujian metode berdasarkan PC ini adalah:
1. Perubahan posisi shaft bergerak sesuai dengan waktu sistem operasi.
Dengan kata lain, perubahan tersebut sesuai dengan persamaan yang
dibangun.
2. Overflow tetap terjadi terutama jika beban kerja PC sangat berat. Komponen
yang mengatasi kesalahan overflow (try-catcth) mengembalikan kondisi
shaft servo seperti kondisi awal (ketika SIMULINK dijalankan) dan
menyebabkan wahana bergerak tidak wajar / aneh.
3. Pengendalian motor DC tidak dapat dilakukan saat SIMULINK berjalan
karena jalur komunikasi ke serial port selalu digunakan oleh SIMULINK untuk
melakukan perubahan posisi shaft servo. Oleh karena itu, pengendalian
motor DC ini harus dijalankan sebelum SIMULINK berjalan.
0 5 10 15 20 25 30 35 4040
50
60
70
80
90
100
110
120
130
140
sample time
puls
a hi
sumbu x
sumbu ysumbu z
Gambar 5. 4. Hasil perhitungan persamaan gerak
58
0 5 10 15 20 25 30 35 4040
50
60
70
80
90
100
110
120
130
140
puls
a hi
sample time
sumbu x
sumbu y
sumbu zsumbu x
sumbu y
sumbu z
Gambar 5. 5. Hasil pergerakan wahana
105 110 115 120 125 130 135100
105
110
115
120
125
130
135
140
Gambar 5. 6. Hasil pergerakan yang diinginkan dari persamaan
105 110 115 120 125 130 135100
105
110
115
120
125
130
135
140
sumbu x
sum
bu y
112 114 116 118 120 122 124 126 128 130105
110
115
120
125
130
135
sumbu x
sum
bu y
Gambar 5. 7. Gambar hasil pergerakan wahana pada rentang sample time 0 – 20 (kiri) dan 20 – 40 (kanan)
59
Pada dasarnya hasil dari metode berdasarkan PC ini tidak sesuai dengan hal
yang diinginkan (gagal). Dari semua pengujian (PC-Based) yang telah dilakukan,
rata-rata wahana bergerak sesuai dengan persamaan yang diinginkan pada
suatu rentang waktu yang pendek. Setelah itu, sistem komunikasi antara
SIMULINK dan mikrokontroler mengalami overflow dan mengakibatkan wahana
bergerak aneh / tidak wajar (error). Fungsi try-catch yang telah dimasukkan
dalam SIMULINK dapat menangani error yang terjadi (SIMULINK tidak
mengalami crash), tetapi tidak mampu menangani proses perhitungan yang
hilang selama overflow. Oleh karena itu, walaupun telah melewati fungsi try-
catch ini, wahana tetap bergerak aneh dan tidak sesuai dengan persamaan yang
telah didefinisikan.
Selain menggunakan try-catch, dapat dilakukan pembentukan serangkaian data
(dengan cara memperhitungkan persamaan gerak dalam SIMULINK) untuk
mengatasi masalah overflow tersebut. Hasil perhitungan tersebut dibagi menjadi
beberapa data konstanta dengan suatu rentang waktu tertentu. Data-data
konstanta itu kemudian dikirim ke mikrokontroler yang akan menyimpannya
menjadi data array. Setelah itu, perulangan pengiriman pulsa (dari
mikrokontroler ke subsistem aktuator servo) diatur jumlahnya sesuai dengan
rentang waktu data-data yang telah dimasukkan. Dengan demikian,
mikrokontroler akan melakukan perulangan pengiriman pulsa sejumlah tertentu
(berdasarkan rentang waktu perubahan data hasil perhitungan dalam PC)
kemudian merubah posisi shaft servo sesuai dengan data-data yang telah
disimpannya. Selain itu, dengan metode ini, SIMULINK hanya mengirimkan data-
data tersebut satu kali saja sehingga permasalahan yang timbul akibat
pengiriman data secara terus menerus (dari SIMULINK ke mikrokontroler) /
overflow dapat diatasi. Hal tersebut dikarenakan setelah SIMULINK mengirimkan
semua data perhitungan, komunikasi antara SIMULINK dan mikrokontroler
dapat diputus / dilepas (mikrokontroler dapat memroses sendiri tanpa bantuan
SIMULINK).
60
0 2 4 6 8 10 12 14 16 18 2040
50
60
70
80
90
100
110
120
130
140
sample time
puls
a hi
sumbu xsumbu y
sumbu z
sumbu x (data)
sumbu y (data)sumbu z (data)
Gambar 5. 8. Hasil perhitungan dan pembagian data array
105 110 115 120 125 130 135100
105
110
115
120
125
130
135
140
sumbu x
sum
bu y
perhitungan
wahana
Gambar 5. 9. Hasil pergerakan wahana (data array)
Pergerakan wahana dengan menggunakan metode data array ini sangat stabil,
bahkan selama beberapa putaran (dalam banyak pengujian) wahana mampu
melewati garis lintasan yang sama (tanpa selisih). Kelemahan metode ini adalah
terbatasnya jumlah data yang mampu dikirim ke dalam mikrokontroler (pada
61
pengujian ini hanya terdapat 50 masukan data) sehingga perlu adanya
penyesuaian letak data yang akan dimasukkan (terutama pada daerah
lengkungan) dan waktu / selang perubahan data yang harus sesuai dengan
persamaan gerak (yang telah ditentukan).
5.3.3. Pengujian Berdasarkan Mikrokontroler
Metode perhitungan perubahan posisi shaft servo yang terdapat di dalam
mikrokontroler terbagi menjadi dua bagian, yaitu:
(a) perhitungan secara linier;
(b) perhitungan fungsi sinusoidal dalam mikrokontroler.
Perhitungan secara linier dilakukan dengan mengubah fungsi sinusoidal menjadi
suatu fungsi garis lurus yang berulang-ulang. Dengan kata lain, persamaan
perubahan posisi servo akan menjadi persamaan yang sederhana (tidak terdapat
perhitungan perkalian, hanya penambahan dan pengurangan variabel). Dengan
fungsi penambahan dan pengurangan ini, akan didapat gerakan bolak-balik yang
mendekati fungsi sinusoidal yang diinginkan.
Penggunaan perhitungan tambah-kurang ini diharapkan akan meringankan kerja
mikrokontroler untuk memproses persamaan sinusoidal dalam dirinya. Dengan
hanya menggunakan prinsip tambah-kurang ini, variabel (dari proses
perhitungan) yang terbentuk juga akan mengurangi kerja yang dibutuhkan
mikrokontroler untuk memperoleh hasil perhitungan variabel selanjutnya. Dan
pada akhirnya, diharapkan sistem aktuator yang terhubung dengan
mikrokontroler dapat merespon hasil perhitungan tersebut dengan cepat.
62
0 2 4 6 8 10 12 14 16 18 2040
50
60
70
80
90
100
110
120
130
140
sample time
puls
a hi
sinusoidal xsinusoidal y
sinusoidal z
linier x
linier ylinier z
Gambar 5. 10. Grafik perhitungan linier mikrokontroler
Kelemahan utama fungsi linier ini adalah pada akurasi perhitungan yang
dilakukannya. Pendekatan linier yang dilakukan terhadap fungsi sinusoidal akan
menghasilkan suatu renggang / selisih yang semakin bertambah dengan
bertambahnya lengkungan (kurva) perhitungan fungsi sinusoidal. Tentu saja hal
ini tidak baik jika gerakan yang ingin dihasilkan wahana berupa gerakan yang
melengkung (seperti kurva 8). Untuk gerakan yang melengkung, hasil yang
terjadi adalah gerakan membentuk segitiga di bagian puncak lengkungan
sehingga gerakan yang tercipta pada lengkungan itu tidak mulus.
105 110 115 120 125 130 135100
105
110
115
120
125
130
135
140
105 110 115 120 125 130 135100
105
110
115
120
125
130
135
140
Gambar 5. 11. Perbandingan gerakan wahana yang diinginkan dan pergerakan wahana menggunakan
fungsi linier
63
Perhitungan fungsi sinusoidal dalam mikrokontroler dilakukan dengan cara
memasukkan fungsi sinusoidal ke mikrokontroler. Dengan motode ini, PC hanya
mengirimkan konstanta variabel fungsi sinusoidal tersebut (seperti Amplitudo
fungsi, fase, atau bias) dan membiarkan mikrokontroler melakukan perhitungan
perubahan posisi shaft servo berdasarkan fungsi sinusoidal yang terdapat di
dalamnya. Penggunaan fungsi sinusoidal dalam mikrokontroler 8 bits akan
menguras tenaga mikrokontroler. Hal ini disebabkan perhitungan fungsi sin()
atau fungsi cos() membutuhkan variabel berbentuk float (32 bits) sehingga
untuk memroses variabel tersebut, mikrokontroler harus menyediakan register
yang lebih dari 8 bits (untuk satu variabel perhitungan diperlukan lebih dari satu
register). Pemrosesan register yang lebih dari 8 bits ini akan memperlambat
proses penggerakan aktuator, bahkan dapat membuat mikrokontroler seakan-
akan crash atau tidak bekerja. Dari banyak percobaan menggunakan metode ini,
tidak satu pun gerakan yang dihasilkan sesuai dengan yang diinginkan (gagal).
Rata-rata pergerakan yang terjadi adalah gerakan bolak-balik kecil di ketiga
sumbu pergerakan (sama seperti pergerakan yang dihasilkan SIMULINK saat
memasuki rentang waktu yang lama).
110 115 120 125 130 135105
110
115
120
125
130
sumbu x (pulsa hi)
sum
bu y
(pu
lsa
hi)
Gambar 5. 12. Hasil pergerakan fungsi sinusoidal mikrokontroler
64
Hasil pengujian metode micro based adalah:
Tabel 5. 2. Hasil pengujian metode micro based
Jenis metode Keuntungan Kerugian Linier Proses perhitungan yang
dilakukan mikrokontroler tidak terlalu rumit
Akurasi posisi servo tidak baik karena fungsi sinusoidal didekati melalui fungsi linier
Sinusoidal Akurasi posisi shaft servo sesuai dengan fungsi yang didefinisikan pengguna
Proses perhitungan yang dilakukan mikrokontroler terlalu rumit dan lebih sering menimbulkan kesalahan
Hal ini berdasarkan pada beberapa hal sebagai berikut:
1. Pada metode linier, kesalahan yang terjadi akibat pendekatan fungsi
sinusoidal ke fungsi linier lebih besar dari pada kedua metode yang lain. Hal
tersebut terutama pada grafik fungsi sinusoidal yang sangat melengkung
sehingga hasil perhitungan linier tidak mampu menjangkau fungsi
sinusoidal itu.
2. Dengan memasukkan fungsi sinusoidal ke mikrokontroler, hasil
perhitungan akan sangat akurat dan lebih baik dari fungsi yang lain. Akan
tetapi, perhitungan sinusoidal (fungsi sin()) merupakan jenis perhitungan
32 bits (bilangan float) yang tidak dapat didukung oleh mikrokontroler
ATMega8535 pada wahana (memiliki kapasitas perhitungan 8 bit). Hal
tersebut menyebabkan perhitungan persamaan sinusoidal menjadi tidak
akurat bahkan membuat wahana bergerak tidak wajar.
5.4. Pengujian Keseluruhan Sistem Wahana
Pengujian fungsional sistem untuk membentuk kepakan sayap serangga
memperoleh hasil yang baik untuk semua metode baik berdasarkan PC maupun
mikrokontroler. Wahana berhasil bergerak dengan baik dan memiliki lintasan
yang tepat dalam banyak pengujian. Hal ini terlihat dari kesalahan pergerakan
wahana untuk membentuk lintasan kepakan sayap yang sangat kecil, bahkan
sangat sulit untuk menentukan besarnya kesalahan yang terjadi. Yang paling
tampak adalah kesalahan dalam frekuensi / periode gerakan yang terjadi karena
adanya selisih data atau perbedaan metode yang diberikan.
65
0 1 2 3 4 5 6 7 8 9 1040
50
60
70
80
90
100
110
120
130
140
sumbu z (alpha)
sumbu x (A)
sumbu y
Gambar 5. 13. Hasil perhitungan persamaan kepakan sayap serangga
105 110 115 120 125 130 135119
119.2
119.4
119.6
119.8
120
120.2
120.4
120.6
120.8
121
pulsa hi sumbu x
puls
a hi
sum
bu y
Gambar 5. 14. Hasil pergerakan wahana (kepakan sayap serangga)
Untuk pembentukan kurva 8 atau helix, kesalahan banyak terjadi pada daerah
yang melengkung. Hal ini disebabkan oleh adanya variabel diskrit pulsa yang
diberikan pada servo di ketiga sumbu. Seperti yang telah dijelaskan di bab-bab
awal, shaft servo bergerak berdasarkan pulsa hi yang memiliki rentang antara 1
milidetik sampai dengan 2 milidetik dalam pulsa yang memiliki periode 20
milidetik (tergantung pada jenis servo yang digunakan). Rentang pulsa hi
tersebut dibagi dalam variabel yang memiliki rentang 40 – 200 dan berupa data
diskrit. Hal ini menyebabkan servo seakan-akan bergerak patah-patah dan
66
membentuk gerakan kotak-kotak pada daerah lengkungan (yang membutuhkan
data kontinu) sehingga akan menimbulkan kesalahan pada daerah tersebut.
Gambar 5. 15. Perbandingan hasil pergerakan wahana dan hasil perhitungan (kurva 8)
Periode yang terjadi selama pengujian rata-rata adalah 3,93 detik. Pada
dasarnya periode untuk satu putaran gerakan bolak-balik wahana ini dapat
diubah-ubah sesuai dengan keinginan pengguna. Periode ini juga tergantung
pada kecepatan putar servo tersebut dan kecepatan komponen feedback
putaran shaft untuk menyesuaikan pulsa yang diterima oleh servo dengan
kedudukan shaft servo saat pulsa tersebut diterima.
Gambar 5. 16. Periode pergerakan wahana
Berdasarkan hasil pengujian fungsional sistem, terdapat dua metode yang dapat
menjadi landasan pengujian wahana di masa mendatang. Kedua metode
tersebut adalah penggunaan SIMULINK dan penggunaan data array untuk
merubah posisi shaft servo di suatu rentang waktu tertentu. Keduanya memiliki
kelemahan dan kelebihan masing-masing dan memungkinkan untuk terus
dikembangkan menjadi lebih baik.
67
Secara keseluruhan, wahana telah dapat berjalan sesuai dengan fungsinya.
Kesalahan – yang terdapat pada wahana – yang sering terjadi adalah pada
perangkat lunak yang berjalan pada wahana. Kelemahan lain yang muncul
adalah berubahnya sistem koordinat utama sistem aktuator saat wahana
bergerak secara dinamik. Perubahan sistem koordinat tersebut terutama terjadi
pada subsistem aktuator servo. Saat pergerakan dinamik (servo membentuk
suatu sudut), servo tersebut akan lepas dari sumbu sistem koordinat utama. Hal
ini menyebabkan wahana seakan-akan memiliki dua sistem koordinat acuan.
Pembentukan sistem koordinat yang berlainan ini terjadi pada servo pada
sumbu x dan y (lihat gambar 3.1.) karena servo pada sumbu z akan selalu
memiliki sistem koordinat yang sama dengan servo pada sumbu x.