BAB IV PERANCANGAN DAN REALISASI PERANGKAT LUNAK

dokumen-dokumen yang mirip
BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS

BAB V PENGUJIAN DAN ANALISIS WAHANA

BAB I PENDAHULUAN. Gambar Glider (salah satu pendekatan cara terbang burung)

BAB III PERANCANGAN SISTEM

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM. 3.1 Rancangan Perangkat Keras Sistem Penuntun Satpam. diilustrasikan berdasarkan blok diagram sebagai berikut:

RANCANG BANGUN GRAPHICAL USER INTERFACE UNTUK MENGGERAKKAN MOTOR SERVO

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

BAB III ANALISIS DAN PERANCANGAN SISTEM. besar berupa gambar dengan tujuan agar sebuah sistem dapat lebih mudah

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iv DAFTAR GAMBAR... vii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi

BAB III PERANCANGAN SISTEM

DT-Sense Current Sensor With OpAmp Gambar 1 Blok Diagram AN212

PERANCANGAN DAN IMPLEMENTASI TELMETRI SUHU BERBASIS ARDUINO UNO

BAB III PERANCANGAN ALAT

PERANCANGAN SISTEM PEMBAYARAN BIAYA PARKIR SECARA OTOMATIS MENGGUNAKAN RFID (RADIO FREQUENCY IDENTIFICATION)

Pengembangan RTU (Remote Terminal Unit) untuk Sistem Kontrol Jarak Jauh berbasis IP

III. METODE PENELITIAN. : Laboratorium Teknik Kendali Jurusan Teknik Elektro. Universitas Lampung

Bab III Perangkat Pengujian

BAB III PERANCANGAN DAN REALISASI ALAT

BAB III ANALISIS DAN PERANCANGAN

III. METODE PENELITIAN

BAB 3 PERANCANGAN SISTEM

INSTITUT TEKNOLOGI BANDUNG

BAB III PENGENDALIAN GERAK MEJA KERJA MESIN FRAIS EMCO F3 DALAM ARAH SUMBU X

PERANGKAT PENGENDALI BEBAN DARI JARAK JAUH DENGAN APLIKASI SMS MENGGUNAKAN J2ME

BAB III PERENCANAAN DAN REALISASI SISTEM

Kata Kunci : ATmega16, Robot Manipulator, CMUCam2+, Memindahkan Buah Catur

BAB 1 PENDAHULUAN. pengujian nya, sebagai pengatur kecepatan menghasilkan steady state error yang

VISUALISASI DAN PENGENDALIAN GERAK ROBOT LENGAN 4 DOF MENGGUNAKAN VISUAL BASIC

SISTEM PENGENDALI ROBOT LENGAN MENGGUNAKAN PEMROGRAMAN VISUAL BASIC

BAB III PERANCANGAN ALAT

IV. HASIL PENELITIAN DAN PEMBAHASAN. menggunakan sensor optik berbasis mikrokontroler ATMega 8535 dengan

BAB IV PENGUJIAN DAN ANALISIS SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

DT-SENSE. UltraSonic Ranger (USR)

DT-I/O DT-I/O. Application Note AN171

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN SISTEM

LAPORAN PRAKTIKUM TEKNIK DAN INSTRUMENTASI KENDALI. Simulasi Model Dinamik

Rancangan Dan Pembuatan Storage Logic Analyzer

BAB III PERANCANGAN SISTEM. 3.1 Pengantar Perancangan Sistem Pengendalian Lampu Pada Lapangan Bulu

BAB III PERANCANGAN ALAT

DT-AVR Application Note

BAB III METODE PENELITIAN

BAB 3 PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

DT-BASIC Application Note

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN SISTEM

DT-AVR Application Note

TUGAS AKHIR EDHRIWANSYAH NST

PERANCANGAN PROTOTIPE KONTROL MOBILE ROBOT PEMINDAH BENDA

Antarmuka PC Keyboard dengan DST-AVR

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB IV ANALISIS DATA DAN PEMBAHASAN

BAB III PERANCANGAN SISTEM

SPC Application Note. SPC Blue-Link (J2) Tabel 1 Hubungan SPC Blue-Link Dengan Komputer

BAB 2 TINJAUAN PUSTAKA

DT-51 Application Note

SPC Application Note

BAB IV PENGUJIAN DAN ANALISA. komponen-komponen sistem yang telah dirancang baik pada sistem (input)

BAB III PERANCANGAN SISTEM

BAB III DESAIN DAN PENGEMBANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN SISTEM. sederhana, ditunjukan pada blok diagram dibawah ini.

BAB III PERANCANGAN SISTEM

DT-BASIC Mini System. Gambar 1 Blok Diagram AN132

III. METODE PENELITIAN. Penelitian ini dilakukan di Laboratorium Terpadu Teknik Elektro Universitas

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

BAB III PERANCANGAN ALAT

BAB IV IMPLEMENTASI DAN EVALUASI

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB IV ANALISA IMPLEMENTASI DAN EKSPERIMEN SISTEM PENGENDALI ROBOT CRANE

BAB III PERANCANGAN DAN PEMBUATAN ALAT

DT-AVR Application Note

AVR Application Note AN95 Wireless Chatting with PC

Perancangan Serial Stepper

BAB II TINJAUAN PUSTAKA

BAB IV PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK

BAB I PENDAHULUAN. Seiring dengan kemajuan teknologi yang sangat pesat dewasa ini,

Jurnal Coding Sistem Komputer Untan Volume 03, No. 2 (2015), hal ISSN x

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB III PERANCANGAN DAN PEMBUATAN ALAT

II.4 Keypad II.5 LCD II.6 Pengenalan Perangkat Lunak Visual Basic Pada PC (Server) II.6.1 Integrated Development Environment...

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

BAB IV PENGUJIAN SISTEM. Pengujian minimum system bertujuan untuk mengetahui apakah minimum

BAB 3 PERANCANGAN KONTROL DENGAN PID TUNING

BAB III MODIFIKASI MEKANISME PENGGERAK PAHAT ARAH SUMBU-Z DAN PROGRAM MEKANISME PENGGERAK PAHAT MESIN ROUTER ARAH SUMBU-Z

BAB III PENGENDALIAN PENGGERAK PAHAT MESIN ROUTER CNC ARAH SUMBU X, SUMBU Y DAN SUMBU Z

PEMROGRAMAN ROBOT. Kendali : 1. Loop tertutup 2. Loop terbuka. Mekanisme Servo : 1. Servo Posisi 2. Servo kecepatan

Transkripsi:

BAB IV PERANCANGAN DAN REALISASI PERANGKAT LUNAK 4.1. Spesifikasi Perancangan Perangkat Lunak Perangkat lunak pada wahana bertujuan untuk memudahkan proses interaksi antara wahana dengan pengguna. Pengguna memasukkan perintah pengendalian wahana melalui perangkat lunak dalam komputer, Personal Computer / PC (host). Oleh perangkat lunak dalam PC tersebut, perintah disalurkan ke mikrokontroler melalui serial port yang kemudian diterima oleh perangkat lunak dalam mikrokontroler. Perangkat lunak dalam mikrokontroler akan memroses perintah tersebut untuk melaksanakan kegiatan berdasarkan perintah dari pengguna PC (misalnya menggerakkan servo). Perancangan perangkat lunak pada tugas akhir ini dapat dibagi menjadi dua bagian dasar, yaitu: perangkat lunak yang berjalan pada PC dan perangkat lunak pada mikrokontroler. Perangkat lunak pada PC dirancang dalam lingkungan MATLAB sedangkan perangkat lunak pada mikrokontroler dibangun dalam perangkat lunak Code Vision AVR (CVAVR). Perangkat lunak (MATLAB) merupakan interface bagi pengguna PC untuk mengendalikan wahana dan perangkat lunak (CVAVR) merupakan perangkat lunak yang menjadi pemroses dalam mikrokontroler. Teknik pembangunan perangkat lunak ini adalah dengan memadukan perintah pada MATLAB dengan kode program CVAVR. Supaya tidak terjadi kesalahan pemrosesan perintah, kedua program ini harus saling berhubungan dan dibangun berdasarkan komunikasi yang sama. Kecepatan pengiriman data melalui serial port (baudrate) yang ditetapkan pada kedua program harus sama dan tidak boleh ada kesalahan dalam penerjemahan data yang dikirim atau diterima. Selain itu, algoritma kedua program tersebut harus terjalin dan berhubungan satu sama lain sehingga perintah yang dikirim atau diterima, diproses sesuai dengan pelaksanaan perintah yang diinginkan dalam algoritma tersebut. 36

