FOH - 0.01ms - GW2

of 19 /19
1 [Lê Hải Đăng – 20090710] Bài thực hành số 1: Tìm mô hình gián đoạn động cơ một chiều Động cơ có các tham số: * Điện trở phần ứng: = 250Ω * Điện cảm phần ứng: = 4 * Từ thông danh định : Ψ = 0.04 * Mômen quán tính: = 0.012 2 * Hằng số động cơ : = 236.8 = 38.2 Mô hình động cơ 1 chiều 1-2 Tìm hàm truyền đạt của mô hình - Hàm truyền đạt vòng hở: = 1 . 1 +1 . . Ψ. 1 2... - Hàm truyền đạt vòng kín: = 1 − . . Sử dụng matlab để tính hàm truyền đạt: Tt = 100e-6; La = 4e-3; Ra = 250e-3; Ta = La/Ra; T2 = 0.01e-3; km = 38.2; ke = 236.8; phi = 0.04; J = 0.012; Gh = 1/Ra*tf([1],[Ta 1])*km*phi*tf([1],[2*pi*J 0]) Gk = feedback(Gh, ke*phi)

description

thi nghiem dieu khien so

Transcript of FOH - 0.01ms - GW2

Page 1: FOH - 0.01ms - GW2

1 [Lê Hải Đăng – 20090710]

Bài thực hành số 1: Tìm mô hình gián đoạn động cơ một chiều

Động cơ có các tham số:

* Điện trở phần ứng: 𝑅𝐴 = 250𝑚Ω

* Điện cảm phần ứng: 𝐿𝐴 = 4𝑚𝐻

* Từ thông danh định : Ψ𝐵 = 0.04𝑉𝑆

* Mômen quán tính: 𝐽 = 0.012𝑘𝑔𝑚2

* Hằng số động cơ : 𝑘𝑒 = 236.8 𝑘𝑚 = 38.2

Mô hình động cơ 1 chiều

1-2 Tìm hàm truyền đạt của mô hình

- Hàm truyền đạt vòng hở:

𝐺ℎ = 1

𝑅𝑎 .

1

𝑇𝐴𝑠+1. 𝑘𝑚. Ψ.

1

2.𝜋.𝐽.𝑠

- Hàm truyền đạt vòng kín:

𝐺𝑘 = 𝐺ℎ

1 − 𝐺ℎ.𝑘𝑒.Ψ .

Sử dụng matlab để tính hàm truyền đạt:

Tt = 100e-6; La = 4e-3; Ra = 250e-3; Ta = La/Ra; T2 =

0.01e-3; km = 38.2; ke = 236.8; phi = 0.04; J =

0.012;

Gh = 1/Ra*tf([1],[Ta 1])*km*phi*tf([1],[2*pi*J 0])

Gk = feedback(Gh, ke*phi)

Page 2: FOH - 0.01ms - GW2

2 [Lê Hải Đăng – 20090710]

Thu được các kết quả như sau:

𝐺ℎ = 81.06

0.016 𝑠2 + 𝑠

𝐺𝑘 = 81.06

0.016𝑠2 + 𝑠 + 767.8

Sử dụng matlab để tìm hàm truyền đạt trên miền ảnh Z bằng các phương

pháp ZOH, FOH và TUSTIN, với chu kì trích mẫu 𝑇1 = 0.1𝑚𝑠 và 𝑇2 = 0.01𝑚𝑠

T1 = 0.1e-3; T2 = 0.01e-3;

Gz1 = c2d(Gk,T1,’ZOH’);

Gz2 = c2d(Gk,T2,’ZOH’);

Gz3 = c2d(Gk,T1,’FOH’);

Gz4 = c2d(Gk,T2,’FOH’);

Gz5 = c2d(Gk,T1,’TUSTIN’);

Gz6 = c2d(Gk,T2,’TUSTIN’);

Ta thu được các hàm truyền đạt trên miền ảnh Z ứng với mỗi trường hợp,

sau khi chuyển sang số mũ âm như sau:

𝐺𝑧1 = 2.528𝑒 − 5 . 𝑧−1 + 2.523𝑒 − 5 . 𝑧−2

1 − 1.993 . 𝑧−1 + 0.9938 . 𝑧−2

𝐺𝑧2 = 2.533𝑒 − 7 . 𝑧−1 + 2.532𝑒 − 7 . 𝑧−2

1 − 1.999 . 𝑧−1 + 0.9994 . 𝑧−2

𝐺𝑧3 = 8.431𝑒 − 6 + 3.367𝑒 − 5 . 𝑧−1 + 8.404𝑒 − 6 . 𝑧−2

1 − 1.993 . 𝑧−1 + 0.9938 . 𝑧−2

𝐺𝑧4 = 8.443𝑒 − 8 + 3.377𝑒 − 7 . 𝑧−1 + 8.44𝑒 − 8 . 𝑧−2

1 − 1.999 . 𝑧−1 + 0.9994 . 𝑧−2

𝐺𝑧5 = 1.263𝑒 − 5 + 2.525𝑒 − 5 . 𝑧−1 + 1.263𝑒 − 5 . 𝑧−2

1 − 1.993 . 𝑧−1 + 0.9938 . 𝑧−2

𝐺𝑧6 = 1.266𝑒 − 7 + 2.532𝑒 − 7 . 𝑧−1 + 1.266𝑒 − 7 . 𝑧−2

1 − 1.999 . 𝑧−1 + 0.9994 . 𝑧−2

Page 3: FOH - 0.01ms - GW2

3 [Lê Hải Đăng – 20090710]

Hàm truyền đạt gián đoạn tính bằng tay theo 2 chu kì trích mẫu:

Chu kì trích mẫu 𝑇1 = 0.1𝑚𝑠

𝑊𝑧7 = 2.524𝑒 − 5 . 𝑧−1 + 2.521𝑒 − 5 . 𝑧−2

1 − 1.993 𝑧−1 + 0.9938 𝑧−2

Chu kì trích mẫu 𝑇2 = 0.01𝑚𝑠

𝑊𝑧8 = 2.531𝑒 − 7 . 𝑧−1 + 2.533𝑒 − 7 . 𝑧−2

1 − 1.999 𝑧−1 + 0.9994 𝑧−2

Page 4: FOH - 0.01ms - GW2

4 [Lê Hải Đăng – 20090710]

3. Mô phỏng các mô hình gián đoạn thu được bằng đáp ứng bước nhảy

step(Gk) hoặc bằng mô phỏng simulink với sơ đồ như sau:

Với thời gian trích mẫu T1 = 0.1ms, ta thu được các đường đồ thị:

Page 5: FOH - 0.01ms - GW2

5 [Lê Hải Đăng – 20090710]

Với thời gian trích mẫu T2 = 0.01ms, ta có:

Nhận xét:

Với T1 = 0.1ms, ta thấy phép biến đổi Z theo các phương pháp ZOH, FOH

và TUSTIN cho kết quả gần tương đương nhau, và giống với kết quả biến đổi

bằng tay

Nhưng với thời gian trích mẫu T2 = 0.01ms, ta thấy có sự khác biệt rõ

ràng giữa 4 phương pháp này. So với trường hợp T1 thì hệ dao động nhiều

hơn, và chưa đi đến trạng thái ổn định ngay, do các điểm cực đã bị đẩy ra xa,

gần biên giới ổn định của đường tròn đơn vị. Tuy nhiên sai lệch này, về mặt giá

trị là không lớn, và các hệ đều đi tới trạng thái ổn định sau 1 khoảng thời gian.

Kết quả tính tay gần với phương pháp ZOH nhất.

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

Mô hình trạng thái của đối tượng:

𝑥𝑘+1 = 𝐴. 𝑥𝑘 + 𝐵. 𝑢𝑘 = 𝐴. 𝑥 + 𝐵 . 𝑢

𝑦𝑘 = 𝐶. 𝑥𝑘 + 𝐷. 𝑢𝑘 𝑦 = 𝐶. 𝑥 + 𝐷. 𝑢

Chương trình matlab:

Page 6: FOH - 0.01ms - GW2

6 [Lê Hải Đăng – 20090710]

Với 𝐺𝑠 = 81.06

0.016𝑠2+𝑠+767.8

T1 = 0.1e-3; T2 = 0.01e-3;

(A,B,C,D) = tf2ss([81.06],[0.016 1 767.8])

(phi1,H1) = c2d(A,B,T1)

(phi2,H2) = c2d(A,B,T2)

step(A,B,C,D); hold on;

step(phi1,H1,C,D); hold on;

step(phi2,H2,C,D)

ta thu được các ma trận kết quả như sau:

𝐴 = [−62.5 −47987.5

1 0] 𝐵 = [

10

]

