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

BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỂN SỐ ĐHBKHN

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 (844.71 KB, 36 trang )

Trường Đại Học Bách Khoa Hà Nội
Viện Điện
Bộ Môn Điều Khiển Tự Động
***

BÁO CÁO THÍ NGHIỆM

ĐIỀU KHIỂN SỐ
Bài thực hành số 2

Sinh viên thực hiện : Lê Văn Công
MSSV

: 20130450

Lớp

: KT ĐK-TĐH

Khóa

: 58

Nhóm

:6


BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỂN SỐ
Bài thực hành số 1 : Tìm mô hình gián đoạn của ĐCMC
Động cơ có các tham số :


- Điện trở phần ứng : RA=250mΩ.
- Điện cảm phần ứng : LA=4mH.
- Từ thông danh định : ψR=0,04Vs.
- Mômen quán tính : J=0,012kgm2.
- Hằng số động cơ : ke=236,8, km=38,2.


hình

động



1

chiều

:

(1) Sử dụng phương pháp đã học (mục 1.3.2b, tài liệu [1]) để xác định hàm truyền đạt trên
miền ảnh Z thích hợp để thiết kế vòng trong cùng ĐK dòng phần ứng (tài liệu [2], hình
9.10). Chu kỳ trích mẫu được chọn là TI = 0,1ms và 0,01ms.
(2) Sử dụng lệnh c2dcủa MATLAB (tài liệu [2], mục 3.2.8) đểtìm hàm truyền đạt trên
miền ảnh z theo các phương pháp ZOH, FOH và Tustin.


(3) Mô phỏng khảo sát, so sánh kết quả mô phỏng với 4 mô hình gián đoạn thu được ở câu
(1) và (2).
(4) 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 (mục 1.3.2c, tài liệu [1]) đểgián đoạn hóa mô hình với giả thiết chu kỳ trích

mẫu T=0,01s và T=0,1s. Mô phỏng khảo sát đáp ứng bước nhảy của 2 mô hình thu được.

1.1. Tìm hàm truyền đạt của mô hình
Phương trình hàm truyền của dòng phần ứng :

với Tt=100e-6s; Ta=La/Ra
Tính toán chuyển đổi hàm Gi(s) sang miền ảnh Z :

Như vậy :

Quy đồng mẫu số, theo phương pháp hệ số bất định , ta được :
;
Như vậy :

; ;

Thay các thông số động cơ của đề bài vào các biểu thức trên ta được :


-

Với chu kì trích mẫu là T=Ttm1=0.1ms ta có :

ao=1 ; a1=-1.3616 ; a2= 0.3656 ;
b1=0.0092 ; b2= 0.0066 ;
Như vậy với chu kỳ trích mẫu T=Ttm1=0.1ms thì
-

Với chu kì trích mẫu T=Ttm2=0.01ms tương tự ta thu được :


1.2. Tìm hàm truyền bằng Matlab
Chương trình trên Matlab :
>> Tt = 100e-6; La = 4e-3; Ra = 250e-3;
>> Ta=La/Ra;
>> Giz = tf(1,[Tt 1])*tf(1,[Ta 1])*1/Ra
Transfer function:
4
--------------------------------1.6e-006 s^2 + 0.0161 s + 1
>> T1 = 0.1e-3; T2 = 0.01e-3;T3=0.05e-3;
>> Giz1=c2d(Giz,T1,'zoh')
Transfer function:
0.009176 z + 0.006577
----------------------------z^2 - 1.362 z + 0.3656
Sampling time: 0.0001
>> Giz2=c2d(Giz,T1,'foh')
Transfer function:
0.003298 z^2 + 0.01046 z + 0.001998


--------------------------------------------z^2 - 1.362 z + 0.3656
Sampling time: 0.0001
>> Giz3=c2d(Giz,T1,'tustin')
Transfer function:
0.004154 z^2 + 0.008307 z + 0.004154
----------------------------------------------z^2 - 1.327 z + 0.3313
Sampling time: 0.0001
>> Giz4=c2d(Giz,T2,'zoh')
Transfer function:
0.0001209 z + 0.0001169
------------------------------z^2 - 1.904 z + 0.9043