Spesifikasi akhir dari perangkat lunak yang digunakan adalah sebagai berikut: Program dalam MATLAB dapat berkomunikasi melalui serial port dan dapat mengirimkan perintah yang dapat diproses oleh program dalam mikrokontroler. Kode program MATLAB dibangun dalam dua subsistem, yaitu: dan SIMULINK. Kode program MATLAB merupakan interface bagi pengguna PC untuk mengendalikan wahana secara statik. Kode program SIMULINK MATLAB dapat mengirimkan perintah simultan kepada wahana sehingga gerakan wahana menjadi suatu gerakan yang dinamik dan real time. Kode program CVAVR yang dimasukkan ke dalam mikrokontroler harus dapat memroses perintah yang dikirim melalui serial port. Kode program ini juga harus mendukung mikrokontroler dalam melaksanakan perintah dari serial port tersebut. Kode program CVAVR ditulis dalam bahasa C yang diubah menjadi kode hex untuk dimasukkan dalam mikrokontroler. Kode hex tersebut berjalan di dalam mikrokontroler secara bebas (tidak terikat oleh CVAVR / dapat berjalan dengan atau tanpa komputer host menjalankan CVAVR). Kode program CVAVR dibangun sedemikian rupa sehingga dapat mendukung aktifitas board DT-AVR low cost micro-system terutama aktifitas board sebagai subsistem pengendali wahana. 4.2. Batasan Perancangan Perangkat Lunak Batasan perancangan perangkat lunak wahana ini adalah sebagai berikut: Perangkat lunak (dalam mikrokontroler dan PC) dapat berkomunikasi melalui serial port COM1 dengan kecepatan baudrate 19200 Bits per second. Pemilihan kecepatan komunikasi sebesar 19200 Bits per second didasarkan pada kecepatan terbesar yang dapat didukung oleh board DT- AVR low cost micro-system dengan kesalahan komunikasi yang paling kecil. 37

Perangkat lunak dalam PC dibangun dalam MATLAB untuk memudahkan pengembangan dan integrasi perangkat lunak yang lain. Perangkat lunak ini dapat mengirimkan perintah/fungsi yang menjadi dasar pergerakan wahana. Perangkat lunak dalam mikrokontroler dapat mendukung pengendalian subsistem aktuator wahana, yaitu: pengendalian gerakan servo, dan pengendalian kecepatan dan arah putaran motor DC. 4.3. Arsitektur Sistem Perangkat Lunak Sistem perangkat lunak wahana merupakan integrasi pemrograman MATLAB dan CVAVR yang saling berhubungan satu sama lain. Kode program dalam MATLAB berjalan pada PC dan digunakan oleh pengguna sebagai interface USER INPUT subsistem pengendali wahana. Pada mikrokontroler berjalan perangkat lunak yang dibangun dalam lingkungan CVAVR untuk memroses perintah dan menyalurkannya ke subsistem aktuator wahana. Gambar 4. 1. Arsitektur perangkat lunak wahana 38

Pada gambar 4. 1., pengguna memasukkan perintah (USER INPUT) melalui PC yang kemudian disalurkan ke dalam mikrokontroler untuk diproses oleh program dalam mikrokontroler. Secara sederhana, algoritma perangkat lunak baik di PC maupun di mikrokontroler dimulai dengan inisialisasi komunikasi antarperangkat lunak. Setelah itu, algoritma dilanjutkan dengan penerjemahan data yang dikirim atau diterima oleh perangkat lunak melalui serial port. Bagi mikrokontroler, data yang diterima dilanjutkan dengan proses pengendalian subsistem aktuator sedangkan bagi PC, data yang diterima merupakan feedback (umpan-balik) dari perintah USER INPUT yang dikirim melalui serial port. Gambar 4. 2. Diagram algoritma perangkat lunak wahana (sederhana) 4.3.1. Perangkat Lunak dalam Mikrokontroler CVAVR merupakan sebuah perangkat lunak untuk membangun kode (hex) yang berjalan pada mikrokontroler. Dengan kata lain, CVAVR ini digunakan untuk melakukan pemrograman mikrokontroler. Program assembly yang dimasukkan ke dalam mikrokontroler, terutama mikrokontroler ATMEL AVR, dibuat berdasarkan bahasa C. Oleh CVAVR, bahasa tersebut diubah menjadi file dalam bentuk hex supaya dapat dimasukkan ke dalam mikrokontroler. File hex tersebut dapat dimasukkan ke dalam mikrokontroler melalui CVAVR atau program assembly lainnya, seperti ATMEL AVR Studio 4. Kode program / perintah yang terdapat pada CVAVR tersebut sesuai dengan bahasa pemrograman C dan disesuaikan dengan jenis mikrokontroler (jenis, board dan clock mikrokontroler) yang akan diprogram. 39

