Điều khiển số, báo cáo, thí nghiệm, báo cáo điều khiển số, TN điều khiển số
Trang 1Yêu cầu:
Hàm truyền Gzi3
Phương pháp xấp xỉ FOH, T=0.1ms
Bài thực hành số 1:
Tìm mô hình gián đoạn của động cơ một chiều
Tham số của động cơ:
Tham số động cơ:
%Khai bao tham so
Ra = 0.25;
La = 0.004;
Ta= La/Ra;
phi = 0.04;
J = 0.012;
Km = 38.2;
Ke = 236.8;
- Xác định các hàm truyền trên miền ảnh z ứng với T1=0.1ms và T2=0.01ms
- Mô phỏng so sánh kết quả
- Xây dựng mô hình trạng thái của ĐCMC trên miền liên tục và mô phỏng đáp ứng bước nhảy của mô hình thu được
Chương trình thực hiện:
Hàm truyền hệ hở:
>> Gh=1/Ra*tf(1,[Ta 1])*Km*phi*tf(1,[2*pi*J 0])
Transfer function:
6.112 -0.001206 s^2 + 0.0754 s
Hàm truyền hệ kín:
>> Gk=feedback(Gh,Ke*phi) Transfer function:
6.112 -0.001206 s^2 + 0.0754 s + 57.89
Trang 2Kết quả với T1 = 0.1ms
- Hàm truyền gián đoạn theo ZOH:
>> Gkz1=c2d(Gk,0.1e-003,'ZOH')
Transfer function:
2.528e-005 z + 2.523e-005 z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
- Hàm truyền gián đoạn theo FOH:
>> Gkz2=c2d(Gk,0.1e-003,'FOH')
Transfer function:
8.431e-006 z^2 + 3.367e-005 z + 8.404e-006 z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
- Hàm truyền gián đoạn theo TUSTIN:
>> Gkz2=c2d(Gk,0.1e-003,'TUSTIN')
Transfer function:
1.263e-005 z^2 + 2.525e-005 z + 1.263e-005 z^2 - 1.993 z + 0.9938
Sampling time: 0.0001 Kết quả với T2= 0.01ms
- Hàm truyền gián đoạn theo ZOH:
>> Gkz4=c2d(Gk,0.01e-003,'ZOH')
Transfer function:
2.533e-007 z + 2.532e-007 z^2 - 1.999 z + 0.9994 Sampling time: 1e-005
- Hàm truyền gián đoạn theo FOH:
>> Gkz5=c2d(Gk,0.01e-003,'FOH')
Transfer function:
8.443e-008 z^2 + 3.377e-007 z + 8.44e-008 z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
- Hàm truyền gián đoạn theo TUSTIN
>> Gkz6=c2d(Gk,0.01e-003,'TUSTIN') Transfer function:
Trang 31.266e-007 z^2 + 2.532e-007 z + 1.266e-007 z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> step(Gk); hold on;
>> step(Gkz1); hold on;
>> step(Gkz2); hold on;
>> step(Gkz3); hold on;
>> step(Gkz4); hold on;
>> step(Gkz5); hold on;
>> step(Gkz6); hold on;
Sau khi thực hiện các lệnh trên ta có đồ thị biểu diễn các hàm gián đoạn trên miền z:
Trang 4- Nhận xét:
Qua đồ thị với các hàm truyền đạt trong cùng một chu kỳ ( T=0.1ms với Gkz1, Gkz2, Gkz3) thì hàm truyền gián đoạn theo phương pháp FOH và TUSTIN bám sát với nhau và có biên độ cao hơn so với phương pháp ZOH trong cùng một khoảng thời gian
Xây dựng mô hình trạng thái ĐCMC trên miền thời gian liên tục
Mô hình trạng thái trên miền thời gian liên tục:
>> [A,B,C,D]=tf2ss([0 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
D =
0
Mô hình gián đoạn với chu kỳ trích mẫu T=0.1s
>> [A1,B1]=c2d(A,B,0.1)
A1 =
-0.0438 -2.9271
0.0001 -0.0399
B1 =
1.0e-004 *
0.6098
Trang 50.2166
>> H1=ss(A1,B1,C,D,0.1)
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: 0.1
Discrete-time model
>> step(H1); hold on
Đáp ứng quá độ:
Mô hình gián đoạn với chu kỳ trích mẫu T=0.01s
>> [A2,B2]=c2d(A,B,0.01)
A2 =
-0.4989 -133.8566
0.0028 -0.3245
B2 =
0.0028
0.0000
>> H2=ss(A2,B2,C,D,0.01)
Trang 6a =
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
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model
>> step(H2); hold on
Kết quả: Đáp ứng quá độ
Trang 7Bài thực hành số 2:
Tổng hợp vòng điều chỉnh dòng phần ứng (điều khiển mômen quay).
Với đối tượng là dòng điện, ta coi gần đúng thiết bị chỉnh lưu là khâu tỉ lệ quán tính bậc nhất hằng số thời gian Tt=100µs ta có hàm truyền của mạch phần ứng là:
Sử dụng mô hình với tần số thời gian Tt=0.1ms và phương pháp FOH
Chương trình Matlab:
>> Tt=100e-006;
>> Gi=tf(1,[Tt 1])*1/Ra*tf(1,[Ta 1])
Transfer function:
4
-1.6e-006 s^2 + 0.0161 s + 1
>> Gzi3=c2d(Gi,0.1e-003,'FOH')
Transfer function:
0.003298 z^2 + 0.01046 z + 0.001998
z^2 - 1.362 z + 0.3656
Sampling time: 0.0001
>> Gzi3=filt([0.003298 0.01046 0.001998],[1 -1.362 0.3656],0.1e-003)
Transfer function:
0.003298 + 0.01046 z^-1 + 0.001998 z^-2
1 - 1.362 z^-1 + 0.3656 z^-2
Sampling time: 0.0001
1 Thiết kế bộ điều chỉnh dòng theo phương pháp Dead-Beat
với L1(z-1) là đa thức mũ âm bậc nhất L1(z-1) = l0 + l1z-1
Áp dụng công thức của bộ điều khiển Dead-Beat ta có:
0 0
0 1
0
j
a l
Trang 81 0
0 1
0
j
a l
Với L2(z-1) là đa thức mũ âm bậc hai: L2(z-1) = l0 + l1z-1 + l2z-2
2 0
1
m j
a l
0 1
m j
a a l
2
1 0 2
1
m j
l
Từ đó xác định được bộ điều khiển :
1
( ) ( )
( )
1 ( ) ( )
R
G z
2 Tìm L2(z-1)
>> b0=0.003298;b1=0.01046;b2=0.001998;
>> a0=1;a1=-1.362;a2=0.3656;
>> A=filt([a0 a1 a2],1,0.1e-3)
Transfer function:
1 - 1.362 z^-1 + 0.3656 z^-2
Sampling time: 0.0001
>> B=filt([b0 b1 b2],1,0.1e-3)
Transfer function:
0.003298 + 0.01046 z^-1 + 0.001998 z^-2
Sampling time: 0.0001
>> Ms=(a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2);
>> l0=a0^2/Ms
l0 =
16.4790
>> l1=-a0*a1/Ms
l1 =
22.4444
>> l2=(a1^2-a0*a2)/Ms
l2 =
Trang 924.5445
>> L=filt([l0 l1 l2],1,0.1e-3)
Transfer function:
16.48 + 22.44 z^-1 + 24.54 z^-2
Sampling time: 0.0001
>> Gr=L*A/(1-L*B)
Transfer function:
16.48 + 3.553e-015 z^-1 - 8.882e-016 z^-2 - 25.22 z^-3 + 8.973 z^-4 0.9457 - 0.2464 z^-1 - 0.3486 z^-2 - 0.3016 z^-3 - 0.04904 z^-4
Sampling time: 0.0001
>> Gkz=feedback(Gzi3*Gr,1)
Transfer function:
0.05435 + 0.1724 z^-1 + 0.03293 z^-2 - 0.08319 z^-3 - 0.2342 z^-4 + 0.04347 z^-5 + 0.01793 z^-6
-1 - -1.362 z^ -1 + 0.3656 z^-2 - 5.55 -1e-0 -17 z^-3 +2.776e-0 -17 z^-4
- 1.388e-017 z^-5 + 3.469e-018 z^-6
Sampling time: 0.0001
>> step(Gkz)
Nhận xét:
Ta thấy với bộ điều khiển Dead-Bead đa thức bậc 2 hệ thống đi vào ổn định sau 4 chu kỳ
Trang 10trích mẫu Đầu ra không có hiện tượng dao động chứng tỏ bộ điều khiển có chất lượng tốt
Bài thực hành số 3:
Tổng hợp vòng điều khiển tốc độ quay.
Theo phương pháp Dead-Beat ta có hàm truyền hệ kín của phần điều chỉnh dòng là
Gkin(z-1)=L(z-1)*B(z-1)
Ta có hàm truyền đạt của đối tượng điều khiển tốc độ:
( )* z( )
G G z G z
Trong đó Gz(z-1) được tính theo FOH chu kỳ T1=0.1ms
Để đơn giản trong tính toán ta chọn L(z-1) là đa thức bậc nhất
>> ms1=(a0-a1)*(b0+b1+b2);
>> l01=a0/ms1;
>> l11=-a1/ms1;
>> L1=filt([l01 l11],1,0.1e-3)
>> Gk2=L1*B
Transfer function:
0.08862 + 0.4018 z^-1 + 0.4365 z^-2 + 0.07312 z^-3
Sampling time: 0.0001
>> Gz=c2d(Km*phi*tf(1,[2*pi*J 1]),0.1e-3,'FOH')
Transfer function:
0.001013 z + 0.001012
z - 0.9987
>> Gnz=Gk2*Gz
Transfer function:
8.976e-005 + 0.0004966 z^-1 + 0.0008488 z^-2 + 0.000516 z^-3 +
7.403e-005 z^-4
-
1 - 0.9987 z^-1
Sampling time: 0.0001
1 Thiết kế bộ điều khiển PI theo tiêu chuẩn tích phân bình phương
2 0
N
k
-Bộ điều khiển:
1
0 1
1 1
( ) 1
Rn
r r z
p z
Ta chọn p1=-1
- Đối tượng điều khiển:
1
0 1
( )
n
G z
Vớib0= 8.97e-5, b1=0.4966e-3: b2=0.8488e-3; b3=0.516e-3; b4=7.403e-5;
a0=1; a1= -0.9987
- Ta có sai lệch điều chỉnh:
1 ( ) ( )*
1 Rn* n
- Viết sai lệch ĐC dưới dạng sai phân:
Trang 111 1 2 1 2 2 3 1 1 0 1
2 2 1 0 2 1 1 3 1 2 2
e a w a a w a w e a r b
e a a r b rb e rb a
Giả sử biên độ umax =30 ta có r0 = 30 Với các giá trị cho trước p1, r0, và wk = 1k, ta có thể thay ek vào IQ và tính thử với các giá trị của N sao cho
2 0
N
k
- đạt giá trị nhỏ nhất
Điều kiện:
1 0
1 0 1 0 1
1 0
1 29.956
r
Ta chọn r1 = -30
Vậy bộ điều khiển PI theo tiêu chuẩn tích phân bình phương
1 1
30 30z ( )
1
R
G z
z
2 Thiết kế bộ điều khiển PI cho tốc độ động cơ theo phương pháp gán điểm cực Hàm truyền đối tượng có dạng:
1
( )
n
G z
Bộ điều khiển có dạng:
1
1
( )
r
G z
Đa thức đặc tính của hàm truyền chủ đạo:
( ) ( ) ( ) ( ) ( )
N z P z A z R z B z
(z 1)(z4a z1 3) ( r z r b0 1)( 0 b z1 3b2z2b z b3 4)
Giả sử điểm cực của đối tượng chủ đạo là z z z z z1, , , ,2 3 4 5
5
1
( ) ( i)
i
Cân bằng hệ số hai phương trình của N(z)- chọn r0 = 25
Các |zi | < 1, ta tìm được r1 = -24.7
Vậy bộ điều khiển:
1 1
25 24.5z 1
R
G z
z
3 Mô phỏng khảo sát với bộ điều khiển thu được
a Phương pháp theo tiêu chuẩn tích phân bình phương:
1 1
30 30z ( )
1
R
G z
z
Trang 12Đáp ứng đầu ra Bình phương sai lệch Hình3.1: đặc tính và sai lệch theo tiêu chuẩn tích phân bình phương
b Phương pháp theo tiêu chuẩn gán điểm cực
1 1
25 24.5z 1
R
G z
z
Trang 13Hình3.1: đặc tính và sai lệch theo tiêu chuẩn gán điểm cực Nhận xét: ta thấy độ quá điều chỉnh trong phạm vi cho phép (khoảng 18%), thời gian hệ thống đi vào xác lập 0.016s
Để chất lượng đạt hiệu quả tốt hơn, ta nên chọn điểm cực gần với gốc tọa độ
c Mô phỏng đặc tính khi có tải thay đổi.
Giá trị tải dưới dạng bước nhảy với bộ PI theo tiêu chuẩn tích phân bình phương
Đáp ứng đầu ra Giá trị sai lệch
Trang 14Đặc tính và tổng bình phương sai lệch với bộ PI theo tích phân bình phương
d Giá trị tải thay đổi dưới dạng bước nhảy với bộ điều khiển gán điểm cực
\
Hình4: đặc tính và sai lệch nhiễu tải với bộ PI theo phương pháp gán điểm cực
e Thay đổi giá trị đặt dưới dạng bước nhảy với bộ điều khiển gán điểm cực
thay giá trị trong khối steptime =0.07
Trang 15Hình 5: Đáp ứng và sai lệnh khi thay đổi giá trị đặt của bộ PI với pp tích phân bình phương
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
Từ kết quả của bài 1 ta thu được mô hình trạng thái của đối tượng là ứng với chu kỳ trích mẫu là 0.1s và ứng với chu kỳ trích mẫu là 0.01s
Chọn 2 điểm cực của hệ thống là p1=0,4 ; p2= 0.6 ta có chương trình Matlab
>> [A,B,C,D]=tf2ss([0 6.112],[0.001206 0.0754 57.89]);
>> [phi,H1]=c2d(A,B,0.1);
>> [phi1,H1]=c2d(A,B,0.1);
>> [phi2,H1]=c2d(A,B,0.01);
>> p=[0.4 0.6];
>> k1=acker(phi1,H1,p);
>> k2=acker(phi2,H2,p);
??? Undefined function or variable 'H2'
>> [phi2,H2]=c2d(A,B,0.01);
>> k2=acker(phi2,H2,p);
>> Gk1=ss(phi1-H1*k1,H1,C,D,0.1)
a =
x1 x2
x1 7.46 -651.7
x2 0.07431 -6.46
b =
u1
x1 0.002789
x2 2.759e-005
c =
x1 x2
y1 0 5068
d =
Trang 16u1
y1 0
Sampling time: 0.1
Discrete-time model
>> Gk2=ss(phi2-H2*k2,H2,C,D,0.1)
a =
x1 x2
x1 0.1348 -13.62
x2 0.009058 0.8652
b =
u1
x1 0.002789
x2 2.759e-005
c =
x1 x2
y1 0 5068
d =
u1
y1 0
Sampling time: 0.1
Discrete-time model
>> p2=[0 0];
>> k3=acker(phi1,H1,p2);
>> k4=acker(phi2,H2,p2);
>> Gk3=ss(phi1-H1*k3,H1,C,D,0.01)
a =
x1 x2
x1 0.01408 -0.3131
x2 0.0006333 -0.01408
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
Trang 17>> Gk4=ss(phi2-H2*k4,H2,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(Gk1); hold on;
>> step(Gk2); hold on;
>> step(Gk3); hold on;
>> step(Gk4); hold on;
Trang 18Nhận xét:
-Tổng hợp bộ điều khiển theo phương pháp hữu hạn thì sau 2 đến 3 chu kỳ trích mẫu thì tốc độ quay đạt giá trị xác lập
-Tổng hợp bộ điều khiển tốc độ quay theo phương pháp phản hồi trạng thái thì sau nhiều chu kỳ trích mẫu đầu ra mới đạt giá trị xác lập