Sampling time: 0.0001
>> Giz5=c2d(Giz,T2,'foh')
Transfer function:
4.064e-005 z^2 + 0.0001585 z + 3.865e-005
----------------------------------------------------z^2 - 1.904 z + 0.9043
Sampling time: 1e-005
>> Giz6=c2d(Giz,T2,'tustin')
Transfer function:
5.951e-005 z^2 + 0.000119 z + 5.951e-005
---------------------------------------------------


z^2 - 1.904 z + 0.9042
Sampling time: 1e-005
>>Giz7=c2d(Giz,T3,'ZOH')
Transfer function:
0.00266 z + 0.00225
---------------------z^2 - 1.603 z + 0.6046
Sample time: 5e-05 seconds
>> Giz8=c2d(Giz,T3,'FOH')
Giz8 =
0.0009227 z^2 + 0.00327 z + 0.0007177
------------------------------------z^2 - 1.603 z + 0.6046
Sample time: 5e-05 seconds
>> Giz9=c2d(Giz,T3,'tustin')
Giz9 =
0.001248 z^2 + 0.002496 z + 0.001248
-----------------------------------z^2 - 1.597 z + 0.5981
Sample time: 5e-05 seconds
1.3. Mô phỏng khảo sát các mô hình gián đoạn thu được.

-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.01e-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)
- Kết quả mô phỏng như hình sau.



Nhận xét:
Với chu kì trích mẫu Ttm2 = 0.01ms < Ttm1 = 0.1ms ta tìm được các hàm Gi(z) với hệ
số sai khác nhau rất lớn.
Các hàm Gi(z) tìm ra do tính toán có hệ số tương tự với hàm Gi(z) tìm được bằng chương
trình matlab khi có cùng chu kì trích mẫu. Như vậy cách tính hàm Gi(z) là chính xác.
Mô hình gián đoạn mô phóng mô hình thực tế bằng các tín hiệu dạng bậc thang

bám sát theo mô hình thực. Với chu kì trích mẫu càng nhỏ thì mô hình gián đoạn thu được
càng sát với mô hình thực tế

1.4. Xây dựng mô hình trạng thái của ĐCMC
Ta có hàm truyền đạt hở của động cơ:


Hàm truyền của động cơ là:

Chương trình trên matlab:
>>Ghs=tf(1,[Ta 1])*1/Ra*km*phi*tf(1,[2*pi*J 0])
Transfer function:
6.112
----------------------0.001206 s^2 + 0.0754 s
>>Gdcs=feedback(Ghs, ke*phi)
Transfer function:
6.112
------------------------------0.001206 s^2 + 0.0754 s + 57.89
>>step(Gdcs)


Chương trình matlab tìm mô hình trạng thái:
>>T4=0.1;T5=0.01;
>> [A,B,C,D]=tf2ss([6.128],[0.001206 0.0754 57.89]);
>>[Ak3,Bk3]=c2d(A,B,T4);
>>[Ak4,Bk4]=c2d(A,B,T5);
>> Hk3=ss(Ak3,Bk3,C,D,T4)
a=
x1
x2

x1 -0.04376 -2.927
x2 6.098e-05 -0.03995
b=
u1
x1 6.098e-05
x2 2.166e-05
c=
x1 x2
y1 0 5081
d=
u1
y1 0
>> Hk4=ss(Ak4,Bk4,C,D,T5)
Hk4 =


a=
x1
x2
x1 -0.4989 -133.9
x2 0.002789 -0.3245
b=
u1
x1 0.002789
x2 2.759e-05
c=
x1 x2
y1 0 5081
d=
u1

