• Tidak ada hasil yang ditemukan

TUGAS MATA KULIAH SISTEM KONTROL AIRCRAFT PITCH

N/A
N/A
Protected

Academic year: 2022

Membagikan "TUGAS MATA KULIAH SISTEM KONTROL AIRCRAFT PITCH"

Copied!
53
0
0

Teks penuh

(1)

TUGAS MATA KULIAH SISTEM KONTROL

“AIRCRAFT PITCH”

Disusun Oleh :

Novi Dyah Puspitasari (M0218061) Wulandari Rohmaningsih (M0218084)

PROGRAM STUDI FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET

2021

(2)

3 BAB I

SYSTEM 1.1. System Modeling

Persamaan yang mengatur gerakan pesawat adalah himpunan dari enam persamaan diferensial yang berpasangan secara nonlinier. Namun, berdasarkan asumsi tertentu, mereka dapat dipisahkan dan dilinierkan menjadi persamaan longitudinal dan lateral. Pitch pesawat diatur oleh persamaan longitudinal. Dalam contoh ini kita akan merancang autopilot yang mengontrol pitch pesawat dengan sumbu dan gaya yang bekerja pada pesawat ditunjukkan pada gambar yang diberikan di bawah ini.

Dari gambar tersebut dapat diasumsikan bahwa pesawat berada dalam ketinggian dan kecepatan konstan, maka gaya dorong, seret, berat, dan gaya angkat saling menyeimbangkan dalam arah x dan y. Selain itu juga dapat diasumsikan bahwa perubahan sudut pitch tidak akan mengubah kecepatan pesawat dalam keadaan apa pun (tidak realistis tetapi sedikit menyederhanakan masalah). Berdasarkan asumsi ini, persamaan gerak longitudinal untuk pesawat dapat ditulis sebagai berikut.

Untuk sistem ini, inputnya adalah sudut defleksi elevator δ dan outputnya adalah sudut pitch θ dari pesawat.

1.1.1. Fungsi transfer dan model ruang keadaan

Sebelum menemukan fungsi transfer dan model ruang keadaan, beberapa nilai numerik untuk menyederhanakan persamaan pemodelan yaitu :

(3)

4 Nilai tersebut diambil dari data salah satu pesawat komersial Boeing.

a. Fungsi transfer

Untuk mencari fungsi alih dari sistem di atas, kita perlu mengambil transformasi Laplace dari persamaan pemodelan di atas yang ditunjukkan di bawah ini.

Setelah beberapa langkah aljabar, diperoleh fungsi transfer berikut.

b. Ruang keadaan

Menyadari fakta bahwa persamaan pemodelan di atas sudah dalam bentuk variabel keadaan, kita dapat menulis ulang sebagai matriks seperti yang ditunjukkan di bawah ini.

Karena output kami adalah sudut pitch, persamaan output adalah sebagai berikut.

1.1.2. Persyaratan desain

Persyaratan desain sebagai respons terhadap perintah langkah sudut pitch adalah sebagai berikut :

(4)

5 1) Sudut pitch aktual melampaui kurang dari 10%

2) Waktu naik kurang dari 2 detik

3) Waktu penyelesaian kurang dari 10 detik 4) Kesalahan kondisi tunak kurang dari 2%

1.1.3. Representasi MATLAB

Menjalankan kode berikut di jendela perintah akan menghasilkan model fungsi transfer loop terbuka yang dijelaskan di atas.

s = tf('s');

P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s) P_pitch =

1.151 s + 0.1774 --- s^3 + 0.739 s^2 + 0.921 s

Untuk menghasilkan model state-space yang dijelaskan di atas, masukkan perintah berikut di baris perintah.

A = [-0.313 56.7 0; -0.0139 -0.426 0; 0 56.7 0];

B = [0.232; 0.0203; 0];

C = [0 0 1];

D = [0];

pitch_ss = ss(A,B,C,D)

pitch_ss = A =

x1 x2 x3

x1 -0.313 56.7 0 x2 -0.0139 -0.426 0 x3 0 56.7 0

(5)

6

B = u1

x1 0.232 x2 0.0203 x3 0

C = x1 x2 x3

y1 0 0 1

D =

u1 y1 0

1.2. System Analisis

Dari masalah utama, persamaan dinamis dalam domain Laplace dan fungsi alih loop terbuka dari dinamika pitch pesawat adalah:

1.2.1. Respon loop terbuka

Pertama buat m-file baru dan ketik perintah berikut (lihat masalah utama untuk detail mendapatkan perintah ini).

s = tf('s');

P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s);

(6)

7 Menganalisis respons langkah loop terbuka telah menskalakan input sudut elevator (δ) sebesar 0,2 radian (11 derajat). Tambahkan perintah berikut ke akhir m-file dan jalankan di jendela perintah sehingga akan mendapatkan plot seperti berikut :

t = [0:0.01:10];

step(0.2*P_pitch,t);

axis([0 10 0 0.8]);

ylabel('pitch angle (rad)');

title('Open-loop Step Response');

Dari plot di atas, kita melihat bahwa respon loop terbuka tidak memenuhi kriteria desain sama sekali. Faktanya, respons loop terbuka tidak stabil karena stabilitas suatu sistem ditentukan dengan memeriksa kutub-kutub fungsi transfer. Kutub fungsi transfer dapat diidentifikasi menggunakan kutub perintah MATLAB seperti yang ditunjukkan di bawah ini.

pole(P_pitch)

ans =

0.0000 + 0.0000i -0.3695 + 0.8857i -0.3695 - 0.8857i

Berdasarkan perintah tersebut, salah satu kutub dari fungsi alih loop terbuka berada pada sumbu imajiner sedangkan dua kutub lainnya berada di separuh kiri bidang kompleks.

Sebuah kutub pada sumbu imajiner menunjukkan bahwa respons bebas sistem tidak akan tumbuh tanpa batas, tetapi juga tidak akan meluruh ke nol. Meskipun respons bebas tidak akan tumbuh

(7)

8 tanpa batas, sistem dengan kutub pada sumbu imajiner dapat tumbuh tanpa batas ketika diberi input, bahkan ketika inputnya dibatasi. Oleh karena itu, ketika sistem diberi masukan, maka keluarannya akan terus bertambah hingga tak terhingga dengan cara yang sama seperti integral dari suatu konstanta akan tumbuh hingga tak terhingga saat batas atas integral dibuat lebih besar.

1.2.2. Respon loop tertutup

Untuk menstabilkan sistem dan memenuhi persyaratan desain maka dapat ditambahkan pengontrol umpan balik. Gambar di bawah mengilustrasikan arsitektur kontrol yang akan kita gunakan.

Fungsi transfer loop tertutup untuk gambar di atas dengan pengontrol C(s) cukup disetel sama dengan satu sehingga dapat dihasilkan umpan balik perintah MATLAB seperti yang ditunjukkan di bawah ini

sys_cl = feedback(P_pitch,1)

sys_cl =

1.151 s + 0.1774

--- s^3 + 0.739 s^2 + 2.072 s + 0.1774

Respons yang diskalakan untuk memodelkan referensi sudut pitch adalah langkah 0,2 radian (11 derajat). Selanjutnya menjalankan m-file dengan perintah akan menghasilkan plot yang ditunjukkan di bawah ini di mana anotasi untuk waktu akan naik seperti berikut :

step(0.2*sys_cl);

ylabel('pitch angle (rad)');

title('Closed-loop Step Response');

(8)

9 Memeriksa respons dari loop tertutup dapat dilakukan dengan penambahan umpan balik untuk menstabilkan sistem. Faktanya, kesalahan kondisi tunak tampaknya dapat didorong ke nol dan tidak ada overshoot dalam respons. Meskipun persyaratan waktu naik dan waktu penyelesaian tidak terpenuhi karena karakter respon yang dihasilkan menunjukkan lokasi kutub dan nol dari fungsi transfer sistem sehingga diperoleh cara yang mirip dengan sifat stabilitas sistem.

poles = pole(sys_cl)

zeros = zero(sys_cl)

poles =

-0.3255 + 1.3816i -0.3255 - 1.3816i -0.0881 + 0.0000i

