thÍ nghiỆm ĐiỀu khiỂn sỐ

42
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

Upload: le-cong

Post on 20-Mar-2017

35 views

Category:

Education


8 download

TRANSCRIPT

Page 1: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 2: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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.

Mô hình động cơ 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.

Page 3: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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 :

Gi (s )= 1sT t +1

. 1sT a+1

. 1Ra

với Tt=100e-6s; Ta=La/Ra

Tính toán chuyển đổi hàm Gi(s) sang miền ảnh Z :

Gi (s )= 1sT t +1

. 1sT a+1

. 1Ra

=

1Ra

. 1Ta

. 1T t

(s+ 1T t )(s+

1Ta )

Như vậy :

Hi (s )=Gi(s)s

=

1Ra

. 1T a

. 1T t

s .(s+ 1T a

)(s+ 1T t

)=

A0

s+

A1

s+ 1T t

+A2

s+ 1T a

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

A0=1Ra

; A1=−T t

Ra(T t−T a); A2=

−T a

Ra .(T a−T t);

Như vậy :

Hi ( z )=A0 .( zz−1 )+ A1.( z

z−e−TT t )+A2 .( z

z−e−TTa )

Gi ( z )=(1−z−1 ). Hi ( z )=(1−z−1 ).( A0

1−z−1 +A1

1−z−1 .e−TT t

+A2

1−z−1 . e−TT a )

Gi ( z )=b1. z−1+b2 . z−2

a0+a1. z−1+a2 . z−2

a0=1 ; a1=−(e−TT t +e

−TT a ); a2=e

−( TT t

+ TT a

);

b1=A0 .(e−TT t +e

−TTa )+ A1. (1+e

−TT a )+A2 .(1+e

−TT t )

Page 4: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

b2=A0 . e−TT t

+−TT a +A1 . e

−TT a + A2 . e

−TT t

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

A0=4 ; A1=0.0252 ; A2=−4.0252;

- 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ì Giz10= 0.0092 . z−1+0.0066 . z−2

1−1.3616 . z−1+0.3656 . z−2

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

Giz11=0,00012091. z−1+0,00011692. z−2

1−1,9042. z−1+0,9043. z−2

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

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

Page 5: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 6: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 7: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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.

Page 8: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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.

Page 9: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Gh=1Ra

. 1s T A+1

. kM .ψ . 12π . J . s

= 6,1120.001206 . s2+0,0754. s

Hàm truyền của động cơ là: GĐC=Gh

1+Gh . k e .ψ= 6,112

0,001206. s2+0,0754. s+57,89

xk+1=A k xk+Bk uk

yk=C xk+D uk

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)

Page 10: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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 =

Page 11: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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 0Như 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ư sauT4=0,1s

xk+1=(−0,04376 −2,9276,098.10−5 −0.03995) . xk+(6.098 e−05

2.166 e−05) .uk

yk=(0 5081 ) . xk

T5=0,01s

xk+1=(−0.4989 −133,90,002789 −0,3245) . xk+( 0,002789

2,759. 10−5). uk

yk=( 0 5081 ) . xk

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)

Page 12: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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,

Page 13: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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 Giz1=0,009176. z+0,006577z2−1,362. z+0,3656

Giz1=0,009176. z−1+0,006577 z−2

1−1,362. z−1+0,3656 z z−2 = B(z−1)A (z−1)

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

Lz 2=l01+l11 . z−1+ l12 . z−2

Hàm truyền sau khai bù theo phương pháp dead-beat được tính như sau

Gri1 ( z−1 )= Lz 2 ( z−1 ) . A (z−1)1−Lz 2 ( z−1 ) . B (z−1)

với Giz1 ( z )= B(z )A (z )

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

Page 14: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 15: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 16: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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.

Page 17: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Lz 0=l0

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 =

Page 18: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 19: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 20: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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.

Page 21: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Bài tập thực hành số 3: Tổng hợp vòng điều chỉnh tốc độ quayHàm truyền đạt của đối tượng điều khiển vòng điều chỉnh tốc độ là :

Gnz=Gk í n 2. k M .ᴪ

2. π . J . sGkí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 =

Page 22: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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-004Như 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ựcHàm truyền đạt của đối tượng có dạng

Gnz ( z )=0,0001497. z2+0,000531. z+0,0001166z2−1,607. z+0,6065

=b0 . z2+b1 . z+b2

a0 z2+a1 . z+a2

=Bnz

Anz

Như vậy, bộ điều khiển có dạng

GRn ( z )=r0 . z+r1

z+ p1=

R(z)P(z)

Hàm truyền hệ kín sẽ là:

