Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 49

1.1.1.

Tuần 1-2: Xây dựng hàm FB mô phỏng đối tượng khâu quán tính bậc 1 và
khâu tích phân (bể nước 1 đầu vào 1 đầu ra)
1.1.1.1. Cơ sở lý thuyết:
1.1.1.1.1. Khâu quán tính bậc 1:

 Hàm mô tả toán học của đối tượng trên miền thời gian:

Trong đó: K: hệ số tỷ lệ

X: tín hiệu đầu vào của hệ thống

Yn: tín hiệu đầu ra của hệ thống tại thời điểm t (%)

Yn+1: tín hiệu đầu ra của hệ thống tại thời điểm t+1 (%)

T: hằng số thời gian (thời gian cần thiết để hàm quá độ tăng lên bằng
63% giá trị xác lập) (s)

B: Bias (sai lệch của hệ thống do sai số của thiết bị đo,…) (%)

 Hàm quá độ:

 Đồ thị đáp ứng quá độ:

1
1.1.1.1.2. Khâu tích phân (bể nước 1 đầu vào 1 đầu ra)
Ta có đối tượng bể nước như trong hình:

Với: u(t); lưu lượng chất lỏng vào (m3/s) ↔ fin

y(t): lưu lượng chất lỏng ra (m3/s) ↔ fout

A: diện tích đáy của bể chất lỏng m2

h: mức nước trong bể (m)

2
Δt: thời gian lấy mẫu (s)

Giả sử diện tích 2 mặt đáy của bể bằng nhau.

 Hàm mô tả toán học của hệ:


 Đồ thị đáp ứng quá độ:

3
1.1.1.1.3. Linear congruential generator
Để mô phỏng nhiễu trong các hệ thống thực, ta sử dụng bộ sinh số giả ngẫu
nhiên. Bộ sinh số giả ngẫu nhiên sử dụng một số hạt khởi đầu (seed) làm đầu vào cho
thuật toán. Khi thuật toán chạy, nó sẽ tạo ra một chuỗi các số giả ngẫu nhiên dựa trên
hạt khởi đầu.
Linear Congruential Generator (LCG) là một trong những thuật toán tạo số giả
ngẫu nhiên phổ biến nhất. Công thức của LCG là:

Trong đó: Xn: là số nguyên tạo ra trước đó.

Xn+1: là số nguyên mới được tạo ra.

a, c và m: là các số nguyên dương được chọn trước đó.

mod: là phép toán lấy phần dư khi chia.

Các giá trị a, c và m phải được chọn sao cho đáp ứng một số điều kiện nhất định
để tạo ra chuỗi số giả ngẫu nhiên có chất lượng tốt. Các giá trị này phải được lựa chọn
cẩn thận để tránh tình trạng chuỗi số tạo ra trùng lặp hoặc không ngẫu nhiên đủ.
Trong LCG, giá trị của Xn+1 phụ thuộc vào giá trị Xn. Do đó, nếu chọn sai giá
trị cho a, c, m hoặc giá trị khởi đầu (seed) không tốt, chuỗi số tạo ra có thể bị dự đoán
và không đạt được độ ngẫu nhiên đủ cao. Chính vì vậy, việc chọn giá trị đầu vào và
các tham số trong công thức LCG là rất quan trọng để tạo ra chuỗi số giả ngẫu nhiên
có chất lượng cao.
Dựa trên bảng tham số được sử dụng phổ biến trên trang Wikipedia:
https://en.wikipedia.org/wiki/Linear_congruential_generator
Ta lựa chọn các tham số theo ZX81: m = 65535, a = 75, c = 74.
1.1.1.2. Code mô phỏng:
1.1.1.2.1. Đối tượng quán tính bậc 1:
Dùng hàm FB để mô phỏng đối tượng quán tính bậc 1.

 Bảng tham số I/O:

Tên biến Kiểu dữ liệu Comment


4
X Real

K Real

Input T Real

B Real

dt Real

Output Y_n1 Real

Static Y_n Real

 Source code:

1. #Y_n := #Y_n1;
2. #Y_n1 := (#K * #X - #Y_n) *#dt / #T + #Y_n;

1.1.1.2.2. Hàm FB mô phỏng nhiễu

 Bảng tham số I/O:

Kiểu dữ
Tên biến Comment
liệu

Max Real
Input
Min Real

Output Random_Noise Real

Static m UInt The modulus

a UInt The multiplier

c UInt The increment

X_n UInt The "seed" or "start value"

5
X_n+1 UInt

Upper_Limit UInt

Lower_Limit UInt

Rand_inrange UInt

 Source code:
1. //Chuyển đổi Min, Max
2. #Upper_Limit := REAL_TO_UINT(#Max * 10.0);
3. #Lower_Limit := REAL_TO_UINT(#Min * 10.0);
4. //Tham số Random
5. #a := 75;
6. #c := 74;
7. #m := 65535;
8. #X_n := #"X_n+1";
9. #"X_n+1" := (#a * #X_n + #c) MOD #m;
10.//Giới hạn đầu ra
11.#Rand_inrange := (#"X_n+1" MOD (#Upper_Limit -
#Lower_Limit + 1)) + #Lower_Limit;
12.//Chuyển đổi đầu ra
13.#Random_Noise := UINT_TO_REAL(#Rand_inrange) / 10.0;

1.1.1.2.3. Hàm FB mô phỏng trễ:

 Nguyên lý: lưu tín hiệu đầu vào vào 1 mảng, sau thời gian trễ quy định thì xuất
tín hiệu ra Output. Với thời gian lấy mẫu là 0,1s thì thời gian trễ tối đa là 100s.
 Bảng địa chỉ I/O:

Tên biến Kiểu dữ liệu Comment

delay_T Real
Input
delay_Y Real

Output Y_delay Real

Static T_int Int

6
Y_Temp Array[0..999] of Real

Y_Temp_i Int

 Source code:

1. //Tính số biến tạm


2.  #T_int := REAL_TO_INT(#delay_T / 0.1);
3.  IF #T_int = 0 THEN
4.      #Y_delay := #Y;
5.  ELSE
6.      //Gán input vào bộ nhớ tạm
7.      FOR #Y_Temp_i := 1 TO #T_int - 1 DO
8.          #Y_Temp[#T_int - 1] := #Y;
9.          #Y_Temp[#Y_Temp_i - 1] := #Y_Temp[#Y_Temp_i];
10.     END_FOR;
11.     //Gán giá trị tạm ra Output
12.     #Y_delay := #Y_Temp[0];
13. END_IF;

1.1.1.2.4. Hàm FB mô phỏng đối tượng bể nước


Bể nước có 1 đầu vào và 1 đầu ra

 Bảng địa chỉ I/O:

Kiểu dữ
Tên biến Comment
liệu

Inlet_flowrate Real l/s

Outlet_flowrate Real l/s

dt Real s
Input
Area Real m2

Tank_height Real m

Bias_% Real %

Output Level_% Real %

7
Tank_Volume Real m3

Water_Volume Real m3

Inlet_flowrate_m3/s Real m3/s

Outlet_flowrate_m3/s Real m3/s

Bias Real m
Static
h-Bias Real mức nước đo được chưa tính sai lệch (m)

h Real mức nước đo được đã tính sai lệch (m)

dh Real độ tăng/giảm mức nước (m)

 Source code:

1. //Tính thể tích bể (m3)


2. #Tank_Volume := #Area * #Tank_height;
3.  
4. //Quy đổi lưu lượng nước I/O
5. #"Inlet_flowrate_m3/s" := #Inlet_flowrate / 1000;
6. #"Outlet_flowrate_m3/s" := #Outlet_flowrate / 1000;
7.  
8. //Tính độ thay đổi mức nước (m)
9. #dh := (#dt * (#"Inlet_flowrate_m3/s" -
#"Outlet_flowrate_m3/s")) / #Area;
10. 
11.//Tính sai lệch (m)
12.#"Bias" := #"Bias_%" / 100 * #Tank_height;
13. 
14.//Tính mức nước của bể chưa có Bias
15.#"h-Bias" += #dh;
16. 
17.//Giới hạn mức nước khi chưa cộng Bias
18.IF #"h-Bias" <= 0.0 THEN
19.    #"h-Bias" := 0.0;
20.ELSIF #"h-Bias">#Tank_height THEN
21.    #"h-Bias" := #Tank_height;
22.END_IF;
23. 