zeros = -0.1541

Hasil di atas menunjukkan bahwa fungsi alih loop tertutup adalah orde ketiga dengan nol.

Sebagian besar hubungan yang kita kenal untuk memprediksi karakter respon langkah sistem mengasumsikan sistem orde kedua underdamped standar tanpa nol. Oleh karena itu, kita tidak

(9)

10 dapat mengandalkan hubungan ini untuk sistem ini. Kita dapat, bagaimanapun, mengubah output kembali ke domain waktu untuk menghasilkan fungsi waktu untuk respon sistem untuk mendapatkan beberapa wawasan tentang bagaimana kutub dan nol dari fungsi transfer loop tertutup mempengaruhi respon sistem.

BAB II CONTROL 2.1. PID Controller Design

Respon langkah loop tertutup yang dihasilkan ditunjukkan di bawah ini.

Respon ini memenuhi semua persyaratan kecuali untuk waktu penyelesaian yang 19,7 detik lebih besar dari persyaratan yang diberikan yaitu 10 detik. Mengurangi persyaratan Waktu Respons (menggerakkan penggeser ke kanan) akan membuat respons lebih cepat, sementara menggerakkan penggeser Perilaku Transien ke arah Kuat akan membantu mengurangi osilasi.

Kontroler PID yang dihasilkan untuk pengaturan yang ditunjukkan diberikan di bawah ini.

(10)

11 Di sini kita dapat melihat bahwa menggerakkan kedua penggeser ke kanan membuat respons lebih cepat dan mengurangi osilasi. Namun, settling time masih lebih besar dari 10 detik yang dibutuhkan. Kami kembali mencoba meningkatkan kecepatan respons yang diperlukan;

kami memiliki beberapa ruang untuk cadangan di overshoot. Kontroler PID yang dihasilkan untuk pengaturan yang ditunjukkan di bawah ini adalah sebagai berikut.

Tanggapan ini memenuhi semua persyaratan yang diberikan seperti yang dirangkum di bawah ini.

1) Overshoot = 7,5% < 10%

2) Waktu naik = 0,413 detik < 2 detik

(11)

12 3) Waktu penyelesaian = 9,25 detik < 10 detik

4) Kesalahan kondisi mapan = 0% < 2%

Oleh karena itu, pengontrol PID ini akan memberikan kinerja pitch pesawat yang diinginkan.

2.2. Root Locus

Tombol Edit Arsitektur (seperti yang ditunjukkan di bawah) di jendela Perancang Sistem Kontrol menampilkan arsitektur sistem kontrol yang dirancang seperti yang ditunjukkan di bawah ini.

Karena referensi kita adalah fungsi langkah dari 0,2 radian, kita dapat mengatur blok prekompensator F(s) sama dengan 0,2 untuk menskalakan input langkah satuan ke sistem kita.

Hal ini dapat dilakukan dari jendela Compensator Editor, yang dapat dibuka dengan mengklik kanan pada root locus plot dan kemudian memilih Edit Compensator. Secara khusus, pilih F dari menu drop-down di bagian Compensator dari jendela dan atur compensator sama dengan 0,2 seperti yang ditunjukkan pada gambar di bawah ini. Karena penambahan precompensator ini

(12)

13 tidak mempengaruhi lokasi pole loop tertutup, root locus yang ditampilkan akan tetap tidak berubah.

Mengingat bahwa lokasi kutub berhubungan dengan kinerja transien, kami dapat mengidentifikasi wilayah bidang kompleks yang sesuai dengan lokasi kutub yang memenuhi persyaratan. Wilayah ini mengasumsikan bahwa sistem orde kedua kanonik yang tidak berada di bawah kendali proporsional. Oleh karena itu, persyaratan yang digunakan adalah waktu naik kurang dari 2 detik kira-kira sesuai dengan frekuensi alami yang lebih besar dari 0,9 rad/dtk untuk sistem orde kedua underdamped kanonik. Menambahkan persyaratan ini ke plot akar lokus selain waktu penyelesaian dan persyaratan overshoot menghasilkan gambar berikut.

(13)

14 Hasil daerah yang diinginkan untuk kutub loop tertutup ditunjukkan oleh daerah yang tidak diarsir dari gambar di atas. Lebih khusus lagi, dua sinar yang berpusat di titik asal mewakili persyaratan overshoot; semakin kecil sudut yang dibuat sinar ini dengan sumbu real negatif, semakin sedikit overshoot yang diperbolehkan. Garis vertikal pada s = -0.4 merepresentasikan kebutuhan settling time, dimana semakin ke kiri kutub loop tertutup berada, maka settling time semakin kecil. Persyaratan waktu naik (frekuensi alami) sesuai dengan lingkaran yang berpusat di titik asal, di mana jari-jari sesuai dengan frekuensi alami 0,9.

Pemeriksaan gambar di atas menunjukkan bahwa tidak satu pun dari tiga cabang lokus akar memasuki daerah yang tidak diarsir. Oleh karena itu, kita tidak dapat menempatkan kutub sistem loop tertutup di daerah yang diinginkan dengan memvariasikan gain proporsional K. Sehingga diperlukan percobaan pada kompensator dinamis dengan kutub dan/atau nol untuk membentuk kembali akar lokus.

Kompensasi timbal

Fungsi transfer kompensator timbal tipikal adalah di mana nol memiliki magnitudo lebih kecil daripada kutub, yaitu lebih dekat ke sumbu imajiner di bidang kompleks. Sebelum kita mulai merancang kompensator utama diperlukan konfigurasi Perancang Sistem Kontrol agar memiliki parameterisasi kompensator yang sesuai dengan yang ditunjukkan di atas.

Dari gambar di atas, tiga cabang lokus akar melewati daerah yang diinginkan. Cabang pada sumbu nyata lebih dekat ke titik asal dan tidak berada di daerah yang diinginkan. Meskipun kutub loop tertutup yang terkait dengan cabang itu lebih lambat dari kutub loop tertutup lainnya, efeknya akan sedikit dibatalkan oleh loop tertutup nol pada -0,1541. Semakin besar nilai gain loop K yang digunakan, semakin dekat kutub loop tertutup ini dengan loop tertutup nol dan semakin sedikit efek yang akan ditimbulkannya. Lokasi kutub loop tertutup untuk nilai arus gain loop (pada gambar di atas K = 33,3) ditunjukkan oleh kotak merah muda pada root locus. Kutub

(14)

15 loop tertutup yang terletak paling kiri akan memiliki efek minimal pada respon transien sistem karena secara signifikan lebih cepat daripada kutub loop tertutup lainnya.

Untuk melihat efek eksplisit dari nol dan kutub orde tinggi, diperlukan pemeriksaan respons langkah loop tertutup yang dapat dilakukan dengan penguatan seperti gambar berikut.

Dari gambar di dibawah, dapat diketahui bahwa untuk nilai gain K, settling time dan rise time keduanya terlalu besar. Maka diperlukan variasi penguatan loop secara grafis dengan mengklik salah satu kotak merah muda di root locus dan menyeret kotak di sepanjang lokus ke arah peningkatan K sehingga plot respons langkah akan diperbarui secara otomatis.

Efek peningkatan K ke nilai 200 adalah dua kutub loop tertutup paling lambat akan mendekati nol loop tertutup sehingga membuat efeknya minimal. Kutub paling lambat berikutnya bergerak ke kiri pada bidang kompleks dengan peningkatan K yang memiliki efek mengurangi waktu penyelesaian dan waktu naik. Penguatan loop K = 200 menjaga semua kutub pada sumbu nyata, sehingga tidak terjadi overshoot dan keberadaan integrator di pabrik menjamin kesalahan kondisi tunak nol. Oleh karena itu, pengontrol ini memenuhi semua persyaratan yang diberikan seperti yang ditunjukkan pada gambar di bawah ini.

(15)

16 2.3. Frekuensi

2.3.1. Respon loop terbuka

Mari kita mulai dengan memeriksa perilaku pabrik loop terbuka. Secara khusus, buat m- file baru, dan masukkan perintah berikut. Perhatikan penskalaan respons langkah sebesar 0,2 untuk memperhitungkan fakta bahwa inputnya adalah langkah 0,2 radian (11 derajat).

