Nguyên lý điều khiển vòng kín (Closed-loop control)
Điều khiển vòng kín liên tục so sánh giá trị thực (Process Variable — PV) với giá trị đặt (Setpoint — SP) để tính toán tín hiệu điều khiển (Control Output — CO):
- Setpoint (SP): Giá trị mong muốn (ví dụ: nhiệt độ 80°C).
- Process Variable (PV): Giá trị thực đo được từ cảm biến (ví dụ: nhiệt độ hiện tại 75°C).
- Error (e): e = SP − PV = 80 − 75 = 5°C.
- Control Output (CO): Tín hiệu ra điều khiển actuator (ví dụ: valve mở thêm 30%).
Ba thành phần P, I, D
P — Proportional (Tỷ lệ)
CO_P = Kp × e(t)
Thành phần P tạo output tỷ lệ thuận với sai lệch tức thời. Kp càng lớn → phản ứng càng nhanh, nhưng dễ dao động và overshoot. Kp quá nhỏ → phản ứng chậm, sai lệch tĩnh (steady-state error) lớn.
Hạn chế của P đơn thuần: Luôn tồn tại sai lệch tĩnh (offset). Để CO = 0, phải có e = 0 — nhưng để duy trì nhiệt độ ổn định, cần CO > 0 (ví dụ van mở 20% để bù tổn nhiệt) → e phải ≠ 0 → luôn có offset.
I — Integral (Tích phân)
CO_I = Ki × ∫e(t)dt
Thành phần I tích lũy sai lệch theo thời gian. Nếu sai lệch nhỏ nhưng kéo dài lâu, CO_I tăng dần cho đến khi e = 0. Tác dụng: loại bỏ hoàn toàn sai lệch tĩnh. Nhược điểm: phản ứng chậm, có thể gây overshoot và dao động nếu Ki quá lớn.
Integral Windup: Khi output đã bão hòa (CO = 100%) mà vẫn còn sai lệch, tích phân tiếp tục tích lũy rất lớn → khi hệ thống đạt setpoint, phải mất nhiều thời gian để tích phân “xả” về 0 → overshoot kéo dài. Giải pháp: Anti-windup (giới hạn tích phân khi output bão hòa).
D — Derivative (Vi phân)
CO_D = Kd × de(t)/dt
Thành phần D phản ứng theo tốc độ thay đổi của sai lệch. Nếu sai lệch đang giảm nhanh, D tạo output ngược chiều để “phanh” trước khi vượt qua setpoint — giảm overshoot. Nhược điểm: rất nhạy cảm với nhiễu đo lường (noise) vì derivative khuếch đại noise cao tần. Thực tế thường dùng derivative filter để lọc noise trước khi tính D.
Phương trình PID đầy đủ
CO(t) = Kp × e(t) + Ki × ∫e(t)dt + Kd × de(t)/dt
Trong PLC, PID được tính theo dạng rời rạc (discrete) với chu kỳ lấy mẫu Ts:
CO[n] = Kp×e[n] + Ki×Ts×∑e[i] + Kd×(e[n]−e[n-1])/Ts
Phương pháp chỉnh thông số Ziegler-Nichols
Ziegler-Nichols (1942) là phương pháp thực nghiệm kinh điển để xác định thông số PID ban đầu:
Phương pháp 1: Step response (vòng hở)
- Tắt I và D, bước nhảy output CO từ 0 → 100%.
- Vẽ đường tiếp tuyến tại điểm inflection của đường đáp ứng PV.
- Đo: L = thời gian trễ (dead time), T = hằng số thời gian.
- Tính: Kp = 1.2T/L, Ti = 2L, Td = 0.5L.
Phương pháp 2: Ultimate gain (vòng kín)
- Đặt I = 0, D = 0. Tăng dần Kp cho đến khi hệ thống dao động điều hòa bền vững.
- Ghi lại Ku (Ultimate gain) và Tu (chu kỳ dao động).
- Tính PID: Kp = 0.6Ku, Ti = 0.5Tu, Td = 0.125Tu.
Kết quả Ziegler-Nichols thường cần fine-tune thêm: giảm Kp 20-30% để hệ thống ổn định hơn, tăng Ti nếu cần loại bỏ offset chậm hơn nhưng ít dao động hơn.
Ứng dụng PID điều khiển nhiệt độ
Đây là ứng dụng PID phổ biến nhất tại các xưởng sản xuất Việt Nam:
- Cảm biến: Thermocouple K (0-1300°C) hoặc PT100 (−200 đến +850°C) đưa tín hiệu analog vào module AI của PLC.
- Actuator: Van điều khiển hơi nước, rờ-le SSR (Solid State Relay) điều khiển điện trở nhiệt, hoặc bộ điều khiển thyristor.
- Thông số điển hình: Kp = 5-20, Ti = 50-200 giây, Td = 5-20 giây (tùy khối lượng nhiệt của lò).
- Lò nhiệt quán tính lớn: Cần Td lớn hơn để phát hiện xu hướng nhiệt độ tăng nhanh và phanh kịp.