y1 0
Như vậy với các chu kì trích mẫu khác nhau, ta có mô hình của động cơ một chiều như sau
T4=0,1s
T5=0,01s
Mô phỏng kháo sát đáp ứng bước nhảy của các mô hình thu được:
Với T4=0,1s, mô hình thu được là Hk1
>> step(Gdcs); hold on; grid on
>> step(Hk3)

Với T5=0,01s; mô hình thu được là Hk4


Nhận xét: Các mô hình thu được không miêu tả chính xác động cơ điện 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
thái với những chu kì nhỏ hơn,
Bài tập thực hành số 2 – Tổng hợp vòng điều chỉnh dòng phần ứng (điều khiển
mômen quay)

Nhiệm vụ: Với mô hình đối tượng ĐK dòng đã được xây dựng ở bài tập thực hành số1,
hàm Giz1 đã xây dựng ở trên,
(1) Hãy thiết kế bộ ĐC dòng theo phương pháp Dead-Beat với L(z -1) là một đa thức bậc 2
Mô phỏng khảo sát đặc điểm của vòng ĐC đã thiết kế.
(2) Hãy thiết kế bộ ĐC dòng theo phương pháp Dead-Beat với L(z -1) là một đa thức bậc 0
Mô phỏng khảo sát đặc điểm của vòng ĐC đã thiết kế.
(3) Phân tích so sánh các kết quả mô phỏng đã thu được ở câu (1) và (2).
Hàm




Thiết kế bộ điều chỉnh dòng điện theo phương pháp Dead-Beat (Bậc 2)

2.1.

Hàm truyền sau khai bù theo phương pháp dead-beat được tính như sau
với
Chuyển Giz1 về dạng hàm mũ âm (z^-1) và khai báo trê Matlab ta có
>>b0=0;b1= 0.009176 ;b2= 0.006577;
>>a0=1; a1= -1.362; a2=0.3656;
- Khai báo L2(z^-1) trong matlab
>>ms=(a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2)
ms =
0.0607
>> l01=a0^2/ms
l01 = 16.4821
>> l11=(-a0*a1)/ms
l11 =
22.4487
>>l12=(a1^2-a0*a2)/ms
l12 =
24.5492
>> Aiz=filt([a0 a1 a2],1, T1)
Aiz=
1 - 1.362 z^-1 + 0.3656 z^-2
>> Biz=filt([b0 b1 b2],1, T1)
Biz=
0.009176 z^-1 + 0.006577 z^-2
- Tính toán bộ L2z
>>L2z=filt([l01 l11 l12],1,Ttm1)
L2z =



16.48 + 22.45 z^-1 + 24.55 z^-2
Tính bộ điều khiển Gra
>> Gra=L2z*Aiz/(1-L2z*Biz)
Gra =
-

16.48 + 7.105e-15 z^-2 - 25.23 z^-3 + 8.975 z^-4
--------------------------------------------------------------------1 - 0.1512 z^-1 - 0.3144 z^-2 - 0.3729 z^-3 - 0.1615 z^-4
>> Gkb=feedback(Gra*Giz1,1)
Gkb =
0.1512 z^-1 - 0.1205 z^-2 - 0.1251 z^-3 - 0.2036 z^-4 + 0.3018 z^-5
+ 0.1637 z^-6 - 0.1107 z^-7 - 0.04481 z^-8 - 0.03869 z^-9
+ 0.02035 z^-10 + 0.009867 z^-11 - 0.003485 z^-12
-------------------------------------------------------------------------1 - 2.875 z^-1 + 2.684 z^-2 - 0.9035 z^-3 + 0.3255 z^-4 - 0.2317 z^-5 - 0.08822 z^-6 +
0.111 z^-7 - 0.02158 z^-8 + 4.141e-18 z^-9 - 4.786e-19 z^-10 - 8.192e-19 z^-11
>>step(Gkb,20*T1)
>>grid on




Kiểm nghiệm bằng simulink:


Nhận xét : Hệ đạt được trạng thái xác lập sau 4 chu kỳ trích mẫu hoàn toàn phù hợp với
tính toán



Kiểm tra điểm cực của Gka bằng lệnh : >>pole(Gka);