Menjalankan m-file ini di jendela perintah MATLAB akan memberi Anda plot respons langkah yang ditunjukkan di bawah ini

t = [0:0.01:10];

s = tf('s');

P_pitch = (1.151*s + 0.1774)/(s^3 + 0.739*s^2 + 0.921*s);

step(0.2*P_pitch,t);

axis([0 10 0 0.8]);

ylabel('pitch angle (rad)');

title('Open-loop Step Response');

grid

(16)

17 Pemeriksaan plot di atas menunjukkan bahwa sistem loop terbuka tidak stabil untuk input langkah, yaitu outputnya tumbuh tak terbatas ketika diberi input langkah. Hal ini disebabkan oleh fakta bahwa fungsi alih memiliki kutub yang berada di titik asal.

2.3.2. Respon loop tertutup

Sekarang mari kita tutup loop di pabrik kita dan lihat apakah itu menstabilkan sistem.

Pertimbangkan arsitektur masukan kesatuan berikut untuk sistem kami.

Kode berikut dimasukkan di jendela perintah MATLAB menghasilkan fungsi transfer loop tertutup dengan asumsi arsitektur kesatuan-umpan balik di atas dan pengontrol unity-gain, C(s) = 1.

sys_cl = feedback(P_pitch,1)

sys_cl =

(17)

18

1.151 s + 0.1774

--- s^3 + 0.739 s^2 + 2.072 s + 0.1774

Meneliti kutub-kutub dari fungsi alih ini dengan menggunakan perintah kutub seperti pada gambar di bawah ini, dapat dilihat bahwa sistem loop tertutup ini memang stabil karena semua kutub memiliki bagian real negatif.

pole(sys_cl)

ans =

-0.3255 + 1.3816i -0.3255 - 1.3816i

-0.0881 + 0.0000i

Stabilitas sistem loop tertutup ini juga dapat ditentukan dengan menggunakan respon frekuensi sistem loop terbuka. Perintah margin menghasilkan plot Bode untuk fungsi transfer yang diberikan dengan anotasi untuk margin keuntungan dan margin fase sistem saat loop ditutup seperti yang ditunjukkan di bawah ini.

margin(P_pitch), grid

(18)

19 Pemeriksaan di atas menunjukkan bahwa sistem loop tertutup memang stabil karena margin fase dan margin keuntungan keduanya positif. Secara khusus, margin fase sama dengan 46,9 derajat dan margin keuntungan tidak terbatas.

sys_cl = feedback(P_pitch,1);

step(0.2*sys_cl), grid

ylabel('pitch angle (rad)');

title('Closed-loop Step Response')

Pemeriksaan di atas menunjukkan bahwa persyaratan waktu penyelesaian 10 detik hampir tidak terpenuhi. Salah satu cara untuk mengatasinya adalah dengan membuat respons sistem lebih cepat, tetapi kemudian overshoot yang ditunjukkan di atas kemungkinan akan menjadi masalah. Oleh karena itu, overshoot harus dikurangi bersamaan dengan membuat respon sistem lebih cepat.

Plot Bode dari sistem loop terbuka menunjukkan perilaku sistem loop tertutup. Lebih spesifik, frekuensi crossover gain berhubungan langsung dengan kecepatan respon sistem loop tertutup, dan margin fase berbanding terbalik dengan overshoot sistem loop tertutup. Oleh karena itu, diperlukan penambahan kompensator yang akan meningkatkan frekuensi crossover gain dan meningkatkan margin fasa seperti yang ditunjukkan pada plot Bode dari sistem loop terbuka.

2.3.3. Kompensator timbal

Jenis kompensator yang dapat mencapai kedua tujuan kami adalah kompensator utama.

Mengacu pada halaman Kompensator Prospek dan Keterlambatan, kompensator prospek menambahkan fase positif ke sistem. Fase positif tambahan meningkatkan margin fase, sehingga meningkatkan redaman. Kompensator timbal juga umumnya meningkatkan besarnya respons

(19)

20 frekuensi loop terbuka pada frekuensi yang lebih tinggi, dengan demikian, meningkatkan frekuensi crossover gain dan kecepatan keseluruhan sistem. Oleh karena itu, waktu pengendapan harus berkurang sebagai akibat dari penambahan kompensator timbal. Bentuk umum dari fungsi alih kompensator timbal adalah sebagai berikut.

Berikut perintah untuk program MATLAB :

K = 10;

margin(K*P_pitch), grid figure;

sys_cl = feedback(K*P_pitch,1);

step(0.2*sys_cl), grid

title('Closed-loop Step Response with K = 10')

(20)

21 Dari pemeriksaan plot Bode di atas, peningkatan magnitudo sistem di semua frekuensi dan telah mendorong frekuensi crossover gain lebih tinggi. Efek dari perubahan ini terlihat jelas dalam respons langkah loop tertutup yang ditunjukkan di atas. Namun, penambahan Ks juga telah mengurangi margin fase sistem yang dibuktikan dengan peningkatan overshoot dalam respons langkah sistem. Seperti disebutkan sebelumnya, kompensator timbal akan membantu menambahkan redaman ke sistem untuk mengurangi overshoot dalam respons langkah.

Semakin besar pemisahan antara nol dan kutub semakin besar perbedaan fase dimana jumlah fase maksimum yang dapat ditambahkan dengan satu pasangan kutub-nol adalah 90 derajat. Persamaan berikut menangkap fase maksimum yang ditambahkan oleh kompensator timbal sebagai fungsi berikut :

Hubungan antara respon waktu dan respon frekuensi dari sistem orde kedua underdamped standar dapat diturunkan. Salah satu hubungan yang merupakan pendekatan yang baik untuk rasio redaman kurang dari sekitar 0,6 atau 0,7 adalah sebagai berikut.

Karena diketahui bahwa kompensator timbal akan lebih meningkatkan besarnya respons frekuensi, kita perlu menambahkan lebih dari 50 derajat fasa untuk memperhitungkan fakta bahwa frekuensi crossover gain akan meningkat ke titik di mana sistem memiliki lebih banyak

(21)

22 keterlambatan fase. Kami akan menambahkan 5 derajat secara sewenang-wenang dan bertujuan untuk tonjolan total dalam fase 50+5 = 55 derajat.

Dengan menggunakan nomor ini untuk menyelesaikan hubungan di atas yang ditunjukkan di bawah ini.

Hubungan berikut dapat digunakan untuk menentukan besarnya kenaikan magnitudo yang akan disuplai oleh kompensator timbal pada lokasi bump in phase maksimum.

Meneliti plot Bode yang ditunjukkan di atas, besarnya sistem tanpa kompensasi sama dengan -10 dB pada sekitar 6,1 rad/sec. Oleh karena itu, penambahan kompensator utama kami akan memindahkan frekuensi crossover gain dari 3,49 rad/detik menjadi sekitar 6,1 rad/detik. Dengan menggunakan informasi ini, kita kemudian dapat menghitung nilai Ts ini untuk memusatkan lonjakan fase maksimum pada frekuensi crossover gain baru untuk memaksimalkan margin fase yang dihasilkan sistem.

Penambahan baris berikut ke m-file Anda dan menjalankannya pada baris perintah akan menghasilkan plot yang ditunjukkan di bawah ini yang menunjukkan efek kompensator utama Anda pada respons frekuensi sistem.

K = 10;

alpha = 0.10;

T = 0.52;

C_lead = K*(T*s + 1) / (alpha*T*s + 1);

margin(C_lead*P_pitch), grid

(22)

23 Pemeriksaan di atas menunjukkan bahwa kompensator timbal meningkatkan margin fase sistem dan mendapatkan frekuensi crossover seperti yang diinginkan. Kita sekarang perlu melihat respons langkah loop tertutup yang sebenarnya untuk menentukan apakah kita hampir memenuhi persyaratan kita.

Ganti kode respons langkah di m-file Anda dengan yang berikut ini dan jalankan kembali di jendela perintah MATLAB.

