Tải bản đầy đủ (.docx) (23 trang)

Tổng hợp vòng điều chỉnh tốc độ quay

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 (289.31 KB, 23 trang )

Lớp: ĐK &TĐH1

BÀI THỰC HÀNH SỐ 3
TỔNG HỢP VÒNG ĐIỀU CHỈNH TỐC ĐỘ QUAY
1. Xác định hàm truyền đạt trên miền ảnh z của đối tượng của khâu điều chỉnh tốc
độ quay.

-

Đối tượng tốc độ ở bài này được tính bằng :
Gn= Gk(b2)kMΨ

-

Với Gkín(bài 2) được sấp xỉ một khâu tích phân quán tính bậc nhất
Gk(b2)= , Với Tt = 100e-6

-

Sử dụng matlab để tính toán:

>> Ttm1=0.1e-3; phi=0.04; J=0.012; Km=38.2;Ke=236.8; Ta=La/Ra;Tt=100e-6;
>>Gn=tf(1, [2*Tt 1])*Km*phi*tf(1, [2*pi*J 0])



Gn =

- Chuyển sang miền ảnh z với chu kỳ trích mẫu Ttm1, phương pháp giữ mẫu ZOH
>>Gnz=c2d(Gn,Ttm1,'zoh')
 Gnz =


- Chuyển đổi sang Gn(

>> b0=0;b1=0.0004318;b2=0.0003656;
1


>> a0=1;a1=-1.607;a2=0.6065;
>> Bz=filt([b0 b1 b2],1,Ttm1)
 Bz = 0.0004318 z-1 + 0.0003656 z-2

>> Az=filt([a0 a1 a2],1,Ttm1)
 Az = 1 - 1.607 z-1 + 0.6065 z-2

>>Gnz1=Bz/Az


Gnz1 =

>>step(Gnz)

- Nhận xét: Từ đồ thị là một khâu tích phân. Tối thiểu ta cần 1 khâu tỉ lệ
- Ta xẽ kiểm chứng lại nhận xét trên.
>>Kp=1;
>>Gk=feedback(Kp*Gnz,1);
>>step(Gk)

2


2. Tổng hợp (thiết kế) bộ điều chỉnh PI cho tốc độ động cơ theo hai phương pháp:

a) Theo phương pháp gán điểm cực
- Viết lại hàm truyền trên dưới dạng như sau:

b0 z 2 + b1 z + b2
B( z )
Gnz =
=
a0 z 2 + a1 z + a2
A( z )
- Hàm truyền của hệ kín là:

Gk ( z ) =

Grz.Gnz
1 + Grz.Gnz

Ta cho p=-1 ta sẽ có :

Grz =
Bộ điều khiển có dạng như sau:

r0 + r1 .z −1 r0 .z + r1 R ( z )
=
=
1 + p1.z −1
z −1
P( z)

3



Đa thức đặc tính của hàm truyền chủ đạo:
N(z)=P(z).A(z)+R(z)B(z)
(a0=1)

Giả sử điểm cực của đối tượng chủ đạo là thì ta có:

Với
Giải hệ phương trình 3 ẩn r0 ; r1 ; z3
Đặt ẩn
>> z2=0.8;z3=0.8;p=-1;
>> k1=z2+z3;k2=z2*z3;
>> A=[b1 0 1;b2 b1 -k1;0 -b2 -k2]
A=

0.0004

0 1.0000

0.0004

0.0004 -1.6000

0 -0.0004 -0.6400
>> B=[-k1-a1+1;k2+a1-a2;-a2]
B=

1.0070
-1.5735
-0.6065

>> X=inv(A)*B
4


X=
59.6998
-58.7578
0.9812
>> r0=59.6998;r1=-58.7578;
>>Rz=filt([r0 r1],1,Ttm1)
 Rz = 59.7 - 58.76 z-1

>>Pz=filt([1 -1],1,Ttm1)
 Pz =1 - z-1

>>Grn=Rz/Pz


Grn =

5


Đồ thị đáp ứng với bộ điều khiển thiết kế bằng phương pháp gán điểm cực

Nhận xét
Đồ thị đáp ứng với bộ điều khiển thiết kế bằng phương pháp gán điểm cực
-

Độ quá điều chỉnh <25%

Thời gian xác lập nhỏ Txl =0.02s

Sai lệch e:

6


-

7


• Khảo sát hệ thống với tác động của nhiễu đầu vào

Đồ thị đáp ứng với bộ điều khiển thiết kế bằng phương pháp gán điểm cực với tác động
của nhiễu đầu vào
8