Gambar 4. 3. Pemrograman CVAVR Algoritma perangkat lunak CVAVR wahana memiliki tiga bagian penting, yaitu: inisialisasi, main loop, dan interrupt. Algoritma inisialisasi meliputi penetapan komunikasi serial, penetapan I/O pin bagi masing-masing port mikrokontroler, dan penetapan kecepatan timer/counter mikrokontroler. Pada bagian main loop, dibangkitkan sinyal pulsa yang akan mengendalikan pergerakan shaft servo dan pada bagian interrupt, terdapat penerjemahan penerimaan dan pengiriman data dari dan ke PC melalui serial port. Gambar 4. 4. Diagram algoritma perangkat lunak dalam mikrokontroler Algoritma interrupt merupakan bagian algoritma yang selalu berhubungan dengan algoritma perangkat lunak dalam PC (perintah USER INPUT). Algortima interrupt mikrokontroler ini merupakan interrupt yang dijalankan jika terjadi perubahan keadaan pada serial port. Jika terjadi pengiriman atau penerimaan data di serial port, algoritma interrupt ini akan diproses oleh perangkat lunak mikrokontroler dan diteruskan ke algoritma main loop. Interrupt mikrokontroler dibangun menggunakan metode switch-case yang menerjemahkan data-data terkirim di serial port. Pada dasarnya, algoritma interrupt merupakan algoritma penerjemahan karakter yang ada dalam buffer 40

serial port. Karakter ini terdiri dari karakter angka dan huruf yang berbentuk data 8 bit. Karakter angka akan menentukan besarnya variabel konstanta dalam perangkat lunak dan karakter huruf menentukan subsistem aktuator yang akan diproses oleh mikrokontroler. Gambar 4. 5. Algoritma interrupt mikrokontroler 4.3.2. Perangkat Lunak dalam PC Perangkat lunak di dalam PC yang dibangun dalam lingkungan MATLAB terdiri dari dua bagian, yaitu dan SIMULINK. merupakan interface USER INPUT untuk perintah pengendalian wahana yang statik. Maksud pengendalian statik adalah memberikan perintah sesaat kepada wahana untuk melalukan gerakan yang bersifat steady. Contoh gerakan tersebut adalah: (a) posisi shaft servo pada sudut tertentu, (b) kecepatan putaran motor DC yang konstan, (c) arah putaran motor DC. Perangkat lunak SIMULINK bertujuan untuk memberikan perintah pada mikrokontroler supaya wahana dapat bergerak secara dinamik. Dengan kata lain, wahana menerima perintah secara terus menerus dalam rentang waktu 41

tertentu dan bergerak sesuai dengan perintah di rentang waktu itu. SIMULINK juga mendukung pembentukan realtime workshop sehingga kode program yang dijalankan oleh SIMULINK dapat berjalan sesuai dengan perubahan waktu yang sebenarnya / sesuai dengan kenyataan. 4.3.2.1. MATLAB adalah GUI (graphical user interface) Layout Editor. Fasilitas ini merupakan bagian dari MATLAB untuk mempermudah pemrograman interface (antar-muka) dalam lingkungan MATLAB. Pada prinsipnya, penggunaan memiliki kesamaan dengan pemrogaman pada Microsoft Visual Basic (pengguna dapat melakukan drag-drop untuk meletakkan suatu objek) kecuali jenis perintah yang terdapat di dalamnya. Selain itu, objek dan M-file dalam saling berhubungan melalui event callback. Event ini akan di-eksekusi jika terjadi perubahan properti objek dalam (misalnya tombol ditekan). Untuk melakukan pengendalian terhadap subsistem aktuator, program yang dibuat harus dapat berkomunikasi dengan mikrokontroler melalui serial port. Hal ini sama dengan pemrograman m-file untuk melakukan koneksi dengan serial port. Perintah koneksi dapat dimasukkan dalam suatu event callback dari objek yang diinginkan (misal pushbutton). Program bagi wahana dapat dibagi menjadi dua bagian penting, yaitu: callback untuk pengendalian motor DC dan callback untuk pengendalian servo. Pengendalian motor DC terdiri dari pengendalian arah putaran dan pengendalian kecepatan putar sedangkan pengendalian servo hanya terdiri dari pengendalian sudut shaft servo. 42