8
24.//Tính mức nước đã có Bias
25.#h := #"h-Bias" + #Bias;
26. 
27.//Tính toán mức nước theo (%)
28.IF #"h" < 0.0 THEN
29.    #"h" := 0.0;
30.    #"Level_%" := 0.0;
31.ELSIF #"h" >= #Tank_height THEN
32.    #"h" := #Tank_height;
33.    #"Level_%" := 100.0;
34.ELSE
35.    #"Level_%" := (#"h" / #Tank_height) * 100.0;
36.END_IF;
37.#Water_Volume := #h * #Area;
1.1.1.3. Kết quả mô phỏng
1.1.1.3.1. Đối tượng quán tính bậc 1

 Thông số: K = 10, T = 5s, B = 0, thời gian lấy mẫu 0,1s


 Thay đổi X từ 0 – 8
→ Đáp ứng của đối tượng:

 Đường màu nâu là X.


 Đường màu xanh là đầu ra với trễ = 0s, nhiễu = 0%
 Đường màu hồng là đầu ra với trễ = 2s, nhiễu 2%
1.1.1.3.2. Đối tượng bể nước

 Test với bể có thông số:


o Chiều cao: 2m

9
o Diện tích đáy: 3m2
o Bias: 5%
o Lưu lượng nước vào/ra bể thay đổi từ 100.0/3.0 (l/s), khi đến 1 mức
nào đó thì chuyển thành 3.0/3.0 (l/s) đển giữ nguyên mức nước, sau
đó thay đổi thành 3.0/200.0 (l/s)

 Đường màu xanh là mức nước của bể khi trễ = 0s, nhiễu = 0%
 Đường màu đỏ là mức nước của bể khi trễ = 10s, nhiễu = 2%

10
1.1.2. Tuần 3: Xây dựng chương trình điều khiển PID cho đối tượng quán tính
bậc 1 bằng PID Compact trên TIA Portal và kiểm tra ảnh hưởng của các tham
số.
Dựa vào project mẫu của Siemens (ID: 100746401), tạo project mô phỏng điều
khiển đối tượng quán tính bậc 1 bằng PID Compact có thể Tuning online trên Wincc.
1.1.2.1. Cài đặt tham số.
1.1.2.1.1. Tham số hệ thống mô phỏng:

Tham số Giá trị

K 10.0

T 5.0 s

Bias (Sai lệch) 0.0 %

Noise (Nhiễu) 0.0 - 1.0 %

tau (thời gian trễ) 2.0 s

Tham số hệ thống khi mô phỏng


1.1.2.1.2. Tham số bộ điều khiển

 Output Limit: 0.0 – 10.0 %


 Startup ở chế độ Inactive
 Ban đầu lấy tham số mặc định:

11
1.1.2.2. Test
Tuning hệ thống ở trạng thái tương đối lý tưởng (nhiễu nhỏ, không có Bias, trễ
nhỏ). Sau đó, kiểm tra ảnh hưởng của các yếu tố như nhiễu, Bias, trễ,… đến hệ thống,
với tham số PID dò được ở trường hợp lý tưởng nhất.
1.1.2.2.1. Tuning
 Pretuning:
Pretuning với SP = 50.0% theo luật PID theo Chien, Hrones và Reswick:

Kết quả Pretuning sau đó thay đổi SP từ 50 -> 10

12
Kết quả sau khi thay đổi SP từ 10 -> 50

