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

báo cáo thí ngiệm môn điều khiển số đại học bách khoa HN

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 (411.3 KB, 37 trang )

BÁO CÁO THÍ NGHIỆM

ĐIỀU KHIỂN SỐ

Sinh viên thực hiện :Nguyễn Văn Hưng
MSSV

:20131961

Lớp
Khóa
Nhóm

: KT ĐK-TĐH 03
: 58
:6


Bài Thực Hành Số 1: Tìm mô hình gián đoạn ĐCMC

1.

Sơ đồ cấu trúc ĐCMC
-Điện trở phần ứng : = 250m
-Điện cảm phần ứng : = 4mH
-Từ thông danh định : = 0,04
-Mô men quán tính : J= 0,012
-Hằng số động cơ :=236,8 =38,2

Xác định hàm truyền đạt trên miền ảnh z:
-Hàm truyền đạt của dòng điện phần ứng (=0):



=..
-Thay các thông số () ta có:

= =


Chuyển sang miền ảnh z ta có:



+) Với = 0,1 ms ta tính được Giz10 :

Giz10=
+)Với T2=0.01ms ta tính được Giz11:

Giz11=
+)Với T3=0.05ms ta tính được Giz12
=

Giz12
2.

0.00272176 z + 0.00218893
z + 1.603410537 z + 0.604638209
2

Hàm truyền đạt trên miền ảnh z theo các phương pháp
zoh,foh,tustin:
- Khai báo các tham số trong matlab:

>> Tt=100e-6; Ra=250e-3; La=4e-3; Ta=La/Ra; T1=0.1e-3; T2=0.01e-3;
T3=0.05e-3;
- Hàm truyền của đối tượng dòng trên miền ảnh s:
>> Gi=tf([1],[Tt 1])*(1/Ra)*tf(1,[Ta 1])
Gi =
4
-------------------------1.6e-06 s^2 + 0.0161 s + 1
-Mô phỏng đồ thị
>> step(Gi)


Từ đồ thị ta có T xác lập : = 0,0672 s =62,7 T1 =627 T2
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp zoh :(Giz1)
>> Giz1=c2d(Gi,T1,'zoh')
Transfer function:
Giz1 =
0.009176 z + 0.006577
---------------------z^2 - 1.362 z + 0.3656
Sampling time: 0.0001
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp zoh.:(Giz2)
>> Giz2=c2d(Gi,T1,'foh')
Transfer function:
Giz2=
0.003298 z^2 + 0.01046 z + 0.001998


z^2 - 1.362 z + 0.3656
Sample time: 0.0001 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp zoh.:(Giz3)
>> Giz3=c2d(Gi,T1,'tustin')

Transfer function:
Giz3 =
0.004154 z^2 + 0.008307 z + 0.004154
---------------------------------------------z^2 - 1.327 z + 0.3313
Sample time: 0.0001 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp foh.:(Giz4)

>> Giz4=c2d(Gi,T2,'zoh')
Giz4 =
0.0001209 z + 0.0001169
----------------------z^2 - 1.904 z + 0.9043
Sample time: 0.0001 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp foh.(Giz5)
>> Giz5=c2d(Gi,T2,'foh')
Transfer function:
Giz5 =
4.064e-05 z^2 + 0.0001585 z + 3.865e-05
-------------------------------------------------z^2 - 1.904 z + 0.9043
Sample time: 1e-05 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp foh.(Giz6)

>> Giz6=c2d(Gi,T2,'tustin')


Transfer function:
Giz6 =
5.951e-05 z^2 + 0.000119 z + 5.951e-05
-------------------------------------z^2 - 1.904 z + 0.9042
Sample time: 5e-05 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp tustin.:

(Giz7)
>> Giz7=c2d(Gi,T3,'zoh')
Transfer function:
Giz7 =
0.00266 z + 0.00225
---------------------z^2 - 1.603 z + 0.6046
Sample time: 5e-05 seconds
- Hàm truyền của đối tượng điều khiển dòng theo phương pháp tustin.(Giz8)
>> Giz8=c2d(Gi,T3,'foh')
Transfer function:
Giz8 =
0.0009227 z^2 + 0.00327 z + 0.0007177
------------------------------------z^2 - 1.603 z + 0.6046
Sample time: 5e-05 seconds
-Hàm truyền của đối tượng điều khiển dòng theo phương pháp tustin.(Giz9)
>> Giz9=c2d(Gi,T3,'tustin')
Transfer function:
Giz9 =
0.001248 z^2 + 0.002496 z + 0.001248
-----------------------------------z^2 - 1.597 z + 0.5981