Nhận xét: Mặc dù có tác động của nhiễu đầu vào nhưng bộ điều khiển vẫn đưa hệ thống
về giá trị xác lập mới.
• Khảo
sát
hệ
Mô phỏng simulink

thống

với


tác

động

của

nhiễu

đầu

ra

Đáp ứng đầu ra

Đồ thị đáp ứng với bộ điều khiển thiết kế bằng phương pháp gán điểm cực với tác động
của nhiễu đầu ra
9


Nhận xét: Mặc dù có tác động của nhiễu đầu ra nhưng bộ điều khiển vẫn đưa hệ thống
về giá trị cân bằng.
b) Theo tiêu chuẩn tích phân bình phương.
-Bộ điều khiển :
Grn==
- Đối tượng điều khiển :
Gnz==
>>b0=0;b1= 0.0004318; b2=0.0003656;
>>a0=1;a1= - 1.607;a2= 0.6065;
-Ta có sai lệch điều chỉnh :
E(z)=W(z).

-Viết sai lệch điều chỉnh dưới dạng sai phân :
ek = (wk + wk-1(a1-1) +wk-2(a2-a1) – wk-3(a2) – ek-1(r0.b1+r1.b0+a1-1) –
ek-2(r0.b2+r1.b1+a2-a1) – ek-3(r1.b2-a2))/(1+r0.b0)
- Với wk = với mọi k
e0= (1/(1+r0*b0))
e1= (1+(a1-1)-e0*(r0*b1+r1*b0+a1-1))/(1+r0*b0)
e2=(1+(a1-1)+(a2-a1)-e1*(r0*b1+r1*b0+a1-1)-e0*(r0*b2+r1*b1+a2a1))/(1+r0*b0)
• e3=(1+(a1-1)+(a2-a1)-a2-e2*(r0*b1+r1*b0+a1-1)-e1*(r0*b2+r1*b1+a2
-a1)-e0*(r1*b2-a2))/(1+r0*b0)




- Hàm Jz == +++
- Ta sẽ khai báo hàm J= trong m file:
function J= bai3(x)
b0 = 0;b1 = 0.0004318;b2=0.0003656;
a0 = 1;a1 = - 1.607;a2 = 0.6065;
e0 = 1/(1+x(1)*b0);
e1 = (1+(a1-1)-e0*(x(1)*b1+x(2)*b0+a1-1))/(1+x(1)*b0);
10


e2=(1+(a1-1)+(a2-a1)-e1*(x(1)*b1+x(2)*b0+a1-1)-e0*(x(1)*b2+x(2)*b1+a2- a1))/
(1+x(1)*b0);
e3 = (1+(a1-1)+(a2-a1)-a2-e2*(x(1)*b1+x(2)*b0+a1-1)-e1*(x(1)*b2+x(2)*b1+a2 -a1)e0*(x(2)*b2-a2))/(1+x(1)*b0) ;
J= e0^2+e1^1+e2^2+e3^2;s
Lệnh tìm tối ưu cực tiểu ở command windown:
>>options = optimset('fminunc');
>>options = optimset(options,'Display','iter','LargeScale','off');

>>r = 60 60];
>>[r,fval]=fminunc('bai3',r,options)
Ta thu được cặp điểm cực tiểu là
 [r0 r1] = [ 1328 -2185]
 fval =15.129

Bộ điều khiển Grz:
>> Grz= filt([1.3275e3 -2.1849e3],[1 -1],Ttm1)
>> Gk=feedback(Gnz*Grz,1)


Gk =

Kiểm Tra điểm cực:
>>Pole(Gk)
Ans=
1.4886
0.2724 + 0.9327i
0.2724 - 0.9327i
>>step(Gk)

11


Nhận xét: Hệ không ổn định. Cần chọn lại tham số bộ điều khiển
Chọn lại tham số r0 = 57, r1 = -57

Đáp ứng:

12



Sai lệch e2

Tác Động Nhiễu Đầu Vào Tstep=0.04

13


Đầu ra:

Sai lệch e^2:

14


Nhận xét: khi tác động nhiễu đầu vào thì hệ ổn định đạt trạng thái xác lập mới
Tác động nhiễu đầu ra:

Đầu ra:

15


Sai lệch :

Nhận xét: Khi tác động nhiễu đầu ra hệ ổn định thì đầu ra trở về trạng thái xác lập
16