Đánh giá kết quả:

 Độ vọt lố nhỏ: <5%


 Thời gian đáp ứng: khoảng 20 – 25s
 Sai lệch tĩnh nhỏ: ±1%
 Fine tuning
Fine Tuning với luật Ziegler-Nichols PID khi hệ ổn định với thông số Pretuning

SP = 50%, khi ổn định thì thay đổi SP: 50%->20% thu được kết quả:

13
Fine Tuning rồi chỉnh SP từ 50 -> 20
Đánh giá kết quả:

 Độ vọt lố nhỏ: <5%


 Thời gian đáp ứng: khoảng 20s
 Sai lệch tĩnh nhỏ: ±1%
1.1.2.2.2. Xét ảnh hưởng khi thay đổi nhiễu
Tăng nhiễu từ 0-1% lên 5-10% thì được kết quả:

14
Đáp ứng của hệ thống khi tăng nhiễu lên thành 5-10%

 Mất khoảng 1p để hệ thống ổn định lại


 Sai lệch tĩnh: ±3%
1.1.2.2.3. Xét ảnh hưởng thay đổi Bias
Giảm nhiễu còn 0-5%, tăng Bias lên 30%

Kết quả khi tăng Bias lên 30% tại SP = 20%

15
Tăng SP lên 50%, khi ổn định sai lệch tĩnh khoảng ±3%:

Khi Bias về 0.0% được kết quả:

1.1.2.2.4. Xét ảnh hưởng khi thay đổi trễ


Khi trễ quá lớn (> Ti của bộ điều khiển) hệ thống không thể ổn định được:

16
1.1.2.2.5. Xét ảnh hưởng khi thay đổi hệ số K và T
Giảm K: 10->5, T: 5->3s (màu đỏ), PV bị giảm sau đó ổn định lại trong khoảng
5-7s
Tăng K: 5->15, T: 3->8s (màu tím), PV tăng lên sau đó ổn định lại trong khoảng
10s.

17
1.1.3. Tuần 4: Xây dựng chương trình điều khiển PID cho đối tượng tích phân
bằng PID Compact trên TIA Portal và kiểm tra ảnh hưởng của các tham số.
Dựa vào project mẫu của Siemens (ID: 100746401), tạo project mô phỏng điều
khiển đối tượng bể nước (khâu tích phân) bằng PID Compact có thể Tuning online trên
Wincc.
Phần báo cáo này chỉ trình bày điều khiển lưu lượng nước đầu vào của bể.
1.1.3.1. Cài đặt tham số.
1.1.3.1.1. Tham số hệ thống mô phỏng:

Tham số Giá trị

Lưu lượng vòi chảy ra (Outlet_flowrate) 10 l/s

Chiều cao bể 3m

Diện tích mặt đáy của bể 10 m2

Bias (Sai lệch) 0%


Noise (Nhiễu) 0–1%

tau (thời gian trễ) 30 s

Tham số hệ thống khi mô phỏng


1.1.3.1.2. Tham số bộ điều khiển

 Output Limit: 0.0 – 90.0 % ↔ điều khiển lưu lượng nước vào
(Inlet_flowrate) từ 0 - 90 (l/s)
 Startup ở chế độ Inactive
 Ban đầu lấy tham số mặc định:

18
1.1.3.2. Test
Tuning hệ thống ở trạng thái tương đối lý tưởng (nhiễu nhỏ, không có Bias, trễ
nhỏ). Sau đó, kiểm tra ảnh hưởng của các yếu tố như nhiễu, Bias, trễ,… đến hệ thống,
với tham số PID dò được ở trường hợp lý tưởng nhất.
1.1.3.2.1. Tuning
 Pretuning
Pretuning với SP = 20.0% theo luật PID theo Chien, Hrones và Reswick:

Đáp ứng của hệ thống khi thực hiện Pretuning


Thay đổi SP từ 10 -> 90 -> 10% để xem đáp ứng:

19
Đánh giá:

 Độ vọt lố <5%
 Thời gian quá độ: 80s
 Sai lệch tĩnh khoảng ±1%

 Fine Tuning
