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

thí nghiệm điều khiển số

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 (591.28 KB, 41 trang )

Báo cáo thí nghiệm điều khiển số
Sinh viên:Vũ Trung Dũng
Mssv: 20111302
Lớp ĐK TĐH 7 k56
Nhóm : Kíp 2 sáng thứ 4 tuần 32,34,36

Đối tượng điều khiển ĐCMC được mô tả bởi các phương
trình dưới đây:
điện áp phần ứng:
sức từ động cảm ứng:

tốc độ quay:
mômen quay:
hằng số động cơ:

hằng số thời gian phần ứng:
Sơ đồ cấu trúc của ĐCMC được minh họa ở hình vẽ H.1 . Động
cơ có các tham số sau đây
Điện trở phần ứng:
điện cảm phần ứng:
từ thông danh định:
momen quán tính:


hằng số động cơ:

,



Bài thực hành số 1: Tìm mô hình gián đoạn của ĐCMC


1.1. xác định hàm truyền đạt



Hàm truyền hệ hở
Gh ( s) =

1
1
1
6.112
.
.k Mψ .
=
RA 1 + sTA
2π Js 1.206e − 3s 2 + 0.0754 s

=> hàm truyền đạt mô hình của động cơ:
Gk ( s) =



Gh
6.112
=
2
1 + Gh .ke .ψ 1.206e − 3s + 0.0754s + 57.89

Hàm truyền trên miền ảnh z
Hk =


Gk
6.112
6.112 / (1.206e − 3)
=
=
2
s
s(1.206e − 3s + 0.0754 s + 57.89) s( s 2 + 62.5s + 48e3)

Sau khi tính toán ta thu được:
G ( z) =

2.527846e − 3* T 2 z + 2.522585* T 2
z 2 − 199.32911* Tz + 0.9937695

Với T1=0.1e-3 ta có:
GT 1 ( z ) =

2.527846e − 5 z + 2.522585e − 5
z 2 − 1.994 z + 0.9937695

Với T2=0.01e-3 ta có:


GT 2 ( z ) =

• Tính

2.527846e − 7 z + 2.522585e − 7

z 2 − 1.9932911z + 0.9937695

trên mathlab:

>> ra=250e-3;la=4e-3;ta=la/ra;tt=100e-6;t1=0.1e3;t2=0.01e-3;
km=38.2;ke=236.8;j=0.012;phi=0.04;
>> 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
>> gk1=feedback(gh,ke*phi)
Transfer function:
6.112
--------------------------------------0.001206 s^2 + 0.0754 s + 57.89
>> gkz1=c2d(gk,0.1e-3,'foh')
Transfer function:
8.431e-006 z^3 + 2.529e-005 z^2 - 2.506e-005 z 8.352e-006
--------------------------------------------------------------------------z^3 - 2.987 z^2 + 2.975 z - 0.9876
Sampling time: 0.0001
>> gkz2=c2d(gk1,0.01e-3,'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


>> gkz3=c2d(gk1,0.1e-3,'zoh'

Transfer function:
2.528e-005 z + 2.523e-005
-------------------------------z^2 - 1.993 z + 0.9938
Sampling time: 0.0001
>> gkz4=c2d(gk1,0.01e-3,'zoh')
Transfer function:
2.533e-007 z + 2.532e-007
-------------------------------z^2 - 1.999 z + 0.9994
Sampling time: 1e-005
>> gkz5=c2d(gk1,0. 1e-3,'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
>> gkz6=c2d(gk1,0.01e-3,'tustin')
Transfer function:
1.266e-007 z^2 + 2.532e-007 z + 1.266e-007
-----------------------------------------------------z^2 - 1.999 z + 0.9994
Sampling time: 1e-005


>> hold on
>> step(gkz1)
>> step(gkz2)
>> step(gkz3)
>> step(gkz4)
>> step(gkz5)
>> step(gkz6)
Step Response
0.18

0.16
0.14

Amplitude

0.12
0.1
0.08
0.06
0.04
0.02
0

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16


0.18

0.2

Time (sec)

Nhận xét: qua đồ thị ta thấy các hàm truyền tính theo cả 3
phương pháp ZOH, FOH và TUSTIN đều bám sát nhau với sai
lệch không đáng kể.
1.3 Mô hình trạng thái động cơ của ĐCMC trên miền thời gian liên tục
Lệnh matlab

Gh=tf(1/Ra)*tf(1,[Ta 1])*tf(km*xi)*tf(1,2*pi*J)
Transfer function:
6.112
------------------------0.001206 s + 0.0754
Gk=feedback(Gh,ke*xi)
Transfer function:


6.112
-------------------------------------0.001206 s^2 + 0.0754 s + 57.89
T3= 0.1; T4= 0.01
[A,B,C,D]=tf2ss([ 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
>> [Az1,Bz1]=c2d(A,B,T1)
Az1 =
0.9935 -4.7848
0.0001 0.9998
Bz1 =
1.0e-004 *
0.9968 0.0000
>> [Az1,Bz1]=c2d(A,B,T3)
Az1 =
-0.0438 -2.9271
0.0001 -0.0399
Bz1 =
1.0e-004 *
0.6098 0.2166
>> [Az2,Bz2]=c2d(A,B,T4)
Az2 =


-0.4989 -133.8566
0.0028 -0.3245
Bz2 =
0.0028
0.0000
>> G2k1=ss(Az1,Bz1,C,D,T3)

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 (seconds): 0.1
Discrete-time state-space model.
>> G2k2=ss(Az2,Bz2,C,D,T4)
a=
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

step(Gk)
hold on
step(G2k1)
step(G2k2)
Đồ thị đáp ứng


Bài thực hành số 2: tổng hợp mạch vòng điều chỉnh dòng
phần ứng
Hàm truyền của mô hình điều khiển dòng
Gi ( s) =

1
1
1
4
* *
=
2
Tt .s + 1 Ra Ta .s + 1 1.6e − 7 s + 0.01601.s + 1

Sử dụng lệnh c2d ta tìm được hàm truyền đạt trên miền ảnh z

của đối tượng theo phương pháp TUSTIN(chu kì trích mẫu là T 1=
0.1ms)
Gi(z)=c2d(Gi(s),T1,’tustin’) ta thu được hàm truyền:
Gi ( z ) =

0.01038 z 2 + 0.02077 z + 0.01038
z 2 − 0.3271z − 0.6625

Gi(z)=filt([0.01038 0.02077 0.01038],[1 -0.3271 -0.6625])
Gi ( z ) =


0.01038 + 0.02077 z −1 + 0.01038 z −2
1 − 0.3271z −1 − 0.6625 z −2

thiết kế bộ ĐC dòng theo phương pháp Dead-Beat

B ( z ) b0 z 2 + b1 z + b2
G( z) =
=
A( z ) a0 z 2 + a1 z + a2
B( z −1 ) b0 + b1 z −1 + b2 z −2
G( z ) =
=
A( z −1 ) a0 + a1 z −1 + a2 z −2
−1

Suy ra B(z-1)= 0.01038 + 0.02077z-1+ 0.01038z-2
>>B=filt([0.01038 0.02077 0.01038],[1],[0.1e-3]);
A(z-1)= 1 - 0.3271z-1- 0.6625z-2

>>A=filt([1 -0.3271 -0.6625],[1],[0.1e-3]);



-phương pháp đáp ứng hữu hạn(dead-beat):

GRi ( z

−1

)

L( z −1 ). A( z −1 )
=
1 − L( z −1 ). A( z −1 )

*Tìm L(z-1):

Bậc 1: L1(z-1)=l0+l1z-1
Bậc 2: L2(z-1)=l01+l11z-1+l12z=2

l01 =

a0
n

[a02 + a12 − a0 (a1 + a2 )]∑ b j

= 12.7902


l11 =

l21 =

n

[a + a − a0 (a1 + a2 )]∑ b j
2
0

2
1

n

[a02 + a12 − a0 (a1 + a2 )]∑ b j

= 4.1837

j =0

j =0

a12 − a0 .a2

− a0 .a1

= 9.842

j =0


L(z-1)=12.7902+4.1837z-1+9.842z-2
*Hàm truyền đạt của bộ điều khiển
GR(z-1)= L(z-1)* A(z-1)/(1- L(z-1)* B(z-1))

GR ( z

−1

)

312.79 + 2.558e − 5 z −1 + 9.083e4 z −2 − 2.972e4 z −3 − 6.018e004 z −4
=
0.8672 − 0.3091z −1 − 943.2 z −2 − 1887 z −3 − 942.9 z −4

*Hàm truyền đạt của hệ kín khi có bộ điều khiển:
Gk = L(z-1)* B(z-1)
>> Gk=L*B
Transfer function:
0.1328 + 0.3091 z^-1 + 943.2 z^-2 + 1887 z^-3 + 942.9 z^-4
Sampling time: 0.0001
>> hold on
>> step(Gk)


Kết quả mô phỏng:
Step Response
4000

3500


3000

Amplitude

2500

2000

1500

1000

500

0

0

0.2

0.4

0.6

0.8

1

1.2


Time (sec)

1.4

1.6

1.8

2
-3

x 10

Nhận xét: khi dùng bộ điều khiển Dead-bead đầu ra đạt giá trị
xác lập sau 3 chu kì trích mẫu.
*phương pháp cân bằng mô hình:
+Giả sử sau 2 bước, giá trị của đối tượng điều khiển sẽ đuổi kịp
giá
trị đặt của đại lượng chủ đạo, tức hàm truyền đạt vòng kín sẽ là
:
Gw(z)=x1.z-1+x2.z-2. Với điều kiện x1+x2=1.
+Chọn GW1(z)=0.6z-1+0.4z-2
Bộ điều khiển cần tìm :
GR =

G ( z)
1
. w
Gs ( s ) 1 − Gw ( z )


>> Gw=filt([0 0.6 0.4],[1],0.01e-3)
Transfer function:


0.6 z^-1 + 0.4 z^-2
Sampling time: 1e-005
*Hàm truyền đạt của bộ điều khiển
>> Gr=Gw/[gz2*(1-Gw)]
Transfer function:
0.6 z^-1 + 0.2037 z^-2 - 0.5283 z^-3 - 0.265 z^-4
-------------------------------------------------------------------------------------0.01038 + 0.01454 z^-1 - 0.006234 z^-2 - 0.01454 z^-3 0.004152 z^-4
Sampling time: 0.0001
+) Tương tự ta chọn GW2(z)=0.1.z-1+0.9.z-2
*Hàm truyền đạt của bộ điều khiển
>> Gr=Gw2/[gz2*(1-Gw2)]
Transfer function:
0.1 z^-1 + 0.8673 z^-2 - 0.3606 z^-3 - 0.5962 z^-4
--------------------------------------------------------------------0.01038 + 0.01973 z^-1 - 0.001039 z^-2 - 0.01973 z^-3 0.009342 z^-4
Sampling time: 0.0001
*Sơ đồ mô phỏng simulink

Thu được đồ thị


khiển phù hợp với yêu cầu đặt ra

nhận xét: Từ đồ thị ta thấy đúng sau 2 bước đối tượng điều
khiển đuổi kịp giá trị đặt của
đại lượng chủ đạo. Kết thúc chu kì trích mẫu đầu tiên đầu ra đạt

tới giá trị x1 của
bộ điều khiển(0.6 hoặc 0.1). Dựa vào đặc điểm này ta có thể dễ
dàng chọn bộ điều

C. Giả sử sau 3 bước, giá trị của đối tượng điều khiển sẽ đuổi
kịp giá trị
đặt của đại lượng chủ đạo, tức hàm truyền đạt vòng kín sẽ là :
-Với tốc độ đáp ứng của giá trị thực là 3 chu kì TI
Ta có: GW(z)= 2z-1 + z−2−2z−3
-Hàm truyền đạt của bộ điều chỉnh là:
G R ( z) =

Gw ( z )
1
Gs ( z ) 1 − Gw ( z )

Chương trình mathlab
>> gw3=filt([0 2 1 -2],[1],[0.1e-3])


Transfer function:
2 z^-1 + z^-2 - 2 z^-3
Sampling time: 0.0001
>> gr=gw3/(gz2*(1-gw3))
Transfer function:
2 z^-1 + 0.3458 z^-2 - 3.652 z^-3 - 0.0083 z^-4 + 1.325
z^-5
----------------------------------------------------------------------------------------------0.01038 + 1e-005 z^-1 - 0.04154 z^-2 - 0.02077 z^-3 +
0.03116 z^-4 + 0.02076 z^-5
Mô phỏng mathlab simulink ta được đồ thị


Nhận xét Từ đồ thị ta thấy đúng sau 3 bước đối tượng điều
khiển đuổi kịp giá trị đặt của đại lượng chủ đạo. Kết thúc chu kì
trích mẫu đầu tiên đầu ra đạt tới giá trị x1 của bộ điều khiển.
Kết thúc chu kì trích mẫu thứ 2 đầu ra đạt tới giá trị x1+x2 của
bộ điều khiển.
Nhận xét chung:
+Thiết kế bộ điều chỉnh theo phương pháp cân bằng mô hình
thì sai lệch tĩnh sau N bước trở về 0 theo quĩ đạo mong muốn.
+Thiết kế bộ điều khiển theo phương pháp Dead-Beat thì sai


lệch tĩnh cũng trở về 0 nhưng ta không thể áp đặt quĩ đạo
mong muốn.


Bài thực hành số 3 - Tổng hợp vòng điều chỉnh tốc độ
quay
3.1. tìm hàm truyền đạt gián đoạn của đối tượng điều
khiển tốc độ

-

Đố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(

Gnz=filt([0.0004318 0.0003656],[1 -1.607 0.6065])
Gnz =


>>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. 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 ) =

Gr ( z ).Gn ( z )
1 + Gr ( z ).Gn ( z )

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

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

r0 + r1.z −1 r0 .z + r1 R ( z )
Gr ( z ) =
=
=
1 + p1.z −1
z −1
P( 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)


(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.0004

0

1.0000

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

Đồ 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:

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


×