BÀI THỰC HÀNH SỐ 4
TỔNG HỢP BỘ ĐIỀU CHỈNH TỐC ĐỘ QUAY TRÊN KGTT
Theo bài 1 câu 4 ta có:
>>[Ak1,Bk1]=c2d(A,B,Ttm3)
Ak1 =
-0.0438 -2.9549
0.0001 -0.0399
Bk1 =
1.0e-004 *
0.6157
0.2167
------------------------->>[Ak2,Bk2]=c2d(A,B,Ttm4)
Ak2 =
-0.4987 -133.8774
0.0028 -0.3244
-------------------------Bk2 =
0.0028
0.0000
------------------------>> H1=ss(Ak1,Bk1,C,D,Ttm3)
a=
x1
x2
x1 -0.04378
-2.955
x2 6.157e-005 -0.03994
----------------------------------b=
u1
x1 6.157e-005
x2 2.167e-005
----------------------------------c=

x1 x2
y1 0 5066
---------------------------------d=
17


u1
y1 0
-------------------------------Sampling time: 0.1
>>H2=ss(Ak2,Bk2,C,D,Ttm3)
a=
x1
x2
x1 -0.4987 -133.9
x2 0.00279 -0.3244
-------------------------------b=
u1
x1 0.00279
x2
0
-------------------------------c=
x1 x2
y1 0 5066
------------------------------d=
u1
y1 0
Sampling time: 0.01
1. Phản hồi trạng thái sao cho đáp ứng có dạng PT1
• Với Ttm3=0.1ms
>> p1=[0.59 0.72]

>> K1=acker(Ak1,Bk1,p1)
K1 =
1.0e+004 *



-0.7450 -4.2686
Với Ttm4=0.01s
>> p2=[0.5 0.5]
>> K2=acker(Ak2,Bk2,p2)
K2 =
18


1.0e+004 *
-0.0229 -4.2902
2. Đáp ứng hữu hạn Dead-Beat
- Ta thực hiện tính toán trên Matlab như sau:
>> p3 =[0 0]
>> K3=acker(Ak1,Bk1,p3)
K3 =
1.0e+003 *
-0.0272 -3.7860
>> K4=acker(Ak2,Bk2,p3)
K4 =
1.0e+004 *
-0.0022 -2.7641
3. Mô phỏng khảo sát, so sánh hai phương pháp điều khiển
- Ta thực hiện tính toán trên Matlab như sau:
>>G1=ss(Ak1-Bk1*K1,Bk1,C,D,Ttm3)

G1 =
a=
x1

x2

x1 0.4149 -0.3267
x2 0.1615 0.8851
b=
u1
x1 6.157e-05
x2 2.167e-05
19


c=
x1 x2
y1

0 5066

d=
u1
y1 0
Sample time: 0.1 seconds
Discrete-time state-space model.
>> G2=ss(Ak2-Bk2*K2,Bk2,C,D,Ttm4)
a=
x1


x2

x1 0.1404
x2 0.009112

-14.19
0.8596

b=
u1
x1 0.00279
x2 2.76e-005

c=
x1 x2
y1

0 5066

d=
20


u1
y1 0

Sampling time (seconds): 0.01
Discrete-time model.

>>G3=ss(Ak1-Bk1*K3,Bk1,C,D,Ttm3)

a=
x1

x2

x1 -0.04211

-2.722

x2 0.0006514 0.04211

b=
u1
x1 6.157e-005
x2 2.167e-005

c=
x1 x2
y1

0 5066

d=
u1
21


y1 0

Sampling time (seconds): 0.1

Discrete-time model.
>> G4=ss(Ak2-Bk2*K4,Bk2,C,D,Ttm4)
a=
x1

x2

x1 -0.4384 -56.77
x2 0.003386

0.4384

b=
u1
x1 0.00279
x2 2.76e-005

c=
x1 x2
y1

0 5066

d=
u1
y1 0

Sampling time (seconds): 0.01
22



Discrete-time model.
-

Mô phỏng khảo sát, so sánh hai phương pháp điều khiển:
>> hold on
>>step(G1)
>>step(G2)
>>step(G3)
>>step(G4)

-

Nhận xét: Nhận xét:
 Phương pháp phản hồi trạng thái sao cho đáp ứng có dạng PT1: Sau
nhiều chu kỳ trích mẫu, đầu ra mới đạt trạng thái xác lập.
 Phương pháp đáp ứng hữu hạn: Sau 2 chu kỳ trích mẫu đầu ra đạt giá trị
xác lập do 2 điểm cực được gán đều nằm ở gốc tọa độ.

23



×