Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
1,13 MB
Nội dung
B i t p d i môn đi u khi n t đ ngà ậ à ề ể ự ộ ph n I/ Yêu c u thi t kầ ầ ế ế 1) Yêu c u thi t k h th ng ®iÒukhiÓn t ng có:ầ ế ế ệ ố ựđộ - Bé i u khi n PID có h m truy n :đề ể à ề W PID (s) = K P *(1+ sT I * 1 +T D *s) - i t ng i u khi n l khâu tr v quán tính b c nh t có h m truy n:Đố ượ đề ể à ễ à ậ ấ à ề W DT (s) = 1* + − sT e Ls V i các tham s : L/T = 0.9; T = 95;ớ ố H th ng có s nhệ ố ơđồ hình v :ẽ W pid ( s ) W dt ( s ) 2) Tính toán các tham s Kp, Ti, Td m b o tính n nh v ch t l ng c aố đả ả ổ đị à ấ ượ ủ h th ng (theo Ziegler – Nichols).ệ ố 3) Xét n nh c a h th ng. Tìm các i m c c v i m không.ổ đị ủ ệ ố để ự àđể 4) Kh o sát ch t l ng, ch n các tham s v i các lu t i u khi n P, PI, PIDả ấ ượ ọ ố ớ ậ đề ể m b o cho h th ng có ch t l ng t t nh t (ch nh nh b ng tay).đả ả ệ ố ấ ượ ố ấ ỉ đị ằ 5) Tính tham s t i u c a bé i u khi n PID dùng h m least – squares (saiố ố ư ủ đề ể à s bình ph ng nh nh t) v i các tham s L v T ã cho trên.ố ươ ỏ ấ ớ ố à đ ở ph n II/ Tính toán v i MatLabầ ớ I/ Tính toán các tham s Kp, Ti, Td theo tiêu chu n Ziegler Nicholsố ẩ – áp d ng b ng công th c th c nghi m c a Ziegler – Nichols:ụ ả ứ ự ệ ủ Lu t i u khi nậ đề ể Kp Ti Td P T/L ∞ 0 PI 0.9T/L 10L/3 0 PID 1.2T/L 2L 0.5L V i các tham s ã cho: L/T = 0.9; T = 95 ớ ốđ ⇒ L=85.5 Thay v o b ng trên ta có:à ả Lu t i u khi nậ đề ể Kp Ti Td P 1.111 ∞ 0 PI 1 285 0 PID 1.333 171 42.75 II/ Phân tích h th ng v i các tham s ch n theo ph ng pháp Ziegler ệ ố ớ ố ọ ươ – Nichols v hi u ch nh b ng tayà ệ ỉ ằ có th phân tích h th ng, ta c n khai tri n Taylor khâu tr eĐể ể ệ ố ầ ể ễ -Ls , l y 3 sấ ố h ng u l chính xác. Vi c khai tri n n y ®ù¬c th c hi n nh MatLab quaạ đầ à đủ ệ ể à ự ệ ờ h m x p x Pade:à ấ ỉ Ch ng trình MatLab nh sau:ươ ư >> [ts,ms]=pade(85.5,3) ts = -1.0000 0.1404 -0.0082 0.0002 1 ms = 1.0000 0.1404 0.0082 0.0002 >> wtre=tf(ts,ms) Transfer function: -s^3 + 0.1404 s^2 - 0.008208 s + 0.000192 s^3 + 0.1404 s^2 + 0.008208 s + 0.000192 1/ Kh o sát h th ng v i lu t i u khi n t l P:ả ệ ố ớ ậ đề ể ỉ ệ >> T=95;L=85.5; >> [ts,ms]=pade(L,3) ts = -1.0000 0.1404 -0.0082 0.0002 ms = 1.0000 0.1404 0.0082 0.0002 >> wdt=tf(ts,ms)*tf(1,[T 1]) Transfer function: -s^3 + 0.1404 s^2 - 0.008208 s + 0.000192 95 s^4 + 14.33 s^3 + 0.9201 s^2 + 0.02645 s + 0.000192 >> Kp=T/L Kp = 1.1111 >> wkinp=feedback(Kp*wdt,1) Transfer function: -1.111 s^3 + 0.1559 s^2 - 0.00912 s + 0.0002133 95 s^4 + 13.22 s^3 + 1.076 s^2 + 0.01733 s + 0.0004053 >> step(wkinp) >> nyquist(wkinp) >> pzmap(wkinp) >> [p,z]=pzmap(wkinp) p = -0.0628 + 0.0722i -0.0628 - 0.0722i -0.0068 + 0.0205i -0.0068 - 0.0205i z = 0.0430 + 0.0410i 0.0430 - 0.0410i 0.0543 2 c tính quá Đặ độ c tính t n sĐặ ầ ố th i m không, i m c cĐồ ị để để ự *Nh n xét: ậ - Các i m c c u n m bên trái tr c o nên h th ng n nh.để ự đề ằ ụ ả ệ ố ổ đị - quá i n khi n Độ để ể max δ = 39% - Th i gian t ng t c (Rise time): 54.1sờ ă ố 3 - Th i gian quá (Settling time): 573s.ờ độ *Hi u ch nh có c tính quá t t h n: cho Kp = 0.3ệ ỉ để đặ độ ố ơ >> Kp = 0.3; >> wkinp = feedback(Kp*wdt,1) Transfer function: -0.3 s^3 + 0.04211 s^2 - 0.002462 s + 5.76e-005 95 s^4 + 14.03 s^3 + 0.9622 s^2 + 0.02398 s + 0.0002496 >> step(wkinp) - Sau khi hi u ch nh có: ệ ỉ + quá i u ch nh Độ đề ỉ max δ = 1.24% + Th i gian quá : 239 (s)ờ độ + Th i gian t ng t c: 112 (s)ờ ă ố 2/ Kh o sát h th ng v i lu t i u ch nh t l – tích phân PIả ệ ố ớ ậ đề ỉ ỉ ệ Ch ng trình Matlab:ươ >> T=95; L=85.5 >> Kp=0.9*T/L;Ti=10*L/3; >> [ts,ms]=pade(L,3) ts = -1.0000 0.1404 -0.0082 0.0002 ms = 1.0000 0.1404 0.0082 0.0002 >> wdt=tf(ts,ms)*tf(1,[T 1]) Transfer function: -s^3 + 0.1404 s^2 - 0.008208 s + 0.000192 95 s^4 + 14.33 s^3 + 0.9201 s^2 + 0.02645 s + 0.000192 >> wpi=tf([Kp*Ti Kp],[Ti 0]) Transfer function: 285 s + 1 285 s >> wkinpi=feedback(wdt*wpi,1) Transfer function: -285 s^4 + 39 s^3 - 2.199 s^2 + 0.04651 s + 0.000192 27075 s^5 + 3800 s^4 + 301.2 s^3 + 5.339 s^2 + 0.1012 s + 0.000192 4 >> step(wkinpi) >> nyquist(wdt*wpi) >> pzmap(wkinpi) >> [p,z]=pzmap(wkinpi) p = -0.0618 + 0.0694i -0.0618 - 0.0694i -0.0073 + 0.0184i -0.0073 - 0.0184i -0.0021 z = 0.0430 + 0.0410i 0.0430 - 0.0410i 0.0543 -0.0035 c tính quá Đặ độ c tính t n sĐặ ầ ố 5 th i m không - i m c cĐồ ị để để ự * Nh n xét: ậ - Các i m c c n m bên trái tr c o nên h th ng n nh.để ự ằ ụ ả ệ ố ổ đị - quá i u ch nh: Độ đ ề ỉ max δ = 0% - Th i gian t ng t c (Rise time): 675sờ ă ố - Th i gian quá (Settling time): 1500sờ độ * Hi u ch nh t ch t l ng t t h n: cho Kp = 0.65; Ti = 110;ệ ỉ đểđạ ấ ượ ố ơ >> Kp=0.65; Ti=110; >> wpi=tf([Kp*Ti Kp],[Ti 0]) Transfer function: 71.5 s + 0.65 110 s >> wkinpi=feedback(wdt*wpi,1) Transfer function: -71.5 s^4 + 9.385 s^3 - 0.4956 s^2 + 0.008392 s + 0.0001248 10450 s^5 + 1505 s^4 + 110.6 s^3 + 2.414 s^2 + 0.02951 s + 0.0001248 >> step(wkinpi) Sau khi hi u ch nh ta có:ệ ỉ - quá i u ch nh: Độ đ ề ỉ max δ = 1.94% - Th i gian quá : 286 (s)ờ độ 6 - Th i gian t ng t c: 148 (s)ờ ă ố 3/ Kh o sát h th ng v i lu t i u ch nh PID:ả ệ ố ớ ậ đề ỉ Ch ng trình Matlab nh sau:ươ ư >> L=85.5;T=95;Kp=1.2*T/L;Ti=2*L;Td=0.5*L; >> [ts,ms]=pade(85.5,3) ts = -1.0000 0.1404 -0.0082 0.0002 ms = 1.0000 0.1404 0.0082 0.0002 >> wdt=tf(ts,ms)*tf(1,[T 1]) Transfer function: -s^3 + 0.1404 s^2 - 0.008208 s + 0.000192 95 s^4 + 14.33 s^3 + 0.9201 s^2 + 0.02645 s + 0.000192 >> wpid=tf([Kp*Ti*Td Kp*Ti Kp],[Ti 0]) Transfer function: 9747 s^2 + 228 s + 1.333 171 s >> wkin=feedback(wpid*wdt,1) Transfer function: -9747 s^5 + 1140 s^4 - 49.33 s^3 + 0.1871 s^2 + 0.03283 s + 0.000256 6498 s^5 + 3591 s^4 + 108 s^3 + 4.71 s^2 + 0.06566 s + 0.000256 >> step(wkin) >> nyquist(wkin) >> pzmap(wkin) >> [p,z]=pzmap(wkin) p = -0.5235 -0.0060 + 0.0322i -0.0060 - 0.0322i -0.0102 -0.0069 z = 0.0430 + 0.0410i 0.0430 - 0.0410i 0.0543 -0.0117 -0.0117 7 c tính quá Đặ độ c tính t n sĐặ ầ ố th i m không - i m c cĐồ ị để để ự * Nh n xét: ậ 8 - Các i m c c n m bên trái tr c o nên h th ng n nh, tuy nhiên do có 2 để ự ằ ụ ả ệ ố ổ đị i m c c ph c liên h p n m sát tr c o nên d tr n nh nh .để ự ứ ợ ằ ụ ả độ ự ữổ đị ỏ - quá i u ch nh: Độ đ ề ỉ max δ =-250% - Th i gian t ng t c: 108 (s)ờ ă ố - Th i gian quá : 477 (s)ờ độ *Hi u ch nh có c tính t t h n: Kp=0.7; Ti=110; Td=10ệ ỉ để đặ ố ơ Ch ng trình MatLab:ươ >> Kp=0.7; Ti=110;Td=10; >> wpid=tf([Kp*Ti*Td Kp*Ti Kp],[Ti 0]) Transfer function: 770 s^2 + 77 s + 0.7 110 s >> wkin=feedback(wpid*wdt,1) Transfer function: -770 s^5 + 31.07 s^4 + 3.787 s^3 - 0.3859 s^2 + 0.009038 s + 0.0001344 9680 s^5 + 1608 s^4 + 105 s^3 + 2.523 s^2 + 0.03016 s + 0.0001344 >> step(wkin) c tính quá sau khi hi u ch nhĐặ độ ệ ỉ - quá i u ch nh: Độ đ ề ỉ max δ =1.57% - Th i gian t ng t c: 224 (s)ờ ă ố - Th i gian quá : 284 (s)ờ độ III/ Mô hình hoá h th ng b ng Simulink:ệ ố ằ B c 1/ V o Simulink mô hình hoá h th ng d i d ng s kh i nh sau:ướ à ệ ố ướ ạ ơđồ ố ư B c 2/ N p tham s cho các khâu:ướ ạ ố - Bé i u khi n PID: Các tham s Kp, Ki, Kdđề ể ố 9 - Khâu bão ho Saturation:à + Upper limit: 1.5 + Lower limit: -1.5 - Khâu h n ch gia t c Rate Limiter:ạ ế ố + Rising slew rate: 1 + Faling slew rate: -1 - Khâu tr Transport Delay:ễ 10 [...]... Ki = 0.0071; Kd = 12.8041 Bước 4/ Quay lại Simulink nháy vào Scope ta thu được đặc tính quá độ của hệ thống với tham số tính toán tối ưu tìm được: - Độ quá điều khiển: δ max =1.65% - Thời gian quá độ: 241(s) 12 Kết Luận Các tham số tối ưu của bé điều khiển PID ứng với đối tượng đã cho là: Kp = 0.7757 Ki = 0.0071 Kd = 12.8041 ứng với các tham số này, đặc tính quá độ thu được của hệ thống là tốt nhất... “BaiTapDai” trong thư mục work của MatLab Bước 2/ Trong cửa sổ Command Windows của MatLab vào File → New → M-file → sẽ hiện ra cửa sổ soạn thảo Trong cửa sổ này ta viết các hàm tính toán tham số tối ưu cho bé điều khiển: * Hàm thứ nhất: function e=yout_1(pid,model,tspan) opt=simset('solver','ode5'); assignpid(pid); [t,x,y]=sim(model,tspan,opt); e=y-1; Ghi lại hàm này thành file: yout_1.m * Hàm thứ hai: function . B i t p d i môn đi u khi n t đ ngà ậ à ề ể ự ộ ph n I/ Yêu c u thi t kầ ầ ế ế 1) Yêu c u thi t k h th ng ®iÒukhiÓn