BAB III PERANCANGAN ALAT Pada bab ini akan dijelaskan mengenai perancangan dan realisasi dari perangkat keras, serta perangkat lunak dari trainer kendali kecepatan motor DC menggunakan kendali PID dan GUI matlab. 3.1. Gambaran Alat Alat yang akan direalisasikan dalam skripsi ini adalah sebuah trainer kendali kecepatan motor DC menggunakan kendali PID dan GUI matlab. Trainer tersebut berbentuk kotak (box) yang berukuran (43 31 15)cm. Dalam box trainer tersebut terdapat 4 potensiometer sebagai pengatur setpoint, Kp, Ki, dan Kd. Selain potensiometer terdapat saklar on / off trainer, switch openloop / closed-loop beserta alur rangkaian open-loop dan closed-loop. Untuk menghubungkan box ke motor DC digunakan DB9, sedangkan untuk menghubungakan dengan komputer supaya dapat tertampil di user interface GUI matlab digunakan USB. Nilai setpoint digunakan untuk mengatur kecepatan motor DC dalam rpm. Switch pada box digunakan untuk menentukan kondisi yang diinginkan open-loop / closed-loop. User interface akan menampilkan nilai dari setpoint, Kp, Ki, Kd, parameter error, nilai aktual, maksimum overshoot, settling time, serta rise time. Gambar 3.1 Blok Diagram Keseluruhan Alat Pada Gambar 3.1 menunjukkan blok diagram keseluruhan yang dirancang. Terdapat beberapa bagian utama antara lain mekanik, box trainer controller, dan user interface. 15
3.2. Perancangan dan Realisasi Perangkat Keras Pada bagian tersebut akan diuraikan dari perancangan hingga realisasi perangkat keras. Perancangan perangkat keras meliputi realisasi alat modult mekanik, elektronik maupun controller. 3.2.1. Perangkat Keras Modul Mekanik 3.2.1.1. Box Trainer Pada bagian ini akan dijelaskan mengenai perancangan modul mekanik. Akan ditampilkan bagian-bagian pada tiap komponen yang terdapat pada modul mekanik. Rancangan desain tampak dari depan sehingga dapat mengetahui fitur maupun bagiannya. Gambar 3.2. Tampilan Alat Box Trainer Berikut fungsi masing-masing bagian pada bagian modul mekanik: 1. Setpoint digunakan untuk mengatur besar kecepatan (rpm) yang diinginkan. 2. Kp untuk mengatur besar nilai propotional. 3. Ki untuk mengatur besar nilai integral. 4. Kd untuk mengatur besar nilai derivative. 5. Switch digunakan untuk mengatur sistem dalam kondisi PID on maupun off. 16
6. Power untuk menghidupkan box trainer. 7. DB9 digunakan untuk menghubungkan motor dengan box trainer. 8. Kabel USB digunakan untuk menghubungkan mikrokontroller dengan pc untuk komunikasi serial. 3.2.1.2. Motor DC Pololu with Rotary Encoder Motor DC pada perancangan terlatak pada didalam box motor. Box motor tersebut berukuran 4.5cm 7cm 9cm sehingga dapat disimpan pada ruang kosong yang telah disedikan pada box trainer dikanan pojok bawah. Kemudian terdapat kabel DB9 pada motor sepanjang 32cm yang akan terhubung dengan DB9 pada box trainer. Gambar 3.3. Box Motor DC 3.2.2. Perangkat Keras Modul Elektronik Pada bagian ini akan dijelaskan penggunaan modul elektronik yang digunakan dalam skripsi ini. 3.2.2.1. Pengendali Utama Bagian pada pengendali utama yaitu mikrokontroller sebagai pusat pengolahan data dan bagian lainnya. Pada bagian ini digunakan mikrokontroller Arduino Uno. Tugas dari Arduino 17
tersebut adalah sebagai pusat pengolahan nilai. Seperti mengatur nilai setpoint, Kp, Ki, Kd, membaca kondisi PID on atau off, maupun menerima inputan dari nilai rotary encoder pada motor DC. Serta Arduino berfungsi sebagai komunikasi serial ke pc untuk ditampilkan dalam user interface. Gambar 3.4. Skema Perancangan Alat Tabel 3.1 Konfigurasi penggunaan Arduino UNO PORTA.0 PORT A1 PORT A2 PORT A3 PORT D2 PORT D3 PORT D6 PORT D7 PORT A5 POTENSIO 5K untuk SETPOINT POTENSIO 5K untuk Kp POTENSIO 5K untuk Ki POTENSIO 5K untuk Kd ENCODER A ENCODER B E1 DRIVER MOTOR M1 DRIVER MOTOR SWITCH Open-loop / Closed-loop 3.2.2.2. Sensor Rotary Encoder Sensor rotary encoder merupakan sensor dengan hall effect. Sensor tersebut menjadi satu dengan motor pololu yang digunakan. Fungsi dari sensor tersebut adalah sebagai penghitung kecepatan motor pololu yang tentunya sudah diprogram agar perhitungan nilai rpm dapat 18
terdeteksi dengan benar. Untuk menguji akurasi rotary encoder, maka digunakan tachometer digital Lutron DT-1236L. Gambar 3.5 Sensor Rotary Encoder Merah = Motor power ke driver motor M1(+) Hitam = Motor power ke driver motor M1(-) Hijau = Encoder GND Arduino Biru = Encoder VCC 5V Arduino Kuning = Encoder A ke pin Arduino D2 Putih = Encoder B ke pin Arduino D3 3.1. Perancangan dan Realisasi Perangkat Lunak user interface. Pada perancangan perangkat lunak ini terdapat dua bagian yaitu pada mikrokontroller dan 3.1.1. Perangkat Lunak mikrokontroller Perangkat lunak mikrokontroller berfungsi untuk pengolahan data. Dan pada bagian ini akan dijelaskan percancacngan mikrokontroller dalam skripsi ini. Terdapat bagian sebagai controller, bagian pengiriman data ke user interface, dan bagian penerimaan data dari sensor rotary encoder. 19
Start Trainer dan GUI Matlab Mengatur Set point, Kp, Ki, Kd Open-loop Open-loop atau Closed-loop Mengambil nilai sensor rotary encoder Closed-loop Mengambil nilai sensor rotary encoder Kirim data ke user interface End Hitung error Kalkulasi PID Metode kontrol mengatur kecepatan motor DC Kirim data ke user interface End Gambar 3.6. Diagram alir Sistem pada Microcontroller Berikut adalah penjelasan dari diagram alir tersebut: Mengaktifkan perangkat keras box trainer sehingga pengendali utama mikrokontroller aktif dan user interface GUI matlab maka akan terkoneksi dengan trainer. Kita mengatur dahulu Setpoint kemudian terdapat switch open-loop dan closedloop. Ketika kondisi open-loop maka GUI matlab menerima inputan dari motor nilai rpm dan menghitung error. Untuk kondisi closed-loop maka kita dapat mengatur terlebih dahulu nilai Kp, Ki, Kd melalui potentiometer pada trainer kemudian kita jalankan pada GUI matlab. Akan didapatkan data dari motor, kalkulasi PID dan dilakukan penghitungan error, yaitu error = set point - process variable. Kemudian error yang didapatkan 20
digunakan untuk menghitung MV, sehingga didapatkan MV = (Kp x error) + (Ki x sum of error) + (Kd x (error last error)) [4]. Nilai MV yang didapatkan kemudian digunakan untuk mengatur pulsa input motor DC yang akan mengatur kecepatan motor DC. 3.1.2. User Interface GUI Matlab R2015a Pengendali Motor DC akan dilengkapi dengan program user interface berupa GUI Matlab. Dalam user interface tersebut digunakan untuk menampilkan nilai dari setpoint, Kp, Ki, dan Kd, error, rise time, maximum OS dan settling time. Selain itu terdapat grafik kecepatan aktual dan nilai setpoint [5]. Berikut merupakan tampilan user interface yang digunakan: Gambar 3.7 Tampilan User Interface GUI Matlab Pada Gambar 3.6 menunjukkan user interface yang akan digunakan. User interface tersebut dapat menampilkan nilai-nilai dari setpoint, Kp, Ki, Kd yang diubah melalui potentiometer yang terdapat pada box trainer. Kemudian grafik akan menampilkan kecepatan aktual serta nilai setpoint. 21