𝐶 = [0 5066.25] 𝐷 = 0

đáp ứng bước nhảy của mô hình (A,B,C,D)

Page 7: FOH - 0.01ms - GW2

7 [Lê Hải Đăng – 20090710]

so sánh đáp ứng bước nhảy của 3 mô hình:

Page 8: FOH - 0.01ms - GW2

8 [Lê Hải Đăng – 20090710]

Bài 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).

Sơ đồ vòng điều chỉnh dòng phần ứng của ĐCMC

Hàm truyền đạt của mô hình đối tượng điều khiển dòng

𝐺𝑖 = 1

𝑇𝑡𝑠+1 .

1

𝑅𝑎 .

1

𝑇𝐴𝑠+1

-Sử dụng lệnh c2d ta tìm được hàm truyền đạt trên miền ảnh z của đối tượng

theo phương pháp FOH (với chu kỳ trích mẫu 0,01ms):

Tt = 100e-6; La = 4e-3; Ra = 250e-3; Ta = La/Ra;

T2 = 0.01e-3;

Gi = 1/Ra*tf([1],[Tt 1])*tf(1,[Ta 1])

c2d(Gi,T2,'foh');

ta thu được hàm truyền của đối tượng dòng như sau:

𝐺𝑖(𝑧) = 4.064𝑒 − 5 𝑧2 + 0.1585𝑒 − 3 𝑧 + 3.865 𝑒 − 5

𝑧2 − 1.904 𝑧 + 0.9043

Thiết kế bộ điều chỉnh theo phương pháp cân bằng mô hình

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.

Với tốc độ đáp ứng của giá trị thực là 2 chu kì T1

Ta có:

𝐺𝑤2(𝑧) = 𝑥1. 𝑧−1 + 𝑥2. 𝑧−2

(với điều kiện 𝑥1 + 𝑥2 = 1)

ta chọn 𝑥1 = 0.6; 𝑥2 = 0.4;

Page 9: FOH - 0.01ms - GW2

9 [Lê Hải Đăng – 20090710]

suy ra 𝐺𝑤2(𝑧) = 0.6. 𝑧−1 + 0.4. 𝑧−2

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

𝐺𝑟(𝑧) = 1

𝐺𝑠(𝑧).

𝐺𝑤(𝑧)

1 − 𝐺𝑤(𝑧)

Chương trình matlab

T2 = 0.01e-3;

Gw = filt([0 0.6 0.4],[1],T2)

B = filt([4.064e-5 0.1585e-3 3.865e-5],[1],T2)

A = filt([1 -1.904 0.9043],[1],T2)

Gz4 = B/A

Gr = Gw/[Gz4*(1-Gw)]

Gk = feedback(Gr*Gz4, 1)

ta thu được các hàm truyền đạt như sau:

𝐺𝑖4(𝑧) = 4.064𝑒 − 5 + 0.1585𝑒 − 3 𝑧−1 + 3.865 𝑒 − 5. 𝑧−2

1 − 1.904 𝑧−1 + 0.9043 𝑧−2

𝐺𝑟 = 0.6. 𝑧−1 − 0.7424 𝑧−2 − 0.219 𝑧−3 + 0.3617 . 𝑧−4

4.064𝑒 − 5 + 0.0001341 . 𝑧−1 − 7.271𝑒 − 5 . 𝑧−2 − 8.659𝑒 − 5 . 𝑧−3 − 1.546𝑒 − 5 . 𝑧−4

Page 10: FOH - 0.01ms - GW2

10 [Lê Hải Đăng – 20090710]

Kết quả mô phỏng bằng đáp ứng bước nhảy của hệ kín:

Mô phỏng bằng simulink với sơ đồ như hình dưới cũng cho kết quả

tương tự

Nhận xét:

Từ đồ thị ta thấy đúng sau 3 bước đối tượng điều khiển đuổi kịp giá trị đặt

của đại lượng chủ đạo. Kết thúc chu kì trích mẫu đầu tiên đầu ra đạt tới giá trị

𝑥1 của bộ điều khiển ( = 0.6 ). Kết thúc chu kì trích mẫu thứ 2 đầu ra đạt tới giá

trị 𝑥1 + 𝑥2 của bộ điều khiển ( = 1 ) và tiến tới xác lập

Page 11: FOH - 0.01ms - GW2

11 [Lê Hải Đăng – 20090710]

Bài thực hành số 3: tổng hợp vòng điều chỉnh tốc độ quay

Đối tượng tốc độ ở bài này được tính bằng

𝐺𝑛 = 𝐺𝑘(𝑏à𝑖2) ∗ 𝑘𝑚 ∗ Ψ ∗1

2𝜋𝐽∗

1

𝑠

với 𝐺𝑘(𝑏à𝑖2) được tính xấp xỉ thành 1 khâu quán tính tích phân bậc nhất

𝐺𝑘(𝑏à𝑖2) = 1

2𝑇𝑡 . 𝑠 + 1

với 𝑇𝑡 = 100𝜇𝑠

cụ thể, ta tính được:

𝐺𝑛(𝑠) = 1.528

1.508𝑒 − 5 . 𝑠2 + 0.0754 . 𝑠

chuyển sang miền ảnh Z với số mũ âm, chu kì trích mẫu 𝑇2 = 0.01𝑚𝑠

𝐺𝑛(𝑧) = 1.668𝑒 − 6 + 6.589𝑒 − 6 . 𝑧−1 + 1.627𝑒 − 6 . 𝑧−2

1 − 1.951. 𝑧−1 + 0.9512 . 𝑧−2

Tổng hợp bộ điều khiển PI cho tốc độ theo tiêu chuẩn tích phân bình

phương sai lệch.

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

𝐺𝑟 = 𝑟0 + 𝑟1 . 𝑧−1

1 + 𝑝1 . 𝑧−1

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

𝐺𝑛 = 𝑏0 + 𝑏1 . 𝑧−1 + 𝑏2 . 𝑧−2

𝑎0 + 𝑎1 . 𝑧−1 + 𝑎2 . 𝑧−2

Với các hệ số 𝑎𝑖 , 𝑏𝑖 tính theo Gn ở trên

ta có sai lệch tĩnh

𝐸𝑠 = 𝑊𝑠

1 + 𝐺𝑟 . 𝐺𝑛

chuyển sang miền ảnh Z

𝐸𝑧 = 𝑊𝑧

1 + 𝐺𝑟 ∗ 𝐺𝑛

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

Page 12: FOH - 0.01ms - GW2

12 [Lê Hải Đăng – 20090710]

𝑒𝑘 = 𝑤𝑘 + (𝑎1 − 1). 𝑤𝑘−1 − 𝑎1𝑤𝑘−2 − (𝑎1 − 1 + 𝑟0. 𝑏1). 𝑒𝑘−1

− (−𝑎1 + 𝑟0. 𝑏2 + 𝑟1. 𝑏1). 𝑒𝑘−2 − (𝑟0. 𝑏3 + 𝑟1. 𝑏2). 𝑒𝑘−3

− 𝑟1. 𝑏3. 𝑒𝑘−4

ở đây ta lấy 𝑤𝑘 = 1 𝑣ớ𝑖 ∀𝑘 ≥ 0

chọn 𝑟0 = 275 với 𝑎𝑖 , 𝑏𝑖 xác định theo 𝐺𝑛. ta cần tìm 𝑟1 sao cho

𝐼 = ∫ (𝑒𝑡)2𝑑𝑡∞

0= ∑ 𝑒𝑘

2∞𝑘=0 → đạt giá trị min

với k = 0, ta có 𝑒0 = 1

với k = 1, ta có 𝑒1 = (1 − 𝑟0. 𝑏1) = 0.9982

với k = 2, ta có 𝑒2 = 0.9924 + 1.627𝑒 − 6 . 𝑟1

…..

khi đó 𝐼 = ∑ 𝑒𝑘2∞

𝑘=0

để I đạt giá trị nhỏ nhất thì 𝑟1 ≈ −274

kết hợp với điều kiện 𝑟0 ≈ |𝑟1| thì ta chọn 𝑟1 = −274

Mô phỏng bằng Simulink

Sơ đồ simulink như sau:

< các đồ thị thu được bằng khối scope được chuyển sang đồ thị Figure bằng

lệnh

plot(ScopeData.time,ScopeData.signals.values(:));

để thuận tiện cho việc hiển thị và in ấn >

Page 13: FOH - 0.01ms - GW2

13 [Lê Hải Đăng – 20090710]

Các kết quả thu được:

đáp ứng đầu ra của hệ thống

tích phân bình phương sai lệch

Page 14: FOH - 0.01ms - GW2

14 [Lê Hải Đăng – 20090710]

Nhận xét : qua 2 đồ thị ta thấy, đáp ứng đầu ra của hệ thống với tín hiệu

bước nhảy nhanh chóng tiến tới giá trị xác lập bằng 1. Độ quá điều chỉnh không

vượt quá 20%, sai lệch tĩnh nhanh chóng tiến tới 0

bộ điều khiển PI đạt được yêu cầu đề ra.

Page 15: FOH - 0.01ms - GW2

15 [Lê Hải Đăng – 20090710]

kiểm tra tính bền vững của hệ thống

nhiễu giá trị đặt: ta đặt thêm 1 tín hiệu bước nhảy tác động vào

hệ thống sau khoảng thời gian 0.03s

thu được đáp ứng đầu ra của hệ:

nhận xét: hệ đáp ứng tốt đối với nhiễu giá trị đặt

Page 16: FOH - 0.01ms - GW2

16 [Lê Hải Đăng – 20090710]

nhiễu phụ tải: đặt thêm một tín hiệu bước nhảy tác động vào đầu

ra của hệ thống sau thời điểm 0.03s

thu được đáp ứng đầu ra của hệ:

nhận xét: khi nhận thêm tín hiệu nhiễu phụ tải, hệ thống đã nhanh

chóng tự đưa về trạng thái xác lập chỉ sau 1 vài chu kì trích mẫu.

hệ thống đáp ứng tốt đối với nhiễu phụ tải

Page 17: FOH - 0.01ms - GW2

17 [Lê Hải Đăng – 20090710]

Bài thực hành số 4: tổng hợp bộ ĐC tốc độ quay trên KGTT

tổng hợp bộ ĐC tốc độ quay theo phương pháp gán điểm cực,

sao cho điểm cực nhận giá trị dương và nằm trong đường tròn đơn

vị trên miền ảnh Z và phương pháp đáp ứng hữu hạn (dead-beat).

chọn bộ p1 với 2 điểm cực nằm trong khoảng [0,1] (giá trị được

thử-chọn sao cho hệ thống có quá độ điều chỉnh không quá 20%, và

sai lệch tĩnh tiến tới 0), bộ p2 theo phương pháp deat-beat với 2 điểm

cực đều tại gốc. 𝐺𝑘 là mô hình động cơ đã xây dựng ở bài 1. Với chu

kì trích mẫu 𝑇1 = 0.1𝑠, 𝑇2 = 0.01𝑠

chương trình matlab

T1 = 0.1; T2 = 0.01;

num = [81.06];

den = [0.016 1 767.8];

Gk = tf(num,den);

[A,B,C,D] = tf2ss(num,den);

[phi1,H1] = c2d(A,B,T1);

[phi2,H2] = c2d(A,B,T2);

p2 = [0 0];

Page 18: FOH - 0.01ms - GW2

18 [Lê Hải Đăng – 20090710]

// chu ki trich mau T1 = 0.1s

p1 = [0.66 0.66];

K11 = acker(phi1,H1,p1);

K21 = acker(phi1,H1,p2);

Gk1 = ss(phi1-H1*K11,H1,C,D,T1);

Gk3 = ss(phi1-H1*K21,H1,C,D,T1);

step(Gk1)

hold on;

step(Gk3)

grid on;

ta có đồ thị đáp ứng bước nhảy thu được theo 2 phương pháp

Page 19: FOH - 0.01ms - GW2

19 [Lê Hải Đăng – 20090710]

// voi chu ki trich mau T2 = 0.01s

p1 = [0.44 0.55];

K12 = acker(phi2,H2,p1);

K22 = acker(phi2,H2,p2);

Gk4 = ss(phi2-H2*K22,H2,C,D,T2);

Gk2 = ss(phi2-H2*K12,H2,C,D,T2);

step(Gk2)

hold on;

step(Gk4)

grid on;

đồ thị đáp ứng thu được

Nhận xét chung:

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 PT1 thì sau nhiều chu kì trích mẫu đầu ra mới

xác lập. Nhưng giá trị xác lập tiến tới 1, sai lệch tĩnh tiến tới 0, đạt yêu cầu đk.

Tổng hợp bộ điều khiển tốc độ quay theo phương pháp đáp ứng hữu

hạn thì sau 2 chu kì trích mẫu đầu ra đạt giá trị xác lập do 2 điểm cực được gán

đều nằm ở gốc tọa độ. Tuy nhiên tồn tại sai lệch tĩnh rất lớn.