Gambar 4. 6. MATLAB pengendalian wahana Tabel 4. 1. Daftar objek MATLAB perangkat lunak wahana: Kelompok Objek Properti Nilai Properti Keterangan Style Edit Tag s1_text Callback servo('s1_text_callback',gcbo,[],guidata(gcbo)) Style Slider Tag s1_slider Objek Max 500 pengendali (Frame Min 0 servo wahana Servo1) Callback servo('s1_slider_callback',gcbo,[],guidata(gcbo)) 1-2 Style Pushbutton String Set Tag s1_btn Callback servo('s1_btn_callback',gcbo,[],guidata(gcbo)) Style Edit Tag s2_text Callback servo('s2_text_callback',gcbo,[],guidata(gcbo)) Style Slider Tag s2_slider Objek Max 500 pengendali (Frame Min 0 servo wahana Servo2) Callback servo('s2_slider_callback',gcbo,[],guidata(gcbo)) 3-4 Style Pushbutton String Set Tag s2_btn Callback servo('s2_btn_callback',gcbo,[],guidata(gcbo)) 43

Tabel 4. 2. Daftar objek MATLAB perangkat lunak wahana (lanjutan): Kelompok Objek Properti Nilai Properti Keterangan Style Edit Tag s2_text Callback servo('s2_text_callback',gcbo,[],guidata(gcbo)) Style Slider Tag s2_slider Objek Max 500 pengendali (Frame Min 0 servo wahana Servo3) Callback servo('s2_slider_callback',gcbo,[],guidata(gcbo)) 5-6 Style Pushbutton String Set Tag s2_btn Callback servo('s2_btn_callback',gcbo,[],guidata(gcbo)) Style Edit Tag m_text Callback servo('m_text_callback',gcbo,[],guidata(gcbo)) Style Slider Tag m_slider Objek pengendali Max 500 kecepatan Min 0 putar motor Callback servo('m_slider_callback',gcbo,[],guidata(gcbo)) DC wahana Style Pushbutton String Set Tag m_btn (Frame Callback servo('m_btn_callback',gcbo,[],guidata(gcbo)) Motor Style Pushbutton Pengendalian DC) String Start CCW arah putar Tag m_ccw_btn (CCW) motor Callback servo('m_ccw_btn_callback',gcbo,[],guidata(gcbo)) DC wahana Style Pushbutton Pengendalian String Start CW arah putar Tag m_cw_btn (CW) motor Callback servo('m_cw_btn_callback',gcbo,[],guidata(gcbo)) DC wahana Style Pushbutton Perintah String Stop berhenti Tag m_stop_btn motor DC Callback servo('m_stop_btn_callback',gcbo,[],guidata(gcbo)) wahana Style Pushbutton Perintah String Stop berhenti Tag stop_btn seluruh servo Callback servo('stop_btn_callback',gcbo,[],guidata(gcbo)) wahana (Umum) Style Pushbutton String Exit Penutup Tag exit_btn Callback servo( exit_btn_callback',gcbo,[],guidata(gcbo)) 4.3.2.2. SIMULINK MATLAB SIMULINK wahana terdiri dari bagian fungsi dan bagian pengiriman data. Pada bagian fungsi, pengguna dapat mendefinisikan persamaan dinamik pergerakan 3DOF wahana (subsistem aktuator servo) sedangkan pada bagian pengiriman data, didefinisikan sebuah block untuk mengirim data ke serial port. 44

Block pengiriman data dibuat berdasarkan template s function level 1 yang terdapat pada SIMULINK. Di dalamnya didefinisikan perintah yang berasal dari bagian fungsi dan disalurkan ke serial port. Dengan demikian selama SIMULINK dijalankan, perintah yang berasal dari fungsi akan terus disalurkan ke mikrokontroler melalui block ini. Penetapan komunikasi melalui serial port (nama port dan baud rate) dibangun pada callback SIMULINK. Pembukaan komunikasi ditetapkan pada callback StartFcn dan penutupannya ditetapkan pada callback StopFcn. Dengan demikian selama program SIMULINK wahana berjalan, komunikasi pada serial port akan terus terbuka dan memungkinkan pengiriman data secara terus-menerus ke mikrokontroler. Bagian fungsi Bagian pengirim data Gambar 4. 7. SIMULINK wahana 45