Chương 3 XÂY DỰNG BỘ ĐIỀU KHIỂN PID ỨNG DỤNG CHO ROBOT DI ĐỘNG
3.2.6. Giải thuật PID điều khiển tốc độ động cơ trong thực tế
Việc tính toán điều khiển PID sử dụng phương trình (2.28). Tuy nhiên trong thực tế việc tính toán các thành phần P,I và D không thể thực hiện được do các bộ xử lý không thể tính được chính xác liên tục ở mức t 0cho các thành phần vi phân và tích phân, do đó ta tiến hành tính toán gần đúng với thời gian t nghĩa là rời rạc hóa phương trình tính toán (2.28). Các bước tiến hành như sau:
Chia khoảng thời gian liên tục thành từng đoạn t(thời gian lấy mẫu) và khảo sát giá trị tại các thời điểm gián đoạn đó như hình 3.16.
Hinh 3.16. Rời rạc hóa quá trình tính toán PID
Đường chấm gạch biểu diễn giá trị đặt mà quá trình điều khiển cần đạt tới Đường nét đứt biểu diễn giá trị biến thiên liên tục thực tế
Đường xanh đậm biểu diễn giá trị đã được rời rạc hóa - Thành phần tích phân được tính như sau:
0t lim0 i
t
i
e t dt e t t e t t (3.1)
- Thành phần vi phân được tính như sau:
2 1 0 1 lim t de t e t e t e i e i dt t t (3.2)
Từ đó việc rời rạc hóa đó ta có thể thiết lập giải thuật tính toán cho bộ điều khiển PID như sau:
Error_term = Set_Speed – Encoder_Count P_Term = P_Gain× Error_term
D_Term = D_Gain× (Error_term – D_State) D_Stat = Error_term
I_State = I_State + Error_term I_Term = I_Gain×I_State
PWM_Set = P_Term + I_Term + D_Term
Trong đó:
P_Term, I_Term và D_Term: là các thành phần điều khiển P, I và D
P_Gain, I_Gain và D_Gain: là các hệ số điều khiển PID chính là KP,KI, và KD Error_term: là sai lệch giữa giá trị đặt và giá trị trả về tại thời điểm tính toán
I_State: là sai lệch tích lũy
D_State: là độ chênh lệch sai lệch giữa hai lần tính toán.
PWM_Set: chính là giá trị đầu ra của bộ điều khiển PID tại thời điểm tính toán, cũng chính là tín hiệu PWM đưa ra điều khiển tốc độ môtơ.
Lưu đồ chương trình nạp cho vi điều khiển để điều khiển động cơ robot như hình 3.17 sau:
Hình 3.17. Lưu đồ chương trình nạp cho vi điều khiển để điều khiển động cơ robot di động
Đọc tín hiệu từ máy tính: - Chiều quay motor - Các giá trị KP,KI, và KD
- Gía trị vận tốc đặt Bắt đầu
Thực hiện xử lý điều khiển: - Đọc vận tốc hiện tại motor
từ lập mã
- Tính toán các thành phần điều khiển PID
Thực hiện điều khiển:
- Xuất ra tín hiệu PWM điều khiển động cơ - Truyền về máy tính giá trị