Chương 16 - sóng siêu âm đi theo công năng
Vô PID đi theo công năng
//Sóng siêu âmĐi theo
if(HC_SR04_Read()>25)
{
motorForward();// đi tới
HAL_Delay(100);
}
if(HC_SR04_Read()<20)
{
motorBackward();// lui về phía sau
HAL_Delay(100);
}
PID đi theo công năng
Ở pid.c trung định nghĩa một tổ PID tham số
tPid pidFollow;// định khoảng cách đi theo PID
pidFollow.actual_val=0.0;
pidFollow.target_val=22.50;// định khoảng cách đi theo mục tiêu khoảng cách 22.5cm
pidFollow.err=0.0;
pidFollow.err_last=0.0;
pidFollow.err_sum=0.0;
pidFollow.Kp=-0.5;// định khoảng cách đi theo Kp lớn nhỏ thông qua tính ra PID đưa vào phát ra số liệu, xác định đại khái lớn nhỏ, sau đó ở điều chỉnh thử
pidFollow.Ki=-0.001;//Ki tiểu một ít
pidFollow.Kd=0;
//**********PID đi theo công năng ***********//
g_fHC_SR04_Read=HC_SR04_Read();// đọc lấy phía trước chướng ngại vật khoảng cách
if(g_fHC_SR04_Read<60){// nếu trước 60cm có cái gì liền khởi động đi theo
g_fFollow_PID_Out=PID_realize(&pidFollow,g_fHC_SR04_Read);//PID tính toán phát ra mục tiêu tốc độ cái này tốc độ, sẽ cùng cơ sở tốc độ thêm giảm
if(g_fFollow_PID_Out>6)g_fFollow_PID_Out=6;// đối phát ra tốc độ hạn phúc
if(g_fFollow_PID_Out<-6)g_fFollow_PID_Out=-6;
motorPidSetSpeed(g_fFollow_PID_Out,g_fFollow_PID_Out);// tốc độ tác dụng cùngĐiện cơThượng
}
elsemotorPidSetSpeed(0,0);// nếu phía trước 60cm không có đồ vật liền đình chỉ
HAL_Delay(10);// đọc lấySóng siêu âm truyền cảm khíKhông thể quá nhanh
Sau đó biên dịch, thiêu lục thí nghiệm.
Chương sau tiết chúng ta bắt đầu sử dụng 6050 giảng giải 6050 sử dụng cùng như thế nào cùng PID kết hợp cùng nhau
Liên hệ:Q,1930299709