46
Sinh viên :Mai Thế Hòa MSSV:20081090 Lớp :TDH1-K53 Bài Thực Hành Số 1 Tìm mô hình gián đoạn của ĐCMC >> Ra=0.25;La=0.004;J=0.012;ke=236.8;km=38.2;fi=0.04; >> Ta=La/Ra; >> Wh=1/Ra *tf(1,[Ta 1])*km*fi*tf(1,[2*3.14*J 0]) Transfer function: 6.112 ------------------------ 0.001206 s^2 + 0.07536 s >> Wk=feedback(Wh,ke*fi) Transfer function: 6.112 -------------------------------- 0.001206 s^2 + 0.07536 s + 57.89 >> step(Wk) 1

báo cáo thí nghiệm điều khiển số

Embed Size (px)

Citation preview

Page 1: báo cáo thí nghiệm điều khiển số

Sinh viên :Mai Thế Hòa

MSSV:20081090

Lớp :TDH1-K53

Bài Thực Hành Số 1

Tìm mô hình gián đoạn của ĐCMC

>> Ra=0.25;La=0.004;J=0.012;ke=236.8;km=38.2;fi=0.04;

>> Ta=La/Ra;

>> Wh=1/Ra *tf(1,[Ta 1])*km*fi*tf(1,[2*3.14*J 0])

Transfer function:

6.112

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

0.001206 s^2 + 0.07536 s

>> Wk=feedback(Wh,ke*fi)

Transfer function:

6.112

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

0.001206 s^2 + 0.07536 s + 57.89

>> step(Wk)

1

Page 2: báo cáo thí nghiệm điều khiển số

>> Wz1=c2d(Wk,0.1e-3)

Transfer function:

2.529e-005 z + 2.524e-005

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

z^2 - 1.993 z + 0.9938

Sampling time: 0.0001

>> step(Wz1)

2

Page 3: báo cáo thí nghiệm điều khiển số

>> Wz2=c2d(Wk,0.01e-3)

Transfer function:

2.534e-007 z + 2.533e-007

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

z^2 - 1.999 z + 0.9994

Sampling time: 1e-005

>> step(Wz2)

3

Page 4: báo cáo thí nghiệm điều khiển số

Cách chuyển sang miền rời rạc tính bằng tay:

4

Page 5: báo cáo thí nghiệm điều khiển số

5

Page 6: báo cáo thí nghiệm điều khiển số

>> Wz3=c2d(Wk,0.1e-3,'zoh')

Transfer function:

2.529e-005 z + 2.524e-005

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

z^2 - 1.993 z + 0.9938

Sampling time: 0.0001

>> step(Wz3)

>> Wz4=c2d(Wk,0.01e-3,'zoh')

Transfer function:

2.534e-007 z + 2.533e-007

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

z^2 - 1.999 z + 0.9994

Sampling time: 1e-005

>> step(Wz4)

6

Page 7: báo cáo thí nghiệm điều khiển số

>> Wz5=c2d(Wk,0.1e-3,'foh')

Transfer function:

8.435e-006 z^2 + 3.369e-005 z + 8.409e-006

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

z^2 - 1.993 z + 0.9938

Sampling time: 0.0001

>> step(Wz5)

7

Page 8: báo cáo thí nghiệm điều khiển số

>> Wz6=c2d(Wk,0.01e-3,'foh')

Transfer function:

8.447e-008 z^2 + 3.378e-007 z + 8.444e-008

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

z^2 - 1.999 z + 0.9994

Sampling time: 1e-005

>> step(Wz6)

8

Page 9: báo cáo thí nghiệm điều khiển số

>> Wz7=c2d(Wk,0.1e-3,'tustin')

Transfer function:

1.263e-005 z^2 + 2.526e-005 z + 1.263e-005

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

z^2 - 1.993 z + 0.9938

Sampling time: 0.0001

>> step(Wz7)

9

Page 10: báo cáo thí nghiệm điều khiển số

>> Wz8=c2d(Wk,0.01e-3,'tustin')

Transfer function:

1.267e-007 z^2 + 2.534e-007 z + 1.267e-007

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