Sample time: 5e-05 seconds
3.

Mô phỏng so sánh các mô hình gián đoạn với

Gi ( s )

-Viết lại hàm Giz10 và Giz11 trong matlab:

>> Giz10=tf([0 0.00917637 0.00657735],[1 -1.36164 0.365587],0.1e-3)
>> Giz11=tf([0 0.00012091 0.00011692],[1 -1.9042126 0.90427207],0.01e3)
>> Giz12=tf([0.00272176 0.00218893],[1 1.603410537 0.604638209] ,
0.05e-3)
a) Mô phỏng khảo sát.
- Dùng các lệnh trong matlab để mô phỏng.
>> hold on
>> step(Gi)
>> step(Giz1)
>> step(Giz2)
>> step(Giz3)
>> step(Giz4)
>> step(Giz5)
>> step(Giz6)
>> step(Giz7)
>> step(Giz8)
>> step(Giz9)
>> step(Giz10)
>> step(Giz11)
>> step(Giz12)
- Kết quả mô phỏng như hình sau.


Nhận xét :


- Từ hình vẽ ta thấy trong 1 chu kỳ trích mẫu phương pháp foh cao hơn
zoh,tustin
- Kết quả tính tay không khác biệt mấy so với các phương pháp trên nên có
thể thấy dùng giá trị tính tay là chập nhận được


4. Xây dựng mô hình trạng thái của ĐCMC trên miền thời gian
a, Từ hình 1 tìm bộ điều khiển cho động cơ một chiều
La

( mT = 0 ) Ta = Ra
-Hàm truyền của động cơ 1 chiều:
n( s )
Gh
Gi (s) =
=
U ( s ) 1 + Gh ×ke *ψ
Gh =

1
1
km ×ψ
×
×
Ra sTa + 1 2π Js

Gdc = feedback (Gh, ke ×ψ )

-Hàm truyền có dạng:
Gdc =

b0
a 0 s + a1s + a 2
2


Tìm MHTT của ĐCMC:
g

 x = A×x + B ×u


 y = C ×x + D×u

[ A, B, C , D]

T4=0.1s , T5=0.01s
 xk +1 = Ak ×xk + Bk ×uk

 yk = Ck xk + Dk uk



=tf2ss(b0,[a0 a1 a2])

 Bk = A−1 ( Ak − I ) B

Ak = e A.T


>> step ( A, B, C , D)

>> step ( H 2)% T 5
>> step ( A, B, C , D)

-Từ sơ đồ cấu trúc ĐCMC (mT=0) ta có :


>> km=38.2;ke=236.8;j=0.012;phi=0.04;La=4e-3; Ra=250e-3;
Ta=La/Ra;


>> Gh=(1/Ra)*tf(1,[Ta 1])*km*phi*tf(1,[2*pi*j 0])
Transfer function:

Gh=
6.112
---------------------------0.001206 s^2 + 0.0754 s
Continuous-time transfer function.
>> Gdc=feedback(Gdc,ke*phi)
Transfer function:
Gdc=
6.112
--------------------------------------0.001206 s^2 + 0.0754 s + 57.89
Continuous-time transfer function.
>> Step(Gdc)


b, Xây dựng mô hình trạng thái của ĐCMC trên miền thời gian liên tục.
Sử dụng phương pháp đã học để gián đoán hóa mô hình với giả thiết chu
kỳ trích mấu T4=0.1s và T5=0.01s
Lệnh trang matlab:
Km=38.2;J =0.012; Ta= 0.016;W= 0.04;Ke= 236.8;Ra= 250e-3;
Gh_14 = tf([Km*W/(2*pi*J*Ra)],[Ta 1 0])
Gk_14 = feedback(Gh_14,Ke*W)
[A,B,C,D] = tf2ss([81.06],[0.016 1 767.8])
[Ak1 Bk1] = c2d(A,B,0.01)