Fine Tuning với Ziegler-Nichols PID khi hệ ổn định với thông số Pretuning ở
Setpoint 20%, dò được thông số bộ PID:

20
Đáp ứng của hệ thống khi thực hiện Fine Tuning
Khi ổn định cháu thay đổi Setpoint: 10%-> 90% -> 10% thì được kết quả:

Đánh giá:

21
 Độ vọt lố <5%
 Thời gian quá độ khoảng 50s
 Sai lệch tĩnh khoảng ±1%
1.1.3.2.2. Xét ảnh hưởng khi thay đổi nhiễu
Tăng nhiễu từ 0-1% lên 5-10% thì được kết quả:

Đáp ứng của hệ thống khi tăng nhiễu lên thành 5-10%
Mất khoảng 1p30s để hệ thống ổn định lại
Sai lệch tĩnh: ±5%

Thay đổi Setpoint 10 -> 80 -> 10%:

Khi SP từ 10 -> 80%:


• Độ vọt lố gần 15%
• Thời gian quá độ khoảng 2p
• Sai số tĩnh: ±5%

22
1.1.3.2.3. Xét ảnh hưởng thay đổi Bias
Giảm nhiễu còn 0-1% và tăng Bias lên 30% thì được kết quả:

 Màu đỏ là Bias lên 30% chưa ổn định thì về 0%


 Màu vàng là Bias lên 30% rồi chờ ổn định
 Sai lệch tĩnh ±1%
Khi hệ thống đang ổn định ở Bias 30% và giảm về 0%:

Khi thay đổi Setpoint 40->90->40% với Bias 30%

23
Đánh giá:

 Độ vọt lố <5%
 Thời gian đáp ứng: 42s
 Sai lệch tĩnh: ±1%
1.1.3.2.4. Xét ảnh hưởng khi thay đổi trễ
Nhiễu:0-1%, giảm Bias về 0%, đợi hệ thống ổn định rồi tăng thời gian trễ lên 50s
tại điểm đánh dấu, thay đổi Setpoint từ 20 -> 90 -> 40% được kết quả:

Đánh giá:

 Độ vọt lố: <5%


 Thời gian quá độ: khoảng 70s
 Sai lệch tĩnh: ±1%

24
1.1.3.2.5. Xét ảnh hưởng khi thay đổi lưu lượng nước ra
Màu đỏ là Output từ 10 l/s -> 70 l/s
Màu đen là Output từ 70 l/s -> 40 l/s

25
1.1.4. Tuần 5-6: Xây dựng hàm FB nhận dạng đối tượng quán tính bậc 1 sử dụng
hồi quy tuyến tính.
1.1.4.1. Cơ sở lý thuyết
1.1.4.1.1. Hồi quy tuyến tính với phương pháp Normal Equation
Hồi quy tuyến tính là một kỹ thuật quan trọng trong Machine Learning, nó được
sử dụng để tìm ra một mối quan hệ tuyến tính giữa đầu vào và đầu ra.
Phương pháp Normal Equation là một phương pháp giải quyết hệ phương trình
tuyến tính bằng cách tìm ra giá trị của vector hệ số mà giá trị của hàm mất mát là nhỏ
nhất. Bằng cách sử dụng phương pháp này, chúng ta có thể tính được giá trị tối ưu của
các hệ số để giải quyết bài toán hồi quy tuyến tính.
Ta có phương trình:

Trong đó: X là vector hệ số cần tìm

A là ma trận đầu vào

B vector đầu ra

Công thức giải phương trình trên bằng phương pháp Normal Equation như sau:

Với điều kiện ma trận AT.A khả nghịch


Phương pháp Normal Equation là một phương pháp đơn giản và dễ hiểu để giải
hồi quy tuyến tính, nhưng nó có nhược điểm khi xử lý với dữ liệu lớn và không thể
giải được trong trường hợp không khả nghịch.
1.1.4.1.2. Phép nghịch đảo ma trận
Ma trận AT.A khả nghịch khi det(AT.A) ≠ 0. Giả sử ẩn AT.A  A
 Với AT.A là ma trận 3x3 thì ma trận nghịch đảo của A T.A được tính như