z^2 - 1.999 z + 0.9994

Sampling time: 1e-005

>> step(Wz8)

10

Page 11: báo cáo thí nghiệm điều khiển số

>> [A,B,C,D] = tf2ss(6.112,[0.001206 0.07536 57.89])

A =

1.0e+004 *

-0.0062 -4.8002

0.0001 0

B =

1

0

C =

1.0e+003 *

0 5.0680

D =0

11

Page 12: báo cáo thí nghiệm điều khiển số

>> SYS = SS(A,B,C,D,0.1e-3)

a =

x1 x2

x1 -62.49 -4.8e+004

x2 1 0

b =

u1

x1 1

x2 0

c =

x1 x2

y1 0 5068

d =

u1

y1 0

Sampling time: 0.0001

Discrete-time model.

>> SYS = SS(A,B,C,D,0.01e-3)

a =

x1 x2

x1 -62.49 -4.8e+004

x2 1 0

b =

u1

x1 1

x2 0

12

Page 13: báo cáo thí nghiệm điều khiển số

c =

x1 x2

y1 0 5068

d =

u1

y1 0

Sampling time: 1e-005

Discrete-time model.

Bài Thực Hành Số 2

Tổng Hợp Vòng Điều Chỉnh Phần Ứng(Điều Khiển Mô Men Quay)

Ta có :

>> Gz1=c2d(Wk,0.1e-3,'zoh')

Transfer function:

2.529e-005 z + 2.524e-005

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

z^2 - 1.993 z + 0.9938

Sampling time: 0.0001

Theo Phương pháp Dead-Beat

- Bac 1 voi L( ) = L0 +L1*

>> Gz=filt([0 2.529e-005 2.524e-005],[1 -1.993 0.9938])

Transfer function:

13

Page 14: báo cáo thí nghiệm điều khiển số

2.529e-005 z^-1 + 2.524e-005 z^-2

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

1 - 1.993 z^-1 + 0.9938 z^-2

Sampling time: unspecified

>> Bz=filt([0 2.529e-005 2.524e-005],1)

Transfer function:

2.529e-005 z^-1 + 2.524e-005 z^-2

>> Az=filt([1 -1.993 0.9938],1)

Transfer function:

1 - 1.993 z^-1 + 0.9938 z^-2

Sampling time: unspecified

>> l0=1/((1+1.993)*(2.529e-5+2.524e-5))

l0 =

6.6122e+003

>> l1=1.993/((1+1.993)*(2.529e-5+2.524e-5))

l1 =

1.3178e+004

>> Lz=filt([l0 l1],1)

Transfer function:

6612 + 1.318e004 z^-1

Sampling time: unspecified

>> GR=(Lz*Az)/(1-Lz*Bz)

Transfer function:

6612 - 1.969e004 z^-2 + 1.31e004 z^-3

14

Page 15: báo cáo thí nghiệm điều khiển số

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

1 - 0.1672 z^-1 - 0.5002 z^-2 - 0.3326 z^-3

Sampling time: unspecified

Ta có mô phỏng simulink như sau:

Kết quả

15

Page 16: báo cáo thí nghiệm điều khiển số

-Bac 2 voi L( ) = L0 +L1* + L2*

>> Wz1=c2d(Wk,0.1e-3)

Transfer function:

2.529e-005 z + 2.524e-005

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

z^2 - 1.993 z + 0.9938

>> Bz=filt([0 2.529e-5 2.524e-5],1)

Transfer function:

2.529e-005 z^-1 + 2.524e-005 z^-2

Sampling time: unspecified

>> Az=filt([1 -1.993 0.9938],1)

Transfer function:

1 - 1.993 z^-1 + 0.9938 z^-2

Sampling time: unspecified

>> mtc=1+1.993*1.993-(-1.993+0.9938);

>> L0=1/mtc *(2.529e-5+2.524e-5)

L0 =

8.4622e-006

>> L1=1.993/mtc

L1 =

0.3338

>> L2=(1.993*1.993-0.9938)/mtc

L2 =

0.4988

16

Page 17: báo cáo thí nghiệm điều khiển số

>> Lz=filt([L0 L1 L2],1)