sys_cl = feedback(C_lead*P_pitch,1);

step(0.2*sys_cl), grid

title('Closed-loop Step Response with K = 10, \alpha = 0.10, and T = 0.52')

Pemeriksaan di atas menunjukkan bahwa kami hampir memenuhi persyaratan kami.

Menggunakan info langkah perintah MATLAB seperti yang ditunjukkan di bawah ini kita dapat melihat secara tepat karakteristik respons langkah loop tertutup.

(23)

24

stepinfo(0.2*sys_cl)

ans =

struct with fields:

RiseTime: 0.2074

SettlingTime: 8.9835 SettlingMin: 0.1801 SettlingMax: 0.2240

Overshoot: 11.9792 Undershoot: 0 Peak: 0.2240

PeakTime: 0.4886

Dari semua persyaratan yang telah terpenuhi kecuali untuk overshoot yang sedikit lebih besar dari persyaratan 10%. Iterasi pada proses desain di atas, kita sampai pada parameter Ks= 10, alpha = 0,04, dan Ts= 0,55. Performa yang dicapai dengan pengontrol ini kemudian dapat diverifikasi dengan memodifikasi kode di m-file Anda sebagai berikut.

K = 10;

alpha = 0.04;

T = 0.55;

C_lead = K*(T*s + 1) / (alpha*T*s + 1);

sys_cl = feedback(C_lead*P_pitch,1);

step(0.2*sys_cl), grid

title('Closed-loop Step Response with K = 10, \alpha = 0.04, and T = 0.55')

(24)

25 Pemeriksaan respon langkah di atas menunjukkan bahwa persyaratan sekarang terpenuhi.

Menggunakan perintah stepinfo lagi dengan lebih jelas menunjukkan bahwa persyaratan terpenuhi.

stepinfo(0.2*sys_cl)

ans =

struct with fields:

RiseTime: 0.2203

SettlingTime: 9.0427 SettlingMin: 0.1805 SettlingMax: 0.2137

Overshoot: 6.8478 Undershoot: 0 Peak: 0.2137

PeakTime: 0.5394

(25)

26 2.4.

State-Space Methods for Controller Design

Di Aircraft Pitch: halaman Pemodelan Sistem. model state-space dari mesin diturunkan sebagai

dimana inputnya adalah sudut defleksi elevator dan outputnya adalah sudut kemiringan pesawat θ. Persamaan di atas cocok dengan bentuk state-space linier

Untuk referensi langkah 0,2 radian, kriteria desain adalah sebagai berikut.

1) Sudut pitch aktual melampaui kurang dari 10%

2) Waktu naik kurang dari 2 detik

3) Waktu penyelesaian kurang dari 10 detik 4) Kesalahan kondisi tunak kurang dari 2%

Pada halaman ini kita akan menerapkan teknik desain pengontrol state-space. Secara khusus, kami akan mencoba menempatkan kutub loop tertutup dari sistem dengan merancang pengontrol yang menghitung kontrolnya berdasarkan status sistem.

2.4.1. Controllability

Untuk menerapkan teknik desain pengontrol state-space, pertama-tama kita perlu memverifikasi properti penting, Controllability. Properti controllability diperlukan untuk menjamin bahwa kita memiliki otoritas untuk mengatur keadaan sistem di mana pun kita suka.

Ini sesuai dengan kemampuan untuk menempatkan kutub loop tertutup dari sistem di mana saja di bidang-s kompleks.

Agar sistem benar-benar dapat dikontrol, matriks controllability

harus memiliki rank n. Rank suatu matriks adalah banyaknya baris (atau kolom) yang bebas linier. Angka n sesuai dengan jumlah variabel keadaan sistem. Menambahkan suku tambahan ke matriks controllability dengan pangkat lebih tinggi dari matriks A tidak akan meningkatkan rank

(26)

27 matriks controllability karena suku tambahan ini hanya akan menjadi kombinasi linier dari suku- suku sebelumnya.

Karena matriks controllability adalah 3x3, rank matriks harus 3. Perintah rank MATLAB dapat memberi Anda rank matriks ini. Buat m-file baru dan masukkan perintah berikut. Menjalankan m-file ini di jendela perintah MATLAB, akan menghasilkan output berikut:

Oleh karena itu, sistem kami sepenuhnya dapat dikontrol karena matriks controllability memiliki rank 3.

2.4.2. Kontrol desain melalui penempatan kutub

Skema sistem kontrol umpan balik keadaan penuh ditunjukkan di bawah ini (dengan D = 0).

Dimana:

(27)

28 Mengacu kembali ke persamaan state-space di bagian halaman atas, kita melihat bahwa mengganti hukum keadaan umpan balik untuk mengarah ke berikut.

Berdasarkan di atas, matriks A - BK menentukan dinamika loop tertutup dari sistem ini.

Secara khusus, akar-akar determinan matriks adalah kutub loop tertutup dari sistem. Karena determinan [sI - (A - BK)] adalah polinomial orde ketiga, ada tiga kutub yang dapat kita tempatkan dan karena sistem ini sepenuhnya dapat dikontrol, kita dapat menempatkan kutub di mana pun kita suka. Ingat dari halaman Pendahuluan: Metode Stace-space untuk Desain Pengontrol bahwa teknik "penempatan kutub" dapat digunakan untuk menemukan matriks penguatan kontrol K untuk menempatkan kutub loop tertutup di lokasi yang diinginkan.

Perhatikan bahwa hukum umpan balik ini mengasumsikan bahwa semua variabel keadaan dalam vektor x diukur, meskipun θ adalah satu-satunya keluaran. Jika hal ini tidak terjadi, maka pengamat perlu dirancang untuk memperkirakan variabel keadaan lainnya.

Kita tahu dari atas bahwa kita dapat menempatkan kutub loop tertutup dari sistem di mana pun kita mau. Pertanyaannya kemudian yang tersisa adalah, di mana kita harus menempatkan mereka? Jika kita memiliki sistem orde pertama atau kedua standar, kita kemudian memiliki hubungan yang secara langsung menghubungkan lokasi kutub dengan karakteristik respons langkah dan dapat menggunakan hubungan ini untuk menempatkan kutub agar memenuhi persyaratan yang diberikan. Proses ini menjadi lebih sulit jika kita memiliki sistem orde tinggi atau nol. Dengan sistem orde tinggi, salah satu pendekatan adalah menempatkan kutub orde tinggi 5-10 kali lebih jauh ke kiri di bidang kompleks daripada kutub dominan, sehingga menyebabkan kontribusi yang dapat diabaikan terhadap respons transien. Pengaruh nol lebih sulit untuk diatasi dengan menggunakan pendekatan penempatan kutub untuk mengontrol.

Keterbatasan lain dari pendekatan penempatan kutub ini adalah bahwa pendekatan ini tidak secara eksplisit mempertimbangkan faktor-faktor lain seperti jumlah upaya pengendalian yang diperlukan.

2.4.3. Regulasi kuadrat linier

Menggunakan teknik yang disebut metode Linear Quadratic Regulator (LQR) untuk menghasilkan matriks gain "best" K, tanpa secara eksplisit memilih untuk menempatkan kutub

(28)

29 loop tertutup di lokasi tertentu. Jenis teknik kontrol ini secara optimal menyeimbangkan kesalahan sistem dan upaya kontrol berdasarkan biaya yang ditentukan perancang yang mendefinisikan kepentingan relatif dari meminimalkan kesalahan dan meminimalkan upaya kontrol. Dalam kasus masalah regulator, diasumsikan bahwa referensi adalah nol. Oleh karena itu, dalam hal ini besarnya kesalahan sama dengan besarnya keadaan. Untuk menggunakan metode LQR ini, kita perlu mendefinisikan dua parameter: matriks berbobot state-cost (Q) dan matriks berbobot kontrol (R). Untuk mempermudah, kita akan memilih matriks berbobot kontrol sama dengan 1 (R = 1), dan matriks state-cost (Q) sama dengan pC'C. Menggunakan vektor C dari persamaan output berarti bahwa kita hanya akan mempertimbangkan status-status tersebut dalam output dalam mendefinisikan cost. Dalam hal ini, θ adalah satu-satunya variabel dalam output. Faktor pembobotan (p) akan divariasikan untuk memodifikasi respon langkah. Dalam hal ini, R adalah skalar karena kita memiliki sistem input tunggal.

