13
BAB III
PERANCANGAN
Pada bab ini akan dijelaskan mengenai perancangan Sistem Pengendali Posisi Motor DC, perancangan Sistem Pengendali Posisi Motor DC dalam skripsi ini terdiri dari perancangan mekanik, perancangan elektronik, dan perancangan perangkat lunak.
Secara keseluruhan, blok diagram sistem terdiri atas dua buah entitas utama, yaitu pusat kontrol (kotak trainer) dan Plant. Pada pusat kontrol terdapat sebuah mikrokontroler Arduino MEGA 2560 sebagai kontroler, sebuah driver motor, sebuah toggleswitch untuk memilih mode, empat buah potensiometer untuk mengatur set point, KP, KD, dan KI, sebuah display untuk menampilkan set point, posisi aktual motor, parameter PID, serta grafik set point dan posisi aktual motor terhadap waktu.
Pada bagian Plant, terdapat sebuah motor DC yang akan dikontrol oleh pusat kontrol, serta sebuah rotary encoder yang berfungsi untuk mengetahui posisi motor sebenarnya. Blok diagram dari sistem yang dirancang dapat dilihat di Gambar 3.1.
14
3.1 Perancangan Sistem Mekanik Pengendali Posisi Motor DC
Mekanik merupakan bagian fisik dari sistem Pengendali Posisi Motor DC yang terdiri dari box trainer dan motor DC.
3.1.1 Box Trainer
Pada box trainer terdapat sebuah switch untuk menghidupkan dan mematikan sistem kontrol, sebuah toggle switch untuk memilih mode, empat buah potensio untuk mengatur set point, KP, KD, dan KI, serta sebuah konektor DB9. Tampilan dari box trainer dapat dilihat pada gambar 3.2.
Gambar 3.2 Tampilan dalam box trainer
Berikut merupakan penjelasan dari setiap komponen pada box trainer:
1. Switch on/off, berfungsi untuk menghidupkan dan mematikan sistem kontrol. 2. Toggle switch, berfungsi untuk memilih mode kontrol, open-loop atau
closed-loop.
3. SP, merupakan potensiometer untuk mengatur nilai set point. 4. P, merupakan potensiometer untuk mengatur nilai KP.
5. D, merupakan potensiometer untuk mengatur nilai KD. Switch on/of
Toggle switch SP
P
I D
15
6. I, merupakan potensiometer untuk mengatur nilai KI.
7. DB9, digunakan untuk menghubungkan box trainer dengan motor DC.
3.1.2 Motor DC
Motor DC dipasang pada sebuah dudukan berukuran 8cm × 4,5cm × 9cm. Pada shaft motor dipasang sebuah piringan dengan diameter 9cm yang digunakan untuk melihat posisi shaft motor lebih mudah. Terdapat pula sebuah kabel DB9 yang digunakan untuk menghubungkan motor dengan box trainer.
3.2 Perancangan Sistem Elektronik Pengendali Posisi Motor DC
Pada bagian ini akan dibahas mengenai modul yang digunakan untuk perancangan sistem elektronik dari sistem Pengendali Posisi Motor DC.
3.2.1 Mikrokontroler
Modul mikrokontroler pada sistem Pengendali Posisi Motor DC ini berfungsi untuk mengendalikan kecepatan motor melalui driver motor, pembacaan sensor rotary encoder, dan perhitungan alogaritma PID.
Modul Mikrokontroler yang digunakan dalam perancangan skripsi ini adalah Arduino MEGA 2560 yang merupakan mikrokontroler berbasis Atmega2560. Alasan dipilihnya Arduino sebagai Mikrokontroler yang digunakan dalam perancangan ini adalah desain yang compact dan standar serta kemampuan komunikasi serial dengan device lain.
16
Tabel 3.1 Konfigurasi penggunaan pin mikrokontroler
Pin Keterangan merupakan driver H-bridge 2A berbasis L298P yang didesain untuk menghasilkan arus dua arah dengan besar arus kontinu sampai dengan 2A. Terdapat dua buah mode pada driver, yaitu mode PWM dan PLL. Kegunaan pin pada mode PWM adalah seperti pada Tabel 3.1 dan tabel kebenaran modul H-bridge adalah seperti Tabel 3.2.
Tabel 3.2 Kegunaan pin pada mode PWM
Pin Fungsi
17
Tabel 3.3 Tabel kebenaran dari modul L298P Shield V1.2
E1 M1 Keterangan E2 M2 Keterangan
L X Motor 1 Disabled L X Motor 2 Disabled H H Motor 1 Backward H H Motor 2 Backward PWM X PWM Speed Control PWM X PWM Speed Control
Keterangan: H : High L : Low
PWM : Sinyal Pulse Width Modulation X : Sembarang nilai tegangan
3.2.3 Rotary Encoder
Untuk mengetahui posisi putar shaft motor, digunakan sensor rotary encoder berupa 48 CPR quadrature encoder yang sudah terpasang pada motor. Tampilan dari sensor rotary encoder dapat dilihat pada Gambar 3.3.
18
Tabel 3.4 Konfigurasi kabel rotary encoder
Warna Keterangan
Digunakan Nextion NX8048T050 untuk menampilkan set point, posisi aktual motor, nilai KP, KD, dan KI, rise time, settling time, serta grafik set point dan posisi aktual motor terhadap waktu.
Tabel 3.5 Konfigurasi kabel display
Kabel Keterangan
Perancangan perangkat lunak pada skripsi ini terdiri dari perancangan perangkat lunak mikrokontroler dan peranangan perangkat lunak display.
3.3.1 Mikrokontroler
19 Start
Inisialisasi Sistem
Ambil nilai SP, KP, KI, dan KD
Open-loop atau Closed-loop
Kontrol PID Kontrol open-loop
closed-loop open-loop
Sudah 5 detik?
belum
Tampilkan ke display Tampilkan ke display
sudah
Sudah 5 detik?
belum sudah
20
Berikut merupakan penjelasan dari flow chart di atas:
Ketika sistem dinyalakan, akan dilakukan inisialisasi sistem. Sistem akan mengambil nilai SP, KP, KD, dan KI.
Sistem akan melihat apakah pengguna memilih mode open-loop atau closed-loop.
Jika mode yang dipilih adalah open-loop, maka sistem akan menjalankan proses sebagai berikut:
Hitung error.
Hitung proporsi waktu yang dibutuhkan.
Nyalakan motor.
Tampilkan parameter ke display.
Cek apakah proses sudah berjalan selama 5 detik atau belum.
Jika sudah, sistem akan mengambil nilai SP, KP, KD, dan KI yang baru.
Jika belum, sistem akan mengulangi dari langkah menampilkan parameter ke display.
Jika mode yang dipilih adalah closed-loop, maka sistem akan mejalankan proses sebagai berikut:
Menentukan arah gerak motor.
Hitung error.
Hitung nilai PWM yang dibutuhkan.
Bangkitkan PWM.
Tampilkan parameter ke display.
Cek apakah proses sudah berjalan selama 5 detik atau belum.
Jika sudah, sistem akan mengambil nilai SP, KP, KD, dan KI yang baru.
Jika belum, sistem akan mengulangi dari langkah menentukan arah gerak motor.
21
Akuisisi Data Sensor
Proses ini dilakukan oleh mikrokontroler untuk memperoleh data sensor yang nantinya akan digunakan sebagai input sistem. Terdapat sebuah rotary encoder dan 4 buah potensiometer.
Rotary Encoder
Untuk memperoleh data dari rotary encoder dimanfaatkan pin INT0 dan INT1 yang merupakan pin interrupt eksternal dari mikrokontroler. Setiap kali terjadi interrupt (rising edge atau falling edge), maka sebuah interrupt service routine (ISR) yang berisi variabel counter akan dibangkitkan.
Fungsi-fungsi yang digunakan untuk memperoleh data dari rotary encoder adalah sebagai berikut:
1. doEncoder(), merupakan fungsi yang dipanggil ketika terjadi interrupt pada pin INT0. Fungsi ini berguna untuk menambahkan maupun mengurangi variabel counter.
2. doEncoder2(), merupakan fungsi yang dipanggil ketika terjadi interrupt pada pin INT1. Memiliki fungsi yang sama seperti fungsi doEncoder().
Potensiometer
Untuk memperoleh data dari potensio meter dimanfaatkan pin A0 sampai A4 yang dapat berguna sebagai Analog to Digital Converter (ADC).
Perhitungan Sudut Posisi Motor
Terdapat sebuah variabel counter yang digunakan untuk mengetahui sudut posisi motor. Dalam satu putaran, rotary encoder akan menghasilkan 3591 count. Mikrokontroler akan melakukan perhitungan proporsi sebagai berikut:
22
Penentuan Arah Gerak Motor
Mikrokontroler menentukan arah gerak motor dengan cara membandingkan set point dengan posisi motor saat itu. Jika posisi motor lebih kecil dari set point, maka motor akan bergerak searah jarum jam (CW). Jika posisi motor lebih besar dari set point, maka motor akan bergerak berlawanan arah jarum jam (CCW).
3.3.2 Display
Sistem Pengendali Motor DC dilengkapi dengan sebuah display untuk menampilkan set point, posisi aktual motor, nilai KP, KD, dan KI, rise time, settling time, serta grafik set point dan posisi aktual motor terhadap waktu. Tampilan display dapat dilihat pada Gambar 3.5.