基于电磁传感器的智能车控制系统设计
2.6 调试模块
使用串行口通信是计算机与人对话最传统、最基本的方法,异步通信(UART)接口也称为通用异步接收器/发送器。电路图如图8所示。本文引用地址:http://www.amcfsurvey.com/article/159461.htm
3 系统的软件部分设计
3.1 软件流程设计
控制系统的软件设计基于Metrowerks Code Warrior5.1编程环境,使用C语言实现。图9为控制系统软件流程图。
3.2 赛道识别算法
智能车工作时首先通过4个“一”字形排列的电磁传感器阵列检测轨迹黑线的当前位置,然后根据检测结果判断智能车与轨迹偏离的情况。本系统采用模拟检测法。具体算法为:首先,将AD值做归一化处理,即根据各个传感器接收赛道的最高电压和最低电压,计算出各个传感器的相对值,最后来计算赛道中心位置。信号归一化的方法如下:
求取电压值最大的传感器位置,然后和它周围两个传感器采样值进行加权计算即求得小车的偏差。这种算法空间分辨率可以达到2mm,而且受电流变化的影响比较少,适合小车稳定的检测要求。
3.3 车体控制算法
车体控制算法是整个系统的核心,它直接关系到小车的表现。在经过对传感器信息的处理后,利用电磁传感器采集的路径形状信息来控制转向舵机和行进电机的输出量,其中转向舵机采用PD控制算法,驱动电机的控制采用PID控制算法。车速采用闭环控制,由PID控制器调节,其输入量为目标速度值与当前速度值的差值,目标速度根据当前的路况信息以及路况更迭信息确定,PID调节器的输出即为与行进电机转速成比例的数值,经处理后,得到与所需速度相对应的PWM脉宽信号。根据赛道的不同路况信息,系统采用不同的速度给定值,并且在同一路况下,根据小车水平偏差量和水平偏差速度对速度给定值进行修正,保证其平稳而快速地行驶。
4 结束语
本文介绍了应用Freescale16位单片机MC9S12XS128实现自动巡线智能车的控制系统设计。经多次调试运行,该智能车在正确寻迹的前提下,弯道速度可以达到1.5m/s,而在直道上,智能车的速度可以达到2m/s,表明系统设计可靠,智能车运行良好。
评论