Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 21 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
TRƯỜNG ĐẠI HỌC THỦY LỢIKHOA ĐIỆN – ĐIỆN TỬ
<i><b> </b></i>
<b>Giảng viên hướng dẫn: Thầy Phạm Đức Đại Sinh viên: Nguyễn Đức Thắng</b>
<b>MSV: 2051215310Lớp : 62TĐH-DK1</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">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;
[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:
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">>> Kết quả mô phỏng: W1(k) trùng W2(k)
<b>B: Xây dựng bộ điều khiển phản hồi trạng thái.</b>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">Bướ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);
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">-Mô phỏng Simulink:
-Kết quả:
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">B: 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<small>, ε</small> = 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 =
<small>−</small>(<small>z+ z</small>)<small>z + zz=0</small>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><small>z−1.8 +0.82=0z</small>
=> <small>k1=0.02; k2=0.19</small>
- 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 làm:
Từ điều kiện đề bài: <small>ξ=0,7 ;ω</small><sub>n</sub><small>=10 rad s/</small>
Tìm được nghiệm cực từ cơng thức:s1= <small>−ξ ωn+</small>
s2= <small>−ξ ωn−</small>
<small>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)</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">- Kết quả: <small>>> bai4</small>
<small>K =</small>
<small> 70.4511 11.8307</small>
<b>Bài làm:A: Bộ bù liên tục</b>
<b>Bước 1: Tìm thơng số Kp,Ki,Kd:</b>
- Câu lệnh matlab:<small>a=1; b=[1 1000 0 0];Gs=tf(a,b);pidTuner(Gs)</small>- Kết quả:
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Kp=1.897e+07; Ki=1.11e+08; Kd=8.1e+05
<b>Bước 2: Tìm Dz qua Kp,Ki,Kd;</b>
- Câu lệnh matlab:<small>T=0.01;</small>
<small>a=1; b=[1 1000 0 0];Gs=tf(a,b);</small>
<small>a1=[8.1e+05 1.897e+07 1.11e+08]; b1=[1 0];Ds=tf(a1,b1);</small>
<small>Dz=c2d(Ds,T,'Tustin')</small>- Kết quả:
<small>>> Dz =</small>
<small> 1.815e08 z^2 - 3.229e08 z + 1.436e08 --- z^2 - 1</small>
<b>B3: Mô phỏng trên Simulink:</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Bài làma)<small>G (s )=</small><sup>K</sup>
<small>s</small> <sup>=</sup><small>K</small>
<small>Ta có z:</small>
<small>(z−1)2</small> G(z)=(1 -<small>z−1</small>). <small>z</small>
<small>s</small>
b)<small>G (s )=</small> <sup>3</sup><small>s (s+3)</small><sup>=</sup><sup>¿</sup>
<small>G (s)s</small> <sup>=</sup>
<small>1s+3Tacó z:</small>
<small>s</small>
<small>z3( z−1)</small><sup>+</sup>
<small>zz−e−3 T</small>
<small>13G (z )=</small><sup>z −1</sup>
Bà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 làm.
<small>Gs=</small><sup>10(s +1)</sup><small>s2</small>
<small>(s+10)</small> = <sub>s (s+10)</sub><sup>10</sup> <small>+</small> <sup>10</sup><small>s2(s+10)</small>
- Tính tay:
B1: Chuyển qua miền thời gian
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><small>T</small>{<small>G</small><sub>s</sub>}<small>=1−e−10 kT</small>
<small>+</small><sup>1</sup><sub>10</sub><small>(10 kT −1∗e−10 kT</small> B2: Chuyển qua miền Z
<small>Z</small>{<small>Gs</small>}<small>=</small> <sup>z (1−e</sup>
<small>−10 T)(z−1)(z −e−10T</small>
<small>z</small>
<small>10∗ (z−1 )2</small>(<small>z−e−10T</small>)
numC=[0 0 10 10];denC=[1 10 0 0];sysC=tf(numC,denC);sysD=c2d(sysC,T);
sysD- Kết quả:sysD =
<small> 0.0004854 z^2 - 9.514e-06 z - 0.0004663 --- z^3 - 2.905 z^2 + 2.81 z - 0.9048</small>
Bài làm.- Câu lệnh matlab:
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">numGs=[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
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>B1: Tìm hệ số Kp,Ki,Kd của bộ PID:</b>
- Câu lệnh matlab:a=1000; b=[1 0 0];Gs=tf(a,b);pidTuner(Gs)- Kết quả:
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">>> Sau khi điều chỉnh Bandwidth=100Hz => 2.pi.f=628(rad/s) và Phase margin=50<small>o</small>theo yêu cầu đề bài ta thu được các hệ số Kp=87.7844, Ki=3106.6805,Kd=0.62012.
<b>B2: Từ các hệ số Kp, Ki, Kd => Dz:</b>
- 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
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>B3: Mơ phỏng trên Simulink:</b>
Với thời gian trích mẫu là: T = 1/f = 1/(6e+03).- Kết quả:
<b>Bài làm.</b>
<b>B1: Tìm hệ số Kp,Ki,Kd của bộ PID:</b>
- Câu lệnh matlab:a=1000; b=[1 0 0];Gs=tf(a,b);pidTuner(Gs)
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">>> Sau khi điều chỉnh Bandwidth=100Hz => 2.pi.f=628(rad/s) và Phase margin=50<small>o</small>theo yêu cầu đề bài ta thu được các hệ số Kp=87.7844, Ki=3106.6805,Kd=0.62012<small>.</small>
<b>B2: Từ các hệ số Kp, Kd => Dz:</b>
- 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
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><b>B3: Mô phỏng trên Simulink:</b>
Với thời gian trích mẫu là: T = 1/f = 1/(6e+03).
- Kết quả:
</div>