Giúp sinh viên làm quen với công cụ và môi trường mô phỏng Matlab/Simulink trong việc mô hình hóa, phân tích và thiết kế hệ thống điều khiển số tài liệu [1], viết tắt: ĐKS, qua đó nắm vữ
Trang 11
BÁO CÁO THÍ NGHIỆM HỆ THỐNG ĐIỀU KHIỂN SỐ
Sinh viên: Nguyễn Thế Đức
SHSV:20090812
Lớp: Điều khiển & tự động hóa –K54
Bài sử dụng: và
I.Mục đích bài thực hành
Giúp sinh viên làm quen với công cụ và môi trường mô phỏng
Matlab/Simulink trong việc mô hình hóa, phân tích và thiết kế hệ thống điều khiển
số (tài liệu [1], viết tắt: ĐKS), qua đó nắm vững được các kiến thức cơ bản như:
Các phương pháp gián đoạn hóa hệ thống đối tượng điều khiển (viết tắt: ĐTĐK)
Phương pháp phân tích hệ thống ĐKS
Thiết kế thử nghiệm thuật toán ĐKS
II Nhiệm vụ bài thực hành
Bài tập thực hành được thực hiện dựa trên các kiến thức đã được học trên lớp áp dụng cho mục đích phát triển và thiết kế vòng điều chỉnh cho hệ thống điều khiển động cơ điện một chiều kích thích độc lập (viết tắt: ĐCMC) Theo [2], đối tượng điều khiển ĐCMC được mô tả bởi các phương trình dưới đây:
Điện áp phần ứng: = + +
Sức điện động cảm ứng : =
Tốc độ quay : = ( − )
Mô men quay : =
Hằng số động cơ : = 2
Hằng số thời gian phần ứng: =
Sơ đồ cấu trúc của ĐCMC được minh họa ở hình vẽ H.1 (tài liệu [2], hình 9.1) Động cơ có các tham số sau đây:
- Điện trở phần ứng: RA = 250mΩ
- Mô men quán tính: J = 0,012kgm2
Trang 22
- Đ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
H 1: Sơ đồ cấu trúc của ĐCMC kích thích độc lập Nội dung của 4 bài thực hành nhằm tạo cho sinh viên khả năng thiết kế hệ thống
điều khiển ĐCMC theo cấu trúc Cascade như hình (tài liệu [2], hình 9.14) sau đây:
H 2: Sơ đồ hệ thống điều khiển ĐCMC theo cấu trúc Cascade
Ngoài ra, sinh viên cần nắm vững phương pháp tìm mô hình gián đoạn trên không
gian trạng thái để sau này có thể thiết kế hệ thống điều khiển ĐCMC trên không
gian trạng thái
III.KẾT QUẢ THỰC NGHIỆM
Bài thực hành số 1: Tìm mô hình gián đoạn của ĐCMC
1 Sử dụng phương pháp đã học (mục 1.3.2b, tài liệu [1]) để xác định hàm
truyền đạt trên miền ảnh z thích hợp để thiết kế vòng trong cùng ĐK dòng
Trang 33
phần ứng (tài liệu [2], hình 9.10) Chu kỳ trích mẫu được chọn là TI = 0,1ms
và 0,01ms
Hàm truyền hở của đối tượng ĐCMC là:
= 1 1
+ 1. ..
1
2
Hàm truyền kín mô hình đối tượng là:
=
2.Thực hiện tại cửa sổ Matlab command:
>> Ra=0.25; La=0.04; Ta=La/Ra; Ke=236.8; Km=38.2;
J=0.012; phi=0.04;
>> Wh=(1/Ra)*tf([1],[Ta 1])*Km*phi*tf([1],[2*pi*J 0])
Transfer function:
6.112
-
0.01206 s^2 + 0.0754 s
>> Wk=feedback(Wh,Ke*phi)
Transfer function:
6.112
-
0.01206 s^2 + 0.0754 s + 57.89
Để tìm hàm truyền gián đoạn của đối tượng ta sử dụng lệnh:
>>c2d(sys,T,’method’)
>> Wkz1=c2d(Wk,0.1*10^-3,'ZOH')
Transfer function:
2.533e-006 z + 2.532e-006
-
z^2 - 1.999 z + 0.9994
Sampling time: 0.0001
>> Wkz2=c2d(Wk,0.1*10^-3,'FOH')
Transfer function:
Trang 44
8.443e-007 z^2 + 3.377e-006 z + 8.44e-007
-
z^2 - 1.999 z + 0.9994
Sampling time: 0.0001
>> Wkz3=c2d(Wk,0.1*10^-3,'TUSTIN')
Transfer function:
1.266e-006 z^2 + 2.532e-006 z + 1.266e-006
-
z^2 - 1.999 z + 0.9994
Sampling time: 0.0001
>> Wkz4=c2d(Wk,0.01*10^-3,'ZOH')
Transfer function:
2.533e-008 z + 2.533e-008
-
z^2 - 2 z + 0.9999
Sampling time: 1e-005
>> Wkz5=c2d(Wk,0.01*10^-3,'FOH')
Transfer function:
8.444e-009 z^2 + 3.378e-008 z + 8.444e-009
-
z^2 - 2 z + 0.9999
Sampling time: 1e-005
>> Wkz6=c2d(Wk,0.01*10^-3,'TUSTIN')
Transfer function:
1.267e-008 z^2 + 2.533e-008 z + 1.267e-008
-
z^2 - 2 z + 0.9999
Sampling time: 1e-005 3.Mô phỏng simulink
Trang 55
Vì độ chính xác của máy tính là cao nên nếu để quan sát trên khoảng thời gian rộng sẽ không thể thấy được sự khác biệt giữa các phương pháp.Ta phóng to hình trên:
4 Xây dựng mô hình trạng thái của ĐCMC trên miền thời gian liên tục Sử dụng phương pháp đã học (mục 1.3.2c, tài liệu [1]) để gián đoạn hóa mô hình với giả
thiết chu kỳ trích mẫu T=0,01s và T=0,1s
Trang 66
>> title('khao sat mien z')
[num,den]=tfdata(Wk,'v')
[A,B,C,D]=tf2ss(num,den)
T3=0.01;T4=0.1;
[A1,B1]=c2d(A,B,T3)
[A12,B2]=c2d(A,B,T4)
[A2,B2]=c2d(A,B,T4)
H1=ss(A1,B1,C,D,T3)
H2=ss(A2,B2,C,D,T4)
step(H1)
step(H2)
step(A,B,C,D)
title('khao sat mien z bang mo hinh trang thai')
num =
0 0 6.1120
den =
0.0121 0.0754 57.8929
A =
1.0e+003 *
-0.0063 -4.7989
0.0010 0
B =
1
0
C = 0 506.6432
D =0
A1 =
0.7183 -42.8881
0.0089 0.7742
B1 =
0.0089
0.0000
A2 = 0.5684 -30.1835 0.0063 0.6077 B2 =
0.0063
Trang 77
a =
x1 x2
x1 0.7183 -42.89
x2 0.008937 0.7742
b =
u1
x1 0.008937
x2 4.705e-005
c =
x1 x2
y1 0 506.6
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model
0.0001
a = x1 x2 x1 0.5684 -30.18 x2 0.00629 0.6077
b = u1 x1 0.00629 x2 8.175e-005
c = x1 x2 y1 0 506.6
d = u1 y1 0
Sampling time: 0.1 Discrete-time model
Trang 88
Bài thực hành số 2:Tổng hợp vòng điều khiển vòng phần ứng
Ta coi dòng điện là đối tượng điều khiển thì nó có hàm truyền đạt là:
= 1 1
+ 1.
1 + 1
Thiết kế bộ ĐC dòng theo phương pháp cân bằng mô hình sao cho tốc độ đáp
ứng của giá trị thực là 3 chu kỳ
Bộ điều khiển được tính:
( ).
1 −
Với = 0+ + +
Sao cho tổng + + = 1.Chọn [ ] = [0.1 0.2 0.7]
Ta thực hiện với Matlab như sau:
Trang 99
>> Ra=250e-3;La=4e-3;phi=0.04;J=0.012;ke=236.8;km=38.2;
Tt=100e-6
K=ke*phi
Ta=La/Ra
T=0.01e-3
s=tf('s');
Gi=1/(1+s*Tt)/Ra/(1+s*Ta);
Gzi5=c2d(Gi,T);
[num,den]=tfdata(Gzi5,'v');
Gzi5=filt(num,den,T);
Gw3=filt([0 0.1 0.2 0.7],1,T);
Gr=1/Gzi5*Gw3/(1-Gw3);
Gk=feedback(Gr*Gzi5,1);
step(Gk);
>> Gzi5=c2d(Gi,T)
Transfer function:
0.0001209 z + 0.0001169
-
z^2 - 1.904 z + 0.9043
Sampling time: 1e-005
>> Gw3=filt([0 0.1 0.2 0.7],1,T)
Transfer function:
0.1 z^-1 + 0.2 z^-2 + 0.7 z^-3
Sampling time: 1e-005
>> Gr=1/Gzi5*Gw3/(1-Gw3)
Transfer function:
0.1 + 0.009579 z^-1 + 0.4096 z^-2 - 1.152 z^-3 + 0.633 z^-4
-
0.0001209 + 0.0001048 z^-1 - 3.587e-005 z^-2 - 0.000108 z^-3
Trang 1010
- 8.185e-005 z^-4
Sampling time: 1e-005
>> Gk=feedback(Gr*Gzi5,1)
Transfer function:
1.209e-005 z^-1 + 1.285e-005 z^-2 + 5.064e-005 z^-3 - 9.141e-005 z^
-4 - 5.817e-005 z^-5 + 7.401e-005 z^-6
-
0.0001209 - 0.0001133 z^-1 - 0.0001133 z^-2 + 0.0001057 z^-3
+ 2.711e-020 z^-4 - 2.711e-020 z^-5 + 1.355e-020 z^-6
Nhận xét:qua hình vẽ ta thấy, tốc độ đáp ứng của mô hình đúng sau 3 chu kì T
Bài thực tập số 3: Tổng hợp vòng điều chỉnh tốc độ quay
Trang 1111
Đối tượng tốc độ có hàm truyền là:
= ( ) . 1
2
Ta xấp xỉ hàm ( ) ≈ ≈
.
>> Gk=tf(1,[2*Tt 1]);
>> Gn=Gk*(km*phi)*tf(1,[(1/(2*pi*J)) 0]);
Transfer function:
1.528
-
0.002653 s^2 + 13.26 s
>> Gnz=c2d(Gns,0.00001,'zoh') %T trich mau = 0.01ms, Phuong phap zoh
Transfer function:
2.833e-008 z + 2.786e-008
-
z^2 - 1.951 z + 0.9512
Sampling time: 1e-005
Trang 1212 Nguyễn Thế Đức-20090812
>> a0=1; a1=-1.951; a2=0.9512;
>> b0=0; b1=2.83e-8; b2=2.78e-8;
>> Gnz=filt([b0 b1 b2],[a0 a1 a2],0.00001)
Transfer function:
2.83e-008 z^-1 + 2.78e-008 z^-2
-
1 - 1.951 z^-1 + 0.9512 z^-2
Sampling time: 1e-005
Nhận xét: mô hình của đối tượng có thành phần tích phân nên có thể thêm khâu khếch đại thì thời gian xác lập của hệ cũng được cải thiện đáng kể Ở đây ta chon K=50
>> Gn1=feedback(Gn,1);
>> step(Gn1);
>> hold on;
>>
Gn2=feedbac k(50*Gn,1);
>> step(Gn2);
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Trang 1313
3.3 Thiết kế bộ điều chỉnh PI cho tốc độ động cơ
Bộ điều chỉnh PI có dạng:
1 + Chọn p1=-1; tìm r0, r1 sao cho r0 ≈ | 1|
Tiêu chuẩn tích phân bình phương
Đối tượng tốc độ gián đoạn theo phương pháp ZOH:
>> Gnz=c2d(Gns,0.001,'zoh')
Transfer function:
9.232e-005 z + 2.211e-005
-
z^2 - 1.007 z + 0.006738
sao cho = ∑ nhỏ nhất
Có
ek=wk+wk-1(a1-1)+wk-2(a2-a1)–wk-3a2–ek-1(a1-1+r0b1)–ek-2(a2-a1+r0b2 +r1b1)–ek-3(r1b2 –
a2)
e0 = w0 = 1
e1 = w1 + w0(a1-1) – e0(a1-1+ r0b1) = 1- r0b1 = 1 (3.3)
e2 = w2 + w1(a1-1) + w0(a2-a1) – e1(a1-1+ r0b1) – e0 (a2-a1 + r0b2 + r1b1) = a1 –
e1(a1- e1) – r0b2 - r1b1 = 1 – 2.833e-8 r1 (3.4)
e3 =w3 + w2(a1-1) + w1(a2-a1) – w0a2 – e2(a1-1+ r0b1) – e1(a2-a1 + r0b2 + r1b1) – e0(r1b2 –a2) = –e2(a1- e1) – e1(a2-a1+r0b2 +r1b1) – r1b2 +a2) = 1 – 2.7412e-8 r1
(3.5)
Trang 1414
r1 ≤ -r0(1-r0b1) = -49
Chọn r0=50 Thay vào các biểu thức (3.2), (3.3), (3.4), (3.5) và kết hợp với (3.1) ta
có
( … r1
2
+ … r1 + 4)min khi r1 = -8.8553
Mô phỏng
Phương pháp gán điểm cực
(z - z1)(z - z2)(z -z3) = A(z)P(z) + R(z)B(z)
Trang 1515
Vế phải: A(z) = z2 + a1z + a2 B(z) = b1*z + b2
R(z) = r0*z + r1 P(z) = z + p1
A(z)P(z) + R(z)B(z) = z3 + z2(a1 + p1 + r0b1)+ z(a2 + p1a1 + r1b1 + r0b2) + p1a2 + r1b2
Vế trái: (z-z1)(z-z2)(z-z3) = z3 - z2(z1+z2+z3)+ z(z1z2+z2z3+z3z1)+z1z2z3
Chọn z1= 0.6 + 0.4j ; z2= 0.6 – 0.4j ; z3= 0.3185 ; r 0 = 50
Từ phương trình (3.7) ta có
r1 = ((z 1 z 2 + z 2 z 3 + z 3 z 1 ) - (a 2 - a 1 + r 0 b 2 ))/b 1 = -49.1166
Bài thực hành số 4:Tổng hợp bộ điều chỉnh tốc đô quay trên không gian trạng thái
>> [A,B,C,D]=tf2ss(6.112,[0.00120 6 0.0754 57.89])
A =
-00063 -48002
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
thoi gian xac lap: 0.2s
Trang 1616
00001 0
B =
1
0
C = 0 5068
D = 0
>> [P,H,C,D]=c2dm(A,B,C,D,0.01,'zoh') %chon Ttm=0.01s
P =
-0.4989 -133.8566
0.0028 -0.3245
H =
0.0028
0.0000
C = 0 5068
D = 0
>> p1=[0.2 0.3];
>>K1=acker(P,H,p1)
K1 = -0112 -36604
>>G1=ss(P-H*K1,H,C,D,0.01)
a =
x1 x2
x1 -0.1855 -31.78
Trang 1717
x2 0.005889 0.6855
b =
u1
x1 0.002789
x2 2.759e-005
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model
>>step(G1);
>>p2=[0 0];
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Step Response
Time (sec)
Trang 1818
>>K2=acker(P,H,p2)
K2 = -00022 -27649
>>G2=ss(P-H*K2,H,C,D,0.01)
a =
x1 x2
x1 -0.4384 -56.75
x2 0.003387 0.4384
b =
u1
x1 0.002789
x2 2.759e-005
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model
>>step(G2)
Trang 1919
0
0.05
0.1
0.15
0.2
0.25
Step Response
Time (sec)