Xây dựng sơ đồ khối cấu trúc và hàm truyền đạt các phần tử 2.. Xét ổn định hệ thống và tính quá trình quá độ bằng ph-ơng pháp số Tustin khi bỏ qua khâu PID và ngắt bỏ khâu W4p... Hệ thốn
Trang 1bài tập lớn lý thuyết điều khiển tự động
Đề bài :
Cho hệ thống điều khiển tốc độ động cơ nh- hình vẽ :(hình 1)
Yêu cầu :
1 Xây dựng sơ đồ khối cấu trúc và hàm truyền đạt các phần tử
2 Xét ổn định hệ thống và tính quá trình quá độ (bằng ph-ơng pháp số Tustin) khi bỏ qua khâu PID và ngắt bỏ khâu W4(p)
3 Khi có bộ PID , có W4(p) xét ổn định hệ thống bằng Matlab, cụ thể :
a, cắt bỏ W4(p) tìm các tham số của bộ PID để smax <=15%
b,bỏ PID , giữ lại W4(p) tìm Td để chất l-ợng hệ thống t-ơng đối tốt
c, có PID , có W4(p) xác định các tham số để smax <=10%
- nhóm 13 có các số liệu :
R =10 K , R1 =145 K , C1 = 26mF
Hàm truyền đạt động cơ:
1
=
p T p T T
k W
m e
m
m
dc với km = 6,5 ; Tm = 0,3 sec ; Te =
0,15 sec ta có :
1 3 , 0 045 , 0
5 , 6
2 + +
=
p p
- Khâu KĐ1 có hàm truyền nh- sau :
W1(p) =
1 77 , 3
5 , 14 1
1
1
+
=
p T K
-
1 01 , 0
25 )
(
2
+
=
p p
W
Bài làm
1 Xây dựng sơ đồ cấu trúc hệ thống :
- sơ đồ cấu trúc hệ thống đ-ợc vẽ nh- hình số 2 trong đó các hàm truyền đạt đã
đ-ợc tính và hệ số phản hồi Kf = KpaKft =0,125* 0,25 = 0.03125
+ nguyên lý làm việc của hệ thống :
2.Xét ổn định hệ thống và tính quá trình quá độ :
- khi bỏ khâu PID và ngắt bỏ W4(p) ta có sơ đồ cấu trúc nh- sau :
(Hình vẽ số 3)
Trang 2
Hệ thống gồm hai khâu quán tính và một khâu dao động mạch phản hồi có hệ số bằng 0.03125
- xét khâu quán tính : W1(p)=
) (
) ( 1 77 , 3
5 ,
p E
p Y
+ thế p =
1
1 2
+
-Z
Z
T vào ta có : Z.Y1(Z)= A1.Y1(Z)+B1.Z.E(Z)+B1.E(Z)
trong đó :
T
T B
T
T A
+
=
+
-=
54 , 7 5 , 14
54 , 7 54 , 7
1
1
Ph-ơng trình sai phân có dạng :
Y1[k+1]= A1Y1[k]+B1E[k+1]+B1E[k]
- t-ơng tự xét với khâu quán tính :
1 01 0
25 )
(
2
+
=
p p
) (
) (
1
2
p Y
p Y
thay p =
1
1 2 +
-Z
Z
ta có:
Z.Y2(Z)= A2.Y2(Z)+B2.Z.Y1(Z)+B1.Y1(Z) (1)
trong đó :
T T
B
T T
A
+
=
+
-=
02 0 25
02 0 02 0
2 2
Ph-ơng trình sai phân có dạng :
] [ ]
1 [ ]
[ ]
1
2 k A Y k B Y k B Y k
Đối với khâu dao động :
) (
) ( 1 3 0 045 0
5 6 )
(
2 2
3
p Y
p Y p
p p
+ +
Thay p =
1
1 2
+
-Z
Z
3 3 2 3
2 2 3
2 3
1 2
5 6 )
(
1 1
1
2 3 0 ) 1
1
2 ( 045
0
5 6 )
(
C Z B Z A
Z Z
T Z
W
Z
Z T Z
Z T
Z
W
+ +
+ +
=
ị
+ +
-+
+
-=
Trong đó :
T T
C
T B
T T A
6 0 18 0
36 0 2
6 0 18 0
2 3
2 3
2 3
-+
=
-=
+ +
=
Ph-ơng trình đại số :
) ( ) ( 2 ) ( [ 5 6 ) ( )
( )
(
3Y Z Z B ZY Z C Y Z T Z Y Z ZY Z Y Z
Ph-ơng trình sai phân t-ơng đ-ơng là :
Trang 33
3 [ 1] [ ] 6.5 ( [ 2] 2 [ 1] [ ])/ (
]
2
Vậy ph-ơng trình sai phân mô tả hệ thống theo ph-ơng pháp số Tustin là :
3 2
2 2
3 3
1 2 1
2 2
2
2
1 1
1 1
1
/ ])) 1 [ ] [
* 2 ] 1 [ (
*
*
* 5 6 ] 1 [
* ] [
* (
]
1
[
] [
* ] 1 [
* ] [
* ]
1
[
] [
* ] 1 [
* ] [
*
]
1
[
] [
* 03125
0
]
[
A k
Y k Y k
Y T T k
Y C k Y B
k
Y
k Y B k
Y B k Y A
k
Y
k E B k
E B k Y A
k
Y
k Y U
k
E
-+ +
+ +
-=
+
+ + +
=
+
+ + +
=
+
-=
Để tính quá trình quá độ của hệ thống ta dùng Matlab để kiểm tra xem hệ thống có ổn
định hay không :
nh- sau :
>> w1=tf([14.5],[3.77 1]);
Transfer function:
14.5
-
3.77 s + 1
>> w2=tf([25],[.01 1])
Transfer function:
25
-
0.01 s + 1
>> w3=tf([6.5],[0.04 3 1])
Transfer function:
6.5
-
0.045 s^2 + 0.3 s + 1
Transfer function:
2356,25
-
Trang 40,001697s^4 + 0,1814 s^3 + 1,2161s^2 + 4,08 s + 1
>> k= 0.03125;
>> wk=feedback(wh,k)
Transfer function:
2356,25
-
0,01697s^4 + 0,1814 s^3 + 1,2167s^2 + 4,48s +51,78
>> step(wk)
ta có đặc tính quá độ nh- sau :
tính quá trình quá độ bằng ph-ơng pháp TUSTI N:
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
include<stdlib.h>
float T,a1a,a2,a3,b1,b2,b3,c3,u;
float y1[640] , y2[640] , y[640] , e[640] ;
int gt , gm , i , k;
void main()
{
cout<< “\nTinh qua trinh qua do he thong”;
cout<<”\nnhap buoc tinh T=”; cin>>T;
y[0] = 0; y[1]= 0; y1[0] = 0; y2[0] = 0;
for(k=0; k<=630; k++)
{
Trang 5; / ])) 1 [ ] [
* 2 ] 1 [ (
*
*
* 5 6 ] 1 [
* ] [
* ( ]
1
[
];
[
* ] 1 [
* ] [
* ]
1
[
];
[
* ] 1 [
* ] [
* ]
1
[
];
[
* 03125 0 ]
[
3 2
2 2
3 3
1 2 1
2 2
2 2
1 1
1 1 1
A k
Y k Y k
Y T T k
Y C k Y B k
Y
k Y B k
Y B k Y A k
Y
k E B k
E B k Y A k
Y
k Y U
k
E
-+ +
+ +
-=
+
+ + +
=
+
+ + +
=
+
-=
cout<< “\n\t\tk=%3d y=%6.2f “,k,y[k] ;
delay(1) ;
}
getch() ;
gd = DETECT;
initgraph(&gd,&gm,”c:\\borlandc++\\bgi”) ;
setlinestyle(0,0,3) ;
setbkcolor(0) ; setcolor(4) ;
outtextxy(160,30,”PHUONG PHAP SO TUSTIN”) ;
outtextxy(150,40,”(He khong on dinh)”) ;
outtexexy(20,450,”0”) ;
setcolor(5) ;
rectangle(2,2,637,477) ;
setcolor(1) ;
for (i = i ; i<=10 ; i++)
{
line(64* i, 5, 64* i,15) ;
line(64* i + 32, 5, 64* i + 32, 10) ;
line(64* i, 475, 64* i, 464) ;
line(64* i + 32475, 64* i + 32 , 468) ;
line(5, 48* i, 10 , 48* i) ;
}
setcolor(2) ;
moveto(1,477) ;
for (k=0 ;k<= 630 ; k++)
{
lineto(k, 479 – (int)(10* y[k]/1.6)) ;
}
outtextxy(580, 470 – (int)(10*y[k]/1.6),”y(t)”) ;
outtextxy(455, 450 – (int)(10* y[k]/1.6),”Tin hieu ra”) ;
getch() ;
closegraph() ;
return(0) ;}
3 Khi có bộ PI D và có khâu W4(p) :
a, khi bỏ khâu W4(p) ta có sơ đồ khối của hệ thống nh- sau :
Khi mắc nối tiếp bộ PID
Trang 6Ta dùng Matlab điều chỉnh các tham số của bộ PID để ch hệ thống ổn định :
- Khi bộ PID mắc nối tiếp ta có các tham số hiệu chỉnh để overshoot không quá
15% là :
KP =0.01 ;KD = 0.1 ; KI = 0.5 ; ta có đồ thị step nh- sau :
Ta thấy overshoot bằng 9.74% , rise time bằng 1.9 (sec) và setting time bằng 6.35 (sec)
Nh- vậy chất l-ợng hệ thống đạt yêu cầu
Khi bộ PID mắc hỗn hợp :
W1(P)
Kf PID
Trang 7Ta có đặc tính quá độ nh- sau :
Trang 8Hệ thống ổn định với các tham số nh- sau : Kp =0,01 ; Ki = 0,008 ; Kd = 0;
bộ PID 2 có :Kp=0,01 ; Ki = 0,005 ; Kd = 0,01
b, Khi bỏ PID lấy W4(p) ta có sơ đồ khối nh- sau :
hiệu chỉnh dần Td ta có : với Td = 20 đặc tính quá độ của hệ thống nh- sau :
Ch-ơng trình Matlab :
>> Td=20;
>> W0=tf(8.5,[1.105 1])
Transfer function:
14.5
-
3.77 s + 1
>> W1=tf(25,[.01 1])
Transfer function:
25
-
0.01 s + 1
>> W2=tf(6.5,[.045 03 1])
Transfer function:
Trang 96.5
-
0.045 s^2 + 0.03 s + 1
>> W3=tf([Td 0 0],[Td 1])
Transfer function:
20 s^2
-
20 s + 1
>> W12k=feedback(W1* W2,W3)
Transfer function:
3250 s + 162.5
-
0.009 s^4 + 0.9064 s^3 + 3251 s^2 + 20.04 s + 1
>> W012k=feedback(W0* W12k,.03125)
Transfer function:
27625 s + 1381
-
0.009945 s^5 + 1.011 s^4 + 3593 s^3 + 3273 s^2 + 884.4 s + 44.16
>> step(W012k)
Trang 10Nhận xét : Ta thấy Overshoot =14,5% , setting Time = 46 sec ị chất l-ợng hệ
thống t-ơng đối tốt
Đồ thi Nyquist của hệ hở nh- sau :
>> nyquist(W0* W12k)
Trang 11
c) Khi có cả bộ PID và khâu W4 ta hiệu chỉnh các tham số để hệ có sMAX <=10%
Sơ đồ khối :
Trang 12Ta xẽ hiệu chỉnh các tham số của bộ PID và Td để hệ đạt đ-ợc chất l-ợng theo yêu cầu :
Ta vẽ mạch trong SIMULINK nh- sau :
thay đổi các tham số của bộ PID và Td , cho hệ thống chạy , ở cửa sổ chính của
MATLAB ta gõ :
>> plot(HUY); grid
ta có dạng quá độ nh- sau :
Trang 13Với các tham số của bộ PID nh- sau : KP = 10 ; KI = 5; KD = 5 ;
và Td = 0,001 ta thấy chất l-ợng hệ thống đã đạt yêu cầu (overshoot = 0 % ; thời gian xác lập nhỏ (10 sec)
4) Xét khả năng điều khiển đ-ợc và quan sát đ-ợc của hệ thống
Ta có hàm truyền của hệ thống nh- sau:
>> Wpid=tf(10)+tf(5,[1 0])+tf([5 0],1)
Transfer function:
5 s^2 + 10 s + 5
-
s
>> W1=tf(14.5,[3.77 1])
Transfer function:
14.5
-
3.77 s + 1
>> W2=tf(25,[.01 1])
Transfer function:
25
-
Trang 140.01 s + 1
>> Wdc=tf(6.5,[.045 3 1])
Transfer function:
6.5
-
0.045 s^2 + 0.3 s + 1
>> W3=tf(.001,[.001 1])
Transfer function:
0.001
-
0.001 s + 1
>> W1k=feedback(W2* Wdc,W3)
Transfer function:
0.1625 s + 162.5
-
4.5e-007 s^4 + 0.000498 s^3 + 0.04831 s^2 + 0.311 s + 1.163
>> Wh=Wpid* W1* W1k
Transfer function:
6.906 s^3 + 6920 s^2 + 1.382e004 s + 6906
-
4.972e-007 s^6 + 0.0005507 s^5 + 0.05388 s^4 + 0.392 s^3 + 1.596 s^2 + 1.163 s
>> Wk=feedback(Wh,.03125)
Transfer function:
6.906 s^3 + 6920 s^2 + 1.382e004 s + 6906
-
4.972e-007 s^6 + 0005507 s^5 + 0.05388 s^4 + 0.6078 s^3 + 217.8 s^2 + 433 s+ 215.8
Vậy ta có ph-ơng trình đặc tính của hệ là :
s6 +1107,6s5 +10,8.104 s4 +12,2.105s3 +43,8.107s2 +87,07.107s +43,4.107 =0
Ta dùng MatLab để tính ma trận điều khiển nh- sau :
>> A=[-1107.6 1 0 0 0 0;-10.8* 10^4 0 1 0 0 0;-12.5* 10^5 0 0 1 0 0;-43.8* 10^7 0 0 0
1 0;-
87.08* 10^7 0 0 0 0 1;-43.4* 10^7 0 0 0 0 0]
A =1.0e+008 *
Trang 15-0.0000 0.0000 0 0 0 0
-0.0011 0 0.0000 0 0 0
-0.0125 0 0 0.0000 0 0
-4.3800 0 0 0 0.0000 0
-8.7080 0 0 0 0 0.0000
-4.3400 0 0 0 0 0
>> B=[0;0;6.906;6920;1.382e004;6906]
B =
1.0e+004 *
0
0
0.0007
0.6920
1.3820
0.6906
>> P=[B A* B A^2* B A^3* B A^4* B A^5* B]
P =
1.0e+013 *
0 0 0.0000 -0.0000 0.0000 -0.0000
0 0.0000 0.0000 -0.0000 0.0000 -0.0010
0.0000 0.0000 0.0000 -0.0000 -0.0002 0.0219
0.0000 0.0000 0.0000 -0.0003 0.0313 -3.2440
0.0000 0.0000 0 -0.0006 0.0632 -6.5435
0.0000 0 0 -0.0003 0.0316 -3.2770
>> det(P)
ans =
5.2854e+029
Ta thÊy det(P) kh¸c 0 vËy Rank(P) =6 hay hÖ thèng ®iÒu khiÓn ®-îc hoµn toµn
Ta xÐt tÝnh quan s¸t ®-îc cña hÖ thèng :
>> C=[1 0 0 0 0 0]
C =
[1 0 0 0 0 0]
ans =
Trang 16
1
0
0
0
0
0
>> A' ans = 1.0e+008 * -0.0000 -0.0011 -0.0125 -4.3800 -8.7080 -4.3400 0.0000 0 0 0 0 0
0 0.0000 0 0 0 0
0 0 0.0000 0 0 0
0 0 0 0.0000 0 0
0 0 0 0 0.0000 0
>> L=[C' A'* C' (A')^2* C' (A')^3* C' (A')^4* C' (A')^5* C'] L = 1.0e+015 * 0.0000 -0.0000 0.0000 -0.0000 0.0011 -1.1220 0 0.0000 -0.0000 0.0000 -0.0000 0.0011 0 0 0.0000 -0.0000 0.0000 -0.0000 0 0 0 0.0000 -0.0000 0.0000 0 0 0 0 0.0000 -0.0000 0 0 0 0 0 0.0000 >> det(L) ans = 1
Ta thÊy det(L) kh¸c 0 , vËy hÖ thèng quan s¸t ®-îc hoµn toµn