Upload
ngocanhnguyen
View
28
Download
3
Embed Size (px)
DESCRIPTION
Báo cáo thí nghiệm điều khiển số Bách khoa hà nội
Citation preview
Sinh viên :Mai Thế Hòa
MSSV:20081090
Lớp :TDH1-K53
Bài Thực Hành Số 1
Tìm mô hình gián đoạn của ĐCMC
>> Ra=0.25;La=0.004;J=0.012;ke=236.8;km=38.2;fi=0.04;
>> Ta=La/Ra;
>> Wh=1/Ra *tf(1,[Ta 1])*km*fi*tf(1,[2*3.14*J 0])
Transfer function:
6.112
------------------------
0.001206 s^2 + 0.07536 s
>> Wk=feedback(Wh,ke*fi)
Transfer function:
6.112
--------------------------------
0.001206 s^2 + 0.07536 s + 57.89
>> step(Wk)
1
>> Wz1=c2d(Wk,0.1e-3)
Transfer function:
2.529e-005 z + 2.524e-005
-------------------------
z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>> step(Wz1)
2
>> Wz2=c2d(Wk,0.01e-3)
Transfer function:
2.534e-007 z + 2.533e-007
-------------------------
z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> step(Wz2)
3
Cách chuyển sang miền rời rạc tính bằng tay:
4
5
>> Wz3=c2d(Wk,0.1e-3,'zoh')
Transfer function:
2.529e-005 z + 2.524e-005
-------------------------
z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>> step(Wz3)
>> Wz4=c2d(Wk,0.01e-3,'zoh')
Transfer function:
2.534e-007 z + 2.533e-007
-------------------------
z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> step(Wz4)
6
>> Wz5=c2d(Wk,0.1e-3,'foh')
Transfer function:
8.435e-006 z^2 + 3.369e-005 z + 8.409e-006
------------------------------------------
z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>> step(Wz5)
7
>> Wz6=c2d(Wk,0.01e-3,'foh')
Transfer function:
8.447e-008 z^2 + 3.378e-007 z + 8.444e-008
------------------------------------------
z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> step(Wz6)
8
>> Wz7=c2d(Wk,0.1e-3,'tustin')
Transfer function:
1.263e-005 z^2 + 2.526e-005 z + 1.263e-005
------------------------------------------
z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>> step(Wz7)
9
>> Wz8=c2d(Wk,0.01e-3,'tustin')
Transfer function:
1.267e-007 z^2 + 2.534e-007 z + 1.267e-007
------------------------------------------
z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> step(Wz8)
10
>> [A,B,C,D] = tf2ss(6.112,[0.001206 0.07536 57.89])
A =
1.0e+004 *
-0.0062 -4.8002
0.0001 0
B =
1
0
C =
1.0e+003 *
0 5.0680
D =0
11
>> SYS = SS(A,B,C,D,0.1e-3)
a =
x1 x2
x1 -62.49 -4.8e+004
x2 1 0
b =
u1
x1 1
x2 0
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 0.0001
Discrete-time model.
>> SYS = SS(A,B,C,D,0.01e-3)
a =
x1 x2
x1 -62.49 -4.8e+004
x2 1 0
b =
u1
x1 1
x2 0
12
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 1e-005
Discrete-time model.
Bài Thực Hành Số 2
Tổng Hợp Vòng Điều Chỉnh Phần Ứng(Điều Khiển Mô Men Quay)
Ta có :
>> Gz1=c2d(Wk,0.1e-3,'zoh')
Transfer function:
2.529e-005 z + 2.524e-005
-------------------------
z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
Theo Phương pháp Dead-Beat
- Bac 1 voi L( ) = L0 +L1*
>> Gz=filt([0 2.529e-005 2.524e-005],[1 -1.993 0.9938])
Transfer function:
13
2.529e-005 z^-1 + 2.524e-005 z^-2
---------------------------------
1 - 1.993 z^-1 + 0.9938 z^-2
Sampling time: unspecified
>> Bz=filt([0 2.529e-005 2.524e-005],1)
Transfer function:
2.529e-005 z^-1 + 2.524e-005 z^-2
>> Az=filt([1 -1.993 0.9938],1)
Transfer function:
1 - 1.993 z^-1 + 0.9938 z^-2
Sampling time: unspecified
>> l0=1/((1+1.993)*(2.529e-5+2.524e-5))
l0 =
6.6122e+003
>> l1=1.993/((1+1.993)*(2.529e-5+2.524e-5))
l1 =
1.3178e+004
>> Lz=filt([l0 l1],1)
Transfer function:
6612 + 1.318e004 z^-1
Sampling time: unspecified
>> GR=(Lz*Az)/(1-Lz*Bz)
Transfer function:
6612 - 1.969e004 z^-2 + 1.31e004 z^-3
14
-------------------------------------------
1 - 0.1672 z^-1 - 0.5002 z^-2 - 0.3326 z^-3
Sampling time: unspecified
Ta có mô phỏng simulink như sau:
Kết quả
15
-Bac 2 voi L( ) = L0 +L1* + L2*
>> Wz1=c2d(Wk,0.1e-3)
Transfer function:
2.529e-005 z + 2.524e-005
-------------------------
z^2 - 1.993 z + 0.9938
>> Bz=filt([0 2.529e-5 2.524e-5],1)
Transfer function:
2.529e-005 z^-1 + 2.524e-005 z^-2
Sampling time: unspecified
>> Az=filt([1 -1.993 0.9938],1)
Transfer function:
1 - 1.993 z^-1 + 0.9938 z^-2
Sampling time: unspecified
>> mtc=1+1.993*1.993-(-1.993+0.9938);
>> L0=1/mtc *(2.529e-5+2.524e-5)
L0 =
8.4622e-006
>> L1=1.993/mtc
L1 =
0.3338
>> L2=(1.993*1.993-0.9938)/mtc
L2 =
0.4988
16
>> Lz=filt([L0 L1 L2],1)
Transfer function:
8.462e-006 + 0.3338 z^-1 + 0.4988 z^-2
>> GR=Lz*Az/(1-Lz*Bz)
Transfer function:
8.462e-006 + 0.3337 z^-1 - 0.1664 z^-2 - 0.6623 z^-3 + 0.4957 z^-4
-----------------------------------------------------------------------------------------
1 - 2.14e-010 z^-1 - 8.441e-006 z^-2 - 2.104e-005 z^-3 - 1.259e-005 z^-4
Sơ đồ mô phỏng như sau:
17
Theo Phương Pháp Cân Bằng Mô Hình
Sơ đồ mô phỏng simulink
18
- Với tốc độ đáp ứng của giá trị thực là 3 chu kì T1=0.1e-3Ta có: GW(z)=
trong đó: x1=3;x2=2;x3=1
Hàm truyền đạt của bộ điều chỉnh là:
>> Gw=filt([0 3 -1 -1],1)
Transfer function:
3 z^-1 - z^-2 - z^-3
Sampling time: unspecified
>> GR=Gw/(Gz*(1-Gw))
Transfer function:
3 - 6.979 z^-1 + 3.974 z^-2 + 0.9992 z^-3 - 0.9938 z^-4
--------------------------------------------------------------------------------------------------------
2.529e-005 - 5.063e-005 z^-1 - 5.043e-005 z^-2 + 5.053e-005 z^-3 + 2.524e-005 z^-4
19
Phân tích kết quả mô phỏng Qua kết quả mô phỏng ở 2 trường hợp trên ta thấy dạng của tín hiệu hoàn toàn đúng với
yêu cầu đề ra chứng tỏ các bước tính toán và mô phỏng là đúng.
Bài Thực Hành Số 3
Tổng Hợp Vòng Điều Chỉnh Tốc Độ Quay
Ta có :
>> Gw1=filt([0 0.5 0.5],1)
Transfer function:
0.5 z^-1 + 0.5 z^-2
>> Gn1 = 38.2*0.04*tf([1],[2*pi*0.012 0])
20
Transfer function:
1.528
--------
0.0754 s
>> Gn1z = c2d(Gn1,0.1e-3)
Transfer function:
0.002027
--------
z - 1
Sampling time: 0.0001
>> Gn = Gw1*Gn1z
Transfer function:
0.001013 z^-2 + 0.001013 z^-3
-----------------------------
1 - z^-1
Sampling time: 0.0001
>> step(Gn/(1+Gn))
21
0 0.05 0.1 0.15 0.2 0.25 0.30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Step Response
Time (sec)
Am
plitu
de
3.1tổng hợp bộ điều khiển PI theo tiêu chuẩn tích phân bình phương: - bộ điều khiển :
Gr(z) =
-Đối tượng điều khiển Gn
Ta có sai lệch điều chỉnh:
E(z) = W(z).
Viết sai lệch điều chỉnh dưới dạng sai phân:
= + (a1-1) - a1 – (a1-1+ b1) - (-a1+ b2+ b1) - ( b3+ b2)
- b3
Chọn = 20 và với ai,bi xác định theo Gn ta cần tính sao cho :
22
= nhỏ nhất
Điều kiện: suy ra:
Ta lần lượt tính được:
= 1
= 1
= 0.997974
= 0.991896 – 0.0001013
= 0.981766 – 0.0004052
Từ đó ta tính được r1 = 2.52e-004
Chọn = -20
Gr =
>> Gr = filt([20 -20],1)/filt([1 -1],1)
Transfer function:
20 - 20 z^-1
------------
1 - z^-1
Sampling time: unspecified
>> Gz = Gr*Gn
Transfer function:
23
0.02027 z^-2 - 0.02027 z^-4
---------------------------
1 - 2 z^-1 + z^-2
Sampling time: 0.0001
>> step(Gz/(1+Gz))
0 0.002 0.004 0.006 0.008 0.01 0.012 0.0140
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Step Response
Time (sec)
Am
plitu
de
24
3.2 tổng hợp bộ điều khiển PI theo phương pháp gán điểm cực:
hàm truyền đạt của đối tượng:
0.001013 z^-2 + 0.001013 z^-3
25
Gn(z) = ------------------------------- =
1 - z^-1
Bộ điều khiển có dạng:
Gr(z) = =
Đa thức đặc tính của hàm truyền:
N(z) = P(z).A(z) +R(z).B(z)
= (z-1)( ) + ( ).(b1 )
= + (a1-1+b1 ) + (-a1 +b1 +b2 ) +(b3. +b2. )z +b3.
Giả sử các điểm cực của đối tượng là: z1,z2,z3,z4
N(z) = (z-z1).(z-z2).(z-z3).(z-z4)
= - (z1+z2+z3+z4) + (z1.z2+z3.z4-z1.z3-z1.z4-z2.z3-z2z4) -
(z1.z2.z3+z1.z2.z4+z1.z3.z4+z2.z3.z4)z + z1.z2.z3.z4
Chọn z1,2 = 0.5 0.35i
Cân bằng hệ số ta được:
= 27.08
= -26.24
>> Gr = filt([27.08 -26.24],1)/filt([1 -1],1)
Transfer function:
27.08 - 26.24 z^-1
------------------
26
1 - z^-1
Sampling time: unspecified
>> Gz = Gr*Gn
Transfer function:
0.02744 z^-2 + 0.0008512 z^-3 - 0.02659 z^-4
--------------------------------------------
1 - 2 z^-1 + z^-2
Sampling time: 0.0001
0 0.005 0.01 0.015 0.02 0.0250
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plitu
de
Nhận xét: với bộ điều khiển thiết kế ở trên ta thấy thoae mãn yêu cầu
Thay đổi giá trị đặt của tốc độ quay dưới dạng bước nhảy:
27
Phụ tải thay đổi đột biến dưới dang bước nhảy:
28
29
Bài Thực Hành Số 4
Tổng Hợp Bộ Điều Chỉnh Tốc Độ Quay Trên KGTT
>> [A,B,C,D] = tf2ss(6.112,[0.001206 0.07536 57.89])
A =
1.0e+004 *
-0.0062 -4.8002
0.0001 0
B =
1
0
C =
1.0e+003 *
0 5.0680
D =0
1.Với Ttm = 0.1s
>> [Ad1,Bd1,Cd1,Dd1]=c2dm(A,B,C,D,0.1,'zoh')
30
Ad1 = -0.0438 -2.9297
0.0001 -0.0400 Bd1 = 1.0e-004 * 0.6103
0.2167 Cd1 = 1.0e+003 * 0 5.0680 Dd1 = 0
>> P1 = [0 0];
>> P2 = [0.2 0.3];
>> K = acker(Ad1,Bd1,P1)
K =
1.0e+003 *
-0.0276 -3.7924
>> H1=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)
a =
x1 x2
x1 -0.04215 -2.698
x2 0.0006584 0.04215
b =
u1
x1 6.103e-005
x2 2.167e-005
c =
x1 x2
31
y1 0 5068
d =
u1
y1 0
Sampling time: 0.1
Discrete-time model.
>> step(H1)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.02
0.04
0.06
0.08
0.1
0.12Step Response
Time (sec)
Am
plitu
de
>> H2=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)
a =
x1 x2
x1 -0.04215 -2.698
x2 0.0006584 0.04215
32
b =
u1
x1 6.103e-005
x2 2.167e-005
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model.
>>step(H2)
33
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20
0.02
0.04
0.06
0.08
0.1
0.12Step Response
Time (sec)
Am
plitu
de
>> K = acker(Ad1,Bd1,P2)
K =
1.0e+004 *
-0.1315 -2.3244
>> H3=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)
a = x1 x2 x1 0.0364 -1.511 x2 0.02854 0.4636
b = u1 x1 6.103e-005 x2 2.167e-005
c =
34
x1 x2 y1 0 5068
d = u1 y1 0
Sampling time: 0.01Discrete-time model.>> step(H3)
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20
0.05
0.1
0.15
0.2
0.25Step Response
Time (sec)
Am
plit
ude
>> H4=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)
a =
x1 x2
x1 -0.1855 -31.78
x2 0.005889 0.6855
b =
u1
x1 0.002789
35
x2 2.759e-005
c =
x1 x2
y1 0 5076
d =
u1
y1 0
Sampling time: 0.1
Discrete-time model.
>> step(H4)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5Step Response
Time (sec)
Am
plitu
de
1. Với Ttm = 0.1s
>> [Ad1,Bd1,Cd1,Dd1]=c2dm(A,B,C,D,0.1,'zoh')
36
Ad1 =
-0.0438 -2.9271
0.0001 -0.0399
Bd1 =
1.0e-004 *
0.6098
0.2166
Cd1 =
1.0e+003 *
0 5.0763
Dd1 =
0
>> K = acker(Ad1,Bd1,P1)
K =
1.0e+003 *
-0.0275 -3.7862
>> H5=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)
a =
x1 x2
x1 -0.04208 -2.696
x2 0.0006568 0.04208
b =
u1
37
x1 6.098e-005
x2 2.166e-005
c =
x1 x2
y1 0 5076
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model.
>> step(H5)
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
0.02
0.04
0.06
0.08
0.1
0.12Step Response
Time (sec)
Am
plitu
de
>> H6=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)
a =
38
x1 x2
x1 -0.04208 -2.696
x2 0.0006568 0.04208
b =
u1
x1 6.098e-005
x2 2.166e-005
c =
x1 x2
y1 0 5076
d =
u1
y1 0
Sampling time: 0.1
Discrete-time model.
>> step(H6)
39
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.02
0.04
0.06
0.08
0.1
0.12Step Response
Time (sec)
Am
plitu
de
>> K = acker(Ad1,Bd1,P2)
K =
1.0e+004 *
-0.1315 -2.3241
>> H7=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)
a =
x1 x2
x1 0.03643 -1.51
x2 0.02855 0.4636
b =
u1
x1 6.098e-005
40
x2 2.166e-005
c =
x1 x2
y1 0 5076
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model.
>> step(H7)
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
0.05
0.1
0.15
0.2
0.25Step Response
Time (sec)
Am
plitu
de
>> H8=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)
a =
41
x1 x2
x1 0.03643 -1.51
x2 0.02855 0.4636
b =
u1
x1 6.098e-005
x2 2.166e-005
c =
x1 x2
y1 0 5076
d =
u1
y1 0
Sampling time: 0.1
Discrete-time model.
>> step(H8)
42
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.05
0.1
0.15
0.2
0.25Step Response
Time (sec)
Am
plitu
de
43
44