[Ak2 Bk2] = c2d(A,B,0.1)
H1=ss(Ak2,Bk2,C,D,0.1)
H2=ss(Ak1,Bk1,C,D,0.01)
step(H1)
hold on
step(H2)
Kết quả:
-Mô hình trạng thái của ĐCMC:
A= 1.0e+004 *
B=


C= 1.0e+003*
D= 0
-MHTT gián đoạn của động cơ :
Ak1=
Bk1=
Ak2=
Bk2=
Với T= 0.1s :
a=
x1
x2
x1 -0.04378
-2.959
x2 6.165e-005 -0.03993
b=
u1
x1 6.165e-005
x2 2.167e-005

c=
x1 x2
y1 0 5066
d=
u1
y1 0
Với T=0.01s:
a=
x1
x2
x1 -0.4987 -133.9
x2 0.00279 -0.3243
b=
u1
x1 0.00279
x2 2.76e-005
c=
x1 x2
y1 0 5066
d=


u1
y1 0

Nhận xét : Các mô hình thu được không miêu tả chính xác động cơ một
chiều.Bời vì chu kì trích mẫu quá lớn nên các số liệu thu được là không chính
xác dẫn đến sai sót trong mô hình trạng thái, điều này có thể khắc phục nếu
chúng ta tiến hành lập mô hình trạng với những chu kì nhỏ nhất


Bài Thực Hành Số 2: Tổng hợp dòng điều chỉnh phần
ứng(Điều khiển momen quay)
1.

Thiết kế bộ điều khiển theo phương pháp Dead-Beat(với
L1()=lo+l1)
Ở bài thực hành số 1, ta đã tìm được hàm truyền đạt trên
miền ảnh z của đối tượng dòng phần ứng theo các phương
pháp tính tay với chu kì trích mẫu
T3=0.05ms là:
Giz7 =


0.00266 z + 0.00225
---------------------z^2 - 1.603 z + 0.6046
Sau khi khai báo Giz1 trong Matlab ta chuyển Giz1 về hàm
mũ âm bằng lệnh:
Giz7= filt([0.00266 0.00225],[1 -1.603 0.6046],0.05e-3)
Giz7 =
0.00266 + 0.00225 z^-1
---------------------------1 - 1.603 z^-1 + 0.6046 z^-2
Ta có:
Giz=Giz1=B(z^-1)/A(z^-1)
Trong đó:
B(z^-1)=b0+b1.z^-1+b2.z^-2
A(z^-1)=a0+a1.z^-1+a2.z^-2
-Từ biểu thức của Giz trên ta có:
b0=
0.00266 b1=0.00225
b2=0

a0=1
a1=-1.603
a2=0.6046
-Ta khai báo các hệ số trong Matlab:
b0=0.00266;b1=0.00225;b2=0;
a0=1;a1=-1.603;a2=0.6046;
>> l0=a0/((a0-a1)*(b0+b1+b2))
l0 =
78.2428
>> l1=(-a1)/((a0-a1)*(b0+b1+b2))
l1 =
125.4232
L1 =
78.24 + 125.4 z^-1


Sample time: 5e-05 seconds
Ta khai báo hàm A(z^-1) và B(z^-1) trong Mat Lab:
Az=filt([a0 a1 a2],1,0.05e-3)
Az =
1 - 1.603 z^-1 + 0.6046 z^-2
Sample time: 5e-05 seconds
Bz=filt([b0 b1 b2],1,0.05e-3)
Bz =
0.00266 + 0.00225 z^-1
Sample time: 5e-05 seconds
- Từ đó ta tìm được hàm truyền của bộ điều khiển GRi :
GRi=(L1*Az)/(1-L1*Bz)
GRi =


44.59 + 3.553e-15 z^-2 - 97.23 z^-3 + 52.97 z^-4
-----------------------------------------------0.8814 - 0.2904 z^-1 - 0.3939 z^-2 - 0.1971 z^-3

Sample time: 5e-05 seconds

78.24 - 153.7 z^-2 + 75.83 z^-3
---------------------------------0.7919 - 0.5097 z^-1 - 0.2822 z^-2


