Chống bão hòa tích phân: phân tích sai lệch khi van chạm giới hạn

Giới hạn lệnh không đồng nghĩa giới hạn trạng thái bên trong
Một van đã mở hết không thể đáp ứng lệnh mở thêm, nhưng bộ điều khiển PI vẫn có thể cộng sai số vào thành phần tích phân. Sau khi yêu cầu giảm, bộ điều khiển phải mất thời gian xóa phần tích lũy đó trước khi lệnh quay lại vùng van có thể thực hiện.

Control Guru chỉ ra việc cắt đầu ra ở giới hạn chưa ngăn thành phần tích phân tiếp tục tăng; đường xu hướng chỉ có lệnh đã cắt có thể che hiện tượng này. [3] Bài dưới dùng một phép thử thuật toán với sai số được áp đặt để nhìn trực tiếp trạng thái tích phân. Nó không dự báo đáp ứng của một thiết bị công nghệ cụ thể.

Đặt riêng lệnh chưa giới hạn và lệnh thực hiện
Gọi v là lệnh tính toán trước giới hạn, u là lệnh gửi tới cơ cấu sau giới hạn. Dạng PI dùng trong bài là:

v=b+K_p e+I; u=sat(v,u_min,u_max).

b là độ lệch nền; e=SP−PV; I là phần đóng góp tích phân, có cùng đơn vị đầu ra với u. K_p có đơn vị đầu ra trên đơn vị sai số. Khi không có chống windup, dI/dt=K_i e, trong đó K_i có đơn vị đầu ra trên đơn vị sai số trên giây.

Hàm sat trả u_min nếu v thấp hơn giới hạn dưới, u_max nếu v cao hơn giới hạn trên, và v nếu nằm trong miền. Trong bài, đầu ra dùng điểm phần trăm thang lệnh, không phải phần số 0–1. Do đó tăng từ 40% lên 45% là tăng 5 điểm phần trăm, tránh nhập nhầm hệ số 100.

Phép thử có sai số giữ cố định
Tự đặt b=20%, K_p=3 điểm phần trăm/°C, K_i=0,5 điểm phần trăm/(°C·s), giới hạn u từ 0 tới 60%, và I(0)=30%. Trong 10 giây đầu, bộ phát tín hiệu thử giữ e=10°C. Thành phần tỷ lệ bằng 30%, nên v(0)=80%, cao hơn giới hạn 60%.

Không chống windup, dI/dt=5 điểm phần trăm/s. Sau 10 s, I=80% và v=130%, trong khi đầu ra u suốt khoảng vẫn là 60%. Nhìn riêng u không thấy trạng thái bên trong đã cách xa giới hạn tới mức nào.

Tại t=10 s, đổi sai số áp đặt thành −5°C. Thành phần tỷ lệ trở thành −15%, nên v ngay sau đổi bằng 20−15+80=85%. Dù sai số đã đổi dấu, u vẫn bị giữ ở 60%. Nếu tiếp tục giữ e=−5°C, I giảm 2,5 điểm phần trăm/s và cần thêm 10 s để v chạm 60%.

Thời gian 10 s này chỉ đúng với sai số được giữ bằng bộ phát thử. Trong vòng kín thực, PV thay đổi theo quá trình và thời gian giải tích phân cần tính cùng động học đó. Phép thử vẫn hữu ích vì nó cô lập được lỗi thuật toán mà không cần giả định một mô hình van hoặc bồn.

Tích phân có điều kiện phải xét hướng của sai số
Một phương pháp là tạm dừng tích phân khi lệnh đã ở giới hạn và K_i e tiếp tục đẩy ra ngoài. Cụ thể, giữ I nếu v≥u_max và K_i e>0, hoặc v≤u_min và K_i e<0. Các trường hợp còn lại tiếp tục tích phân.

Đây là cách diễn đạt phù hợp cả khi dấu gain được chọn khác nhau; xét riêng dấu e mà bỏ dấu K_i có thể tạo logic ngược. MathWorks gọi cách dựa trên tích phân có điều kiện là clamping. [1]

Trong phép thử trên, I được giữ ở 30% suốt 10 s đầu. Khi e chuyển sang −5°C, v=35%, nằm ngay trong miền thực hiện. Chấp hành có thể đổi lệnh ngay, thay vì chờ giải phần tích lũy vô ích.

Không được viết điều kiện đơn giản là hễ u chạm giới hạn thì luôn giữ I. Nếu lệnh đang ở giới hạn trên nhưng K_i e âm, tích phân cần được phép kéo v trở lại. Chặn cả hai hướng có thể làm bộ điều khiển bị giữ ở một trạng thái không phù hợp.

Phản hồi sai khác lệnh để điều chỉnh tích phân
Phương pháp back-calculation thêm phản hồi giữa đầu ra thực hiện và lệnh chưa giới hạn:

dI/dt=K_i e+(u−v)/T_t.

T_t>0 là thời gian tracking, đơn vị s. Thành phần (u−v)/T_t có cùng đơn vị với dI/dt. Khi không bão hòa u=v, thành phần mới bằng không và thuật toán trở lại PI ban đầu.

Åström mô tả cách phản hồi sai khác chấp hành và lệnh tính toán qua một thời gian tracking, thay vì reset tích phân tức thời. [2] Nếu công thức phần mềm dùng gain K_b thay cho T_t, trong đúng cách đặt trạng thái I này thì K_b=1/T_t, đơn vị s⁻¹. Không chuyển trực tiếp hệ số từ một cách đặt trạng thái tích phân khác mà chưa xem phương trình.

Nghiệm giải tích trong miền bão hòa trên
Trong 10 s đầu của phép thử, u=u_max, e và b không đổi. Thay v vào phương trình cho:

dI/dt=−(I−I_eq)/T_t; I_eq=u_max−b−K_p e+K_i eT_t.

I(t)=I_eq+{I(0)−I_eq}exp(−t/T_t).

Chọn T_t=2 s. Khi đó I_eq=60−20−30+5×2=20%. Sau 10 s, I=20+10exp(−5)=20,067379%. Lệnh chưa giới hạn còn 70,067379%, đầu ra thực vẫn 60%.

Tại thời điểm đổi e thành −5°C, v=25,067379%, trở lại miền thực hiện ngay. Kết quả khác clamping vì back-calculation đã chủ động kéo trạng thái tích phân xuống, còn clamping chỉ dừng phần tăng trong miền đã chọn.

Ở trạng thái cân bằng với sai số dương không đổi, v_eq−u_max=K_i eT_t=10 điểm phần trăm. Back-calculation không buộc v luôn bằng u trong lúc còn sai số kéo ra giới hạn; sai khác hữu hạn cần để phản hồi cân bằng tốc độ tích phân do e.

Độ nhạy với thời gian tracking
Giữ mọi dữ liệu thử, chọn T_t=1 s cho I_eq=15% và I(10)=15,000681%; lệnh sau đổi sai số là 20,000681%. Với T_t=5 s, I_eq=35% và I(10)=34,323324%; lệnh sau đổi là 39,323324%.

Thời gian tracking nhỏ làm trạng thái bị kéo về miền thực hiện nhanh hơn trong phép thử này. Nhưng giảm T_t vô hạn không phải một quy tắc chỉnh định: phản hồi có thể tương tác với nhiễu, động học chấp hành và cách lấy mẫu. Cần kiểm đáp ứng chuyển miền, tải và chế độ thực tế cùng với mô hình vòng kín.

Tích phân số có thể tự tạo dao động
Nếu dùng Euler tiến với bước Δt trong một miền bão hòa cố định, phương trình cập nhật là I_(k+1)=I_k+Δt{K_i e+(u_k−v_k)/T_t}. Sai lệch z_k=I_k−I_eq thỏa z_(k+1)=(1−Δt/T_t)z_k.

Đối với riêng phương trình tuyến tính ở miền này, hội tụ cần 0<Δt/T_t<2. Không đổi dấu sai lệch sau mỗi bước cần thêm Δt/T_t≤1. Đây là điều kiện của tích phân số cho bài toán cục bộ, không phải chứng nhận ổn định của toàn bộ hệ có bão hòa.

Với Δt=0,2 s và T_t=2 s, hệ số sai lệch là 0,9. Sau 50 bước, I=20+10×0,9⁵⁰=20,051538%, gần nghiệm liên tục 20,067379%. Nếu dùng Δt=1 s, kết quả sau 10 bước là 20,009766%; ổn định số nhưng mô tả tốc độ kéo trạng thái khác nghiệm liên tục.

Nếu đặt Δt=1 s và T_t=0,2 s, hệ số là −4, nên nghiệm Euler trong miền cố định phân kỳ. Các lần chuyển giới hạn có thể làm diễn biến toàn hệ phức tạp hơn, nhưng không sửa được việc lựa chọn bước số không phù hợp với động học tracking đã đưa vào.

Giới hạn nằm sau khối PI cần được phản hồi đúng
Có hệ thống giới hạn tốc độ van, bộ chọn lệnh, chế độ tay hoặc một vòng trong khiến đầu ra thực hiện khác lệnh của PI. Nếu thuật toán chỉ thấy giới hạn nội bộ nhưng không thấy giới hạn sau đó, I vẫn có thể tích lũy không phù hợp.

MathWorks trình bày tracking ngoài cho các trường hợp chấp hành có động học và khi có thêm feedforward. [1] Tín hiệu phản hồi phải cùng đơn vị và cùng ranh giới với v. Nếu cộng feedforward sau PI, cần tính cách tách phần đó khi đưa tín hiệu về tích phân, không phản hồi một giá trị khác nghĩa rồi coi nó là u−v.

Khi không đo được đầu ra thực hiện, có thể dùng mô hình chấp hành, nhưng chất lượng chống windup khi đó phụ thuộc độ đúng của mô hình. [2] Lệnh phần trăm van cũng không tự bằng lưu lượng phần trăm; đổi biến cần quan hệ đã xác định.

Cần ghi những tín hiệu nào để chẩn đoán
Một lần kiểm nên lưu SP, PV, e, v, u, I, giới hạn đang áp dụng, chế độ vòng và trạng thái tracking. Bài thử có thể gồm yêu cầu vượt khả năng rồi quay về, đổi dấu sai số tại giới hạn và chuyển giữa tay với tự động.

Chống windup giúp bộ điều khiển phục hồi khi rời miền bão hòa. Nó không tăng công suất cơ cấu, không làm một điểm đặt vượt khả năng trở nên khả thi, và không thay đổi yêu cầu đánh giá ổn định của vòng điều khiển công nghệ.

Nguồn tham khảo
[1] Anti-Windup Control Using PID Controller Block — MathWorks, Simulink Documentation. Truy cập ngày 09/11/2026.
[2] Control System Design — Chapter 6: PID Control, Section 6.5: Windup — Karl Johan Åström, 2002; tài liệu giảng dạy lưu tại California Institute of Technology. Truy cập ngày 09/11/2026.
[3] Integral (Reset) Windup, Jacketing Logic and the Velocity PI Form — Control Guru, Control Station Inc., 7 April 2015. Truy cập ngày 09/11/2026.

Rà soát nội dung: 09/11/2026.
 
Top