Transfer model fungsi untuk masalah cruise control diberikan di bawah ini. Silakan lihat Cruise
Control: Halaman Pemodelan Sistem untuk derivasi.
(1)
parameter sistem
Untuk contoh ini, mari kita asumsikan bahwa parameter dari sistem ini adalah
dan diagram blok sistem umpan balik kesatuan khas ditunjukkan di bawah ini.
spesifikasi kinerja
Overshoot <10%
kontrol proporsional
Ingat dari Pendahuluan: Halaman Desain Akar Locus Controller, plot akar-lokus menunjukkan lokasi
dari semua kemungkinan kutub loop tertutup ketika keuntungan tunggal bervariasi dari nol sampai
tak terhingga. Dengan demikian, hanya kontroler proporsional,, akan dipertimbangkan untuk
memecahkan masalah ini. Fungsi transfer loop tertutup menjadi:
(2)
Juga, dari Pendahuluan: Halaman Akar Locus Pengendali Desain, kita tahu bahwa perintah sgrid
MATLAB dapat digunakan untuk menampilkan wilayah diterima dari plot akar-lokus. Untuk
menggunakan sgrid, baik rasio redaman, dan frekuensi natural,, perlu ditentukan terlebih dahulu.
Berikut dua persamaan akan digunakan untuk menemukan rasio redaman dan frekuensi alami:
(3)
1.8
𝜔𝑛 ≥
𝑇𝑟
(4)
dimana
ς = Damping Ratio
mp = Maksimum Overshoot
Salah satu kriteria desain kami adalah untuk memiliki waktu naik kurang dari 5 detik. Dari persamaan
pertama, kita melihat bahwa frekuensi alami harus lebih besar dari 0,36. Juga menggunakan
persamaan kedua, kita melihat bahwa rasio redaman harus lebih besar dari 0,6, karena overshoot
maksimum harus kurang dari 10%.
Sekarang, kami siap untuk menghasilkan plot akar-lokus dan menggunakan sgrid untuk menemukan
daerah yang dapat diterima pada akar-lokus. Buat m-file baru dan masukkan perintah berikut.
m = 1000;
b = 50;
r = 10;
s = tf ( 's');
P_cruise = 1 / (m * s + b);
rlocus (P_cruise)
axis ([- 0,6 0 -0,6 0,6]);
sgrid (0,6, 0,36)
Dua garis putus-putus di sudut menunjukkan lokasi rasio redaman konstan (= 0,6); rasio redaman
lebih besar dari 0,6 di antara garis-garis ini dan kurang dari 0,6 di luar garis. Semi-elips menunjukkan
lokasi dari frekuensi alami konstan (= 0,36); frekuensi alami lebih besar dari 0,36 luar semi-elips, dan
lebih kecil dari 0,36 dalam.
Kami kemudian dapat menemukan keuntungan untuk menempatkan tiang loop tertutup di wilayah
yang diinginkan dengan menggunakan perintah rlocfind. Tambahkan kode [Kp, tiang] = rlocfind
(P_cruise) ke akhir m-file Anda untuk membantu Anda memilih gain loop tertentu. Setelah berjalan
di jendela perintah, Anda akan melihat sebuah prompt yang meminta Anda untuk memilih titik pada
plot akar-lokus. Karena Anda ingin memilih titik di antara garis putus-putus (> 0,6) dan di luar semi-
elips (> 0,36), klik pada sumbu nyata di luar semi-elips (sekitar -0,4) yang ditunjukkan dengan tanda
silang di gambar berikut.
Setelah melakukan hal ini, Anda akan melihat output berikut di jendela command MATLAB.
Kp = 350.2419
kutub = -0,4002
Perhatikan bahwa nilai kembali dari jendela perintah MATLAB Anda mungkin tidak persis sama, tapi
setidaknya harus memiliki urutan yang sama besarnya. nilai yang dikembalikan ini dapat digunakan
sebagai keuntungan untuk kompensator dan langkah respon loop tertutup dapat dihasilkan sebagai
berikut.
Kp = 350.2419;
sys_cl = umpan balik (Kp * P_cruise, 1);
t = 0: 0.1: 20;
Langkah (r * sys_cl, t)
Dengan gain Kp Anda hanya memilih, waktu naik dan kriteria overshoot telah dipenuhi; Namun,
kesalahan steady state lebih dari 10% tetap.
lag kontroler
Untuk mengurangi kesalahan steady-state, lag kontroler akan ditambahkan ke sistem. Fungsi
transfer controller lag adalah:
(5)
(6
Akhirnya, termasuk gain loop Kp, fungsi transfer loop tertutup menjadi:
Jika Anda membaca "Lag atau Phase-Lag Compensator menggunakan Root-Locus" bagian di Lead
dan Lag Compensator halaman Design, tiang dan nol dari lag kontroler harus ditempatkan dekat
bersama-sama. Selain itu, menyatakan bahwa kesalahan steady state akan berkurang dengan faktor.
Untuk alasan ini, mari kita sama 0,3 dan setara 0,03.
Buat m-file baru, dan masukkan perintah berikut.
zo = 0,3;
po = 0,03;
s = tf ( 's');
C_lag = (s + zo) / (s + po);
Menggunakan perintah rlocfind lagi, kita dapat memilih gain loop baru. Masukkan kode [Kp, tiang] =
rlocfind (C_lag * P_cruise) ke jendela perintah dan klik pada sumbu nyata di sekitar -0,4 seperti yang
ditunjukkan pada gambar berikut.
Setelah melakukan hal ini, Anda akan melihat output berikut di jendela command MATLAB.
selected_point =
-0,4002 - 0.0012i
kp =
1.2936e + 03
kutub =
-0,9733
-0,4003
Kami kemudian dapat menghasilkan langkah respon loop tertutup baru sebagai berikut.
Kp = 1293,6;
sys_cl = umpan balik (Kp * C_lag * P_cruise, 1);
t = 0: 0.1: 20;
Langkah (r * sys_cl, t)
axis ([0 20 0 12])
Seperti yang Anda lihat, kesalahan steady-state telah berkurang mendekati nol. overshoot adalah
hasil dari nol ditambahkan dalam controller lag. Untuk saat ini semua kriteria desain telah dipenuhi
dan tidak ada iterasi lebih lanjut diperlukan; Namun, Anda harus bereksperimen dengan berbeda
dan nilai-nilai untuk melihat apa efek mereka pada respon sistem loop tertutup.