Báo cáo Thí nghiệm Điều khiển số
Báo cáo thí nghiệm điều khiển số
Sinh viên:Trần Thị Thoan
Mssv: 20102754
Lớp ĐK TĐH 4 K55
Nhóm : Kíp 2 sáng thứ 4 tuần 29,32,37
Số liệu được giao: Gi6, Lz1, Gw3
BÀI 1. TÌM MÔ HÌNH GIÁN ĐOẠN CỦA ĐCMC
Mô hình gián đoạn của ĐCMC
Hình 1: Sơ đồ cấu trúc của ĐCMC kích thích độc lập
Các tham số cơ bản của động cơ một chiều:
- Điện trở phần ứng: RA = 250mΩ
- Momen quán tính: J = 0,012kgm2
- Điện cảm phần ứng: LA = 4mH
- Hằng số động cơ: ke = 236,8, kM = 38,2
- Từ thông danh định: R = 0,04VS
1.1 Mô hình gián đoạn của đối tượng dòng phần ứng
Mô hình đối tượng dòng phần ứng
( )=
1
.
1
1+
.
1
1+
Lệnh Matlab
Trần Thị Thoan_20102754
Page 1
Báo cáo Thí nghiệm Điều khiển số
Tt=100e-6; Ra=250e-3; La=4e-3;
Ta=La/Ra; T1=0.1e-3; T2=0.01e-3;
>> km=38.2; ke=236.8;J=0.012;xi=0.04;
>> Gi=tf(1,[Tt 1])*(1/Ra)*tf(1,[Ta 1])
Transfer function:
4
--------------------------1.6e-006 s^2 + 0.0161 s + 1
a, Sử dụng lệnh c2d của MATLAB để tìm hàm truyền đạt trên
miền ảnh z theo phương pháp ZOH, FOH, Tustin với 2 chu kì T1=0.1ms, T2 =
0.01ms
Lệnh matlab
Gzi1=c2d(Gi,T1,'zoh')
Transfer function:
0.009176 z + 0.006577
---------------------z^2 - 1.362 z + 0.3656
Sampling time (seconds): 0.0001
>> Gzi2=c2d(Gi,T1,'foh')
Transfer function:
0.003298 z^2 + 0.01046 z + 0.001998
----------------------------------z^2 - 1.362 z + 0.3656
Sampling time (seconds): 0.0001
>> Gzi3=c2d(Gi,T1,'tustin')
Transfer function:
0.004154 z^2 + 0.008307 z + 0.004154
-----------------------------------z^2 - 1.327 z + 0.3313
Sampling time (seconds): 0.0001
>> Gzi4=c2d(Gi,T2,'zoh')
Trần Thị Thoan_20102754
Page 2
Báo cáo Thí nghiệm Điều khiển số
Transfer function:
0.0001209 z + 0.0001169
----------------------z^2 - 1.904 z + 0.9043
Sampling time (seconds): 1e-005
>> Gzi5=c2d(Gi,T2,'foh')
Transfer function:
4.064e-005 z^2 + 0.0001585 z + 3.865e-005
----------------------------------------z^2 - 1.904 z + 0.9043
Sampling time (seconds): 1e-005
>> Gzi6=c2d(Gi,T2,'tustin')
Transfer function:
5.951e-005 z^2 + 0.000119 z + 5.951e-005
---------------------------------------z^2 - 1.904 z + 0.9042
Sampling time (seconds): 1e-005
b,Sử dụng phương pháp đã học để gián đoạn hóa mô hình
thay
=
Ta có T =T1
7=
0.0004z^2
0.0162z^2 − 0.0161z + 1.6e − 006
7=
4e − 005z^2
0.01611z^2 − 0.0161z + 1.6e − 006
T = T2
Lệnh matlab
Gzi7=tf([ 0.0004 0 0],[0.0162 -0.0161 1.6e-006],T1)
Gzi8=tf([4e-005 0 0],[0.01611 -0.0161 1.6e-006],T2)
c, Đồ thị
Lệnh matlab
step(Gi)
Trần Thị Thoan_20102754
Page 3
Báo cáo Thí nghiệm Điều khiển số
hold on
step(Gzi1)
step(Gzi2)
step(Gzi3)
step(Gzi4)
step(Gzi5)
step(Gzi6)
step(Gzi7)
step(Gzi8)
Hình 1: Đồ thị đáp ứng của các hàm truyền dán đoạn tính tay và matlab của đối
tượng dòng phần ứng
Trần Thị Thoan_20102754
Page 4
Báo cáo Thí nghiệm Điều khiển số
Hình 2: Hình ảnh phóng to các đồ thị đáp ứng đối tượng dòng phần ứng
1.2 Mô hình gián đoạn DCMC
- Hàm truyền đạt của động cơ trên miền ảnh laplace được xác định như sau:
Vòng hở :
( )=
1
.
1
1+
.
.
2
Vòng kín:
( )=
1+
.
.
Lệnh matlab
Gh=tf(1/Ra)*tf(1,[Ta 1])*tf(km*xi)*tf(1,[2*pi*J 0])
Transfer function:
6.112
----------------------0.001206 s^2 + 0.0754 s
Gk=feedback(Gh,ke*xi)
Transfer function:
Trần Thị Thoan_20102754
Page 5
Báo cáo Thí nghiệm Điều khiển số
6.112
------------------------------0.001206 s^2 + 0.0754 s + 57.89
a, Sử dụng lệnh c2d của MATLAB để tìm hàm truyền đạt trên
miền ảnh z theo phương pháp ZOH, FOH, Tustin với 2 chu kì T1=0.1ms, T2 =
0.01ms
Lệnh matlab
Gk1=c2d(Gk,T1,'zoh')
Transfer function:
2.528e-005 z + 2.523e-005
------------------------z^2 - 1.993 z + 0.9938
Sampling time (seconds): 0.0001
>> Gk2=c2d(Gk,T1,'foh')
Transfer function:
8.431e-006 z^2 + 3.367e-005 z + 8.404e-006
-----------------------------------------z^2 - 1.993 z + 0.9938
Sampling time (seconds): 0.0001
>> Gk3=c2d(Gk,T1,'tustin')
Transfer function:
1.263e-005 z^2 + 2.525e-005 z + 1.263e-005
-----------------------------------------z^2 - 1.993 z + 0.9938
Sampling time (seconds): 0.0001
>> Gk4=c2d(Gk,T2,'zoh')
Transfer function:
2.533e-007 z + 2.532e-007
------------------------z^2 - 1.999 z + 0.9994
Sampling time (seconds): 1e-005
>> Gk5=c2d(Gk,T2,'foh')
Trần Thị Thoan_20102754
Page 6
Báo cáo Thí nghiệm Điều khiển số
Transfer function:
8.443e-008 z^2 + 3.377e-007 z + 8.44e-008
----------------------------------------z^2 - 1.999 z + 0.9994
Sampling time (seconds): 1e-005
>> Gk6=c2d(Gk,T2,'tustin')
Transfer function:
1.266e-007 z^2 + 2.532e-007 z + 1.266e-007
-----------------------------------------z^2 - 1.999 z + 0.9994
Sampling time (seconds): 1e-005
b,Sử dụng phương pháp đã học để gián đoạn hóa mô hình
Tính tay Gkz7, Gkz8:
1
1
1
kM
*
* kM *
RA 1 STA
2 JS 2 JRA S (1 STA )
kM
GH ( S )
2 JRA S (1 STA )
GK ( S )
k M ke 2
1 G H (S ) * ke
1
2 JRA S (1 STA )
1/ ke
5066
2
2 JRA
2 JRA
T S2
S 1 s 62.5s 47987
2 A
2
kM ke
k M ke
G (S )
5066
A
Bs C
A
B( s a )
C Ba
b
H (S ) K
2
2
2
2
2
S
s(s 62.5s 47987) S (s a) b
S (s a ) b
b (s a ) 2 b 2
GH ( S )
z
z ( z e aT cos(bT ))
C Ba
ze aT sin(bT )
Z {H ( S ) A
B 2
z 1
z 2 ze aT cos(bT ) e 2 aT
b z 2 2 ze aT cos(bT ) e2 aT
G ( z ) (1 z 1 ) H ( z )
( A B ) z 2 ((2 A B)e aT cos(bT ) C1e aT sin(bT ) B ) z Ae 2 aT Be aT cos(bT ) C1e aT sin(bT )
z 2 2 ze aT cos(bT ) e2 aT
Với C1
C Ba
b
a=31.25;b=216.82;A=0.105570258;B=-0.105570258;C=-6.598141163;
C1 =-0.015215711
+Với chu kỳ trích mẫu: T1 =0,1ms
Trần Thị Thoan_20102754
Page 7
Báo cáo Thí nghiệm Điều khiển số
2.2576547*105 2.522394922*10 5
z 2 1.993291132 z 0.99376949
+Với chu kỳ trích mẫu: T1 =0,01ms
Giz 7
Giz 8
2.53249*107 2.531971794*107
z 2 1.999370398 z 0.999375195
-Gõ lệnh trên Matlab
>> Gk7=tf([ 2.2576547 e-5+ 2.522394922 e-5],[1 - 1.993291132 0.99376949 ],0.0001)
Transfer function:
2.258e-005 z + 2.522e-005
------------------------z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>>Gk8=tf([ 2.53249 e-7 2.531971794 e-7],[1 - 1.999370398 0.999375195 ],0.00001)
Transfer function:
2.532e-007 z + 2.532e-007
------------------------z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
c, Đồ thị
Lệnh Matlab
step(Gk)
hold on
step(Gk1)
step(Gk2)
step(Gk3)
step(Gk4)
step(Gk5)
step(Gk6)
step(Gk7)
step(Gk8)
Trần Thị Thoan_20102754
Page 8
Báo cáo Thí nghiệm Điều khiển số
Hình 3: Đồ thị đáp ứng của các hàm gián đoạn và tính tay hàm truyền ĐCMC
Trần Thị Thoan_20102754
Page 9
Báo cáo Thí nghiệm Điều khiển số
1.3 Mô hình trạng thái động cơ của ĐCMC trên miền thời gian liên tục
Lệnh matlab
Gh=tf(1/Ra)*tf(1,[Ta 1])*tf(km*xi)*tf(1,2*pi*J)
Transfer function:
6.112
------------------0.001206 s + 0.0754
Gk=feedback(Gh,ke*xi)
Transfer function:
6.112
------------------------------0.001206 s^2 + 0.0754 s + 57.89
T3= 0.1; T4= 0.01
[A,B,C,D]=tf2ss([ 6.112],[0.001206 0.0754 57.89])
A=
1.0e+004 *
-0.0063 -4.8002
0.0001
0
B=
1
0
C=
1.0e+003 *
0
5.0680
Trần Thị Thoan_20102754
Page 10
Báo cáo Thí nghiệm Điều khiển số
D=
0
>> [Az1,Bz1]=c2d(A,B,T1)
Az1 =
0.9935 -4.7848
0.0001 0.9998
Bz1 =
1.0e-004 *
0.9968
0.0000
>> [Az1,Bz1]=c2d(A,B,T3)
Az1 =
-0.0438 -2.9271
0.0001 -0.0399
Bz1 =
1.0e-004 *
0.6098
0.2166
>> [Az2,Bz2]=c2d(A,B,T4)
Az2 =
-0.4989 -133.8566
0.0028 -0.3245
Trần Thị Thoan_20102754
Page 11
Báo cáo Thí nghiệm Điều khiển số
Bz2 =
0.0028
0.0000
>> G2k1=ss(Az1,Bz1,C,D,T3)
a=
x1
x2
x1 -0.04376
-2.927
x2 6.098e-005 -0.03995
b=
u1
x1 6.098e-005
x2 2.166e-005
c=
x1 x2
y1 0 5068
d=
u1
y1 0
Sampling time (seconds): 0.1
Discrete-time state-space model.
>> G2k2=ss(Az2,Bz2,C,D,T4)
a=
x1
x2
x1 -0.4989 -133.9
x2 0.002789 -0.3245
b=
u1
x1 0.002789
x2 2.759e-005
c=
x1 x2
y1 0 5068
Trần Thị Thoan_20102754
Page 12
Báo cáo Thí nghiệm Điều khiển số
d=
u1
y1 0
step(Gk)
hold on
step(G2k1)
step(G2k2)
Đồ thị đáp ứng
Hình 4: Đồ thị đáp ứng của các mô hình trạng thái liên tục và gián đoạn
BÀI 2.TỔNG HỢP VÒNG ĐIỀU KHIỂN DÒNG PHẦN ỨNG
6=
5.951e − 005z^2 + 0.000119z + 5.951e − 005
z^2 − 1.904z + 0.90422
Trần Thị Thoan_20102754
Page 13
Báo cáo Thí nghiệm Điều khiển số
Chuyển sang miển ảnh z mũ âm
Lệnh Matlab
Gi6=filt([5.951e-005 0.000119 5.951e-005],[1 -1.904 0.9042],T2)
Transfer function:
5.951e-005 + 0.000119 z^-1 + 5.951e-005 z^-2
-------------------------------------------1 - 1.904 z^-1 + 0.9042 z^-2
2.1. Thiết kế bộ điều khiển dòng theo phương pháp Dead-Beat
Với đa thức L1(z)= l0 +l1*z^-1
Chương trình matlab
ao=1;a1=- 1.904;a2=0.9042;
bo=5.951e-005 ; b1= 0.000119;b2=5.951e-005;
Az=filt([ao a1 a2],1,T2)
Transfer function:
1 - 1.904 z^-1 + 0.9042 z^-2
Bz=filt([bo b1 b2],1,T2)
Transfer function:
5.951e-005 + 0.000119 z^-1 + 5.951e-005 z^-2
l0=ao/((ao-a1)*(bo+b1+b2))
l0 =
1.4467e+003
l1=-a1/((ao-a1)*(bo+b1+b2))
l1 =
2.7546e+003
L1z=filt([l0 l1],1,T2)
Transfer function:
1447 + 2755 z^-1
Gri=(L1z*Az)/(1-L1z*Bz)
Transfer function:
1447 - 3937 z^-2 + 2491 z^-3
------------------------------------------------
Trần Thị Thoan_20102754
Page 14
Báo cáo Thí nghiệm Điều khiển số
0.9139 - 0.3361 z^-1 - 0.4139 z^-2 - 0.1639 z^-3
Simulink
Hình 5: Mô phỏng simulink cho bộ điều khiển thiết kế bằng phương pháp Dead-Beat
Đồ thị đáp ứng
Hình 6: Kết quả mô phỏng simulink với bộ điều khiển thiết kế bằng phương
pháp Dead-Beat
2.2. Thiết kế bộ điều chỉnh dòng theo phương pháp cân bằng mô hình
Gw3=x1*z^-1+x2*z^-2+x3*z^-3
Trần Thị Thoan_20102754
Page 15
Báo cáo Thí nghiệm Điều khiển số
x1+x2+x3=1
Chọn x1=0.1 x2 =0.4 x3=0.5
Lệnh matlab
Gw= filt([0 0.1 0.4 0.5],1,T2)
Transfer function:
0.1 z^-1 + 0.4 z^-2 + 0.5 z^-3
Gri2=Gw/(Gi6*(1-Gw))
Transfer function:
0.1 z^-1 + 0.2096 z^-2 - 0.1712 z^-3 - 0.5903 z^-4 + 0.4521 z^-5
---------------------------------------------------------------5.951e-005 + 0.000113 z^-1 + 2.381e-005 z^-2 - 8.331e
-005 z^-3 - 8.33e-005 z^-4 - 2.975e-005 z^-5
Simulink
Hình 7: Mô phỏng simulink cho bộ điều khiển thiết kế bằng phương pháp
CBMH
Đồ thị đáp ứng
Trần Thị Thoan_20102754
Page 16
Báo cáo Thí nghiệm Điều khiển số
Hình 8: Mô phỏng simulink cho bộ điều khiển thiết kế bằng phương pháp CBMH
Lệnh matlap kiểm tra điểm cực
Gk=Gri2*Gi6/(1+Gi6*Gri2)
Transfer function:
3.541e-010 z^-1 + 1.449e-009 z^-2 + 4.069e-010 z^-3 - 6.078e-009 z^
-4 - 6.092e-009 z^-5 + 9.179e-009 z^-6 + 1.33e-008 z^
-7 - 4.836e-009 z^-8 - 1.273e-008 z^-9 - 1.522e-009 z^
-10 + 5.762e-009 z^-11 + 2.532e-009 z^-12 - 1.005e-009 z^
-13 - 7.239e-010 z^-14
Trần Thị Thoan_20102754
Page 17
Báo cáo Thí nghiệm Điều khiển số
------------------------------------------------------------------3.541e-009 + 3.234e-010 z^-1 - 1.493e-008 z^-2 - 2.666e-009 z^
-3 + 2.44e-008 z^-4 + 7.5e-009 z^-5 - 1.903e-008 z^-6
- 9.744e-009 z^-7 + 6.866e-009 z^-8 + 6.034e-009 z^-9
- 8.511e-010 z^-10 - 1.448e-009 z^-11 + 4.911e-025 z^
-12 + 1.823e-025 z^-13
Sampling time (seconds): 1e-005
>> pole(Gk)
ans =
0
0
0
0
1.0000
0.9979 + 0.0000i
0.9979 - 0.0000i
0.9061 + 0.0000i
0.9061 - 0.0000i
-0.4500 + 0.5454i
-0.4500 - 0.5454i
-0.9998 + 0.0183i
-0.9998 - 0.0183i
-0.9998 + 0.0183i
-0.9998 - 0.0183i
-0.0000
0.0000
Đánh giá: không có điểm cực nằm ngoài vòng tròn đơn vị
Trần Thị Thoan_20102754
Page 18
Báo cáo Thí nghiệm Điều khiển số
BÀI 3.THIẾT KẾ BĐK CHO ĐỐI TƯỢNG TỐC ĐỘ QUAY Gn
3.1 Xác định hàm truyền đạt của đối tượng và tìm hàm truyền đạt trên
miền ảnh Z
1
G = G ( ) . k . Ψ.
2πJs
Phương pháp ZOH thời gian trích mẫu 0.1 ms
Xấp xỉ Gw(bài 2)=1/(1+Tt*s);Tt=100us
Lệnh Matlab
G1=tf([1],[2*pi*J 0])
Transfer function:
1
-------0.0754 s
>> Gik=tf([1],[2*Tt 1])
Transfer function:
1
-----------0.0002 s + 1
>> Gn=Gik*km*xi*G1
Transfer function:
1.528
------------------------1.508e-005 s^2 + 0.0754 s
>> Gnz=c2d(Gn,T2,'tustin')
Transfer function:
2.471e-006 z^2 + 4.943e-006 z + 2.471e-006
-----------------------------------------z^2 - 1.951 z + 0.9512
Sampling time (seconds): 1e-005
>> Gnz1=filt([2.471e-006 4.943e-006 2.471e-006],[1 1.951 0.9512],T2)
Trần Thị Thoan_20102754
Page 19
Báo cáo Thí nghiệm Điều khiển số
Transfer function:
2.471e-006 + 4.943e-006 z^-1 + 2.471e-006 z^-2
---------------------------------------------1 + 1.951 z^-1 + 0.9512 z^-2
3.2 Tổ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 có dạng:
r +r z
G (z ) =
1 + pz
Chọn p=-1
-Đối tượng điều khiển có dạng:
b +b z +b z
G (z ) =
a +a z +a z
-Sai lệch điều chỉnh:Ez
=
=
.
-Viết sai lệch điều chỉnh dưới dạng sai phân :
ek=wk+wk-1(a1-1)+wk-2(a2-a1)-wk-3(-a2)-ek-1(a1-1+r0b1)-ek-2(a2-a1+r0b2+r1b1)-ek3(r1b2-a2) – ek-4(r1b3)
Wk=1
k=0 → e = 1
k=1 → e = 1 − r b
k=2 → e = 1 + (a b − 2b − b )r + b r − b r
k=3 → e = −(a − 1 + r b ). 1 + (a b − 2b − b )r + b r − b r − (a − a +
r b + r b )(1 − r b ) − (r b − a )
Tiêu chuẩn tích phân bình phương:
( )
=
=
→
→
Lệnh matlab
function F= function1(r)
b0=2.471e-006;b1= 4.943e-006 ; b2=2.471e-006 ;
a0=1; a1= 1.951; a2= 0.9512;
F= 1+(1-r(1)*b1)^2+(1+(a1*b1-2*b1-b2)*r(1)+b1^2*r(1)^2-b1*r(2))^2+(-(a11+r(1)*b1)*(1+(a1*b1-2*b1-b2)*r(1)+b1^2*r(1)^2-b1*r(2))-(a2a1+r(1)*b2+r(2)*b1)*(1-r(1)*b1)-(r(2)*b2-a2))^2;
Trần Thị Thoan_20102754
Page 20
Báo cáo Thí nghiệm Điều khiển số
options=optimset('fminunc');
options=optimset(options,'Display','iter','LargeScale','off');
r0=[-100 100];
[r,fval]=fminunc('function1',r0,options)
r=
1.0e+005 *
2.0438
2.7231
fval =
1.0172
Simulink
Hình 9: Sơ đồ mô phỏng Simulink
Đồ thị scope
Hình 10: Kết quả mô phỏng
Trần Thị Thoan_20102754
Page 21
Báo cáo Thí nghiệm Điều khiển số
Nhân xét:
Với bộ số chọn được từ công cụ optimazation ta thấy bộ điều khiển làm không làm hệ ổn
định được. Vậy ta phải chọn bộ số [r0 r1] khác.
Ta chọn [ro r1]= [99 -98]
Simulink
Hình 11: Simulink
đồ thị scope
Hình 12: kết quả mô phỏng
Trần Thị Thoan_20102754
Page 22
Báo cáo Thí nghiệm Điều khiển số
- Khảo sát hệ thống với tác động của nhiễu đầu vào
Simulink
Hình 13: Simulink
đồ thị scope
Hình 14: Kết quả mô phỏng
Nhận xét: Mặc dù có tác động của nhiễu đầu vào nhưng bộ điều khiển vẫn đưa
hệ thống về giá trị cân bằng mới
Trần Thị Thoan_20102754
Page 23
Báo cáo Thí nghiệm Điều khiển số
- Khảo sát hệ thống với tác động của nhiễu đầu ra
Simulink
Hình 15: Simulink
Đồ thị scope
Hình 16: Kết quả mô phỏng
Nhận xét: Mặc dù có tác động của nhiễu đầu ra nhưng bộ điều khiển vẫn đưa
hệ thống về giá trị cân bằng.
Trần Thị Thoan_20102754
Page 24
Báo cáo Thí nghiệm Điều khiển số
- Kiểm tra sai lệch
Simulink
Hình 17: Đồ thị Simulink
Đồ thị scope
Hình 18: Kết quả mô phỏng
Nhận xét: Bình phương sai lệch tiến về 0.
Trần Thị Thoan_20102754
Page 25