Sample time: 5e-05 seconds
-Hàm truyền đạt hệ kín:
>> Gk=(GRi*Giz11)/(1+GRi*Giz11)

Gk =
0.1648 - 0.2309 z^-1 - 0.4261 z^-2 + 0.8218 z^-3 - 0.03295 z^-4 - 0.5387
z^-5 + 0.2219 z^-6 + 0.04921 z^-7 - 0.02911 z^-8
-----------------------------------------------------------------------------------------------------------------------0.7919 - 3.048 z^-1 + 4.344 z^-2 - 2.556 z^-3 + 0.211 z^-4 +
0.3607 z^-5 - 0.1032 z^-6
Sample time: 5e-05 seconds
-Các điểm cực của hàm truyền hệ kín:
>> pole(Gk)
ans =
0
0
0
0
0
-0.3564
1.0000
0.9959



0.9959
0.6071
0.6071
-Tính L(z^-1).B(z^-1)
>> L1*Bz
ans =
0.2081 + 0.5097 z^-1 + 0.2822 z^-2
Sample time: 5e-05 seconds
-Vậy ta thu được hàm truyền của bộ điều khiển:
>> GRi
GRi =

78.24 - 153.7 z^-2 + 75.83 z^-3
---------------------------------0.7919 - 0.5097 z^-1 - 0.2822 z^-2
Sample time: 5e-05 seconds
Giz7 =
0.00266 + 0.00225 z^-1
---------------------------1 - 1.603 z^-1 + 0.6046 z^-2
Sample time: 5e-05 seconds
-Mô phỏng bằng Simulink trong Matlab:


-Nhận xét:Ta thấy sau 2 chu kỳ trích mẫu thì hệ kín ổn định,đầu ra bám theo
giá trị đặt
- Gía trị đặt: 1961
2. Thiết kế bộ điều khiển dead beat với (L(z^-2)=l01+l11z^-1+l12z^-2):
ở phần 1 ta đã có hàm truyền của đối tượng:
Giz=Giz7

Giz7 =
0.00266 + 0.00225 z^-1
---------------------------1 - 1.603 z^-1 + 0.6046 z^-2
Sample time: 5e-05 seconds
-Tìm l01,l11,l12:
>> l01=(a0^2)/((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2))


l01 =
44.5853
>> l11=(-a0*a1)/((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2))

l11 =
71.4702
l12=(a1^2-a0*a2)/((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2))

l12 =
87.6105
-Khai báo L2(z^-1) trong matlab
L2=filt([l01 l11 l12],1,0.05e-3)
L2 =
44.59 + 71.47 z^-1 + 87.61 z^-2
Sample time: 1e-05 seconds
-Từ đó tìm hàm truyền của bộ điều chỉnh:
>> GRi=(L2*Az)/(1-L2*Bz)
GRi =
44.59 + 3.553e-15 z^-2 - 97.23 z^-3 + 52.97 z^-4
-----------------------------------------------0.8814 - 0.2904 z^-1 - 0.3939 z^-2 - 0.1971 z^-3
Sample time: 5e-05 seconds
-Hàm truyền đạt vòng kin:



>> Gk=(GRi*Giz7)/(1+GRi*Giz7)
Gk =
0.1045 - 0.1136 z^-1 - 0.09917 z^-2 - 0.1366 z^-3 + 0.4071 z^-4 +
0.07499 z^
-5 - 0.3289 z^-6 + 0.03178 z^-7 + 0.05558 z^-8 + 0.01856 z^-9 0.0142 z^-10
----------------------------------------------------------------------------------------0.8814 - 3.116 z^-1 + 3.868 z^-2 - 1.74 z^-3 + 0.02883 z^-4 - 0.08763 z^-5
+ 0.2381 z^-6
- 0.07206 z^-7 + 1.539e-17 z^-8 - 3.308e-18 z^-9
Sample time: 5e-05 seconds
-Các điểm cực của hàm truyền hệ kín:
>> pole(Gk)
ans =
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
-0.3352 + 0.3336i
-0.3352 - 0.3336i
1.0000 + 0.0000i
0.9959 + 0.0000i
0.9959 + 0.0000i
0.6071 + 0.0000i
0.6071 + 0.0000i
0.0000 + 0.0000i


