PID là viết tắt của Proportional (Tỉ lệ), Integral (Tích phân), và Derivative (Vi phân). Đây là ba thành phần cơ bản tạo nên một bộ điều khiển PID, được sử dụng rộng rãi trong các hệ thống điều khiển tự động để duy trì một biến số (ví dụ: áp suất, nhiệt độ, tốc độ) ở một giá trị mong muốn (setpoint).
Để dễ hình dung, hãy tưởng tượng bạn đang lái xe:
Setpoint: Tốc độ bạn muốn duy trì (ví dụ: 60 km/h).
Biến số: Tốc độ thực tế của xe.
Bộ điều khiển PID: Bạn (người lái xe), sử dụng chân ga và phanh để điều chỉnh tốc độ.
1. Proportional (P - Tỉ lệ):
Nguyên tắc: Thành phần P tạo ra một sự điều chỉnh tỉ lệ với sai số (error) giữa giá trị thực tế và giá trị đặt.
Công thức: Điều chỉnh = Kp * error (trong đó Kp là hệ số khuếch đại tỉ lệ)
Ví dụ lái xe: Nếu tốc độ xe của bạn là 50 km/h (chậm hơn 10 km/h so với setpoint), bạn sẽ đạp ga mạnh hơn một chút. Nếu tốc độ là 55 km/h (chậm hơn 5 km/h), bạn sẽ đạp ga nhẹ hơn.
Ưu điểm: Phản ứng nhanh với sai số.
Nhược điểm: Có thể không loại bỏ hoàn toàn sai số tĩnh (sai số còn lại sau khi hệ thống đã ổn định). Nếu Kp quá cao, có thể gây ra dao động.
2. Integral (I - Tích phân):
Nguyên tắc: Thành phần I tạo ra một sự điều chỉnh dựa trên tổng của các sai số trong quá khứ. Nó giúp loại bỏ sai số tĩnh.
Công thức: Điều chỉnh = Ki * ∫error dt (trong đó Ki là hệ số khuếch đại tích phân)
Ví dụ lái xe: Nếu bạn nhận thấy rằng tốc độ xe của bạn luôn thấp hơn một chút so với setpoint (ví dụ: luôn chậm hơn 2 km/h), bạn sẽ dần dần đạp ga mạnh hơn để bù đắp cho sai số này.
Ưu điểm: Loại bỏ sai số tĩnh.
Nhược điểm: Phản ứng chậm hơn so với thành phần P. Nếu Ki quá cao, có thể gây ra dao động.
3. Derivative (D - Vi phân):
Nguyên tắc: Thành phần D tạo ra một sự điều chỉnh dựa trên tốc độ thay đổi của sai số. Nó giúp dự đoán sai số trong tương lai và điều chỉnh đầu ra để ngăn chặn sai số đó.
Công thức: Điều chỉnh = Kd * d(error)/dt (trong đó Kd là hệ số khuếch đại vi phân)
Ví dụ lái xe: Nếu bạn thấy tốc độ xe của bạn đang giảm nhanh, bạn sẽ đạp ga mạnh hơn để ngăn chặn sự sụt giảm tốc độ. Nếu bạn thấy tốc độ xe của bạn đang tăng nhanh, bạn sẽ giảm ga để ngăn chặn việc vượt quá tốc độ.
Ưu điểm: Cải thiện đáp ứng động, giảm thiểu dao động.
Nhược điểm: Nhạy cảm với nhiễu, có thể gây ra rung lắc nếu Kd quá cao. Thường không cần thiết trong các ứng dụng đơn giản.
Kết hợp P, I, và D:
Bộ điều khiển PID kết hợp cả ba thành phần P, I, và D để tạo ra một sự điều chỉnh toàn diện. Công thức tổng quát cho bộ điều khiển PID là:
Điều chỉnh = Kp * error + Ki * ∫error dt + Kd * d(error)/dt
Điều chỉnh PID (PID Tuning):
Việc điều chỉnh PID là quá trình tìm ra các giá trị tối ưu cho Kp, Ki, và Kd để đạt được hiệu suất mong muốn. Điều này thường được thực hiện bằng cách thử nghiệm và quan sát hệ thống.
Các phương pháp điều chỉnh PID:
Thử và sai (Trial and Error): Thay đổi từng tham số một và quan sát kết quả.
Phương pháp Ziegler-Nichols: Sử dụng các quy tắc thực nghiệm để tính toán các giá trị ban đầu cho Kp, Ki, và Kd.
Phần mềm điều chỉnh PID: Sử dụng phần mềm chuyên dụng để tự động điều chỉnh các tham số PID.
Tóm lại:
P: Phản ứng nhanh với sai số, nhưng có thể không loại bỏ hoàn toàn sai số tĩnh và có thể gây ra dao động.
I: Loại bỏ sai số tĩnh, nhưng phản ứng chậm hơn và có thể gây ra dao động.
D: Cải thiện đáp ứng động, nhưng nhạy cảm với nhiễu và có thể gây ra rung lắc.
Các ký hiệu toán học trong công thức PID:
1. error (Sai số):
Định nghĩa: Sai số (error) là sự khác biệt giữa giá trị thực tế của biến số mà bạn muốn điều khiển (ví dụ: áp suất thực tế) và giá trị mong muốn (setpoint).
Công thức: error = setpoint - giá trị thực tế
Ví dụ: Nếu bạn muốn duy trì áp suất ở 5 bar (setpoint) và áp suất thực tế là 4.5 bar, thì sai số là: error = 5 bar - 4.5 bar = 0.5 bar
2. dt (Thời gian):
Định nghĩa: dt là một khoảng thời gian rất nhỏ (vô cùng bé). Trong bối cảnh của bộ điều khiển PID, dt đại diện cho khoảng thời gian giữa các lần bộ điều khiển thực hiện tính toán và điều chỉnh.
Ví dụ: Nếu bộ điều khiển PID thực hiện tính toán và điều chỉnh 100 lần mỗi giây, thì dt sẽ là 1/100 giây = 0.01 giây.
3. ∫error dt (Tích phân của sai số theo thời gian):
Định nghĩa: ∫error dt (đọc là "tích phân của sai số theo thời gian") là tổng của tất cả các sai số trong quá khứ, được tính từ thời điểm bắt đầu đến thời điểm hiện tại.
Giải thích: Hãy tưởng tượng bạn đang ghi lại sai số tại mỗi thời điểm và sau đó tính diện tích dưới đường cong sai số theo thời gian. ∫error dt đại diện cho diện tích này.
Ý nghĩa: ∫error dt cho biết tổng "lịch sử" của sai số. Nếu ∫error dt lớn, điều đó có nghĩa là sai số đã tồn tại trong một thời gian dài, và bộ điều khiển cần phải điều chỉnh mạnh mẽ hơn để loại bỏ sai số này.
Ví dụ:
Tại thời điểm t1: error = 0.5 bar, ∫error dt = 0.5 bar * dt
Tại thời điểm t2: error = 0.3 bar, ∫error dt = (0.5 bar + 0.3 bar) * dt
Tại thời điểm t3: error = 0.1 bar, ∫error dt = (0.5 bar + 0.3 bar + 0.1 bar) * dt
Trong bộ điều khiển PID, thành phần Integral (I) sử dụng ∫error dt để loại bỏ sai số tĩnh.
4. d(error)/dt (Đạo hàm của sai số theo thời gian):
Định nghĩa: d(error)/dt (đọc là "đạo hàm của sai số theo thời gian") là tốc độ thay đổi của sai số.
Giải thích: d(error)/dt cho biết sai số đang tăng lên hay giảm xuống, và với tốc độ nào.
Công thức gần đúng: d(error)/dt ≈ (error(t) - error(t-dt)) / dt
error(t): Sai số tại thời điểm hiện tại.
error(t-dt): Sai số tại thời điểm trước đó (một khoảng thời gian dt trước đó).
Ý nghĩa: d(error)/dt cho biết xu hướng của sai số. Nếu d(error)/dt lớn, điều đó có nghĩa là sai số đang thay đổi nhanh chóng, và bộ điều khiển cần phải điều chỉnh nhanh chóng để ngăn chặn sai số này.
Ví dụ:
Tại thời điểm t1: error = 0.5 bar
Tại thời điểm t2: error = 0.3 bar
d(error)/dt ≈ (0.3 bar - 0.5 bar) / dt = -0.2 bar / dt (sai số đang giảm)
Trong bộ điều khiển PID, thành phần Derivative (D) sử dụng d(error)/dt để dự đoán sai số trong tương lai và giảm thiểu dao động.
Tóm lại:
error: Sự khác biệt giữa giá trị thực tế và giá trị mong muốn.
dt: Khoảng thời gian nhỏ giữa các lần tính toán.
∫error dt: Tổng "lịch sử" của sai số.
d(error)/dt: Tốc độ thay đổi của sai số.