Đang tải... (xem toàn văn)
TRƯỜNG ĐẠI HỌC THỦY LỢIKHOA ĐIỆN – ĐIỆN TỬBÀI TẬP LỚN MÔN:ĐIỀU KHIỂN SỐ Giảng viên hướng dẫn: Thầy Phạm Đức Đại Sinh viên: Nguyễn Đức ThắngMSV: 2051215310Lớp : 62TĐH-DK1... >> Kết quả mô
Trang 1TRƯỜNG ĐẠI HỌC THỦY LỢIKHOA ĐIỆN – ĐIỆN TỬ
BÀI TẬP LỚN MÔN:ĐIỀU KHIỂN SỐ
Giảng viên hướng dẫn: Thầy Phạm Đức Đại Sinh viên: Nguyễn Đức Thắng
MSV: 2051215310Lớp : 62TĐH-DK1
Trang 3A=[0 0 10 0 ; 0 0 0 10 ; 3.315 3.315 0.5882 0.5882 ; 3.315 3.315 0.5882 0.5882 ];
-B=[0 0 ; 0 0 ; 8.533 0 ; 0 8.533]; C=[0.5 0.5 0 0; -2.113 2.113 0.375 0.375]; D=0;
[Ad,Bd,Cd,Dd]=ssdata(sysY);Ad =
0.9599 0.0401 -0.4861 0.01390.0401 0.9599 -0.0139 0.48610.1566 -0.1566 0.9321 -0.06790.1566 -0.1566 -0.0679 0.9321
Bd =-0.1049 0.0017-0.0017 0.10490.4148 -0.0118-0.0118 0.4148Cd =
0.5000 0.5000 0 0-2.1130 2.1130 0.3750 0.3750
Dd =0 00 0
- Bước 2: Thay vào phương trình:X(k+1) = Ad.X(k) + Bd.UY(k) = Cd * X(K) + Dd*U
- Bước 3: Mô phỏng trên matlap simulink:
Trang 4>> Kết quả mô phỏng: W1(k) trùng W2(k)
B: Xây dựng bộ điều khiển phản hồi trạng thái.
Trang 5Bước 1: Từ nghiệm cực s => pCâu lệnh:
>> p=[0.8461 + 0.1322i; 0.8461 - 0.1322i;0.7155 + 0.3545i; 0.7155 - 0.3545i]Bước 2: Lệnh matlab:
A=[0 0 10 0;0 0 0 10;3.315 3.315 0.5882 0.5882;3.315 3.315 -0.5882 -0.5882];
-B=[0 0;0 0;8.533 0;0 8.533];
C=[0.5 0.5 0 0;-2.113 2.113 0.375 0.375];D=0;
p=[0.8461 + 0.1322i; 0.8461 - 0.1322i;0.7155 + 0.3545i;0.7155 - 0.3545i];
K=place(Ad,Bd,p)-Kết quả:>> K =
-0.5022 -0.2944 0.9240 0.1830 0.3364 -0.1639 -0.3176 0.5772
sysGz=c2d(sysGs,T);
Trang 6-Mô phỏng Simulink:
-Kết quả:
Trang 7B: Tìm phản hồi trạng thái đầy đủ cung cấp mặt phẳng s tương đương tại Wn =2rad/s, ε = 0.5
- Câu lệnh matlab:T=0.5;
a=1; b=[1 0.2 1];Gs=tf(a,b);Gz=c2d(Gs,T);s1=-1+i*sqrt(3);s2=-1-i*sqrt(3);
e1=exp((-1.0000 - 1.7321i)*0.5)e2=exp((-1.0000 + 1.7321i)*0.5)- Kết quả:
>> bai2e1 =
0.3929 - 0.4620ie2 =
−(z+ z)z + zz=0
Trang 8z−1.8 +0.82=0z
{ k2+12 1=0.2−k2+1
=> k1=0.02; k2=0.19
- Câu lệnh matlab:Phi=[1 1;0 1];R=[0.5;1];
z=[0.9+i*0.1;0.9-i*0.1];K=place(Phi,R,z)- Kết quả: K =
0.0200 - 0.1900
Bài 4:
Bài làm:
Từ điều kiện đề bài: ξ=0,7 ;ωn=10 rad s/
Tìm được nghiệm cực từ công thức:s1= −ξ ωn+√(ξ ωn)2
s2= −ξ ωn−√(ξ ωn)2- Câu lệnh matlab:A=[0 1;0 0] ;B=[0;1];C=[1 0];D=0;sysC=ss(A,B,C,D);
T=0.05;sysD=c2d(sysC,T);[Ad,Bd,Cd,Dd]=ssdata(sysD); P=[0.6602+0.2463i;0.6602-0.2463i];K=place(Ad,Bd,P)
Trang 9- Kết quả: >> bai4
K =
70.4511 11.8307
-Bài 8:
Bài làm:A: Bộ bù liên tục
Bước 1: Tìm thông số Kp,Ki,Kd:
- Câu lệnh matlab:a=1; b=[1 1000 0 0];Gs=tf(a,b);pidTuner(Gs)- Kết quả:
Trang 10Kp=1.897e+07; Ki=1.11e+08; Kd=8.1e+05
Bước 2: Tìm Dz qua Kp,Ki,Kd;
- Câu lệnh matlab:T=0.01;
a=1; b=[1 1000 0 0];Gs=tf(a,b);
a1=[8.1e+05 1.897e+07 1.11e+08]; b1=[1 0];Ds=tf(a1,b1);
Dz=c2d(Ds,T,'Tustin')- Kết quả:
>> Dz =
1.815e08 z^2 - 3.229e08 z + 1.436e08 - z^2 - 1
B3: Mô phỏng trên Simulink:
Trang 11Bài 9:
Bài 10:
Trang 12Bài 11:
Trang 13Bài 12:
Bài làma)G (s )=K
s =K
Ta có z:{G(s)s }=K Tz
(z−1)2 G(z)=(1 -z−1) z{G(s )
s } = z−1z [K Tz(z−1)2]=KTz −1
b)G (s )= 3s (s+3)=¿
G (s)s =
1s+3Tacó z:{G(s)
s }= Tzz −1−
z3( z−1)+
zz−e−3 T
13G (z )=z −1
Bài 13:
Trang 14Bài làm
- Câu lệnh matlab:numD=3;denD=[1 4 3];
[F,G,H,J]=tf2ss(numD,denD)- Kết quả:
F = -4 -3 1 0G = 1 0H = 0 3J = 0- Sơ đồ khối :
Bài 14:
Bài làm.
Gs=10(s +1)s2
(s+10) = s (s+10)10 + 10s2(s+10)
- Tính tay:
B1: Chuyển qua miền thời gian
Trang 15T{Gs}=1−e−10 kT
+110(10 kT −1∗e−10 kT B2: Chuyển qua miền Z
Z{Gs}= z (1−e
−10 T)(z−1)(z −e−10T
z [(10 T −1+e−10 T)z +(1−e−10T−10 T e−10T)]
10∗ (z−1 )2(z−e−10T)
numC=[0 0 10 10];denC=[1 10 0 0];sysC=tf(numC,denC);sysD=c2d(sysC,T);
sysD- Kết quả:sysD =
0.0004854 z^2 - 9.514e-06 z - 0.0004663 - z^3 - 2.905 z^2 + 2.81 z - 0.9048
Bài 15:
Bài làm.- Câu lệnh matlab:
Trang 16numGs=[0 10 10];denGs=[1 1 10];Gs=tf(numGs,denGs);T=0.01;
- Kết quả:Gz =
0.09998 z - 0.09899 - z^2 - 1.989 z + 0.99
- Mô phỏng trên Matlap Simulink
Trang 17Bài 16:
B1: Tìm hệ số Kp,Ki,Kd của bộ PID:
- Câu lệnh matlab:a=1000; b=[1 0 0];Gs=tf(a,b);pidTuner(Gs)- Kết quả:
Trang 18>> Sau khi điều chỉnh Bandwidth=100Hz => 2.pi.f=628(rad/s) và Phase margin=50otheo yêu cầu đề bài ta thu được các hệ số Kp=87.7844, Ki=3106.6805,Kd=0.62012.
B2: Từ các hệ số Kp, Ki, Kd => Dz:
- Câu lệnh matlab:T=1/6e+03;a=1000; b=[1 0 0];Gs=tf(a,b);
numDs=[0.62012 87.7844 3106.6805]; denDs=[1 0];Ds=tf(numDs,denDs);
>> bai16Dz =
7529 z^2 - 1.488e04 z + 7354 -
z^2 – 1
Trang 19B3: Mô phỏng trên Simulink:
Với thời gian trích mẫu là: T = 1/f = 1/(6e+03).- Kết quả:
Bài 17:
Bài làm.
B1: Tìm hệ số Kp,Ki,Kd của bộ PID:
- Câu lệnh matlab:a=1000; b=[1 0 0];Gs=tf(a,b);pidTuner(Gs)
Trang 20>> Sau khi điều chỉnh Bandwidth=100Hz => 2.pi.f=628(rad/s) và Phase margin=50otheo yêu cầu đề bài ta thu được các hệ số Kp=87.7844, Ki=3106.6805,Kd=0.62012.
B2: Từ các hệ số Kp, Kd => Dz:
- Câu lệnh matlab:T=1/6000;Kp=253.3Td=0.001898
numG=1000;denG=[ 1 0 0]; sysG=tf(numG,denG);numD=[Kp*Td Kp]; denD=[1]; sysD=tf(numD,denD));
- Kết quả:sysDz =
6022 z - 5516 -
z + 1
sysGz =
1.389e-05 z + 1.389e-05 -
z^2 - 2 z + 1
Trang 21B3: Mô phỏng trên Simulink:
Với thời gian trích mẫu là: T = 1/f = 1/(6e+03).
- Kết quả: