Em sử dụng PIC18F4431 kết nối 5 cảm biến dò line CNY70 điều khiển 2 động cơ DC, giá trị cảm biến trả về là 1 khi phát hiện vạch và 0 khi ngoài vạch.
Công thức:
P_part = Kp*(Error - pre_Error); error là các trường hợp mà 5 cảm biến nhận, trong khoảng (5 4 3 2 1 0 -1 -2 -3 -4 -5) tương ứng với các trường hợp lệch cảm biến (0 là khi xe đang đi giữa cảm biến)
I_part = 0.5*Ki*T*(Error + pre_Error); //Em ko hiểu pre_Error này là gì, hơn nữa 1 số công thức trên mạng nói về setpoint, vậy trong trường hợp của em setpoint nên đặt là bao nhiêu?
D_part = Kd/T*( Error - 2*pre_Error+ pre_pre_Error); //Em cũng chưa hiểu T này là gì
Out = pre_out + P_part + I_part + D_part ;
pre_pre_Error = pre_Error;
pre_Error = Error;
pre_Out = Out; //out là giá trị lấy để truyền vào động cơ
Em mới tiếp xúc nên chưa hiểu mong anh chị giúp đỡ ạ
Công thức:
P_part = Kp*(Error - pre_Error); error là các trường hợp mà 5 cảm biến nhận, trong khoảng (5 4 3 2 1 0 -1 -2 -3 -4 -5) tương ứng với các trường hợp lệch cảm biến (0 là khi xe đang đi giữa cảm biến)
I_part = 0.5*Ki*T*(Error + pre_Error); //Em ko hiểu pre_Error này là gì, hơn nữa 1 số công thức trên mạng nói về setpoint, vậy trong trường hợp của em setpoint nên đặt là bao nhiêu?
D_part = Kd/T*( Error - 2*pre_Error+ pre_pre_Error); //Em cũng chưa hiểu T này là gì
Out = pre_out + P_part + I_part + D_part ;
pre_pre_Error = pre_Error;
pre_Error = Error;
pre_Out = Out; //out là giá trị lấy để truyền vào động cơ
Em mới tiếp xúc nên chưa hiểu mong anh chị giúp đỡ ạ
Comment