Gkb3=GRn .Gnz

1+GRn . Gnz=

R (z)P (z)

.Bn(z )An(z)

1+R(z )P(z )

.Bn(z)An(z )

=R ( z ) . Bn(z)

P ( z ) . An ( z )+R ( z ) . Bn(z )

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ả : r0 . b0+a0=1

r0 b1+r1 b0+ p1 a0+a1=−(z1 +z2+ z3)

Page 23: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

r0 b2+ p1 a0+r1 b1+a2=z1 z3+z1 z2+ z2 z3

r1 b2+ p1 a2=−z1 z2 z3

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

Gnz ( z )=4,938.10−6 . z+4,901. 10−6

z2−1,951. z+0,9512=

b1 . z+b2

z2+a1 . z+a2

=Bnz

Anz

GRn ( z )=r0 . z+r1

z+ p1=

R(z)P(z)

Gkb3=GRn .Gnz

1+GRn .Gnz=

R (z)P (z)

.Bn(z )An(z)

1+R(z )P(z )

.Bn(z)An(z )

=R ( z ) . Bn(z)

P ( z ) . An ( z )+R ( z ) . Bn(z )

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)

Page 24: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

z3+4,983. 10−6 . r0=0,99661,9505. z3−4,901.10−6 . r0−4,983. 10−6 . r1=1,94616

0,9517. z3+4,901. 10−6 . r1=0,9512

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: Gk=165,027−164,326. z−1

1−z−1

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

Page 25: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

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

Page 26: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Nhận xét: Khi có tác động của nhiễu đầu ra, đáp ứng đầu ra của hệ thống xuất hiện sai lệch nhưng bộ điều khiển vẫn nhanh chóng đưa đáp ứng hệ thống về lại giá trị đúng ban đầu

Kiểm tra sai lệch :

Page 27: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Nhận xét: Bình phương sai lệch tĩnh tiến về 0 nhanh trong một khoảng thời gian rất ngắn .3.2 Tổng hợp bộ điều khiển theo tiêu chuẩn tích phân bình phươngĐối tượng điều khiển có dạng :

Gnz ( z )=2,478. 10−6 . z2+4.956 .10−6 . z+2,478. 10−6

z2−1,951. z+0,9512=

b0 . z2+b1. z+b2

z2+a1 . z+a2

=Bnz

Anz

Sai lệch tĩnh:

Ez= Wz1+Grz .Gnz

Sai lệch điều chỉnh viết dưới dạng sai phân:

=> ek=1

1+r 0. b0.¿

Với wk=1 với mọi k≥ 0

K=0→ e0=1

K=1→ e0=1−r 0.b1

K=2→ e0=1+(a1 b1−2b1b2) r 0+b12r 0

2−b1r1

K=3→ e0=−(a1−1+b1 r0 ) .¿

Tiêu chuẩn tích phân bình phương:

Page 28: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

I=∫0

e (t)2 . dt → min

IQ=∑k=0

m

ek2→ min

Mô phỏng khảo sát:

Sử dụng Optimization toolbox của Matlab:

Lập file function1.m lưu ở folder đã liên kết với Matlab có nội dung như sau:

function F=function1(r)a0=1;a1=-1.951;a2=0.9512;b0=2.478e-006;b1=4.956e-006;b2=2.478e-006;F=1+(1-r(1)*b1)^2+(1+(a1*b1-2*b1*b2)*r(1)+b1^2*r(1)^2-b1*r(2))^2+(-(-a1-1+r(1)*b1)*(1+(a1*b1-2*b1*b2)*r(1)+b1^2*r(1)^2-b1*r(2))-(a2-a1+r(1)*b2+r(2)*b1)*(1-r(1)*b1)-(r(2)*b2-a2))^2;Cửa sổ lệnh Matlab thực hiện các lệnh tìm tối ưu như sau:

options=optimset('fminunc');

options=optimset(options,'Display','iter','LargeScale','off');

r0=[-1000 1000];

[r,fval]=fminunc('function1',r0,options);

Kết quả thu được :

r = 55 -54.5

từ kết quả trên ta có r0=55 và r1= -54.5

Kiểm tra lại bộ điều khiển bằng Matlab:

Page 29: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Nhận xét: Độ quá điều chình khoảng 17% ( <25% ) nên bộ điều khiển đáp ứng được yêu cầu của hệ thống.

Đáp ứng hệ thống với nhiễu đầu vào :

Page 30: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Đáp ứng hệ thống với nhiễu đầu ra :

Nhận xét: Khi có tác động của nhiễu đầu ra, đáp ứng đầu ra của hệ thống xuất hiện sai lệch nhưng bộ điều khiển vẫn nhanh chóng đưa đáp ứng hệ thống về lại giá trị đúng ban đầu.

Kiểm tra sai lệch :

Page 31: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Nhận xét: Bình phương sai lệch tĩnh của hệ thống tiến dần về 0 trong khoảng thời gian ngắn

Bài tập thực hành số4 - Tổng hợp bộ ĐC tốc độquay trên KGTTMô hình của đối tượng ĐK đã được xây dựng tại câu (4) của bài tập thực hành số1.

(1) Tổng hợp bộ điều khiển tốc độ quay theo 2 phương pháp:

+ ) Phản hồi trạng thái sao cho đáp ứng có dạng PT1 (điểm cực nhận giá trị thực dương trên miền z)

+) Đáp ứng hữu hạn (Dead-Beat: gán điểm cực tại gốc tọa độtrên miền ảnh z)

(2) Mô phỏng khảo sát so sánh hai phương pháp ĐK

4.1. Tổng hợp bộ điều khiển theo phương pháp phản hồi trạng thái

Theo bài thí nghiệm số (1) ta có hàm truyền của hệ kín trên miền liên tục là

GĐC=Gh

1+Gh. k e .ψ= 6,112

0,001206. s2+0,0754. s+58,04

Với Ttm3=0.1s ta chọn p3=(0,641 0,68)>>p3=[0.641 0.68];>>K3=place(Ak3,Bk3,p3)

Page 32: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

K3 =

1.0e+004 *

-0.8581 -4.3037

>>G3=ss(Ak3-Bk3*K3,Bk3,C,D,Ttm3)

a =

x1 x2

x1 0.431 -0.2817

x2 0.1856 0.89

b =

u1

x1 5.535e-005

x2 2.162e-005

c =

x1 x2

y1 0 5081

d =

u1

y1 0

Sampling time: 0.1

>>step(G3); grid on;

Page 33: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

với Ttm4=0,01s chọn p4=(0,455 0,542)

>> p4=[0.455 0.542];>>K4=place (Ak4,Bk4,p4)

K4 =

1.0e+004 *

-0.0229 -4.3040>>G4=ss(Ak4-Bk4*K4,Bk4,C,D,Ttm4)

a = x1 x2 x1 0.1372 -14.14 x2 0.009101 0.8598 b = u1 x1 0.002779 x2 2.756e-005 c = x1 x2 y1 0 5081

Page 34: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

d = u1 y1 0 Sampling time: 0.01>>step(G4); grid on

Nhận xét: Ta nhận thấy với Ttm3 = 0,1s, chọn điểm cực p3=( 0.641;0.68)và với Ttm4 = 0,01s, chọn điểm cực p4=(0,455;0,542) đều cho đáp ứng của hệ giống với khâu PT1 mà không có sai lệch tĩnh, tuy nhiên thời gian xác lập của hệ với điểm cực p3 lâu hơn thời gian xác lập của hệ với điểm cực p4.Như vậy việc mô phỏng hàm truyền đạt càng tỉ mì với thời gian xác lập càng ngắn thì việc thiết kế bộ điều khiển cho hàm truyền càng chính xác

4.2.Tổng hợp bộ điều khiển theo phương pháp đáp ứng hữu hạn ( Dead Beat)Chọn điểm cực tại gốc tọa độ p = (0 0) với cả hai chu kỳ trích mẫuVới Ttm3=0,1sHoàn toàn tương tự với các thao tác đã làm với phương pháp đáp ứng hữu hạn

>>p=[0 0];>>Kp3=acker(Ak3,Bk3,p);>>Gp3=ss(Ak3-Bk3*Kp3,Bk3,C,D,Ttm3); >>Kp4=acker(Ak4,Bk4,p);

Page 35: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

>>Gp4=ss(Ak4-Bk4*Kp4,Bk4,C,D,Ttm4); Kết quả mô phỏng

Mô phỏng đáp ứng hệ thống với Ttm3=0.1s (Hàm Gp3)

Page 36: THÍ NGHIỆM ĐIỀU KHIỂN SỐ

Mô phỏng đáp ứng hệ thống với Ttm4=0.01s (Hàm Gp4)

Nhận xét: Như vậy ta nhận thấy tồn tại sai lệch tĩnh lớn khi thiết kế bộ điều khiển cho đối tượng được khảo sát bằng phương pháp đáp ứng hữu hạn tồn tai sai lệch tĩnh lớn hơn nhiều so với thiết kế bộ điều khiển theo phương pháp phản hồi trạng thái