bài tập lớn môn điều khiển số

21 0 0
Tài liệu đã được kiểm tra trùng lặp
bài tập lớn môn điều khiển số

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 1

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ắng

MSV: 2051215310Lớp : 62TĐH-DK1

Trang 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:

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 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);

Trang 6

-Mô phỏng Simulink:

-Kết quả:

Trang 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, ε = 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 8

z−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 10

Kp=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 11

Bài 9:

Bài 10:

Trang 12

Bài 11:

Trang 13

Bà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 14

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 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 15

T{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 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

Trang 17

Bà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 19

B3: 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 21

B3: 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ả:

Ngày đăng: 16/05/2024, 16:23

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan