摘要:传统的循迹小车采用光电传感器作路面轨道检测,其工作可靠性受环境光线的影响很大,实际运行中经常要根据环境光线的变化时传感器的灵敏度进行调整。提出一种感应式循迹小车的设计方法。用金属铝箔胶带代替黑色轨道线,在小车上设置多只金属感应传感器,基于感应的方法来检测铝箔胶带路线的位置,把检测的结果送单片机处理,再由单片机输出相应控制信号驱动小车运行。所提出的方法能够完全消除环境光线对循迹小车的干扰,提高小车运行的可靠性。样品小车的测试结果表明,基于新方法设计的小车运行平稳,在长时间工作中没有出现脱轨现象,小车的整体性能良好。
循迹小车是目前较为普遍的一项智能小车制作竞赛,该制作要求小车能寻着一条黑色轨迹前进直到终点,用达到终点的时间决定竞赛成绩。到达终点的时间越短,成绩越好。在整个设计过程中,循迹小车的寻迹电路是循迹小车的一个关键部件,传统的设计采用光电传感器作为寻迹器件。然而,光电传感器对环境的光线变化比较敏感,不适合在露天环境和光照比较强的地方开展活动。通过反复试验和尝试,作者提出把金属感应传感器用于循迹小车替代光电寻迹电路,用带不干胶的金属铝箔胶带贴在地面替代黑色轨迹线条,循迹小车寻着铝箔胶带轨道前进,无需光线介入,大大增加了寻迹小车活动的环境适应性。
1 硬件及电路
感应式循迹小车是由单片机控制系统、寻迹电路、电动机驱动电路等几部分组成。
1.1 金属感应传感器电路
金属感应传感器电路在小车中实现金属铝箔路轨的感应寻迹功能,该电路是用金属探测电路改进得到的,电路如图1所示。图中,电感线圈L、电容C1、C2、C3,三极管VT1等组成了一个典型的电容三点式振荡电路,振荡电路产生的正弦波信号经VT2放大后,由VD1、VD2、C6等进行倍压整流、滤波,使三极管VT3的基极获得了一定幅度的基极电压而导通,其集电极输出低电平,后级NE555电路构成的施密特触发电路因其2脚电平小于1/3VCC,其输出端3脚输出1电平。若把电感线圈L靠近金属物体,线圈的变化磁场会在金属物体内感应出涡流而产生铁损,线圈的Q质下降,电路振荡减弱直至停止振荡。作用在VT3基极上的电压消失,三极管VT3由导通变为截止,其集电极输出高电平,该电平使后级NE555的6脚电平大于2/3VCC,其输出端3脚的电平由1跳变为0,把这个信号送给单片机I/O端口,单片机就可以通过检测该端口的信号变化,了解循迹小车的运行状态,给出相应的控制指令。在该电路中,调整可调电阻RP的电阻大小可改变电路的正反馈幅度,使振荡电路刚好处于振荡的临界点上,可调节传感器感应到金属物体的灵敏度。通过精确调节RP,可使相应金属感应传感器的灵敏度达到10mm以上。
1.2 单片机控制电路
整个循迹小车的设计采用51单片机构建控制系统,电路图如图2所示,该电路由电源电路、ISP下载接口、电动机驱动电路接口、AT89S51单片机等几部分组成。把单片机的P3.4,P3. 5,P3.6端口作为传感器的输入端口,从金属感应传感器电路原理分析中可以看出,当传感器靠近金属物体时,传感器输出为低电平,无金属物体时,输出为高电平,P3.7口直接接地,方便以后寻迹程序的编写。
1.3 电动机驱动电路
机器人采用两个减速电动机分别带动左右两个动力轮,实现前进、后退、转弯等功能。电动机的驱动电路选用小直流电动机专用驱动芯片L293D,它能同时驱动2个减速电机,最大输出峰值电流达1 A,该芯片与单片机连接如图3所示。
2 循迹小车的寻迹控制
2.1 传感器的位置
感应式循迹小车底盘结构如图4,底盘左右两轮都为动力轮,分别由两个减速电动机驱动,后面的小轮为随动轮,随着两个动力轮的运行而运行。3个金属感应传感器的电感线圈并排安装在机器人的前面,距地面约5毫米左右的距离,正常运行时,让中间的一个传感器位于道路的正上方,处于检测到金属物体的状态,传感器输出为0电平,旁边两个传感器在道路两边,没有检测到金属物体,输出为1电平,3个传感器的输出端与单片机对应端口连接,电平输出信号就是单片机端口的输入信号。
2.2 寻迹状态分析
在循迹小车寻着铝箔胶带轨道运行的过程中,会出现正常运行,右边偏离轨道,左边偏离轨道等各种情况,按照上面传感器的设置,循迹小车在正常行驶时,传递到单片机端口的电平信号是101,由于事先已将单片机的P3.7口接地,因此,传递给单片机P3口的高4位电平信号为0101,当循迹小车从右边偏离轨道时,左边和中间的传感器会同时检测到金属体,此时,3个传感器的输出状态为100,单片机P3口的高4位电平信号为0100,定义这种偏离为右偏,如果继续右偏,中间的传感器会从右边离开轨道,此时,只有左边的传感器检测到金属体,此时单片机端口的电平信号为0110,把这种偏离定义为严重右偏。用这种方法。可以定义机器人7个寻迹状态,把这些状态对应的电平信号用BCD码表示,并以此排序,得到端口对应的寻迹状态编码表,如表1所示。
2.3 寻迹状态分析
循迹小车由左右两只电动机驱动,实现前进、后退、转弯等各种运动,控制信号由单片机P2口的低4位给出。对循迹小车的转弯控制采用一轮停止,一轮运行的方法实现,用转弯的时间来控制循迹小车转弯的幅度,同样是左转,转弯1s和转弯2s转弯的幅度是不一样的,后者转弯的幅度大,把转弯帽度大的叫“急转”,如“右急转”,“左急转”,以区别转弯幅度小的左转,右转等。结合表1,针对各种可能的寻迹状态,制定出控制方案如表2所示。
根据单片机系统图、表1和表2,把电动机控制参数和延时参数以压缩BCD码的形式组合为一个字节,控制参数放高4位,延时参数放低4位,整理后,可得到单片机信号端口和控制端口对应关系的编码表,如表3所示,可在此基础上进行寻迹机器人的程序设计。
3 循迹小车的程序设计
3. 1 总体设计思路
在循迹小车运行过程中,不断读取P3口的状态值,取出高4位,将结果存入累加器A中,然后用查表的方法,取出对应的组合参数表值,在读出的表值中,高4位为控制电动机运行的参数,低4位为电机运行的延时参数,把高4位和低4位数从字节中分离出来,将高4位数送入P2口对循迹小车运动状态进行控制,将低4位值赋予延时子程序的R0,延时时间为R0×T(ms),T是单位时间,需根据循迹小车的速度性能确定,用以控制各运行状态的运行时间。另外,在循迹小车寻迹过程中,常会出现循迹小车出轨的情况,一旦循迹小车脱离寻迹轨道,往往意味着寻迹失败,因此需在程序中增加挽救措施,让循迹小车在发现自已脱轨后,立即后退,回到轨道线继续运行。根据以上设计思路,循迹小车的控制流程图如图5所示。
3.2 主要汇编程序实现
4 结论
为提高传统循迹小车的运行可靠性,文章提出感应式循迹小车的设计方法,且详细地阐述了该设计的主娄组成:循迹小车的硬件及电路、循迹小车的循迹控制和单片机的程序实现。
按照本文所提出的新方法,作者成功地设计和制作了感应式循迹小车的样品,样品实际测试结果表明:基于新方法设计的小车运行平稳,在长时间工作中没有出现脱轨现象,循迹小车的运行与环境光的强弱没有关系,小车的整体性能较好。