Sekarang kita siap untuk mencari matriks kontrol (K) yang menggunakan perintah MATLAB lqr. Pertama-tama kita akan membiarkan faktor pembobotan (p) sama dengan 2.

Tambahkan perintah berikut ke m-file Anda dan jalankan di jendela perintah MATLAB.

Perhatikan struktur matriks pembobotan Q dan matriks gain yang dihasilkan K. Mengacu pada persamaan keadaan loop tertutup yang diberikan di atas dengan asumsi hukum kontrol dengan referensi bukan nol, , kita kemudian dapat menghasilkan respons langkah loop tertutup dengan menambahkan perintah berikut ke m-file Anda dan menjalankannya di jendela perintah MATLAB. Perhatikan bahwa respons diskalakan untuk memodelkan fakta bahwa referensi sudut pitch adalah langkah 0,2 radian (11 derajat). Tanggapan langkah yang ditunjukkan di bawah ini kemudian harus dihasilkan.

(29)

30 Pemeriksaan di atas menunjukkan bahwa responnya terlalu lambat. Kita dapat menyetel kinerja sistem ini menjadi lebih cepat dengan lebih menimbang pentingnya kesalahan daripada pentingnya upaya kontrol. Lebih khusus lagi, ini dapat dilakukan dengan meningkatkan faktor pembobotan p. Setelah beberapa percobaan dan kesalahan, kami menetapkan nilai p = 50. Ubah kode m-file Anda sebagai berikut dan kemudian jalankan pada baris perintah untuk menghasilkan respons langkah berikut.

(30)

