Khảo sát ứng dụng MATLAB trong điều khiển tự động
Điều khiển tự động đóng vai trò quan trọng trong sự phát triển của khoa học và kỹ thuật.
Lĩnh vực này hữu hiệu khắp nơi từ hệ thống phi thuyền không gian, hệ thống điều khiển tên lửa,
máy bay không người lái, người máy, tay máy trong các quy trình sản xuất hiện đại, và ngay cả
trong đời sống hàng ngày: điều khiển nhiệt độ, độ ẩm.
Phát minh đầu tiên khởi đầu cho việc phát triển của lĩng vực điều khiển tự động là bộ điều
tốc ly tâm để điều chỉnh nhiệt độ máy hơi nước của Jame Watt năm 1874. Các công trình đáng
chú ý trong bước đầu phát triểnlý thuyết điều khiển là củacác nhà khoa học Minorsky, Hazen,
Nyquist.năm 1922. Minorky thực hiện hệ thống điều khiển tự động các con tàu và chứng minh
tính ổn định của hệ thống có thể được xác định từ phương trình vi phân mô tả hệ thống. Năm
1932, Nyquist đã đưa ra một nguyên tắc tương đối đơn giản để xác định tính ổn định của hệ thống
vòng kìn dựa trên cơ sở đáp ứng vòng hở đối với các tính hiệu vào hình sin ởtrạng thái xác lập.
Năm 1934, Hazen đã giới thiệu thuật ngữ điều chỉnh cơ tự động (servo mechanism) cho những hệ
thống điều khiển định vị vâà thảo luận đến việc thiết kế hệ thống relay điều chỉnh động cơ với
ngõ vào tín hiệu thay đổi.
Trong suốt thập niên 40 của thế kỷ 20 phương phápđáp ứng tần số đã giúp cjo các kỹ sư
thiết kế các hệ thống vòng kín tuyến tính thỏa các yêu cầu chất lượng điều khiển. Từ cuối thập
niên 40 cho đến đầu thập niên 50 phương pháp quỹđạo nghiệm của Evan được phát triển khá
toàn vẹn.
ên cạnh đó ta có thể khảo sát ổn định bằng tiêu chuẩn đại số: Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 252 - GVHD: PHẠMQUANG HUY Phương trình đặc trưng: s3 + 4s2 +5s + 2 = 0 Trước tiên ta gọi ‘hurwitz’ từ cửa sổ lệnh:(liên hệ PQT để có chương trình) » hurwitz Cho biet so bac cao nhat cua ham: 3 Cho biet he so a(0): 1 Cho biet he so a(1): 4 Cho biet he so a(2): 5 Cho biet he so a(3): 2 Cac dinh thuc Hurwitz: D[1] = 1 D[2] = 4 D[3] = 18 D[4] = 36 - HE THONG ON DINH. - Bài tập 8: Khảo sát hệ thống: Trước tiên, ta kết nối hệ thống: Từ cửa sổ lệnh của MATLAB, ta nhập lệnh: » num1 = [2 1]; » den1 = [1 0]; » num2 = 10; » den2 = [1 5]; » [num,den] = series(num1,den1,num2,den2) Và ta sẽ có: num = s 1s2 + 5s 10 + 1s 1 + _ + Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 253 - GVHD: PHẠMQUANG HUY 0 20 10 den = 1 5 0 Ta nhập tiếp: » numc = [20 10]; » denc = [1 5 0]; » numd = 1; » dend = [1 1]; » [num,den] = feedback(numc,denc,numd,dend) (nếu sau dend, có 1 tức là hồi tiếp dương) num = 0 20 30 10 den = 1 6 25 10 Hàm truyền của hệ thống là: G(s)H(s) = 10s25s6s 10s30s20 23 2 +++ ++ Vẽ giản đồ Bode của hệ: » num = [20 30 10]; » den = [1 6 25 10]; » bode(num,den) Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 254 - GVHD: PHẠMQUANG HUY Frequency (rad/sec) P ha se (d eg ); M ag ni tu de (d B ) Bode Diagrams -10 -5 0 5 10 10-1 100 101 102 -80 -60 -40 -20 0 20 Tính biên dự trữ và pha dự trữ của hệ: » margin(num,den) Frequency (rad/sec) P ha se (d eg ); M ag ni tu de (d B ) Bode Diagrams -10 -5 0 5 10 Gm = Inf, Pm=103.14 deg. (at 20.347 rad/sec) 100 101 -150 -100 -50 0 Kết luận: Hệ ổn định. Biên dự trữ: Gm = ∞. Pha dự trữ: Pm = 103.14o tại tần số cắt biên là 20.347 rad/sec. Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 255 - GVHD: PHẠMQUANG HUY Chú ý: Sau khi đã vào cửa sổ lập trình, ta lập chương trình khảo sát hệ có phương trình đặc trưng theo tiêu chuẩn đại số (tiêu chuẩn Hurwitz) xem hệ có ổn định hay không. Trong cửa sổ lệnh (cửa sổ làm việc), gọi lệnh » hurwitz (chương trình đã được soạn thảo trong phần lập trình mang tên Hurwitz) sẽ có những hàng chữ: cho biet so bac cao nhat cua ham: (nhập vào hệ số an) cho biet he so a(0): . . . cho biet he so a(n): Dưới dây là phần đánh vào cửa sổ lập trình %%%%%%%%%%% PHAM QUOC TRUONG - MSSV: 97102589 %%%%%%%%%%% %%%%%%%%%%% DT: 9230774 %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function Hurwitz() % % * Cong dung: Xet tinh on dinh cua he thong theo tieu chuan Hurwitz. % % * Cach su dung: % Truoc tien, nhap vao da thuc dac trung f theo dang: % f = [a(n) a(n-1) a(n-2) ..... a(1) a(0)] % voi a(n), a(n-1), a(n-2), ....., a(1),a(0) la cac he so cua da thuc dac trung. % Sau do, goi lenh Hurwitz(f) XIN VUI LONG LIÊN HỆ PHẠM QUỐC TRƯỜNG ĐỂ CÓ CHƯƠNG TRÌNH Chạy chương trình các ví dụ: Ví dụ 1: Cho phương trình đặc trưng: F(s) = s4 + 3s3 + 2s2 + 2s + 1 » Hurwitz Cho biet so bac cao nhat cua ham: 4 (nhập xong nhấn Enter) Cho biet he so a(0) = 1 Cho biet he so a(1) = 3 Cho biet he so a(2) = 2 Cho biet he so a(3) = 2 Cho biet he so a(4) = 1 Sau khi đã nhập các hệ số, MATLAB sẽ tự động giải và cho ta kết quả: Cac dinh thuc Hurwitz: D[1] = 1 D[2] = 3 D[3] = 4 D[4] = -1 Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 256 - GVHD: PHẠMQUANG HUY D[5] = -1 - HE THONG KHONG ON DINH. – Ví dụ 2: Cho phương trình đặc trưng: F(s) = 5s4 + 8s3 + 21s2 + 10s + 3 » Hurwitz Cho biet so bac cao nhat cua ham: 4 Cho biet he so a(0) = 5 Cho biet he so a(1) = 8 Cho biet he so a(2) = 21 Cho biet he so a(3) = 10 Cho biet he so a(4) = 3 Cac dinh thuc Hurwitz: D[1] = 5 D[2] = 8 D[3] = 118 D[4] = 988 D[5] = 2964 - HE THONG ON DINH. - Ví dụ 3: Cho phương trình đặc trưng: F(s) = s5 + 10s4 + 16s3 + 160s2 + s + 10 » hurwitz Cho biet so bac cao nhat cua ham: 5 Cho biet he so a(0) = 1 Cho biet he so a(2) = 10 Cho biet he so a(3) = 16 Cho biet he so a(4) = 160 Cho biet he so a(5) = 1 Cho biet he so a(6) = 10 Sau khi đã nhập các hệ số, MATLAB sẽ tự động giải và cho ta kết quả: Cac dinh thuc Hurwitz: D[1] = 1 D[2] = 10 D[3] = 0 Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 257 - GVHD: PHẠMQUANG HUY D[4] = 0 D[5] = 0 D[6] = 0 - HE THONG O BIEN ON DINH. – Khảo sát hệ thống theo tiêu chuẩn Routh Chương trình:(liên hệ PQT) %%%%%%%%%%%%%%%%%% PHAM QUOC TRUONG MSSV:97102589 %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% Dien thoai: 9230774 %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chạy chương trình các ví dụ: Ví dụ 1: Cho phương trình đặc trưng F(s) = s4 + 3s3 + 2s2 + 2s + 1 » routh - CHUONG TRINH TAO HAM ROUTH - Cho biet so bac cao nhat cua he: 4 Cho biet he so a(0) = 1 Cho biet he so a(1) = 3 Cho biet he so a(2) = 2 Cho biet he so a(3) = 2 Cho biet he so a(4) = 1 - HE THONG KHONG ON DINH. - Ví dụ 2: Cho phương trình đặc trưng F(s) = s5 + s4 + 4s3 + 4s2 + 2s +1 » routh - CHUONG TRINH TAO HAM ROUTH - Cho biet so bac cao nhat cua he: 5 Cho biet he so a(0) = 1 Cho biet he so a(1) = 1 Cho biet he so a(2) = 4 Cho biet he so a(3) = 4 Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 258 - GVHD: PHẠMQUANG HUY Cho biet he so a(4) = 2 Cho biet he so a(5) = 1 - HE THONG KHONG ON DINH. - Ví dụ 3: Cho phương trình đặc trưng F(s) = s5 + 10s4 + 16s3 + 160s2 + s + 10 » routh - CHUONG TRINH TAO HAM ROUTH - Cho biet so bac cao nhat cua he: 5 Cho biet he so a[0] = 1 Cho biet he so a[1] = 10 Cho biet he so a[2] = 16 Cho biet he so a[3] = 160 Cho biet he so a[4] = 1 Cho biet he so a[5] = 10 - HE THONG ON DINH. - Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 259 - GVHD: PHẠMQUANG HUY MỘT SỐ CHƯƠNG TRÌNH KHẢO SÁT, THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG (Nếu bạn nào quan tâm đến các chương trình thì liên hệ với PQT) 1. Chương trình 1: Viết chương trình xác định hàm truyền vòng kín có khâu hồi tiếp đơn vị. 2. Chương trình 2: Viết chương trình tìm cực và zero của hàm truyền. 3. Chương trình 3: Viết chương trình khảo sát tính ổn định của hệ tuyến tính liên tục dùng giản đồ Bode. 4. Chương trình 4: Tạo ra lệnh hurwitz để xét tính ổn định của hệ thống tuyến tính liên tục theo tiêu chuẩn Hurwitz. 5. Chương trình 5: Viết chương trình tự động vẽ giản đồ Bode, biểu đồ Nyquist, quỹ đạo nghiệm của hệ tuyến tính liên tục. 6. Chương trình 6: Viết chương trình để tìm các chỉ tiêu trong miền thời gian của hệ bậc 2. 7. Chương trình 7: Viết chương trình để thực hiện bổ chính cho một hệ thống tuyến tính liên tục bằng giản đồ Bode. 8. Chương trình 8: Viết chương trình khảo sát ảnh hưởng của khâu PID vào hệ thống tuyến tính bậc 2. trong các tập tin này chương trình sẽ không thực hiện được. 9. Chương trình 9: Viết lệnh dùng để khảo sát tính ổn định của hệ thống tuyến tính gián đoạn theo tiêu chuẩn Jury. 11. Chương trình 11: Viết chương trình đồ họa để vẽ các đáp ứng tần số và đáp ứng thời gian bằng cách chọn trong menu. Chương trình được soạn thảo trong 2 tập tin dohoa.m và action.m và hệ thống trong chương trình này có hàm truyền là: G(s) = )5)(4( 1 ++ sss Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 260 - GVHD: PHẠMQUANG HUY PHỤ CHƯƠNG: LƯU ĐỒ CÁC CHƯƠNG TRÌNH Lưu đồ chương trình tự động vẽ biểu đồ Nyquist, giản đồ Bode và quỹ đạo nghiệm Bắt đầu Nhập số lần vẽ n Vẽ biểu đồ Nyquist Vẽ giản đồ BODE Vẽ quỹ đao nghiệm k = k + 1 k > n Dừng Đ S Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 261 - GVHD: PHẠMQUANG HUY Chương trình tìm các chỉ tiêu trong miền thời gian của hệ bậc 2 Bắt đầu Nhập tần số tư nhiên Wn và hệ số tắt z Tính Cmax, Cxl, S%, exl, tdelay, tqđ,... Thiết lập hàm truyền Wn = 0 Dừng Đ S z = 0 Đ S Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 262 - GVHD: PHẠMQUANG HUY Chương trình bổ chính cho hệ thống tuyến tính liên tục Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 263 - GVHD: PHẠMQUANG HUY Bắt đầu Nhập hàm truyền Tính Gm, Pm, Wcp, Wcg Vẽ giản đồ BODE Bổ chính trễ pha Nhập tần số cắt biên sau bổ chính Wcgb num = 0 Dừng Đ S den = 0 Pm > 0 Wcgb = Wcg Wcgb > Wcg Tìm Gmf, Pmf, Wcgf, Wcpf Pmf ≥ Pm In ra hàm truyền khâu bổ chính In ra hàm truyền của hệ thống Bổ chính sớm pha Đ S Đ S S S S Đ Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 264 - GVHD: PHẠMQUANG HUY Chương trình khảo sát ảnh hưởng của khâu PID vào hệ thống Bắt đầu Nhập Wn, z Tính Gm, Pm, Wcp, Wcg Vẽ giản đồ BODE Wn = 0 Dừng Đ S z = 0 Tìm Cmax, Cxl, exl, tdelay Vẽ đáp ứng nấc đơn vị S Đ Thêm khâu PID vào hệ thống Vẽ giản đồ BODE Tính Gm, Pm, Wcp, Wcg Vẽ đáp ứng nấc đơn vị Tìm Cmax, Cxl, exl, tdelay Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện: PHẠM QUỐC TR ƯỜNG - 265 - GVHD: PHẠMQUANG HUY
File đính kèm:
- Khảo sát ứng dụng MATLAB trong điều khiển tự động.pdf