Tải bản đầy đủ (.pdf) (29 trang)

báo cáo thí nghiệm điều khiển số trường đại học BKHN

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 (1.25 MB, 29 trang )

Báo cáo thí nghiệm môn “ Điều khiến số”
1. Bài tập 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 trên miền ảnh z của vòng ĐK dòng phần ứng.

Hình 1: sơ đồ hệ thống điều khiển ĐCMC theo cấu trúc Cascade.
Xét vòng điều khiển dòng phần ứng như hình dưới

Ở đây, ta sẽ coi eA = 0, nên ta sẽ được hàm truyền đạt của vòng điều khiển dòng
phần ứng sẽ là:
Gi =

1

.

1

.

1

1+𝑠𝑇𝑡 𝑅𝐴 1+𝑠𝑇𝐴

Thay số vào ta sẽ được: Gi =
=

1
4 . 10−6 𝑠2 + 4,025 .10−3 . 𝑠+0,25

2500000
(s + 10000). (s + 62,5)



=> Hi (s) =

Gi (s)
2500000
4
0,025
4,025
=
= +

s
s. (s + 10000). (s + 62,5)
s s + 10000 s + 62,5

=>
𝐻𝑖𝑧 = (

4z
0,025z
4,025z
)
+

z − 1 z − e−10000T z − e−62,5T

1

Vũ Duy Hùng – TĐH 03 K57



Báo cáo thí nghiệm môn “ Điều khiến số”
Chuyển sang miền z ta có:
Giz = (1 − z −1 ). Hiz = (1 − z −1 ). (

4z
0,025z
4,025z
)
+

−10000T
z−1 z−e
z − e−62,5T

+ Với T1=0.1ms ta tính được Giz1:
0.00917637z+0.00657735
Giz7 = 2
z −1.36164z+0.365587
+ Với T2=0.01ms ta tính được Giz2:
0.00012091z+0.00011692
Giz8 = 2
z −1.90421261z+0.90427207

1.2. Sử dụng câu lệnh c2d của matlab để tìm hàm truyền đạt trên
miền ảnh z theo các phương pháp ZOH, FOH và Tustin.
Thực hiện bằng matlab:
>> ra=0.25;la=4e-3;ta=la/ra;tt=100e-6;t1=0.1e- 3;t2=0.01e-3;
>> gi=tf([1],[tt 1])*(1/ra)*tf([1],[ta 1]);
>> giz1=c2d(gi,t1,'zoh');

>> giz2=c2d(gi,t1,'foh');
>> giz3=c2d(gi,t1,'tustin');
>> giz4=c2d(gi,t2,'zoh');>> giz5=c2d(gi,t2,'foh');
>> giz6=c2d(gi,t2,'tustin');

2

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Chúng ta sẽ thu được kết quả như sau
Giz1

Giz2

Giz3

Giz4

Giz5

Giz6

1.3.

0.009176 z + 0.006577
---------------------z^2 - 1.362 z + 0.3656
0.003298 z^2 + 0.01046 z + 0.001998
----------------------------------z^2 - 1.362 z + 0.3656

0.004154 z^2 + 0.008307 z + 0.004154
-----------------------------------z^2 - 1.327 z + 0.3313
0.0001209 z + 0.0001169
----------------------z^2 - 1.904 z + 0.9043
4.064e-05 z^2 + 0.0001585 z + 3.865e-05
--------------------------------------z^2 - 1.904 z + 0.9043
5.951e-05 z^2 + 0.000119 z + 5.951e-05
-------------------------------------z^2 - 1.904 z + 0.9042

Mô phỏng và khảo sát.

Ta sẽ dung lệnh step( ) để vẽ đồ thị của các hàm truyền bằng matlab
Lệnh thực hiện trên matlab như sau:
>> step(giz)
>> hold on
>> step(giz1)
>> step(giz2)
>> step(giz3)
>> step(giz4)
>> step(giz5)
>> step(giz6)
>> step(giz7)
>> step(giz8)

3

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”

Ta sẽ thu được kết quả như hình sau

Hình ảnh phóng to như sau:

Từ hình vẽ mô phỏng ta có thể rút ra nhận xét như sau:
-

Chu kỳ trích mẫu càng bé thì đồ thị hàm truyền z sẽ càng bám sát đồ thị hàm
truyền liên tục của đối tượng.
2 phương pháp ZOH và Tustin thu được đồ thị hàm truyền như nhau.
4

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
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 T=0,01s và T=0,1s. Mô phỏng đáp ứng bước nhảy của 2 mô hình
thu được.

1.4.

Từ hình trên ta rút ra được mô hình hàm truyền hệ hở của động cơ như sau:
Gh =

1
𝑅𝐴

.


1
1+𝑠𝑇𝐴

. 𝑘𝑀 𝛹 .

Thay số ta sẽ có Gh =
Lại có Gk =

1
2𝜋𝐽𝑠
6,112

0,001206 𝑠2 +0,0754𝑠

𝐺ℎ.𝑘𝑒.𝑤
1+𝐺ℎ.𝑘𝑒.𝑤

=

6,112
0,001206𝑠2 +0,0754 𝑠+57,89

Thực hiện bằng matlab như sau:
>> Gk = tf([0 6.112],[0.001206 0.0754 57.89])
Gk =
6.112
------------------------------0.001206 s^2 + 0.0754 s + 57.89
>> [A B C D] = tf2ss([0 0 6.112],[0.001206 0.0754 57.89])
A =

1.0e+04 *
-0.0063

-4.8002

0.0001

0

B =
1
0
5

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
C =
1.0e+03 *
0

5.0680

D =
0
x(t) = [

Vậy ta có:


−63
0

y(t) = [0
-

−47987 ( )
1
].𝑥 𝑡 + [ ]
1
0

5066,3]𝑇 .x(t)

Mô hình trạng thái của động cơ trên miền thời gian gián đoạn là
*) Với T1 = 0,1s
Thực hiện trên matlab như sau:

>> [Phi,H]=c2dm(A,B,C,D,0.1)
Phi =
-0.0438
0.0001

-2.9271
-0.0399

H =
1.0e-04 *
0.6098
0.2166

Vậy ta có:

xk+1 = ɸ(T).xk + H(T) . uk
yk = CT . xk


−𝟎, 𝟎𝟒𝟑𝟖 −𝟐, 𝟗𝟐𝟕𝟏
𝟎, 𝟔𝟎𝟗𝟖. 𝟏𝟎−𝟒
] 𝒙𝒌 + [
]
𝟎, 𝟎𝟎𝟎𝟏 −𝟎, 𝟎𝟑𝟗𝟗
𝟎, 𝟐𝟏𝟔𝟔. 𝟏𝟎−𝟒
yk = [𝟎 𝟓𝟎𝟔𝟔, 𝟑]𝒙𝒌

xk+1 = [

6

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
*) với T2 = 0,01s
Thực hiện bằng matlab như sau:
>> [Phi,H]=c2dm(A,B,C,D,0.01)
Phi =
-0.4989 -133.8566
0.0028
-0.3245
H =

0.0028
0.0000
Vậy ta có:
−𝟎, 𝟒𝟗𝟖𝟗 −𝟏𝟑𝟑, 𝟖𝟓𝟔𝟔
𝟎, 𝟎𝟎𝟐𝟖
] 𝒙𝒌 + [
]
𝟎, 𝟎𝟎𝟐𝟖
−𝟎, 𝟑𝟐𝟒𝟓
𝟎
yk = [𝟎 𝟓𝟎𝟔𝟔, 𝟑]𝒙𝒌

xk+1 = [

-

Mô phỏng bằng Simulink như sau:
T1 = 0,1 s

7

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
T2 = 0,01 s

2. Bài tập thực hành số 2 – tổng hợp vòng điều chỉnh dong phần ứng ( điều
khiển mômen quay).
2.1. Thiết kế bộ điều chỉnh dòng theo phương pháp Dead-Beat.

Hàm truyền được chọn: Giz7 =

0.00917637z+0.00657735
z2 −1.36164z+0.365587

Áp dụng phương pháp Dead-Beat:
GRi (z-1) =

𝐿(𝑧 −1 ) . 𝐴(𝑧 −1 )
1−𝐿(𝑧 −1 ).𝐵(𝑧 −1 )

Tìm L(𝑧 −1 ), Bâc 1: L1(z-1) = l0 + l1 z-1
Bậc 2: L2(z-1) = l01 + l11 z-1 + l21 z-2
Với các thông số được tính như sau:
l0 = (𝑎0
l01 =
l21 =

𝑎0

− 𝑎1

− 𝑎1).(𝑏0+𝑏1+𝑏2)

; l1 = (𝑎0−𝑎1).(𝑏0+𝑏1+𝑏2)

𝑎02
[𝑎02 +𝑎12 −𝑎0.(𝑎1+𝑎2)] .(𝑏0+𝑏1+𝑏2)

; l11 =


−𝑎0.𝑎1
[𝑎02 +𝑎12 −𝑎0.(𝑎1+𝑎2)] .(𝑏0+𝑏1+𝑏2)

𝑎12 −𝑎0.𝑎2
[𝑎02 +𝑎12 −𝑎0.(𝑎1+𝑎2)] .(𝑏0+𝑏1+𝑏2)

sau khi tìm được L(z-1) ta thay vào trên để tìm ra GRi

8

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Thực hiện bằng matlab như sau:
>> gi7=tf([0.00917 0.00657],[1 -1.3616 0.36558],0.0001);
>> b0=0;b1=0.009176;b2=0.006577;a0=1;a1=-1.3616;a2=0.3655;
>> L0=a0/((a0-a1)*(b0+b1+b2));
>> L1=-a1/((a0-a1)*(b0+b1+b2));
>> L01=a0*a0/(((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2)));
>> L11=-a0*a1/(((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2)));
>> L21=(a1^2-a0*a2)/(((a0^2+a1^2-a0*(a1+a2))*(b0+b1+b2)));
>> Lz1=filt([L0 L1],[1],0.0001);
>> Lz2=filt([L01 L11 L21],[1],0.0001);
>> Az(-1)=filt([a0 a1 a2],[1],0.0001);
>> Bz=filt([b0 b1 b2],[1],0.0001);
>> Gri1=(Lz1*Az)/(1-Lz1*Bz);
>> Gri1
>> Gri2=(Lz2*Az)/(1-Lz2*Bz);

>> Gri2
>> Gk1=Gri1*gi7/(1-Gri1*gi7)
>> step(Gk1)
>> Gk2=Gri2*gi7/(1-Gri2*gi7)
>> step(Gk2)
Ta thu được kết quả như sau:
L1(z-1)
L2(z-1)
A(z-1)
B(z-1)
Gri1

Gri2

26.88 + 36.6 z^-1
16.48 + 22.45 z^-1 + 24.55 z^-2
1 - 1.362 z^-1 + 0.3655 z^-2
0.009176 z^-1 + 0.006577 z^-2
26.88 - 40.03 z^-2 + 13.38 z^-3
------------------------------------------1 - 0.2466 z^-1 - 0.5126 z^-2 - 0.2407 z^-3
16.48 + 3.553e-15 z^-1 - 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
9

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Gk1


Gk2

0.2466 z^-1 - 0.2199 z^-2 - 0.6051 z^-3 + 0.5742 z^-4 +
0.3441z^-5 - 0.2998 z^-6 - 0.1021 z^-7 + 0.04492 z^-8 +
0.02472 z^-9 - 0.007747 z^-10
----------------------------------------------------------------------------1 - 2.97 z^-1 + 2.744 z^-2 - 0.4778 z^-3 - 0.2902 z^-4 - 0.1449
z^-5 + 0.171 z^-6 - 0.03223 z^-7 + 9.3e-06 z^-8 + 7.813e-06 z^-9
- 4.238e-07 z^-10
0.1512 z^-1 - 0.1204 z^-2 - 0.1251 z^-3 - 0.2037 z^-4 + 0.3016
z^-5 + 0.1636 z^-6 - 0.1106 z^-7 - 0.04477 z^-8 - 0.03868 z^-9 +
0.02034 z^-10 + 0.009863 z^-11- 0.003484 z^-12
-----------------------------------------------------------------------------1 - 2.874 z^-1 + 2.683 z^-2 - 0.9033 z^-3 + 0.3255 z^-4 0.2314 z^-5 - 0.08813 z^-6 + 0.1108 z^-7 - 0.02162 z^-8
- 1.792e-05 z^-9 + 5.238e-06 z^-10 + 3.446e-06 z^-11 –
1.906e-07 z^-12

Kết quả mô phỏng Gk1 và Gk2 như sau
Gk1

10

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Gk2

Mô phỏng băng Simulink như sau

11


Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Ta thu được kết quả
Bộ điều khiển cho tín hiệu ra bám theo tín hiệu đặt sau 3 chu kỳ trích mẫu

Bộ điều khiển cho tín hiệu ra bám theo tín hiệu đặt sau 4 chu kỳ trích mẫu

2.2.

Thiết kế bộ ĐC dòng theo phương pháp cân bằng mô hình sao cho tốc độ
đáp ứng của giá trị thực là 2 và 3 chu kỳ T1
−1
Gw(z-1) = ∑𝑁
với điều kiện là ∑𝑁
𝑖=1 𝑥𝑖 . 𝑧
𝑖=1 𝑥𝑖 = 1
Th1: sau 2 lần T1 thì xác lập (N=2):
Ta chọn: Gw2(z-1) = 0,6.z-1 + 0,4.z-2
Th2: sau 3 lần T2 thì xác lập (N=3):
Ta chọn: Gw3(z-1) = 0,5.z-1 + 0,3.z-2 + 0,2.z-2
12

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Sau đó Gri(z-1) =


1

𝐺𝑤

𝐺𝑖(𝑧 −1 ) (1−𝐺𝑤)

Thực hiện bằng matlab như sau:
>> gi7=tf([0 0.00917637 0.006577],[1 -1.3616
0.36558],0.0001);
>> gw2=filt([0 0.6 0.4],[1],0.0001);
>> gw3=filt([0 0.5 0.3 0.2],[1],0.0001);
>> Gr2z=gw2/(gi7*(1-gw2));
>> Gr3z=gw3/(gi7*(1-gw3));
Ta thu được kết quả như sau:
Gw2
0.6 z^-1 + 0.4 z^-2
Gw3
0.5 z^-1 + 0.3 z^-2 + 0.2 z^-3
-1
Gr2(z )
0.6 - 0.417 z^-1 - 0.3253 z^-2 + 0.1462 z^-3
-------------------------------------------------------0.009176 + 0.001071 z^-1 - 0.007617 z^-2 - 0.002631 z^-3
-1
Gr3(z ) 0.5 - 0.3808 z^-1 - 0.02569 z^-2 - 0.1626 z^-3 + 0.07312 z^-4
-----------------------------------------------------------------------0.009176 + 0.001989 z^-1 - 0.006041 z^-2 - 0.003808 z^-3 0.001315 z^-4
>> gk2=Gr2z*gi7/(1+Gr2z*gi7);
>> step(gk2);

13


Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
>> gk3=Gr3z*gi7/(1+Gr3z*gi7);
>> step(gk3);

Mô phỏng bằng Simulink như sau:

Bộ điều khiển cho tín hiệu ra bám theo tín hiệu đặt sau 2 chu kỳ

14

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Bộ điều khiển cho tín hiệu ra bám theo tín hiệu đặt sau 3 chu kỳ

3. Bài tập thực hành số 3 – tổng hợp vòng điều chỉnh tốc độ quay.
3.1. Xác định hàm truyền đạt trên miền ảnh z của đối tượng.
Gn = Gk(bài 2) . km𝛹 .

1
2𝜋𝐽𝑠

Với Gk(bài 2) được tính theo công thức gần đúng như sau:
Gk(bài 2) =

1

2𝑇𝑡.𝑠+1

Thay số ta suy ra: Gn =
Hs =

𝐺𝑛
𝑠

=

=

1
0,0002𝑠+1
20.252

𝑠(0,0002𝑠+1)

20,252
𝑠 2 (0,0002𝑠+1)
𝑧

Hz = -4.10-3.

𝑧−1

=

+ 20,252.


Gnz = (1-z-1).Hz =

−4.10−3
𝑠
𝑧.𝑇𝑡

(𝑧−1)2

+

20,252
𝑠2

𝑧 2 −1,607𝑧+0,6065

0,0002𝑠+1

𝑧

+ 4.10-3.

0,0004315𝑧+0,0003654

+

8.10−7

𝑧−𝑒 −5000𝑇𝑡

=


𝑏0.𝑧 2 + 𝑏1.𝑧+𝑏2
𝑎0.𝑧 2 +𝑎1.𝑧+𝑎2

Xây dựng bộ điều khiển PI:
GRn(z) =

Gk =

𝑟0.𝑧+𝑟1
𝑧+𝑝1

𝐺𝑅𝑛 .𝐺𝑛𝑧
1+𝐺𝑅𝑛 .𝐺𝑛𝑧

=
=

𝑅
𝑃

với p1 = -1, suy ra GRn(z) =

𝑅 𝐵𝑛
.
𝑃 𝐴𝑛
𝑅 𝐵𝑛
1+ .
𝑃 𝐴𝑛


=

𝑟0.𝑧+𝑟1
𝑧−1

𝑅.𝐵𝑛
𝑃.𝐴𝑛+𝑅.𝐵𝑛

Gk ổn định khi và chỉ khi : N(z) = P.An + R.Bn, phải có tất cả các nghiệm nằm
trong đường tròn đơn vị.
15

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
N(z) = z3(a0+r0.b0) + z2(a0.p1+a1+r0.b1+r1.b0) + z(a2+a1.p1+r0.b2+r1.b1) +
a2.p1 + r1.b2.
Chọn 3 nghiệm của N(z) = 0 là z1, z2, z3.
Ta sẽ có: N(z) = z3 + z2(-z1-z2-z3) + z(z1.z2+z2.z3+z3.z1) – z1.z2.z3.
Cân bằng hệ số 2 vế của pt ta được:
𝑎0 + 𝑟0. 𝑏0 = 1
𝑎0. 𝑝1 + 𝑎1 + 𝑟0. 𝑏1 + 𝑟1. 𝑏0 = −𝑧1 − 𝑧2 − 𝑧3
{
𝑎2 + 𝑎1. 𝑝1 + 𝑟0. 𝑏2 + 𝑟1. 𝑏1 = 𝑧1. 𝑧2 + 𝑧2. 𝑧3 + 𝑧3. 𝑧1
𝑎2. 𝑝1 + 𝑟1. 𝑏2 = −𝑧1𝑧2𝑧3
𝑧1. 𝑧2 = 𝑘1
suy ra hệ trên sẽ được biểu diễn dưới dang nhân
𝑧1 + 𝑧2 = 𝑘2
A.X = B


Để z3 ẩn ta chọn {
ma trận như sau:

−𝑘2 − 𝑎1 − 𝑎0𝑝1
𝑏1 𝑏0 1
Với A = [𝑏2 𝑏1 −𝑘2]; B = [ 𝑘1 − 𝑎2 − 𝑎1𝑝1 ]; X = [𝑟0 𝑟1 𝑧3]𝑇
0 𝑏2 𝑘1
−𝑎2𝑝1
Chọn z1, z2 một cách hợp lý ta sẽ tính được z3, r0 và r1 thỏa mãn bài toán.
Lệnh thực hiện bằng matlab như sau:
>> b0=0;b1=0.0004315;b2=0.0003654;
>> a0=1;a1=-1.607;a2=0.6065;
>> p1=-1;
>> z1=0.9;z2=0.9;
>> k1=z1*z2;
>> k2=z1+z2;
>> A=[b1 b0 1;b2 b1 -k2;0 b2 k1];
A =
0.0004

0

1.0000

0.0004

0.0004

-1.8000


0

0.0004

0.8100

16

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
>> B=[-k2-a1-a0*p1;k1-a2-a1*p1;-a2*p1];
B =
0.8070
-1.4035
0.6065
>> X=inv(A)*B;
X =
67.4043
-64.6174
0.7779
>> Gr=filt([67.4043 -64.6174],[1 -1],0.0001)
Gr =
67.4 - 64.62 z^-1
----------------1 - z^-1
>> Gn=filt([b0 b1 b2],[a0 a1 a2],0.0001)
Gn =
0.0004315 z^-1 + 0.0003654 z^-2

------------------------------1 - 1.607 z^-1 + 0.6065 z^-2
>> Gk=feedback(Gn*Gr,1)
Gk =
0.02908 z^-1 - 0.003253 z^-2 - 0.02361 z^-3
------------------------------------------1 - 2.578 z^-1 + 2.21 z^-2 - 0.6301 z^-3
>> pole(Gk)
ans =
0.9000 + 0.0005i
17

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
0.9000 - 0.0005i
0.7779
>> step(Gk)
Chúng ta thu được kết quả mô phỏng như sau

Nhận thấy:
-

Độ quá điều chỉnh: σ = 24,5% < 30%
Thời gian xác lập: Δt = 0,00616s < 0,12s

Mô phỏng bằng matlab như sau:

18

Vũ Duy Hùng – TĐH 03 K57



Báo cáo thí nghiệm môn “ Điều khiến số”
Ta thu được kết quả mô phỏng như sau:

Tổng hợp bộ điều chỉnh PI cho mạch vòng tốc độ theo tiêu chuẩn tích phân
bình phương.
Bộ điều chỉnh PI có hàm truyền là:

3.2.
-

GRn(z) =
-

P(z)

=

𝑟0.𝑧+𝑟1
𝑧+𝑝1

với p1 = -1

Đối tượng điều khiển có hàm truyền đạt:
Gn(z) =

-

R(z)


𝐵𝑛(𝑧)
𝐴𝑛(𝑧)

=

𝑏0.𝑧 2 +𝑏1.𝑧+𝑏2
𝑎0.𝑧 2 +𝑎1.𝑧+𝑎2

Với b0 = 0; b1=0,0004315; b2 = 0,0003654; a0 = 1; a1 = -1.607; a2 = 0.6065
Sai lệch điều chỉnh:
E(z) = 𝑤(𝑧).

𝑃(𝑧).𝐴𝑛(𝑧)
𝑃(𝑧).𝐴𝑛(𝑧)+𝑅(𝑧).𝐵𝑛(𝑧)

Suy ra :
[P(z).An(z) + R(z).Bn(z)].E(z) = P(z).An(z).W(z)
 [(a0 + b0r0)z3 + (a0p1+a1+a0r1+b1r0)z2 + (a1p1+a2+b1r1+b2r0)z + (a2p1 +
b2r1)] . E(z) = [a0z3 + (a0p1 + a1)z2 + (a1p1+a2)z + a2p1] . W(z)
-

Chuyển phương trình trên về dạng sai phân ta được:
ek = [a0.wk + (a0p1 + a1)wk-1 + (a1p1+ a2)wk-2 + a2p1wk-3 – (a0p1+ a1+ b0r1+
b1r0)ek-1 – (a1p1+a2+b1r1+b2r0)ek-2 – (a2p1+b2r1)ek-3] / (a0 + b0r0)

-

Lập Jk = ∑𝑁
𝑘=0 𝑒𝑘 = 𝑓(𝑟0, 𝑟1), xác định r0 và r1 để Jk => min.

19

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
-

Thực hiện bằng matlab như sau:
% soạn m.file

function Ik = bai3(r)
b1=0.0004315;b2=0.0003654;a0=1;a1=-1.607;a2=0.6065;p1=-1;
e(1)=1/a0*(a0+a1+a0*p1-(a1+a0*p1+r(1)*b1));
e(2)=1/a0*(a0+a1+a0*p1+a2+a1*p1-e(1)*(a1+a0*p1+r(1)*b1)(a2+p1*a1+r(2)*b1+r(1)*b2));
e(3)=1/a0*(a0+a1+a0*p1+a2+a1*p1+p1*a2e(2)*(a1+a0*p1+r(1)*b1)-e(1)*(a2+p1*a1+r(2)*b1+r(1)*b2)(p1*a2+r(2)*b2));
k=4:800;w(k)=1;w(k-1)=1;w(k-2)=1;w(k-3)=1;
Ik=1+e(1)^2+e(2)^2+e(3)^2;
for k=4:1:800
e(k)=w(k)*(a0)+w(k-1)*(a1+a0*p1)+w(k-2)*(a2+a1*p1)+w(k3)*(p1*a2)-e(k-1)*(a1+a0*p1+r(1)*b1)-e(k2)*(a2+p1*a1+r(2)*b1+r(1)*b2)-e(k-3)*(p1*a2+r(2)*b2);
Ik=Ik+e(k)^2;
End
- Thực hiện trên command window như sau:
>> options=optimset('fminunc')
>>options=optimset(options,'Display','iter','Largescale','of
f');
>> r0=[0.8 -0.8]
r0 =
0.8000
-0.8000

>> [r,fval]=fminunc('bai3',r0,options)
First-order
Iteration Func-count
0
3
1
24
2
27
3
30
4
33
5
48
6
51
7
54
8
57
9
60
10
63
11
66
12
69
13

72
14
75
15
78
16
81
17
84

f(x)
220.691
209.493
207.379
207.263
207.261
207.154
206.692
205.015
200.925
190.789
163.701
88.6916
56.5897
43.2184
32.2309
24.6382
18.8459
14.5383


Step-size
1.73481e-08
1
1
1
1251.28
1
1
1
1
1
1
1
1
1
1
1
1

optimality
3.5e+04
1.13e+04
2.81e+03
404
69
1.26e+03
3.49e+03
8.09e+03
1.38e+04
1.87e+04

1.64e+04
2.86e+03
693
293
115
49.7
21.6
9.69

20

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
18
19
Iteration
20
21
22
23
24
25
26
27

87
90


11.2897
8.85007

1
1

Func-count
93
96
99
102
105
108
111
114

f(x)
7.01704
5.64454
4.62302
3.87192
3.33245
2.96294
2.73347
2.61756

Step-size
1
1
1

1
1
1
1
1

4.46
2.11
First-order
optimality
1.04
0.527
0.281
0.157
0.0938
0.0601
0.0421
0.0327

r =
261.7904 -261.6155
fval =
2.6176
>> Gr=filt([r(1) r(2)],[1 -1],0.0001)
Gr =
261.8 - 261.6 z^-1
-----------------1 - z^-1
>> Gnz=filt([0.0004315 0.0003654],[1 -1.607 0.6065],0.0001)
Gnz =
0.0004315 + 0.0003654 z^-1

---------------------------1 - 1.607 z^-1 + 0.6065 z^-2
>> gk=feedback(Gnz*Gr,1)
gk =
0.113 - 0.01723 z^-1 - 0.09559 z^-2
--------------------------------------------1.113 - 2.624 z^-1 + 2.118 z^-2 - 0.6065 z^-3

21

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
>> pole(gk)
ans =
0.9993
0.6793 + 0.2896i
0.6793 - 0.2896i
>> step(gk)
-

Ta thu được tín hiêu ra như sau

-

Nhận thấy: độ quá điều chỉnh là 9,77% < 30%
Thời gian xác lập là 000112s <0,12s
Thỏa mãn yêu cầu của bài toán đề ra.

Mô phỏng bằng Simulink như sau:


22

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Ta thu được kết quả mô phỏng như sau:
Kết quả tín hiệu đầu ra (hình bên trái) và kết quả TPBP sai lệch (hình bên phải)

4. Bài tập thực hành số 4 – tổng hợp bộ ĐC tốc độ quay trên KGTT
4.1. Tổng hợp bộ điều khiển tốc độ quay theo phương pháp “ phản hồi trạng
thái sao cho đáp ứng có dạng PTI “
- Chọn 2 điểm cực là z1 = 0,5; z2 = 0,7
*) Với T1 = 0,1s
-

Mô hình trạng thái của động cơ trên miền gián đoạn là:
−𝟎, 𝟎𝟒𝟑𝟖 −𝟐, 𝟗𝟐𝟕𝟏
𝟎, 𝟔𝟎𝟗𝟖. 𝟏𝟎−𝟒
] 𝒙𝒌 + [
]
𝟎, 𝟎𝟎𝟎𝟏 −𝟎, 𝟎𝟑𝟗𝟗
𝟎, 𝟐𝟏𝟔𝟔. 𝟏𝟎−𝟒
yk = [𝟎 𝟓𝟎𝟔𝟔, 𝟑]𝒙𝒌

xk+1 = [
-

Thực hiện bằng matlab như sau:


>> p=[0.5 0.7]
p =
0.5000

0.7000

>> phi1=[-0.0438 -2.9271;0.0001 -0.0399]
phi1 =
-0.0438

-2.9271
23

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
0.0001

-0.0399

>> h1=[0.6098e-4;0.2166e-4]
h1 =
1.0e-04 *
0.6098
0.2166
>> R1=acker(phi1,h1,p)
R1 =
1.0e+04 *
-0.6355


-4.1374

>> C=[0 5066.3]
C =
1.0e+03 *
0 5.0663
>> I=[1 0;0 1]
I =
1

0

0

1

>> K1=inv(C*inv(I+h1*R1-phi1)*h1)
K1 =
1.3092
Vậy bộ điều chỉnh cần tìm có: R1 = [-6355 -41374], khâu tiền xử lý K1 = 1.3092
*)Với T2 = 0,01s
-

Mô hình trạng thái của mô hình động cơ trên miền gián đoạn là:
−𝟎, 𝟒𝟗𝟖𝟗 −𝟏𝟑𝟑, 𝟖𝟓𝟔𝟔
𝟎, 𝟎𝟎𝟐𝟖
] 𝒙𝒌 + [
]
xk+1 = [

𝟎, 𝟎𝟎𝟐𝟖
−𝟎, 𝟑𝟐𝟒𝟓
𝟎
yk = [𝟎 𝟓𝟎𝟔𝟔, 𝟑]𝒙𝒌

24

Vũ Duy Hùng – TĐH 03 K57


Báo cáo thí nghiệm môn “ Điều khiến số”
Thực hiện bằng matlab như sau:

-

>> phi2=[-0.4989 -133.8566;0.0028 -0.3256]
Phi2 =
-0.4989 -133.8566
0.0028

-0.3256

>> h2=[0.0028;0]
h2 =
0.0028
0
>> R2=acker(phi1,h1,p)
R2 =
1.0e+04 *
-0.0723


6.0196

>> K2=inv(C*inv(I+h2*R2-phi2)*h2)
K2 =
3.7765
Vậy bộ điều chỉnh cần tìm có R2 = [-723 60196], khâu tiền xử lý K2 = 3,7765
Tổng hợp bộ điều khiển tốc độ quay theo phương pháp “đá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)
Chọn 2 điểm cực là z1=z2=0
*) Với T1 = 0,1 s
Mô hình trạng thái của động cơ trên miền gián đoạn là:
−𝟎, 𝟎𝟒𝟑𝟖 −𝟐, 𝟗𝟐𝟕𝟏
𝟎, 𝟔𝟎𝟗𝟖. 𝟏𝟎−𝟒
] 𝒙𝒌 + [
]
xk+1 = [
𝟎, 𝟎𝟎𝟎𝟏 −𝟎, 𝟎𝟑𝟗𝟗
𝟎, 𝟐𝟏𝟔𝟔. 𝟏𝟎−𝟒
yk = [𝟎 𝟓𝟎𝟔𝟔, 𝟑]𝒙𝒌
Thực hiện bằng matlab như sau:

4.2.
-

-

>> p=[0 0]
p =
0


0

>> phi1=[-0.0438 -2.9271;0.0001 -0.0399]
25

Vũ Duy Hùng – TĐH 03 K57


×