例程开源链接 :提取码:6edb
初始设定与启动
首先,我们启动小车并观察其运行情况。小车通过测量左右轮的路程差来进行方向调节。一旦找到寻迹的黑色线,即开始寻迹操作。我们使用了5个寻迹感应管来实现精确的寻迹功能。
寻迹过程
在第一圈中,我们可以看到小车迅速定位并开始寻迹。每一圈结束后,小车进行角度调整,通过调整左右轮的路程差来实现方向调节。寻迹过程中,小车沿着预设的角度前行,一旦再次 检测 到黑色线,即刻重新开始寻迹操作。
控制策略概述
总体而言,我们的控制策略相对简单明了:在空白区域通过左右轮的路程差进行实时方向调节,并在寻迹模块检测到线时立即切换到寻迹模式。在达到ABCD点后,我们先进行方向调整,将车辆转向设定方向,然后执行路程差控制。
其中路程差进行方向调节实现代码如下:
void task0(void){IR_Check();if(FLAG_ONir==1&&mecount>=300)//有传感器了,声光提示,停下{Starlag=0;setspeedr=0;setspeedl=0; // 停车R_d_Ctrl(0,SPEED_RIGHT);L_Pid_Ctrl(0,SPEED_LEFT);beeponflag=1;}else{setrightro=5000;setleftroad=5000;if(Flag_PID>=1){if(rightroad>leftroad+10){Flag_PID=0;Car_turnright(80,40);}else if(leftroad>rightroad+10){Flag_PID=0;Car_turnright(40,80);}else{Flag_PID=0;Car_turnright(80,80);}R_Pid_Ctrl(setspeedr,SPEED_RIGHT);L_Pid_Ctrl(setspeedl,SPEED_LEFT);}}}
车辆转角实现代码如下: (以下代码为左轮速不动,右轮转动调角度)
void ToangleR(unsigned int targetangl, unsigned int picha){do{if(Flag_PID>=1){Flag_PID=0;R_Pid_Ctrl(15,SPEED_RIGHT);}if(Flag_Encode == 1)//标志位检测执行 10ms 实时速度显示{Encode_Speed();Flag_Encode=0;}}while(targetangl+picha<RealAngl||RealAngl+picha<targetangl);}
此外,左右轮速度的控制也至关重要。我们采用闭环 电机 速度控制,确保在寻迹过程中左右轮速度能够精确控制,以提高运动稳定性和直线行驶效果。
PID速度闭环实现代码如下: (以下代码为左轮速度闭环控制代码。)
void L_Pid_Ctrl(unsigned int Target,unsigned int Real)//PID速度控制函数{int Error=0; //本次差值,上次差值float j=0.0,i;if(Target==0){LastError=0;dError=0;SumError=0;outpwml=0;ATIM_SetCompare2B(outpwml);return;}Error =(Target-Real);//本次偏差if(SumError*L_Ki>1600)//计算积分项{SumError=1600;SumError=SumError/L_Ki;} // 输出到最大值后,不再累计偏差,抗积分饱各else SumError +=Error;dError=Error-LastError; //微分项,偏差的变化LastError=Error; //记录本次偏差,用于下次计算i=L_Kp;j=Errori;i=L_Ki;*j=j+SumError*i;i=L_Kd;j=j+dError*i;if(j>1600)outpwml=1600+1;else if(j<1)outpwml=1;else outpwml=j;ATIM_SetCompare2B(outpwml);}
调试过程中的挑战
在实际调试过程中,我们遇到了几个挑战。首先是PID 参数 调节,这直接影响到小车的稳定性和精确性。其次是寻迹过程中的速度调整和转向角度的精确控制,这些都需要仔细调整以保证最佳性能。
综上所述,项目中涉及到多个参数,它们的合理调整直接影响小车的最终运行效果。我设定的是跑6圈,但实际上小车可以持续运行更多圈数,每一轮的积累反而会减小误差,从而提高稳定性和准确性。
软 硬件 视频 讲解:
授人以渔,24电赛H题完赛 资料 开源,思想开源-(1)硬件讲解21 播放 · 0 赞同视频
授人以渔,24电赛H题完赛资料开源,思想开源-(2)软件讲解65 播放 · 0 赞同视频
授人以渔,24电赛H题完赛资料开源,思想开源-(3)控制思想讲解29 播放 · 0 赞同视频
审核编辑 黄宇