sau:

26
det(AT.A) ≠ 0 -> ma trận khả nghịch
Tính (A^T.A)* theo công thức:

Tính ma trận chuyển vị của (AT.A)* (Với A <-> (AT.A))


 Với AT.A là ma trận 2x2 thì ma trận nghịch đảo của A T.A được tính như
sau:
Tính det(A^T.A) theo công thức:

Tính (A^T.A)* theo công thức:

27

1.1.4.2. Giải thuật nhận dạng đối tượng quán tính bậc 1
Bước 1: Thu thập dữ liệu Input (X) và Output (Y).

Khi hệ thống ổn định ta tăng Input hệ thống lên 1 khoảng X 1 sau đó lấy mẫu giá
trị đầu vào và giá trị đầu ra, Trên thực nghiệm khi chỉ có 1 giá trị X 1 thì không thể tính
ra được K, T, B. Nên khi hệ thống ta 1 lần nữa tăng giá trị đầu vào lên X 2 sau đó lấy
mẫu đầu vào và đầu ra. Lúc này ta được 2 tập giá trị của đầu vào (X_buff) và đầu ra
(Y_buff).
Mỗi lần lấy mẫu ta lấy trong 60s, thời gian lấy mẫu 1s → tổng cộng có 120 giá trị
của X và 120 giá trị của Y.

28
Muốn đủ dữ liệu ta phải lấy dữ liệu sao cho được 2 đoạn đường cong của đầu ra
Y như hình trên.
Bước 2: Tính Y(t)
Từ bước 1 ta có được 2 mảng dữ liệu (t = 0 → 59):

t Y_buff

0 Y_buff[0]

1 Y_buff[1]

2 Y_buff[2]

3 Y_buff[3]

… …

59 Y_buff[59]

0 Y_buff[60]

1 Y_buff[61]

2 Y_buff[62]

3 Y_buff[63]

… …

59 Y_buff[119]

Từ 2 mảng dữ liệu ta dừng hồi quy tuyến tính để tìm 2 bộ hệ số cho phương
trình:

Với t đã biết, và dữ liệu đầu ra Y_buff ứng với t.


Từ đó tìm được mối quan hệ giữa 2 đoạn đường cong bậc hai với thời gian t (từ 0
→ 59). Đường cong này thỏa mãn khoảng cách giữa các điểm dữ liệu đến nó là ngắn
nhất, giúp khử nhiễu.

29
Sau đó tính Y theo t với 2 bộ số a, b, c tính được nhờ hồi quy, thay t=0,…,60, ta
được 2 đường cong xấp xỉ Y(t):

Mỗi đường cong gồm 60 điểm ứng vưới 2 giá trị của X, lưu các giá trị này vào
mảng Y_model[0…119].
Bước 3: Dùng hồi quy tuyến tính để tính KX+B và T.
Dựa trên phương trình động học của khâu quán tính bậc 1:

Ta coi KX + B và T là 2 ẩn. Với Y lấy từ Y_model[0…119] và X lấy từ


X_buff[0..119] (dữ liệu đầu vào từ 2 lần lấy mẫu), ta tách ra làm 2 lần tính thu được 2
giá trị của KX+B và T (tạm gọi là T1 ứng với X1 và T2 ứng với X2).

Đặt , từ mảng Y_model tính được theo t ta có:

30
Dùng hồi quy tuyến tính cho phương trình trên ta thu được T1 và T2. Từ đó tính
được tham số T của model bằng trung bình cộng của T1 và T2.
Bước 4: Tính K, B.
Dựa trên T1, T2 tính được ở Bước 3 và Y_model tính được ở Bước 2. Thay T1 và
T2 vào phương trình động học ta có:

Đặt:

Ta được:

31
Hồi quy hệ trên ta thu được K và B.
1.1.4.3. Kiểm nghiệm kết quả
1.1.4.3.1. Lần 1 (trễ = 0s)
Thông số hệ thống
K 5
T 60s
tau 0s
Bias 0%
X 10 -> 20
Nhiễu 2%
Ban đầu X=0, cho X=10 rồi lấy mẫu, sau khi hệ thống ổn định thì tăng lên X =
20 rồi lấy mẫu lần 2 và tính toán thu được kết quả:
Hệ số X cho phương trình: y(t) = a + b.t + c.t2
a 2.230225
b 0.7688999
c -0.004410475
Hệ số X cho phương trình: y(t) = a + b.t + c.t 2

a 52.32373
b 0.7447586
c -0.003915668
Kết quả hồi quy tính KX + B và T lần 1
KX+B = K.20 + B 48.91859
T 57.66751
Kết quả hồi quy tính KX + B và T lần 2
KX+B = K.40 + B 103.2328
T 65.59924
Thông số KTB tính được lấy trung bình của T ở 2 lần tính trên
K 5.43143
T 61.63
B -5.39569
32
90

80

70

60

50

40

30

20

10

0
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116

X Y(hệ thống)

Đồ thị của các điểm dữ liệu mẫu thu được từ hệ thống


90

80

70

60

50

40

30

20

10

0
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116

X Y(t)

Đồ thị của phương trình bậc 2 Y(t) ta dò được


Đánh giá:
Các hệ số K, T, B dò được tương đối sát với thông số model mô phỏng,
1.1.4.3.2. Lần 2 (trễ = 5s)
Thông số hệ thống
K 2
T 60
tau 5s
Bias 10%

33
X 16 -> 34
Nhiễu 0 - 5%
Ban đầu X=0, cho X=16 rồi lấy mẫu, sau khi hệ thống ổn định thì tăng lên X =
34 rồi lấy mẫu lần 2 và tính toán thu được kết quả:
Hệ số X cho phương trình: y(t) = a + b.t + c.t2
a 11.507
b 0.477358
c -0.00226
Hệ số X cho phương trình: y(t) = a + b.t + c.t 2

a 43.63806
b 0.533936
c -0.00253
Kết quả hồi quy tính KX + B và T lần 1
KX+B = K.16 + B 49.04037
T 76.19678
Kết quả hồi quy tính KX + B và T lần 2
KX+B = K.32 + B 85.5061
T 75.97705
Thông số KTB tính được lấy trung bình của T ở 2 lần tính trên
K 2.025864
T 76.09
B 16.62659
45

40

35

30

25

20

15

10

0
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121

X Y(hệ thống)

Đồ thị của các điểm dữ liệu mẫu thu được từ hệ thống

34
45

40

35

30

25

20

15

10

0
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121

X Y(t)

Đồ thị của phương trình bậc 2 Y(t) ta dò được


Đánh giá:
Các hệ số K, T, B dò được tương đối sát với thông số model mô phỏng,

35
1.1.5. Tuần 7: Từ thông số nhận dạng đối tượng, tính toán tham số bộ điều khiển
PID cho đối tượng.
Nhận dạng đối tượng quán tính bậc 1 bằng giải thuật nhận dạng thực hiện được
từ tuần trước. Sau đó, từ thông số nhận dạng tính toán ra tham số bộ điều khiển PID và
cho PID Compact chạy ở chế độ Automatic Mode.
1.1.5.1. Test lần 1.
Thông số hệ thống
K 2
T 60s
tau 0s
Bias 10%
X 25 -> 40
Nhiễu 2%
PID output: 0-50.0
1.1.5.1.1. Nhận dạng đối tượng + Test PID:
Thông số hệ thống:

Ban đầu cho X lên 10.0.


Sau khi hệ thống ổn định thì tăng lên X = 25.0 và lấy mẫu lần 1.
Sau khi ổn định tại X = 25.0 thì tăng lên X = 40.0 và lấy mẫu lần 2.

36
Sau khi có kết quả 2 lần lấy mẫu thì tính toán K, T, B:

37
Cho chạy PID với thông số dò được:

