Kontroler PID Proportional Integral Derivative

u[11] = u[11] lambat; u[12] = u[12] berhenti; u[13] = u[13] cepat; u[14] = u[14] cepat; u[15] = u[15] lambat; nilai_pembilang = 0; for i=0;i 16; i++ nilai_pembilang = nilai_pembilang + u[i]; ifnilai_penyebut=0RPMdata = nilai_pembilangnilai_penyebut; else RPMdata = 0;

3.1.5 Kontroler PID Proportional Integral Derivative

Dalam pengontrolan PID dapat dinyatakan dengan persamaan differensial sebagai berikut : ∫ 3.2 Dimana et = rt – ct, rt adalah setpoint, ct adalah variable proses dan mt adalah variable manipulasi. Dan untuk mengimplementasikan kontrol PID dengan perangkat digital, maka haus dilakukan konversi dari bentuk kontinu ke bentuk diskrit. Dengan melihat bahwa : ∫ ∑ 3.3 Maka persamaan diatas menjadi persamaan PID diskrit : ∑ 3.4 Dimana mn menyatakan nilai m pada suatu interval n∆t, dengan n bilangan bulat. Dengan memperkenalkan parameter : 3.5 3.6 STIKOM SURABAYA Dimana Ts = ∆t = waktu sampling dari input, maka persamaan PID diskrit di atas dapat dinyatakan dalam sebuah algoritma perumusan sebagai berikut : 3.7 3.8 Dimana S n = jumlah seluruh nilai error pada interval 0 sampai nT s Pada desain tugas akhir kali ini kontrol PID mendapat input yang berasal dari metode fuzzy yang sebelumnya melakukan proses perhitungan fuzzification yang menghasilkan output berupa kecepatan Rpm. Gambar 3.9 merupakan formula kendali kontrol PID yang digambarkan melalui sebuah flowchart adalah sebagai berikut : STIKOM SURABAYA Start Error = sp - pv P = kperror Sn = Sn_lm + error Over flow Sn = 1023 Y N I = kiSn D_error = error – error_lm Over flow D_error = 1023 Y N D = kdD_error PID = P + I + D error_lm = error pwm = pwm + PID Input : sp=output fuzzy Inisialisasi : kp,ki,kd Sn 0 Sn = 0 Y N D_error 0 D_error = 0 N Y Sn_lm = Sn Gambar 3.9 Flowchart Kontrol PID STIKOM SURABAYA Dari program flowchart di atas dapat dilihat bahwa input kontrol PID berasal dari output fuzzy berupa kecepatan yang kemudian diolah melalui perumusan kontrol PID. Pada kontrol PID terdapat feedback atau yang disebut dengan PV present value dari motor DC yang telah diolah oleh sensor rotary encoder yang akan digunakan sebagai perhitungan kontrol PID. Berikut merupakan cuplikan program pengambilan feedback oleh sensor optocoupler : Pv = 0; delay_ms100; time sampling data pv pv = TCNT010; rumus perhitungan rps dimana 10 didapatkan dari jumlah time sampling dikali 10 agar mendapatkan waktu 1 detik. pv = pv5560; rumus perhitungan rpm Berikut merupakan cuplikan program kontrol P, kontrol I, dan kontrol D sebagai berikut : 1. Kontrol P kp = 0.5; nilai kp didapatkan dari trial error error = sp - pv; sp didapatkan dari inputan dari fuzzy p = kperror; 2. Kontrol I Ki = 0.00001; nilai ki didaptkan dari trial error sn = sn_lm + error;sn adalah jumlah keselutuhan dari error if sn 1023 { sn = 1023; } else if sn 0 { sn = 0; } pi = kisn; 3. Kontrol D kd = 0.0001; nilai kd didapatkan dari trial error delta_e = error - error_lm; if delta_e 1023 STIKOM SURABAYA { delta_e = 1023; } else if delta_e 0 { delta_e = 0; } d = kddelta_e; 4. Kontrol PID pid = kperror+kisn+kddelta_e; pwm = pwm_lm + pid; if pwm 1023 { pwm = 1023; } else if pwm 0 {pwm = 0;} STIKOM SURABAYA 60

BAB IV PENGUJIAN SISTEM