>> pole(Gka)
ans =
0.0000 + 0.0000i
-0.7168 + 0.0000i
0.9943 + 0.0000i
0.3677 + 0.0000i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
=> Các điểm cực nằm trong vòng tròn đơn vị nên Gk1 thỏa mãn yêu cầu.


2.2.

Thiết kế bộ điều chỉnh dòng điện theo phương pháp Dead-Beat (Bậc 0)

Hoàn toàn tương tự so với khi sử dụng hàm Lz bậc 2. Ta có chương trình trên MATLAB:
>> l0=1/(b0+b1+b2)

l0 =

63.4679

>> Lz0=l0

Lz0 =

63.4679
>> Gri2=Lz0*Az/(1-Lz0*Bz)


Gri2 =

63.47 - 86.44 z^-1 + 23.2 z^-2
---------------------------------0.7907 - 0.6639 z^-1 - 0.1268 z^-2

>> Gk2=Gri2*Giz5/(1+Gri2*Giz5)
Gk2 =


0.1655 - 0.06485 z^-1 - 0.99 z^-2 + 1.664 z^-3 - 0.8684 z^-4 + 0.02542 z^-5

+ 0.07702 z^-6 - 0.00649 z^-7 - 0.002149 z^-8

----------------------------------------------------------------------------

0.7907 - 2.817 z^-1 + 3.725 z^-2 - 2.158 z^-3 + 0.4389 z^-4 + 0.03745 z^-5

- 0.01694 z^-6 + 3.524e-06 z^-7 - 5.162e-08 z^-8
>> step(Gk1)
grid on




Kiểm nghiệm lại bằng SIMULINK:





Nhận xét : Hệ ổn định sau 2 chu kỳ trích mẫu và đạt đến vị trí xác lập.
Kiểm tra điểm cực của Gk2 bằng lệnh : >>pole(Gk2);


ans =
1.0000
0.9943
0.9938
0.3679
0.3673
-0.1604
0.0001 + 0.0017i
0.0001 - 0.0017i
Tất cả các điểm cực của hệ đều nằm trong vòng tròn đơn vị => hệ ổn định



So sánh 2 phương pháp :

Cả 2 phương pháp đều cho ra hệ thống ổn định và đạt tới trạng thái xác lập. Với phương
pháp DB bậc 2, hệ ổn định và xác lập sau 4 chu kỳ trích mẫu. Còn với phương pháp DB
bậc 0, hệ ổn định và xác lập sau 2 chu kỳ trích mẫu.


Bài tập thực hành số 3: Tổng hợp vòng điều chỉnh tốc độ quay
Hàm truyền đạt của đối tượng điều khiển vòng điều chỉnh tốc độ là :
Gkín 2 ta có thể tính theo một trong những cách sau:
1) Gkb2=feedback(Gri*Gz,1)
2) Gkb2=Grz*Giz/(1+Grz*Giz)
3) Gkb2=L1z*Bz

4) Gkb2=L2z*Bz
5) Gkb2=Gw2= x1*z^-1+x2*z^-2
6) Gkb2=Gw3=x1*z^-1+x2*z^-2+x3*z^-3
7) Gkb2 có thể xấp xỉ khâu 1/(1+2*Tt*s)

Để đơn giản, ta chọn cách tính cuối cùng
Thực hiện trong matlab
>>Gkin2=tf(1,[2*Tt 1]);
>>Gns=Gkin2*km*phi*tf(1,[2*pi*J 0]);
>>Gn=c2d(Gns,Ttm1,'FOH');
Transfer function:
Gn =

0.0001497 z^2 + 0.000531 z + 0.0001166