31 Pemeriksaan di atas menunjukkan bahwa rise time, overshoot, dan settling time memuaskan. Namun, ada kesalahan steady-state yang besar. Salah satu cara untuk memperbaikinya adalah dengan memperkenalkan precompensator ( untuk menskalakan output secara keseluruhan.

(31)

32 2.4.4. Menambahkan prekompensasi

Tidak seperti metode desain lainnya, sistem umpan balik keadaan penuh tidak membandingkan keluaran dengan referensi; sebagai gantinya, ini membandingkan semua status dikalikan dengan matriks kontrol (Kx) dengan referensi (lihat skema yang ditunjukkan di atas).

Jadi, kita seharusnya tidak mengharapkan output sama dengan referensi yang diperintahkan.

Untuk mendapatkan output yang diinginkan, kita dapat menskalakan input referensi sehingga output sama dengan referensi dalam kondisi tunak. Ini dapat dilakukan dengan memperkenalkan faktor penskalaan prakompensator yang disebut ( . Skema dasar sistem umpan balik status kami dengan faktor penskalaan ( ditunjukkan di bawah ini.

Kita dapat dengan mudah menemukan ( dari function MATLAB rscale.m. Karena rscale.m adalah fungsi yang ditentukan pengguna, Anda perlu menyalin dan menyimpan fungsi tersebut ke direktori Anda. Untuk bantuan lebih lanjut dalam menggunakan function yang ditentukan pengguna, lihat halaman function. Setelah Anda menyimpan file rscale.m ke direktori Anda, ubah kode file m Anda sebagai berikut dan jalankan di jendela perintah MATLAB.

Menambahkan kode berikut dan menjalankan kembali m-file Anda akan menghasilkan respons yang ditunjukkan di bawah ini.

(32)

33 Sekarang kesalahan kondisi tunak telah dihilangkan dan semua persyaratan desain terpenuhi.

Perhatikan bahwa precompensator ( yang digunakan di atas dihitung berdasarkan model plant dan selanjutnya precompensator terletak di luar loop umpan balik. Oleh karena itu, jika ada kesalahan dalam model (atau gangguan yang tidak diketahui), prekompensator tidak akan memperbaikinya dan akan ada kesalahan kondisi tunak. Anda mungkin ingat bahwa penambahan kontrol integral juga dapat digunakan untuk menghilangkan kesalahan kondisi tunak, bahkan dengan adanya ketidakpastian model dan gangguan langkah. Untuk contoh cara menerapkan kontrol integral dalam pengaturan ruang keadaan, lihat halaman Posisi Motor DC:

Metode State-Space untuk Desain Pengontrol. Tradeoff dengan menggunakan kontrol integral adalah bahwa kesalahan harus terlebih dahulu berkembang sebelum dapat dikoreksi, oleh karena itu, sistem mungkin lambat merespons. Precompensator di sisi lain mampu mengantisipasi offset kondisi mapan menggunakan pengetahuan model plant. Teknik yang berguna adalah menggabungkan precompensator dengan kontrol integral untuk meningkatkan keuntungan dari setiap pendekatan.

(33)

34 2.5. Digital Controller Design

Di halaman ini, kami akan mempertimbangkan versi digital dari masalah kontrol aircraft pitch. Versi data sampel dari dinamika airplance pitch dapat diperoleh dari model kontinu, seperti yang akan kami jelaskan. Dalam contoh ini kita akan menerapkan teknik state-space untuk mendesain controller.

Dari halaman Aircraft Pitch: System Modeling, model ruang keadaan kontinu dari dinamika aircraft pitch diturunkan sebagai

dimana inputnya adalah sudut defleksi elevator dan outputnya adalah sudut kemiringan pesawat θ.

Untuk referensi langkah 0,2 radian, kriteria desain adalah sebagai berikut.

1) Sudut pitch aktual melampaui kurang dari 10%

2) Waktu naik kurang dari 2 detik

3) Waktu penyelesaian kurang dari 10 detik 4) Kesalahan kondisi tunak kurang dari 2%

2.5.1. State-Space Diskrit

Langkah pertama dalam desain sistem kontrol digital adalah menghasilkan model data sampel dari plant. MATLAB dapat digunakan untuk menghasilkan model ini dari model waktu kontinu menggunakan perintah c2d. Perintah c2d membutuhkan tiga argumen: model sistem, waktu pengambilan sampel (Ts) dan jenis sirkuit penahan. Dalam contoh ini kita akan mengasumsikan sebuah rangkaian zero-order hold (zoh).

Dalam memilih waktu sampel, perhatikan bahwa frekuensi pengambilan sampel yang diinginkan harus cepat dibandingkan dengan dinamika sistem agar keluaran sampel dari sistem menangkap perilaku penuh sistem, yaitu, sehingga perilaku antar sampel yang signifikan tidak ketinggalan. Salah satu ukuran "speed" sistem adalah bandwidth loop tertutupnya. Aturan praktis yang baik adalah bahwa frekuensi pengambilan sampel setidaknya 30 kali lebih besar dari frekuensi bandwidth loop tertutup yang dapat ditentukan dari plot Bode loop tertutup.

Dari plot Bode loop tertutup, frekuensi bandwidth dapat ditentukan kira-kira 2 rad/sec (0,32 Hz). Anda dapat memverifikasi ini sendiri. Jadi, untuk memastikan kita memiliki waktu sampling yang cukup kecil, kita akan menggunakan waktu sampling 1/100 detik/sampel.

Sekarang kita siap untuk menggunakan fungsi c2d. Masukkan perintah berikut dalam m-file.

(34)

35 Menjalankan m-file ini di jendela perintah MATLAB memberi Anda empat matriks berikut yang mewakili model state-space data sampel.

(35)

36 Sekarang kita telah memperoleh model state-space waktu-diskrit yang ditunjukkan di bawah ini.

2.5.2. Controllability

Seperti halnya dalam kasus kontinu, sebelum kita dapat merancang pengontrol kita, kita harus memverifikasi controllability sistem. Agar sistem benar-benar dapat dikontrol, matriks controllability harus memiliki rank n di mana rank suatu matriks adalah jumlah baris (atau kolom) yang bebas linier. Matriks keterkendalian sistem waktu diskrit memiliki bentuk yang sama dengan sistem waktu kontinu.

Karena matriks controllability adalah 3x3, ranknya harus 3. Perintah rank MATLAB dapat menghitung rank matriks. Menambahkan perintah tambahan berikut ke m-file dan menjalankannya di jendela perintah MATLAB akan menghasilkan output berikut.

Oleh karena itu, sistem ini sepenuhnya dapat dikontrol karena matriks controllability memiliki rank 3.

2.5.3. Kontrol desain melalui penempatan kutub

Skema sistem kontrol umpan balik keadaan penuh diskrit ditunjukkan di bawah ini, di mana q-1 adalah operator penundaan (bukan tingkat pitch pesawat q). Perhatikan bahwa diasumsikan bahwa D = 0.

(36)

37 Dimana

Mengacu kembali ke persamaan state-space di bagian halaman atas, kita melihat bahwa mengganti hukum keadaan umpan balik untuk mengarah ke berikut di mana kita akan mengasumsikan bahwa semua variabel state diukur.

Metode Linear Quadratic Regulator (LQR) digunakan untuk menemukan matriks kontrol (K). Dalam versi digital ini, kami akan menggunakan versi diskrit dari metode LQR yang sama.

Jenis teknik kontrol ini secara optimal menyeimbangkan kesalahan sistem dan upaya kontrol berdasarkan biaya yang ditentukan perancang yang mendefinisikan kepentingan relatif dari meminimalkan kesalahan dan meminimalkan upaya kontrol. Dalam kasus masalah regulator, diasumsikan bahwa referensi adalah nol. Oleh karena itu, dalam hal ini besarnya kesalahan sama dengan besarnya keadaan. Untuk menggunakan metode LQR ini, kita perlu mendefinisikan dua parameter: matriks berbobot state-cost (Q) dan matriks berbobot kontrol (R). Untuk mempermudah, kita akan memilih matriks berbobot kontrol sama dengan 1 (R = 1), dan matriks state-cost (Q) sama dengan pC'C. Menggunakan vektor C dari persamaan output berarti bahwa kita hanya akan mempertimbangkan status-status tersebut dalam output dalam mendefinisikan cost. Dalam hal ini, θ adalah satu-satunya variabel dalam output. Faktor pembobotan (p) akan dipilih dengan coba-coba untuk memodifikasi respons langkah untuk mencapai persyaratan yang diberikan. Dalam hal ini, R adalah skalar karena kita memiliki sistem input tunggal.

(37)

38 Sekarang kita siap untuk menemukan matriks kontrol (K) yang menggunakan perintah MATLAB dlqr yang merupakan versi waktu-diskrit dari perintah lqr. Kami akan memilih faktor pembobotan p sama dengan 50. Tambahkan perintah berikut ke m-file Anda dan jalankan di jendela perintah MATLAB. Perhatikan bahwa berikut ini kita menimpa nilai-nilai matriks state- space A, B, C, dan D dengan ekuivalen waktu-diskritnya menggunakan model yang diturunkan dengan perintah c2d di atas.

Perhatikan struktur matriks pembobotan Q dan matriks gain yang dihasilkan K. Mengacu pada persamaan keadaan loop tertutup yang diberikan di atas dengan asumsi hukum kontrol dengan referensi bukan nol, , kita kemudian dapat menghasilkan respons langkah loop tertutup dengan menambahkan perintah berikut ke m-file Anda dan menjalankannya di jendela perintah MATLAB. Tanggapan langkah yang ditunjukkan di bawah ini kemudian harus dihasilkan.

(38)

39 Pemeriksaan di atas menunjukkan bahwa rise time, overshoot, dan settling time memuaskan. Namun, ada kesalahan kondisi tunak yang besar. Salah satu cara untuk memperbaikinya adalah dengan memperkenalkan precompensator ( untuk menskalakan output secara keseluruhan.

2.5.4. Menambahkan prekompensasi

Tidak seperti metode desain lainnya, sistem umpan balik keadaan penuh tidak membandingkan keluaran dengan referensi; sebagai gantinya, ini membandingkan semua status dikalikan dengan matriks kontrol (Kx) dengan referensi (lihat skema yang ditunjukkan di atas).

Jadi, kita seharusnya tidak mengharapkan output sama dengan referensi yang diperintahkan.

Untuk mendapatkan output yang diinginkan, kita dapat menskalakan input referensi sehingga output sama dengan referensi dalam kondisi tunak. Ini dapat dilakukan dengan memperkenalkan

(39)

40 faktor penskalaan prakompensator yang disebut ( . Skema dasar sistem umpan balik status kami dengan faktor penskalaan ( ditunjukkan di bawah ini.

Sayangnya, kami tidak dapat menggunakan fungsi yang ditentukan pengguna rscale.m untuk menemukan karena ini hanya ditentukan untuk sistem berkelanjutan. Namun, kita dapat menemukan penskalaan yang benar dengan coba-coba. Setelah beberapa percobaan, ditemukan bahwa sama dengan 6,95 memberikan respon yang memuaskan. Ubah m-file Anda seperti yang ditunjukkan di bawah ini. Menjalankan m-file Anda di baris perintah MATLAB kemudian akan menghasilkan respons stairstep yang ditunjukkan di bawah ini.

(40)

41 Dari plot ini, kita melihat bahwa faktor menghilangkan kesalahan kondisi tunak. Sekarang semua persyaratan desain terpenuhi.

BAB III SIMULINK 3.1. Aircraft Pitch: Pemodelan Simulink

3.1.1. Pengaturan fisik dan persamaan sistem

Persamaan yang mengatur gerakan pesawat adalah himpunan yang sangat rumit dari enam persamaan diferensial berpasangan nonlinier. Namun, di bawah asumsi tertentu, mereka dapat dipisahkan dan dilinierkan menjadi persamaan longitudinal dan lateral. Aircraft diatur oleh dinamika longitudinal. Dalam contoh ini kita akan merancang autopilot yang mengontrol Aircraft pitch.

Dalam contoh ini kita akan mensimulasikan model pesawat yang dilinierkan dengan pengontrol state-feedback yang dirancang sebelumnya dalam contoh. Secara khusus akan menggunakan model state-space linier. Model ini, dengan nilai numerik yang diganti, diberikan di bawah ini.

3.1.2. Membangun model state-space

Sekarang kita akan membangun model Simulink dari persamaan di atas. Salah satu opsi adalah membangun model plant dengan state-feedback yang meniru gambar yang ditunjukkan di bawah ini.

Menggunakan blok State-Space yang tersedia di Simulink untuk memodelkan plant loop terbuka.

Secara khusus, ikuti langkah-langkah yang diberikan di bawah ini.

(41)

42

 Buka Simulink dan buka jendela model baru.

 Masukkan blok Step dari library Simulink/Sources.

 Untuk memberikan masukan step yang sesuai pada t=0, klik dua kali blok Step dan atur Step time ke "0". Juga atur Final value ke "0.2" untuk mewakili referensi 0.2 radian yang kita asumsikan.

 Masukkan blok Demux dari library Simulink/Signal Routing. Klik dua kali pada blok dan masukkan "3" untuk Number of outputs; satu output untuk masing-masing dari tiga variabel keadaan.

 Masukkan Scope dari library Simulink/Sinks dan hubungkan output ketiga dari blok Demux ke scope. Kami hanya akan memplot variabel status ketiga yang sesuai dengan output sistem yang merupakan pitch theta pesawat.

 Tambahkan blok Terminator dari library Simulink/Sinks ke dua sinyal blok Demux yang tidak kita plot.

 Masukkan blok State-Space dari library Simulink/Continuous dan hubungkan input ke blok Step dan output ke blok Demux.

 Klik dua kali pada blok State-Space dan masukkan parameter sistem seperti yang ditunjukkan pada gambar di bawah.

Perhatikan, bahwa pada gambar di atas, matriks C dimasukkan sebagai matriks identitas 3x3 menggunakan perintah eye daripada [0 0 1] seperti yang diberikan dalam persamaan state-

(42)

43 space asli. Alasan untuk ini adalah karena dalam kontrol state-feedback diasumsikan bahwa semua variabel keadaan diukur, bukan hanya output. Jika ini tidak terjadi, maka pengamat perlu dirancang untuk memperkirakan variabel keadaan apa pun yang tidak diukur.

Setelah selesai, model yang telah selesai akan muncul seperti yang ditunjukkan di bawah ini.

3.1.3. Membangkitkan respons loop terbuka dan loop tertutup

Selanjutnya membangkitkan respon langkah loop terbuka dengan menjalankan simulasi (tekan Ctrl-T atau pilih Run dari menu Simulation). Ketika simulasi selesai, Anda harus dapat melihat gambar berikut.

(43)

44 Respons ini tidak stabil. Untuk melihat respons yang stabil, sekarang kita akan dengan cepat menambahkan penguatan kendali state-feedback K. Ingatlah bahwa penguatan ini dirancang menggunakan metode Linear Quadratic Regulator dan menghasilkan perhitungan K = [-0,6435 169,6950 7,0711].

Untuk menambahkan kontrol state-feedback ke model, ikuti langkah-langkah yang diberikan di bawah ini.

 Masukkan blok Sum dari library Simulink/Operasi Matematika. Kemudian klik dua kali pada blok dan masukkan "|+-" untuk List of signs di mana simbol "|" berfungsi sebagai spacer antara port blok. Masukkan blok antara referensi Step dan blok State-Space.

 Masukkan blok Gain dari library Simulink/Math Operations. Dengan blok yang dipilih, tekan Ctrl-I untuk membalik blok. Kemudian hubungkan output blok ke tanda "-" dari blok Sum dan input ke output blok State-Space dengan mencabangkan sinyal output dengan mengklik kanan pada baris yang ada.

 Selanjutnya klik dua kali pada blok Gain dan masukkan informasi seperti yang ditunjukkan di bawah ini. Secara khusus, masukkan nilai untuk gain matriks K dan ubah pengaturan Multiplication ke Matrix(K*u) seperti yang ditunjukkan di bawah ini.

Menambahkan label yang sesuai kemudian akan muncul model Simulink yang ditunjukkan di bawah ini.

(44)

45 Selanjutnya jalankan simulasi dengan menekan Ctrl-T atau memilih Run dari menu Simulation. Ketika simulasi selesai, klik dua kali pada blok Scope untuk melihat gambar berikut.

3.2. Simulink Desain Pengontrol

3.2.1. Kontrol state-feedback dengan prakompensasi

Di halaman ini kita akan membangun model yang dibangun di bagian Aircraft Pitch:

Simulink Modeling untuk mengembangkan dan menyelidiki berbagai strategi kontrol. Model lengkapnya ditunjukkan di bawah ini.

(45)

46 Di atas, State-Space Block didefinisikan seperti yang ditunjukkan di bawah ini, di mana matriks C adalah matriks identitas. Hal ini menyebabkan ketiga variabel keadaan menjadi keluaran sedemikian rupa sehingga dapat digunakan oleh hukum kontrol state-feedback. Jika tidak ketiga variabel keadaan yang dapat diukur, maka perlu dirancang seorang pengamat.

Respon loop tertutup di bawah kontrol state-feedback dapat dihasilkan dengan menjalankan model simulasi di atas (tekan Ctrl-T atau pilih Run dari menu Simulation). Ketika simulasi selesai, klik dua kali pada blok Scope untuk melihat gambar berikut.

(46)

47 Pemeriksaan di atas menunjukkan bahwa persyaratan rise time, settle time, dan overshoot semua terpenuhi. Namun, persyaratan kesalahan steady-state tidak terpenuhi karena respons tidak mencapai 2% dari referensi yang diperintahkan sebesar 0,2 radian. kekurangan ini diatasi dengan menambahkan precompensator konstan ( = 7.071) untuk menskalakan output ke tingkat yang diinginkan.

Precompensator ini dapat diimplementasikan dengan menambahkan blok Gain dari library Simulink/Math Operations ke model Simulink di atas. Masukkan blok di antara blok Step dan blok Sum. Kemudian klik dua kali pada blok Gain dan masukkan "7.0711" di bidang Gain.

Model yang dihasilkan ditunjukkan di bawah ini.

(47)

48 Menjalankan simulasi akan menghasilkan respons seperti yang ditunjukkan di bawah ini.

Perhatikan dari atas bahwa penambahan prekompensator berhasil mendorong kesalahan steady- state menjadi nol sehingga sekarang semua persyaratan yang diberikan terpenuhi.

3.2.2. Kekokohan sistem

Kelemahan menggunakan precompensator seperti yang diterapkan di atas adalah bahwa hal itu dihitung berdasarkan model plant dan terletak di luar loop umpan balik sehingga output dari summing junction pada model di atas tidak lagi benar. Oleh karena itu, jika ada kesalahan dalam model atau gangguan yang tidak diketahui, prekompensator tidak akan memperbaikinya dan akan terjadi kesalahan steady-state.

Untuk menyelidiki fenomena ini, mari tambahkan gangguan pada model ini seperti yang ditunjukkan pada gambar di bawah ini. Gangguan dibangkitkan oleh blok Step dengan Final value diatur ke "0.2" dan Step time diatur ke "3". Gangguan dimodelkan saat memasuki sistem dengan cara yang sama seperti input control . Blok Summing tambahan terletak seperti yang ditunjukkan dan List of sign dimasukkan "++|". Mari kita juga mengamati input kontrol sistem . Untuk melakukannya, pertama-tama klik kanan pada blok Scope dan pilih Signals & Ports lalu atur Number of Input Ports menjadi 2. Jika Anda menginginkan dua sumbu, buka menu View dari jendela scope dan kemudian pilih Layout yang diinginkan. Kemudian percabangkan sinyal dan hubungkan ke input baru dari blok Scope. Pastikan juga sinyal yang masuk ke blok Scope diberi nama. Ini dilakukan dengan mengklik dua kali pada sinyal dan kemudian mengetikkan namanya masing-masing. Model yang dihasilkan akan muncul sebagai berikut.

(48)

49 Menjalankan simulasi akan menghasilkan respons seperti yang ditunjukkan di bawah ini.

Pemeriksaan plot di atas menunjukkan bagaimana terjadinya gangguan pada waktu 3 detik mendorong sistem menjauh dari nilai steady-state yang diinginkan sebesar 0,2 radian dan keberadaan prekompensator konstan tidak dapat mengoreksi efek gangguan tersebut. . Anda mungkin ingat bahwa penambahan kontrol integral dapat membantu mengoreksi ketidakpastian, seperti gangguan ini. Pendekatan alternatif untuk pengendalian ini diselidiki di bagian berikutnya.

Ketidakpastian model adalah sumber kesalahan lain yang harus dipertimbangkan.

Misalnya, jika model sistem "actual" memiliki matriks B sama dengan [0.232*1.4 0.0203*0.6 0]', maka pengontrol K yang digunakan di atas akan menyebabkan sistem tidak stabil. Ini dapat diverifikasi dengan memodifikasi blok State-Space yang mewakili plant dan menjalankan

(49)

50 kembali simulasi. Fakta ini juga dapat diverifikasi dengan memeriksa kutub loop tertutup sistem (nilai eigen [A - BK]). Hasil seperti ini tidak jarang pada pengontrol yang dirancang menggunakan teknik seperti metode Linear Quadratic Regulator. Ini masuk akal karena gain kontrol K dirancang hanya untuk meminimalkan kesalahan yang dihasilkan dan upaya kontrol yang diperlukan; tujuan lain, seperti ketahanan terhadap ketidakpastian model, tidak dipertimbangkan dalam desain. Teknik kontrol kuat yang lebih maju memang ada yang membahas pertimbangan tersebut.

3.2.3. Penyetelan PID otomatis dengan Simulink

Menambahkan kontrol integral ke kompensator dapat membantu mengurangi kesalahan steady- state yang muncul karena gangguan dan ketidakpastian model. Dimungkinkan untuk memperluas vektor keadaan untuk memasukkan keadaan untuk integral kesalahan dan menerapkan kembali teknik State-Space yang kami gunakan sebelumnya. Sebaliknya, kita akan menerapkan pengontrol PID dengan asumsi hanya output θ yang diukur. Selanjutnya, kami akan menggunakan kemampuan bawaan Simulink untuk menyetel pengontrol PID secara otomatis.

Perhatikan bahwa kemampuan penyetelan PID otomatis ini mengharuskan Anda memiliki toolbox Simulink Control Design.

Ikuti langkah-langkah yang diberikan di bawah ini untuk merancang pengontrol PID untuk sistem ini.

 Hapus blok Gain untuk state feedback gain K dan precompensator Juga, hapus sinyal umpan balik yang bercabang dari vektor keadaan x dan hubungkan kembali dari output θ.

 Masukkan blok PID Controller dari library Simulink/Continuous dan tempatkan segera setelah blok Sum umpan balik negatif.

Model yang dihasilkan akan muncul sebagai berikut.

(50)

51 Selanjutnya, klik dua kali pada blok PID Controller. Jendela berikut akan muncul.

Dengan mengasumsikan parameter default yang ditunjukkan di atas, yang sesuai dengan kontroler PID dengan filter low-pass pada suku turunan. Lebih khusus, struktur pengontrol ditunjukkan di bawah ini di mana Koefisien Filter (N) mendefinisikan konstanta waktu (sama dengan 1/N) dari filter low-pass orde pertama pada suku turunan.

Nilai default pengontrol PID diberikan di jendela di atas dan dapat dimodifikasi secara manual. Namun, kami akan menemukan keuntungan pengontrol menggunakan fungsi penyetelan otomatis. Hal ini dilakukan dengan mengklik tombol Tune... di mana model dilinierkan pada titik operasi default dan penguatan kontrol PID disetel untuk menyeimbangkan kinerja dan ketahanan sistem. Dalam contoh, modelnya sudah linier. Gambar di bawah ini menunjukkan jendela yang akan muncul.

(51)

52 Awalnya, respons sistem dengan penguatan pengontrol saat ini ditunjukkan oleh garis biru putus-putus dan respons sistem dengan penguatan yang diusulkan dan disetel ditunjukkan dalam garis biru solid. Untuk membuat gambar lebih jelas, lanjutkan dan klik Update Block di bawah menu RESULTS di toolstrip untuk menerapkan parameter yang disetel ke model Simulnk. Dengan set ini, kita kemudian dapat menghapus centang Show response from block dari blok di bawah menu Options karena pengontrol saat ini sekarang cocok dengan pengontrol yang diusulkan. Terakhir, klik kanan pada bagian plot untuk menambahkan karakteristik ke respons langkah untuk membantu menilai apakah persyaratan telah dipenuhi atau tidak.

Pemeriksaan plot di atas tampaknya menunjukkan bahwa respons dengan pengontrol yang baru disetel terlalu lambat.

Untuk mempercepat respons dengan menggulir bar Response time di bawah menu TUNING TOOLS ke kanan. Jika batas bar seperti yang diberikan tidak mencukupi, Anda dapat menekan tombol yang ditandai dengan panah ganda di ujung kanan bar untuk mengubah skala waktu respons yang tersedia. Secara umum, kami ingin membuat sistem cukup cepat untuk memenuhi persyaratan dengan margin, tetapi tidak lebih cepat. Alasan menjadi respon yang lebih cepat umumnya akan datang dengan mengorbankan upaya pengendalian yang meningkat.

Perilaku sistem dengan pengaturan waktu respons 0,0894 detik lebih dari memenuhi tujuan yang kami berikan seperti yang ditunjukkan di bawah ini. Waktu respons yang lebih cepat dari yang diperlukan dipilih sehingga tujuan waktu penyelesaian terpenuhi bahkan dengan gangguan.

Anda juga dapat melihat perolehan kontrol yang dihasilkan di sudut kanan bawah jendela. Untuk melihat kinerja pengontrol ini (termasuk upaya kontrol yang diperlukan), jalankan simulasi dan klik dua kali pada blok Scope untuk menghasilkan gambar seperti yang ditunjukkan di bawah ini.

(52)

53 Mencermati hal di atas, ada beberapa hal yang menonjol. Pertama, gangguan dikoreksi dalam keadaan tunak karena pengontrol PID yang kita gunakan termasuk suku integral. Selain itu, upaya kontrol yang diperlukan oleh pengontrol ini jauh lebih besar daripada yang diperlukan oleh pengontrol umpan balik status kami. Ini mungkin karena algoritme yang digunakan untuk penyetelan otomatis tidak memperhitungkan upaya kontrol, atau jika memang demikian, upaya kontrol tidak ditimbang seberat dalam fungsi cost yang kami definisikan untuk Linear Quadratic Regulator.

Dalam praktiknya, kemungkinan besar sudut elevator pesawat akan terbatas pada sesuatu seperti -25 derajat (-0,4363 rad) hingga +25 derajat (0,4363 rad). Untuk memastikan bahwa tidak melampaui batas ini, kita dapat mengatur pengontrol ke saturasi. Ini dilakukan di bawah tab PID Advanced dari jendela pengaturan blok PID Controller dengan mencentang kotak Limit output dan memasukkan "0,4363" untuk Upper saturation limit dan "-0,4363"

untuk Lower saturation limit seperti yang ditunjukkan pada gambar di bawah.

(53)

54 Masalah dengan kontrol PID yang muncul ketika aktuator jenuh adalah bahwa istilah integrator dapat terus mengintegrasikan kesalahan, pada dasarnya meminta kontrol yang lebih besar dan lebih besar, bahkan ketika upaya kontrol telah jenuh. Ini bermasalah karena ketika kesalahan akhirnya mulai berkurang, upaya kontrol akan terus menjadi jenuh karena integrator telah membangun nilai yang begitu besar. Ini membuat sistem menjadi lamban karena butuh waktu lama bagi integrator untuk "unwind". Blok kontrol PID ini dapat membantu mengatasi masalah ini dengan menerapkan strategi anti-windup integrator. Opsi ini juga diatur di bawah tab PID Advanced seperti yang ditunjukkan pada gambar di atas. Kami akan memilih opsi clamping untuk Anti-windup method. Strategi ini pada dasarnya menghentikan integrator dari integrasi ketika aktuator jenuh dan kemudian menyalakannya kembali ketika output pengontrol kembali ke dalam batas saturasi.

Setelah memilih opsi ini, menerapkan perolehan ini dan menjalankan simulasi menghasilkan hasil berikut yang tampaknya memenuhi persyaratan, bahkan dengan adanya gangguan seperti yang ditunjukkan di bawah ini. Perhatikan bahwa upaya kontrol tetap dalam batas -0,4363 hingga 0,4363 radian dan memiliki efek mengurangi overshoot sistem.

Referensi

Dokumen terkait

Tugas Akhir yang berjudul “ Rancang Bangun Sistem Kontrol Roboviscometer Berbasis Microcontroller ”, ini dimaksudkan sebagai salah satu syarat untuk penyelesaian studi pada

merupakan salah satu media yang efektif dalam pendidikan karakter di sekolah. Menurut Mochtar Buchori (2007), pendidikan karakter seharusnya

observasi peneliti, bahwa penjadwalan suatu sistem informasi jadwal mata kuliah memakan waktu yang lama dan tersedia, waktu mengajar serta Untuk mengatasi kedua

Gambar 29 dan 30 merupakan grafik respon sistem pada saat set point bernilai 30 dan 40. Pada kedua grafik tersebut terlihat bahwa respon sistem pengendalian

Pengaruh parameter delay pengontrol on-off dengan komponen umpan balik H(s) bukan orde-nol terhadap respon pengontrolan frekuensi osilasi, amplitudo dan waktu settling

Adapun istilah insourcing adalah merupakan metode pendekatan dalam pengembangan sistem informasi dengan melibatkan sumber daya internal dari orgainisasi dengan

Model fungsi alih merupakan salah satu cara untuk memberikan gambaran model matematika sistem linier, waktu tidak berubah (time invariant).. 1) Pada

Berdasarkan hasil penelitian bahwa penerapan teori belajar humanistik dengan pendekatan saintifik yang merupakan salah satu pendekatan active learning yang tujuannya menjadikan