Transfer function:

8.462e-006 + 0.3338 z^-1 + 0.4988 z^-2

>> GR=Lz*Az/(1-Lz*Bz)

Transfer function:

8.462e-006 + 0.3337 z^-1 - 0.1664 z^-2 - 0.6623 z^-3 + 0.4957 z^-4

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

1 - 2.14e-010 z^-1 - 8.441e-006 z^-2 - 2.104e-005 z^-3 - 1.259e-005 z^-4

Sơ đồ mô phỏng như sau:

17

Page 18: báo cáo thí nghiệm điều khiển số

Theo Phương Pháp Cân Bằng Mô Hình

Sơ đồ mô phỏng simulink

18

Page 19: báo cáo thí nghiệm điều khiển số

- Với tốc độ đáp ứng của giá trị thực là 3 chu kì T1=0.1e-3Ta có: GW(z)=

trong đó: x1=3;x2=2;x3=1

Hàm truyền đạt của bộ điều chỉnh là:

>> Gw=filt([0 3 -1 -1],1)

Transfer function:

3 z^-1 - z^-2 - z^-3

Sampling time: unspecified

>> GR=Gw/(Gz*(1-Gw))

Transfer function:

3 - 6.979 z^-1 + 3.974 z^-2 + 0.9992 z^-3 - 0.9938 z^-4

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

2.529e-005 - 5.063e-005 z^-1 - 5.043e-005 z^-2 + 5.053e-005 z^-3 + 2.524e-005 z^-4

19

Page 20: báo cáo thí nghiệm điều khiển số

Phân tích kết quả mô phỏng Qua kết quả mô phỏng ở 2 trường hợp trên ta thấy dạng của tín hiệu hoàn toàn đúng với

yêu cầu đề ra chứng tỏ các bước tính toán và mô phỏng là đúng.

Bài Thực Hành Số 3

Tổng Hợp Vòng Điều Chỉnh Tốc Độ Quay

Ta có :

>> Gw1=filt([0 0.5 0.5],1)

Transfer function:

0.5 z^-1 + 0.5 z^-2

>> Gn1 = 38.2*0.04*tf([1],[2*pi*0.012 0])

20

Page 21: báo cáo thí nghiệm điều khiển số

Transfer function:

1.528

--------

0.0754 s

>> Gn1z = c2d(Gn1,0.1e-3)

Transfer function:

0.002027

--------

z - 1

Sampling time: 0.0001

>> Gn = Gw1*Gn1z

Transfer function:

0.001013 z^-2 + 0.001013 z^-3

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

1 - z^-1

Sampling time: 0.0001

>> step(Gn/(1+Gn))

21

Page 22: báo cáo thí nghiệm điều khiển số

0 0.05 0.1 0.15 0.2 0.25 0.30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Am

plitu

de

3.1tổng hợp bộ điều khiển PI theo tiêu chuẩn tích phân bình phương: - bộ điều khiển :

Gr(z) =

-Đối tượng điều khiển Gn

Ta có sai lệch điều chỉnh:

E(z) = W(z).

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

= + (a1-1) - a1 – (a1-1+ b1) - (-a1+ b2+ b1) - ( b3+ b2)

- b3

Chọn = 20 và với ai,bi xác định theo Gn ta cần tính sao cho :

22

Page 23: báo cáo thí nghiệm điều khiển số

= nhỏ nhất

Điều kiện: suy ra:

Ta lần lượt tính được:

= 1

= 1

= 0.997974

= 0.991896 – 0.0001013

= 0.981766 – 0.0004052

Từ đó ta tính được r1 = 2.52e-004

Chọn = -20

Gr =

>> Gr = filt([20 -20],1)/filt([1 -1],1)

Transfer function:

20 - 20 z^-1

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

1 - z^-1

Sampling time: unspecified

>> Gz = Gr*Gn

Transfer function:

23

Page 24: báo cáo thí nghiệm điều khiển số

0.02027 z^-2 - 0.02027 z^-4

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

1 - 2 z^-1 + z^-2

Sampling time: 0.0001

>> step(Gz/(1+Gz))

0 0.002 0.004 0.006 0.008 0.01 0.012 0.0140

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Am

plitu

de

24

Page 25: báo cáo thí nghiệm điều khiển số

3.2 tổng hợp bộ điều khiển PI theo phương pháp gán điểm cực:

hàm truyền đạt của đối tượng:

0.001013 z^-2 + 0.001013 z^-3

25

Page 26: báo cáo thí nghiệm điều khiển số

Gn(z) = ------------------------------- =

1 - z^-1

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

Gr(z) = =

Đa thức đặc tính của hàm truyền:

N(z) = P(z).A(z) +R(z).B(z)

= (z-1)( ) + ( ).(b1 )

= + (a1-1+b1 ) + (-a1 +b1 +b2 ) +(b3. +b2. )z +b3.

Giả sử các điểm cực của đối tượng là: z1,z2,z3,z4

N(z) = (z-z1).(z-z2).(z-z3).(z-z4)

= - (z1+z2+z3+z4) + (z1.z2+z3.z4-z1.z3-z1.z4-z2.z3-z2z4) -

(z1.z2.z3+z1.z2.z4+z1.z3.z4+z2.z3.z4)z + z1.z2.z3.z4

Chọn z1,2 = 0.5 0.35i

Cân bằng hệ số ta được:

= 27.08

= -26.24

>> Gr = filt([27.08 -26.24],1)/filt([1 -1],1)

Transfer function:

27.08 - 26.24 z^-1

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

26

Page 27: báo cáo thí nghiệm điều khiển số

1 - z^-1

Sampling time: unspecified

>> Gz = Gr*Gn

Transfer function:

0.02744 z^-2 + 0.0008512 z^-3 - 0.02659 z^-4

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

1 - 2 z^-1 + z^-2

Sampling time: 0.0001

0 0.005 0.01 0.015 0.02 0.0250

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plitu

de

Nhận xét: với bộ điều khiển thiết kế ở trên ta thấy thoae mãn yêu cầu

Thay đổi giá trị đặt của tốc độ quay dưới dạng bước nhảy:

27

Page 28: báo cáo thí nghiệm điều khiển số

Phụ tải thay đổi đột biến dưới dang bước nhảy:

28

Page 29: báo cáo thí nghiệm điều khiển số

29

Page 30: báo cáo thí nghiệm điều khiển số

Bài Thực Hành Số 4

Tổng Hợp Bộ Điều Chỉnh Tốc Độ Quay Trên KGTT

>> [A,B,C,D] = tf2ss(6.112,[0.001206 0.07536 57.89])

A =

1.0e+004 *

-0.0062 -4.8002

0.0001 0

B =

1

0

C =

1.0e+003 *

0 5.0680

D =0

1.Với Ttm = 0.1s

>> [Ad1,Bd1,Cd1,Dd1]=c2dm(A,B,C,D,0.1,'zoh')

30

Page 31: báo cáo thí nghiệm điều khiển số

Ad1 = -0.0438 -2.9297

0.0001 -0.0400 Bd1 = 1.0e-004 * 0.6103

0.2167 Cd1 = 1.0e+003 * 0 5.0680 Dd1 = 0

>> P1 = [0 0];

>> P2 = [0.2 0.3];

>> K = acker(Ad1,Bd1,P1)

K =

1.0e+003 *

-0.0276 -3.7924

>> H1=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)

a =

x1 x2

x1 -0.04215 -2.698

x2 0.0006584 0.04215

b =

u1

x1 6.103e-005

x2 2.167e-005

c =

x1 x2

31

Page 32: báo cáo thí nghiệm điều khiển số

y1 0 5068

d =

u1

y1 0

Sampling time: 0.1

Discrete-time model.

>> step(H1)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.02

0.04

0.06

0.08

0.1

0.12Step Response

Time (sec)

Am

plitu

de

>> H2=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)

a =

x1 x2

x1 -0.04215 -2.698

x2 0.0006584 0.04215

32

Page 33: báo cáo thí nghiệm điều khiển số

b =

u1

x1 6.103e-005

x2 2.167e-005

c =

x1 x2

y1 0 5068

d =

u1

y1 0

Sampling time: 0.01

Discrete-time model.

>>step(H2)

33

Page 34: báo cáo thí nghiệm điều khiển số

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.02

0.04

0.06

0.08

0.1

0.12Step Response

Time (sec)

Am

plitu

de

>> K = acker(Ad1,Bd1,P2)

K =

1.0e+004 *

-0.1315 -2.3244

>> H3=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)

a = x1 x2 x1 0.0364 -1.511 x2 0.02854 0.4636

b = u1 x1 6.103e-005 x2 2.167e-005

c =

34

Page 35: báo cáo thí nghiệm điều khiển số

x1 x2 y1 0 5068

d = u1 y1 0

Sampling time: 0.01Discrete-time model.>> step(H3)

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.05

0.1

0.15

0.2

0.25Step Response

Time (sec)

Am

plit

ude

>> H4=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)

a =

x1 x2

x1 -0.1855 -31.78

x2 0.005889 0.6855

b =

u1

x1 0.002789

35

Page 36: báo cáo thí nghiệm điều khiển số

x2 2.759e-005

c =

x1 x2

y1 0 5076

d =

u1

y1 0

Sampling time: 0.1

Discrete-time model.

>> step(H4)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5Step Response

Time (sec)

Am

plitu

de

1. Với Ttm = 0.1s

>> [Ad1,Bd1,Cd1,Dd1]=c2dm(A,B,C,D,0.1,'zoh')

36

Page 37: báo cáo thí nghiệm điều khiển số

Ad1 =

-0.0438 -2.9271

0.0001 -0.0399

Bd1 =

1.0e-004 *

0.6098

0.2166

Cd1 =

1.0e+003 *

0 5.0763

Dd1 =

0

>> K = acker(Ad1,Bd1,P1)

K =

1.0e+003 *

-0.0275 -3.7862

>> H5=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)

a =

x1 x2

x1 -0.04208 -2.696

x2 0.0006568 0.04208

b =

u1

37

Page 38: báo cáo thí nghiệm điều khiển số

x1 6.098e-005

x2 2.166e-005

c =

x1 x2

y1 0 5076

d =

u1

y1 0

Sampling time: 0.01

Discrete-time model.

>> step(H5)

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10

0.02

0.04

0.06

0.08

0.1

0.12Step Response

Time (sec)

Am

plitu

de

>> H6=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)

a =

38

Page 39: báo cáo thí nghiệm điều khiển số

x1 x2

x1 -0.04208 -2.696

x2 0.0006568 0.04208

b =

u1

x1 6.098e-005

x2 2.166e-005

c =

x1 x2

y1 0 5076

d =

u1

y1 0

Sampling time: 0.1

Discrete-time model.

>> step(H6)

39

Page 40: báo cáo thí nghiệm điều khiển số

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.02

0.04

0.06

0.08

0.1

0.12Step Response

Time (sec)

Am

plitu

de

>> K = acker(Ad1,Bd1,P2)

K =

1.0e+004 *

-0.1315 -2.3241

>> H7=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.01)

a =

x1 x2

x1 0.03643 -1.51

x2 0.02855 0.4636

b =

u1

x1 6.098e-005

40

Page 41: báo cáo thí nghiệm điều khiển số

x2 2.166e-005

c =

x1 x2

y1 0 5076

d =

u1

y1 0

Sampling time: 0.01

Discrete-time model.

>> step(H7)

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10

0.05

0.1

0.15

0.2

0.25Step Response

Time (sec)

Am

plitu

de

>> H8=ss(Ad1-Bd1*K,Bd1,Cd1,Dd1,0.1)

a =

41

Page 42: báo cáo thí nghiệm điều khiển số

x1 x2

x1 0.03643 -1.51

x2 0.02855 0.4636

b =

u1

x1 6.098e-005

x2 2.166e-005

c =

x1 x2

y1 0 5076

d =

u1

y1 0

Sampling time: 0.1

Discrete-time model.

>> step(H8)

42

Page 43: báo cáo thí nghiệm điều khiển số

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25Step Response

Time (sec)

Am

plitu

de

43

Page 44: báo cáo thí nghiệm điều khiển số

44