0.0000 - 0.0000i

-Tìm L(z^-1).B(z^-1):
>> L2*Bz
ans =
0.1186 + 0.2904 z^-1 + 0.3939 z^-2 + 0.1971 z^-3
Sample time: 5e-05 seconds
-Ta có hàm truyền đạt của bộ điều chỉnh:
GRi =
44.59 + 3.553e-15 z^-2 - 97.23 z^-3 + 52.97 z^-4
-----------------------------------------------0.8814 - 0.2904 z^-1 - 0.3939 z^-2 - 0.1971 z^-3
Sample time: 5e-05 seconds
-Hàm truyền đạt cả đối tượng dòng phần ứng:
Giz7 =
0.00266 + 0.00225 z^-1
---------------------------1 - 1.603 z^-1 + 0.6046 z^-2
Sample time: 5e-05 seconds
-Mô phỏng trên Simulink:


-Nhận xét:Ta thấy sau 3 chu kỳ trích mẫu thì hệ kín ổn định,đầu ra bám theo
giá trị đặt
Gía trị đặt:1961
3. Phương pháp cân bằng mô hình:
a. 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 của vòng kín là:
Gw(z)=x1*z^-1+x2*z^-2
Với điều kiện x1+x2=1
Chọn x1=0.2,x2=0.8
 Gw(z)=0.2*z^-1+0.8*z^-2
-Khai báo trong matlab:
>> Gw=filt([0 0.2 0.8],1,0.05e-3)

Gw =


0.2 z^-1 + 0.8 z^-2
Sample time: 5e-05 seconds
>> Gr=Gw/(Giz7*(1-Gw))
Gr =
0.2 z^-1 + 0.4794 z^-2 - 1.161 z^-3 + 0.4837 z^-4
----------------------------------------------------0.00266 + 0.001718 z^-1 - 0.002578 z^-2 - 0.0018 z^-3
Sample time: 5e-05 seconds
-Hàm truyền hệ kín:
>> Gk=(Gr*Giz7)/(1+Gr*Giz7)
Gk =
1.415e-06 z^-1 + 3.235e-06 z^-2 - 1.172e-05 z^-3 - 3.04e-06 z^-4 +
2.028e-05 z^-5
- 2.9e-06 z^-6 - 1.307e-05 z^-7 + 4.097e-06 z^-8 + 2.888e-06 z^-9
- 1.184e-06 z^
-10
---------------------------------------------------------------------------------------7.076e-06 - 1.213e-05 z^-1 - 1.009e-05 z^-2 + 2.517e-05 z^-3 + 7.18e07 z^-4
- 1.737e-05 z^-5 + 4.126e-06 z^-6 + 3.98e-06 z^-7 - 1.48e-06 z^-8
+ 2.36e-22 z^
-9
Sample time: 5e-05 seconds
>> pole(Gk)


ans =
0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i

0.0000 + 0.0000i
-0.8459 + 0.0000i
-0.8459 - 0.0000i
-0.8000 + 0.0000i
1.0000 + 0.0000i
0.9959 + 0.0000i
0.9959 + 0.0000i
0.6071 + 0.0000i
0.6071 + 0.0000i
0.0000 + 0.0000i
-Mô phỏng trên Smimlink:




-Nhận xét:Ta thấy sau 2 chu kỳ trích mẫu thì hệ kín ổn định,đầu ra bám theo giá
trị đặt
Gía trị đặt:1961
b)Giả sử sau 3 bước giá trị của đối tượng điều khiển đuổi kịp giá trị đặt:
ta có hàm truyền vòng kín:
Gw(z)=k1*z^-1+k2*z^-2+k3*z^-3
Với k1+k2+k3=1
Chọn k1=0.4,k2=0.3,k3=0.3
Gw(z)=0.4z^-1+0.3z^-2+0.3z^-3
-Khai báo trong Matlab:
>> Gw=filt([0 0.4 0.3 0.3],1,0.05e-3)
Gw =
0.4 z^-1 + 0.3 z^-2 + 0.3 z^-3
Sample time: 5e-05 seconds
-Hàm truyền của bộ điều chỉnh:

>> Gr=Gw/(Giz7*(1-Gw))
Gr =


×