+ Cụ thể ở bài thí nghiệm, hệ số λ càng lớn hệ thống thayđổi chậm; hệ số λ nhỏ thì thông số nhận được thay đổinhiều theo thời gian; hệ số λ = 0.99 thì thông số nhậnđược ít thay đổi kể từ
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO THÍ NGHIỆM
LÝ THUYẾT ĐIỂU KHIỂN NÂNG CAO
GVHD: LÊ QUANG THUẦN
Trang 2BÀI THÍ NGHIỆM 3 ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC DÙNG BỘ TỰ CHỈNH
STR (SELF-TUNING REGULATOR)
I Mục đích
Trong bài thí nghiệm nàysinh viênsẽkhảo sátđáp ứng vị trí củađộng cơ ĐC theo thời gian khi tín hiệu đầu vào thay đổi đểnhậndạng hàm truyền của động cơ.Dựa vàotham số nhận dạng sinhviên sẽ xây dựng bộ điều khiển thích nghi tự chỉnh định theophương pháp đặt cực
Ngoài ra, bài thí nghiệm còngiúp sinh viên hiểu rõ ảnhhưởng của hệ số quên lên tốc độ hội tụ của các tham số cầnnhận dạng
Mục tiêu sau khi hoàn thành bài thí nghiệm này:U
❒ Biết cách xây dựngthuật toán nhận dạng off-line và on-linecho một đối tượng tuyến tính bậc 2
❒ Biết cách xây dựng bộ điều khiển tự chỉnh địnhđể điều khiển
vị trí động cơ DC theo phương pháp đặt cực
II Thực hiện thí nghiệm
2.1 Nhận dạng hàm truyền đối tượng
Trong phần này, sinh viên sẽ thu thập tín hiệu đầu vào vàđầu ra của đối tượng và áp dụng công thức ở Mục 2.1đểnhậndạng hàm truyền vị trí của động cơ DC
Các bước thí nghiệm:
a) Mở file motor_model_init.m và chạy để khởi tạo tín hiệuđiện áp đầu vào uk, các thông số thời gian lấy mẫu T vàthời gian mô phỏng Tstop Sinh viên không cần cài đặt lạiphần thiết lập trong Simulink -> Configuration
Lưu ý: Khi chạy file này lần đầu tiên chương trình sẽ báo lỗinhưng vẫn khởi tạo được giá trị bình thường
b) Biên dịch và chạy file motor_model.mdl để thu thập sốliệu
c) Chạy lại file motor_model_init.m để tìm hàm truyền vị trítrí của động cơ Thay đổi giá trị lamda trong filemotor_model_init.m sao cho đồ thị hiển thị các thông sốước lượng thẳng và hội tụ nhất
Trang 3d) Lặp lại bước b) và c) với 5 lần chạy và ghi kết quả vàoBảng1 Sau đó, tính giá trị trung bình của hàm truyền.
Trang 4b) Mở khối ‘Identification’ Tham khảo code ở Hình 8 để viết
bổ sung vào cho đầy đủ
c) Mở khối ‘Self-Tuning Regulator’ Tham khảo code ở Hình 9
để viết bổ sung vào cho đầy đủ (công thức (12))
d) Sau khi hoàn thành việc viết code, biên dịch và chạychương trình
e) Mở Scope để xem đáp ứng Nhận xét chất lượng của hệthống (độ vọt lố, thời gian quá độ, sai số xác lập)
f) Thay đổi cặp cực quyết định bằng cách thay đổi giá trị của,sao cho đáp ứng ngõ ra không có vọt lố Nhận xét ảnhhưởng của , lên chất lượng hệ thống
Trang 5Thực hiện thí nghiệm:
Chương trình khối ‘Identification’
% Ham nhan dang thong so doi tuong
function [P,Theta] = Uocluong(uk1,uk2,yk,yk1,yk2,P_,Theta_)lamda = 0.96;
PHI = [-yk1; -yk2; uk1; uk2];
e = yk - PHI'*Theta_;
L = P_*PHI / (lamda + PHI'*P_*PHI);
P = 1/lamda*(P_ - P_*PHI*PHI'*P_ /(lamda + PHI'*P_*PHI));Theta = Theta_ + L*e;
Chương trình khối ‘Self-Tuning Regulator’
% Ham tinh thong so bo dieu khien theo pp dat cuc lien tucfunction u = STR_pp1(Theta,e,e1,e2,u_1,u_2)
d1 = -2*exp(-xi*wn*T0)*cosh(wn*T0*sqrt((xi^2)-1)); % xi>1end
Trang 6q0 = (1/b1)*(d1 + 1 - a1 - gama);
% Luat dieu khien
u = q0*e + q1*e1 + q2*e2 + (1-gama)*u_1 + gama*u_2;
Với giá trị lamda = 0.98
(POT = 0%, t = 0.61, e = 0)qd xl
Trang 7(POT = 0%, t = 0.68, e = 0)qd xl
(POT = 11.5%, t = 0.7, e = 0)qd xl
Trang 8(POT = 0%, t = 0.8, e = 0)qd xl
Nhận xét chất lượng của hệ thống:
Ở phương pháp đặt cực liên tục, với giá trị lamda = 0.98,1.5, 20, tín hiệu ngõ ra bám tốt với tín hiệu đặt, ngoạitrừ chu kỳ đầu tiên bộ điều khiển cần thời gian để thích ứng.Tín hiệu ra gần như không có độ vọt lố, thời gian xác lập cũngnhư sai số xác lập không đáng kể
Khi tăng làm giảm độ vọt lố cũng như thời gian xác lậpcủa hệ thống Còn khi tăng giúp tín hiệu ra bám tốt với tínhiệu vào ở các chu kỳ đã xác lập
2.3 Xây dựng bộ điều khiển tự chỉnh theo phương phát đặt cực miền rời rạc
Các bước thí nghiệm:
a) Mở file motor_pos_str_pp2.mdl
b) Mở khối ‘Identification’ Tham khảo code ở Hình 8 để viết
bổ sung vào cho đầy đủ
Trang 9c) Mở khối ‘Self-Tuning Regulator’ Xem hướng dẫn ở Mục2.4.2 để xây dựng bộ điều khiển tự chỉnh theo phươngpháp đặt cực miền rời rạc (công thức(14)).
d) Sau khi hoàn thành việc viết code, biên dịch và chạychương trình
e) Mở Scope để xem đáp ứng Nhận xét chất lượng của hệthống (độ vọt lố, thời gian quá độ, sai số xác lập)
f) Thay đổi cặp cực quyết định bằng cách thay đổi giá trị của,sao cho đáp ứng ngõ ra không có vọt lố Nhận xét ảnhhưởng của, lên chất lượng hệ thống
Thực hiện thí nghiệm:
Chương trình khối ‘Identification’
% Ham nhan dang thong so doi tuong
function [P,Theta] = Uocluong(uk1,uk2,yk,yk1,yk2,P_,Theta_)lamda = 0.96;
PHI = [-yk1; -yk2; uk1; uk2];
e = yk - PHI'*Theta_;
L = P_*PHI / (lamda + PHI'*P_*PHI);
P = 1/lamda*(P_ - P_*PHI*PHI'*P_ /(lamda + PHI'*P_*PHI));Theta = Theta_ + L*e;
Chương trình khối ‘Self-Tuning Regulator’
% Ham tinh thong so bo dieu khien theo pp dat cuc roi racfunction u = STR_pp1(Theta,wk,yk,yk_1,yk_2,u_1,u_2)
Trang 10r3 = a2*b1* (b2*x1-b1*(x2-x3+x4));
r4 = (b1+b2)*(b1*x4+b2*(x3-x4));
r5 = b1*(b1^2*x4+b1*b2*x3+b2^2*x2)-b2^3*x1;r6 = b1^2* (a2*x3+a1*x4-a2*x4);
r7 = b2*(b1*(a1*x4+a2*x2-x4)-b2*(a2*x1+x4));p1 = (r5-r1)/r1;
Trang 11(POT = 0%, t = 0.6, e = 0)qd xl
(POT = 0%, t = 0.555, e = 0)qd xl
Trang 12(POT = 0%, t = 0.56, e = 0)qd xl
Nhận xét chất lượng của hệ thống:
Ở phương pháp đặt cực rời rạc, với giá trị lamda = 0.9, 0.3; 0.05, tín hiệu ngõ ra bám tương đối tốt với tín hiệungõ vào Vẫn còn tồn tại đột vọt lố ở đầu mỗi chu kỳ do bộđiều khiển chưa kịp thích ứng, nhưng nhìn chung đột vọt lốtương đối nhỏ Về thời gian xác lập và sai số xác lập thìkhông đáng kể Ngõ ra có xuất hiện nhiễu nhưng cơ bản chấpnhận được
Khi , tăng hay giảm không ảnh hưởng nhiều đến chấtlượng của hệ thống Như vậy, chất lượng hệ thống phụ thuộcrất nhiều vào hệ số quên lamda
Trang 13III Trả lời câu hỏi
1 Từ bảng số liệu ở Bảng 1, viết hàm truyền rời rạc vị trí động cơ Nhận xét ảnh hưởng của hệ số quên lên sai số ước lượng.
- Hàm truyền rời rạc vị trí động cơ:
- Nhận xét ảnh hưởng của hệ số quên lên sai số ước lượng:+ Hệ số quên phụ thuộc vào tốc độ thay đổi theo thời giancủa hàm truyền G(z) Do vậy, khi hệ số quên càng gầnbằng 1 thì chứng tỏ hệ thống có hàm truyền ít thay đổitheo thời gian Ngược lại, nếu hệ thống có hàm truyền phụthuộc vào thời gian thì hệ số quên càng nhỏ lại
+ Cụ thể ở bài thí nghiệm, hệ số λ càng lớn hệ thống thayđổi chậm; hệ số λ nhỏ thì thông số nhận được thay đổinhiều theo thời gian; hệ số λ = 0.99 thì thông số nhậnđược ít thay đổi kể từ khi xác lập
+ Qua quá trình thực nghiệm nhận thấy, λ trong khoảng0.98-0.995 thì hệ thồng dễ ổn định
2 Dựa vào kết quả thí nghiệm ở Mục 5.2, nhận xét chất lượng của hệ thống (độ vọt lố, thời gian quá độ, sai số xác lập).
- Khi giữ nguyên và tăng hệ số thì độ vọt lố và thời gian
- Khi giữ nguyên và tăng hệ số thì độ vọt lố không tham
đổi, thời gian xác lập giảm dần, sai số xác lập xấp xỉ 0 Vì:
Trang 14+ Hệ dao động có các cực nằm trên cùng 1 tia xuất phát
từ góc tọa độ thì có hệ số tắt dần bằng nhau, do đó độ vọt
lố bằng nhau
+ Hệ nào có cực nằm xa gốc tọa độ hơn thì có tần số dao
động tự nhiên lớn hơn, do đó thời gian quá độ ngắn hơn
3 Dựa vào kết quả thí nghiệm ở Mục 5.3, nhận xét chất lượng của hệ thống (độ vọt lố, thời gian quá độ, sai số xác lập).
- Giá trị alpha ảnh hưởng đến vị trí của các cực so với góctọa độ Khi alpha càng lớn, các cực càng gần góc tọa độnên hệ thống càng ổn định Tuy nhiên, nếu alpha quá gầntrục ảo, thì ảnh hưởng đến thời gian quá độ, làm giá trị nàytăng lên
- Giá trị beta tăng lên càng lớn khiến cho hệ thống càng mất
ổn định Vì beta càng lớn, các cực càng tiến xa vòng trongđơn vị, dẫn đến hệ thống bị dao động
Trang 15BÀI THÍ NGHIỆM 4 ĐIỀU KHIỂN NHIỆT ĐỘ DÙNG BỘ ĐIỀU KHIỂN THÍCH
NGHI PID AUTO-TUNING
I Mục đích
Trong bài thí nghiệm này sinh viên sẽ khảo sát đối tượng có trễ
là lò nhiệt và xây dựng bộ điều khiển PID theo phương pháp Ziegler – Nichols cho đối tượng lò nhiệt Bộ điều khiển nhiệt độ rất phổ biến và được ứng dụng rộng rãi trong công nghiệp Việc điều khiển chính xác nhiệt độ với độ vọt lố nhỏ và sai số xác lập nhỏ là cần thiết và quyết định tới chất lượng sản phẩm cần gia nhiệt
Dựa vào các kết quả thu thập được từ đáp ứng vòng kín, sinh viên sẽ tìm được độ lợi tới hạn và chu kỳ tới hạn của hệ thống Sau khi tìm được các thông số này, sinh viên sẽ xây dựng bộ điều khiển PID auto-tuning để điều khiển nhiệt độ
Mục tiêu sau khi hoàn thành bài thí nghiệm này:
Tìm độ lợi tới hạn và chu kỳ tới hạn của mô hình lò nhiệt từ
bộ điều khiển
ON-OFF để thiết kế bộ điều khiển PID
Xây dựng bộ điều khiển PID auto-tuning để điều khiển nhiệt độ
II Thực hiện thí nghiệm
1 Tìm độ lợi tới hạn và chu kỳ tới hạn của hệ thống
để cài đặt thông số cho bộ điều khiển PID
Trang 16a) Tìm độ lợi tới hạn và chu kỳ tới hạn
Setpoint = 70 Khâu realy “ouput when on” = 0,3
“Switch” ở chế độ
ON-OFF
Đáp ứng ngõ ra
Trang 17Hình 1 Đồ thị đáp ứng ngõ ra quan sát
Bảng 1 Giá trị KC, TC
b) Cài đặt thông số cho bộ điều khiển PID
Chọn ΦM = 45 và α = 60 Dựa vào giá trị TC và KC ở obảng 1, tính thông số bộ điều khiển PID và nhập vào khối
“Discrete PID controller”, “Setpoint” = 100, “Switch” ở chế độ PID
Đáp ứng ngõ ra:
Trang 18Bảng 2 Chất lượng hệ thống
2 Điều khiển thích nghi PID auto-tuning
a) Giải thích biến cnt có chức năng:
Biến cnt là biến điếm (count), có chức năng xác định
thời gian
b) Giá trị biên độ dao động M:
Trong chế độ ON-OFF, giá trị nhiệt độ emax và emin bằng cách so sánh từng giá trị e hiện tại với các giá trị emax, emin lúc này Nếu nó đạt giá trị lớn hơn emax hoặc nhỏ hơn emin thì sẽ thay đổi giá trị emax, emin và tiếp tụcthực hiện so sánh cho đến hết chế độ ON-OFF
Trang 19Sau khi chuyển sang chế độ PID, giá trị biên độ dao động M được xác định bằng cách lấy hiệu hai giá trị tuyệt đối: M = |emax| – |emin|
c) Thời điểm A, B được xác định bằng cách:
Thời điểm A, B được xác định bằng sự chuyển đổi của ngõ ra relay Khi ngõ ra relay chuyển tiếp từ OFF sang ON biến idx sẽ tăng lên 1 Khi chuyển tiếp lần đầu biến idx =
1 tương ứng với thời điểm A ( = cnt), chuyển tiếp lần 𝑇1tiếp theo idx = 2 tương ứng với thời điểm B ( = cnt) 𝑇2Khi đó, chu kì tới hạn: = − 𝑇𝐶 𝑇2 𝑇1
Cài đặt thời gian lấy mẫu T=1s và thời gian chạy 1800s Đáp ứng ngõ ra:
Trang 20Nhận xét: Sau 1061s thì hệ thống chuyển từ chế độ
ON-OFF sang PID
III Trả lời câu hỏi
1 Từ bảng số liệu ở bảng 1, xác định độ lợi tới hạn và chu kỳ tới hạn của hệ thống? Đánh giá chất lượng của hệ thống khi bộ điều khiển PID được thiết kế theo công thức (3) – (5)? Ảnh hướng của hệ số α lên chất lượng hệ thống?
-Độ lợi tới hạn KC = 0,034 và chu kỳ tới hạn TC = 384s
-Chất lượng của hệ thống khi sử dụng bộ điều khiển PID khá tốt: độ vọt lố rất nhỏ (gần như bằng 0), sai số xác lập thấp,thời gian quá độ ngắn
- Sau 1061s thì hệ thống chuyển từ chế độ ON-OFF sang chế độ PID
- Để giảm thời gian chuyển đổi trên, ta cần phải làm nhiệt độ lò nhiệt tăng nhanh hơn, tức là giảm thời hằng của lò nhiệt
3 Nhận xét về chất lượng của hệ thống khi sử dụng
bộ điều khiển PID autotuning (độ vọt lố, thời gian quá độ, sai số xác lập)?
Trang 21- Chất lượng hệ thống khi sử dụng bộ điều khiển PID auto-tuning rất tốt: không có độ vọt lố, thời gian quá độngắn, sai số xác lập nhỏ
BÀI THÍ NGHIỆM 5 ĐIỀU KHIỂN HỒI TIẾP BIẾN TRẠNG THÁI
I Mục đích
Hệ thống xe – lò xo bao gồm 2 xe và 2 lò xo liên kết nối tiếp nhau Trong bài thí nghiệm này sinh viên sẽ xây dựng phương trình biến trạng thái mô tả hệ thống xe – lò xo Sau
đó sẽ xây dựng bộ điều khiển hồi tiếp biến trạng thái để điềukhiển vị trí của xe 1 hoặc vị trí của xe 2 theo giá trị đặt mongmuốn
Dựa vào các kết quả thu thập được từ đáp ứng thời gian, sinh viên sẽ tìm được các thông số của mô hình xe – lò xo như: độ cứng của lò xo, hệ số ma sát Sau khi tìm được các
Trang 22thông số này, sinh viên sẽ xây dựng được phương trình biến trạng thái mô tả hệ thống xe – lò xo
Ngoài ra, bài thí nghiệm còn giúp sinh viên hiểu rõ ảnh
hưởng của bộ điều khiển hồi tiếp biến trạng thái lên chất lượng hệ thống điều khiển
Mục tiêu sau khi hoàn thành bài thí nghiệm này:
Biết cách xây dựng và mô phỏng mô hình điều khiển hệthống xe – lò xo dùng phương pháp điều khiển hồi tiếpbiến trạng thái
Biết cách thu thập dữ liệu và nhận dạng mô hình đốitượng xe – lò xo
Đánh giá được chất lượng điều khiển dùng phương phápđiều khiển hồi tiếp biến trạng thái
II Thực hiện thí nghiệm
Trang 24% Tim thong so cua he thong:
% Do cung k cua lo xo: k1_hat % He so ma sat tren m1: b1_hat a1 = T*T*(2*x1(2:N-1) -
x2(2:N-1)); a2 = T*(x1(2:N-1) - x1(1:N-2)); PHI
= [a1 a2]; lamda = (2*x1(2:N-1) - x1(1:N-2) -
x1(3:N))*m1; theta = inv(PHI'*PHI)*PHI'*lamda; k1_hat = theta(1) b1_hat = theta(2)
% Sinh vien tham khao doan code o tren
% de tim thong so cua he thong:
% He so khuech dai U = K.F: K_hat
% He so ma sat tren m2: b2_hat
Trang 27+ = [0 0 10 0.05] K f
+ = [0 0 10 0.2] K f
Trang 283 Điều khiển vị trí xe 1
Trang 30- Hình ảnh Scope + = [0.2 0 0 0] K f
+ = [1.5 0 0 0] K f
Trang 31+ = [1 0.002 0 0] K f
+ = [1 0.008 0 0]K f
Trang 32+ = [1 0 0 0.01] K f
+ = [1 0 0 0.1] K f
Trang 33III TRẢ LỜI CÂU HỎI
1 Từ số liệu bảng 1 và bảng 2 ở trên, viết phương trình biến trạng thái hệ xe – lò xo theo (3)
2 Dựa vào số liệu bảng 3 ở trên, nhận xét ảnh hưởng của Kf3, Kf4 lên chất lượng hệ thống
- Hệ số ảnh hưởng đến sai số xác lập và độ vọt lố của đápK f3
ứng ngõ ra, tăng thì độ vọt lố càng lớn và sai số xác lập càngK f3
nhỏ
- Hệ số ảnh hưởng đến độ vọt lố của đáp ứng ngõ ra, K f4 K f4
tăng thì độ vọt lố càng giảm
Trang 343 Dựa vào số liệu bảng 4 ở trên, nhận xét ảnh hưởng của Kf1, Kf2, Kf4 lên chất lượng hệ thống
- Hệ số ảnh hưởng đến sai số xác lập và độ vọt lố của đápK f1
ứng ngõ ra, tăng làm giảm sai số xác lập nhưng làm tăng độK f3
vọt lố Đồng thời tăng sẽ làm cho đáp ứng dần mất ổn địnhK f1
và giao động với biên độ càng lớn
- Hệ số ảnh hưởng tương đối đến sai số xác lập và độ vọtK f2
lố của đáp ứng ngõ ra, tăng thì độ vọt lố và sai số xác lậpK f2
giảm tương đối Đồng thời, giống với , tăng cũng sẽ làmK f1 K f2
cho đáp ứng dần mất ổn định và giao động với biên độ càng lớn
- Hệ số ảnh hướng đến độ vọt lố của đáp ứng, càngK f4 K f4
lớn thì độ vọt lố càng nhỏ Đồng thời, tăng cũng sẽ làm choK f4
đáp ứng giao động biên độ càng nhỏ và tiến tới ổn định
Trang 35BÀI THÍ NGHIỆM 1 ĐIỀU KHIỂN HỆ PHI TUYẾN CON LẮC NGƯỢC QUAY
I Mục đích
- Dựa trên mô hình toán đưa ra, sinh viên xây dựng mô hình
mô phỏng trên MATLAB Simulink và thực hiện kiểm chứng lại
mô hình đã tìm ra
- Sử dụng 3 phương pháp thiết kế bộ điều khiển cân bằng conlắc ngược quay: tuyến tính hóa tại điểm làm việc tĩnh kết hợpthiết kế bộ điều khiển LQR, thiết kế bộ điều khiển hồi tiếptuyến tính hóa và thiết kế bộ điều khiển trượt
II Thực hiện thí nghiệm
1 Tuyến tính hóa tại điểm cân bằng trên và thiết kế
1.1.1 Khảo sát ảnh hưởng của ma trận Q và R
- Đáp ứng của hệ thống khi thay đổi giá trị của ma trận Q và
ma trận R:
Trang 36 Lần 1: Q = diag([1, 1, 0.001, 1]), R=1:
K = [ -1, -1.9536, 110.3185, 23.3228]
Lần 2: Q = diag([1, 1, 1, 1]), R=1:
K = [ -1, -1.9537, 110.3279, 23.3239]
Trang 37 Lần 3: Q = diag([1, 1, 10000, 1]), R=1:
K = [ -1, -3.5132, 379.6067, 43.9392]
Lần 4: Q = diag([1, 1, 1, 1]), R=0.01:
K = [ -10, -15.3313, 462.0378, 98.5219]