-------------------------------------z^2 - 1.607 z + 0.6065
Sampling time: 1e-004
Chuyển sang miền ảnh âm :
>>Gnz=filt([0.0001497 0.000531 0.0001166],[1 -1.607 0.6065],Ttm1);
Gnz =
0.0001497 + 0.000531 z^-1 + 0.0001166 z^-2
-----------------------------------------1 - 1.607 z^-1 + 0.6065 z^-2
Sampling time: 1e-004
Như vậy, ta có :
b0 = 0.0001497 ; b1 = 0.000531; b2=0.0001166; a0=1; a1= -1.607; a2= 0.6065;
3.1. Tổng hợp bộ điều khiển theo phương pháp gán điểm cực
Hàm truyền đạt của đối tượng có dạng
Như vậy, bộ điều khiển có dạng
Hàm truyền hệ kín sẽ là:

Lấy p1= -1đa thức đặc tính của hàm truyền chủ đọa có dạng:
N(z)=P(z).An(z)+R(z).Bn(z)=(z+p1).(a0z2+a1z+a2)+(r0.z+r1).(b0.z2+ b1. z+b2)
 N(z)= (r0.b0+a0).z3+ (r0.b1+r1.b0+p1.a0+a1).z2 + (r0.b2 + r1.b1+ p1.a1 + a2).z + (r1.b2
+p1.a2)
Giả sử các điểm cực là z1, z2, z3 :
N(z) = (z – z1).(z – z2).(z – z3)
N(z) = z3 – (z1 + z2 + z3).z2 + ( z1.z2 + z2.z3 + z1.z3).z – z1.z2.z3
Đồng nhất hệ số, ta có kết quả :

Chọn 2 nghiệm z1 = 0.3; z2= -0.3
Giải

hệ

ta

thu

được

nghiệm


Thực hiện trong matlab
>>Gkin2=tf(1,[2*Tt 1]);
>>Gns=Gkin2*km*phi*tf(1,[2*pi*J 0]);
Transfer function:
4.983e-006 z + 4.901e-006
------------------------z^2 - 1.951 z + 0.9512
Sampling time: 1e-005

Chuyển sang miền ảnh âm :
>>Gnz=filt([0 4.983e-6 4.901e-6],[1 -1.951 0.9512],Ttm2);
Transfer function:
4.983e-006 z^-1 + 4.901e-006 z^-2
--------------------------------1 - 1.951 z^-1 + 0.9512 z^-2
Như vậy, ta có b0 = 0; b1 = 4.983e-006; b2=4.901e-006; a0=1; a1= -1.951; a2= 0.9512;
Hàm truyền đạt của đối tượng có dạng

Lấy p1= -1 đa thức đặc tính của hàm truyền chủ đạo có dạng:
N(z)=P(z).An(z)+R(z).Bn(z) =(z-1).(z2+a1.z+a2)+(r0.z+r1).(b1.z+b2)
N(z)=z3- (1-a1-b1.r0).z2+ (a2-a1+b1.r1+b2.r0).z – (a2-b2.r1)
Giả sử các điểm cực là z1; z2;z3;
N(z)=(z-z1).(z-z2).(z-z3)
N(z)= z3– (z1+z2+z3).z2+ (z1.z2+z2.z3+z1.z3)z – z1.z2.z3
Đồng nhất hệ số, ta có kết quả
1-a1-b1r0=z1+z2+z3
a2-a1+b1.r1+b2.r0 = z1.z2+z2.z3+z1.z3
a2-b2.r1= z1.z2.z3
Chọn z1=0,9772+0,0335j; z2=0,9772-0,0335j ta có hệ phương trình sau
Giải hệ trên, ta thu được kết quả z3 = 0,9958; r0=165,027; r1=-164,326
Như vậy ta có bộ điều khiển:
• Kiểm chứng bằng mô hình simulink:


Nhận xét: Với bộ số z1 , z2, z3 ta có độ quá điều chỉnh nhỏ hơn 25% nên bộ số là hợp lý.


Đáp ứng hệ thống với tác động của nhiễu đầu vào



Nhận xét: Với tác động của nhiễu đầu vào, bộ điều khiển vẫn đưa hệ thống về giá trị cân
bằng mới


Đáp ứng của hệ thống với tác động của nhiễu đầu ra


×