Cho SP từ 15 -> 20 và 20 -> 40 rồi 40 -> 15:

Nhận xét:

 Không xảy ra vọt lố


 Đáp ứng chậm: khoảng 2p
 Sai lệch tĩnh khoảng ±2%

38
1.1.5.1.2. Test ảnh hưởng của nhiễu:
Tăng nhiễu lên 5-10% tại SP = 50:

Mất khoảng 1p để hệ thống ổn định


Sai lệch tĩnh khoảng ±3%
1.1.5.1.3. Ảnh hưởng của Bias
Chỉnh nhiễu về 0-2%
Cho Bias tăng đột ngột lên 30% tại SP = 50%, đợi ổn định 1 lúc rồi giảm Bias về
10%

39
Mất khoảng 3p để hệ thống ổn định lại
Sai lệch tĩnh: ±1%
1.1.5.1.4. Ảnh hưởng của tau:
Tăng tau lên 10s:

Sau khoảng hơn 1p thì hệ thống ổn định


Tăng tau lên 60s:

Gần 2 tiếng sau hệ thống mới ổn định, Sai lệch tĩnh khoảng ±1%:

40
Giảm tau về 0s, không xảy ra hiện tượng gì:

41
1.1.5.1.5. Ảnh hưởng của K, T:
Thay đổi K: 2 -> 5, T: 60 -> 40s (Đoạn màu đỏ). Mất khoảng 2p30s để hệ
thống ổn định
Thay đổi K: 5-> 15, T: 40 -> 20s (Đoạn màu Xám). Mất khoảng hơn 2p để hệ
thống ổn định

Thay đổi về thông số cũ: K = 2, T = 60s

42
1.1.5.2. Test lần 2

Thông số hệ thống
K 10
T 5s
tau 0s
Bias 10%
X 25 -> 40
Nhiễu 2%

1.1.5.2.1. Nhận dạng đối tượng + Test PID:


Thông số hệ thống:

Ban đầu cho X lên 1.0.


Sau khi hệ thống ổn định thì tăng lên X = 4.0 và lấy mẫu lần 1.
Sau khi ổn định tại X = 4.0 thì tăng lên X = 8.0 và lấy mẫu lần 2.

43
Sau khi có kết quả 2 lần lấy mẫu thì tính toán K, T, B:

Cho chạy PID với thông số dò được:

44
Cho SP từ 15 -> 90 và rồi 90 -> 20:

Nhận xét:

 Vọt lố: < 5%


 Thời gian đáp ứng: khoảng 30s
 Sai lệch tĩnh khoảng ±1%

45
1.1.5.2.2. Test ảnh hưởng của nhiễu:
Tăng nhiễu lên 5-10% tại SP = 50:

Mất khoảng 5s để hệ thống ổn định


Sai lệch tĩnh khoảng ±3%
1.1.5.2.3. Ảnh hưởng của Bias
Chỉnh nhiễu về 0-2%
Cho Bias tăng đột ngột lên 30% tại SP = 50%, đợi ổn định 1 lúc rồi giảm Bias về
10%

Mất khoảng 20s để hệ thống ổn định lại


Sai lệch tĩnh: ±1%
46
1.1.5.2.4. Ảnh hưởng của tau:
Tăng tau lên 3s:

Sau khoảng 30s thì hệ thống ổn định


Tăng tau từ 3 -> 10s, hệ không thể ổn định:

47
Trả tau về 0s, mất khoảng 15s để hệ ổn định:

48
1.1.5.2.5. Ảnh hưởng của K, T:
Thay đổi K: 10 -> 15, T: 5 -> 10s (Đoạn màu đỏ). Mất khoảng 20s để hệ thống
ổn định
Thay đổi K: 15 -> 7, T: 10 -> 3s (Đoạn màu Xám). Mất khoảng 20s để hệ thống
ổn định
Thay đổi K: 7 -> 10, T: 3 -> 5s (Đoạn màu Vàng). Mất khoảng 20s để hệ thống
ổn định

49

You might also like