智能循迹电动小车的设计
2010-09-25董雷刚崔晓微
董雷刚,崔晓微,张 丹
(大庆师范学院 计算机科学与信息技术学院,黑龙江 大庆 163712)
0 引言
本设计采用AT89C51单片机作为智能小车核心控制器[1-2],路面黑线检测采用反射式红外传感器,为了使传感信号更可靠,使用了LM324比较器对信号进行判断,电源供电由4节五号电池提供,我们在设计时将后轮作为驱动轮,由两个电机分别驱动,前轮用一个万向轮实现,这样可使控制电路更简洁。在实现可靠硬件设计的同时,使用了一套独特的算法,实现了小车在快速运动中根据检测黑线的结果来控制前进方向,取得了很好的效果。
整个系统的设计[3]分为线路检测、信号比较、电机控制与驱动三个模块。首先利用光电传感器对路面进行检测,检测到的信号经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动及方向。小车的驱动流程图如图1所示。
图1 智能小车循迹系统框图
文章的结构如下:第1部分介绍系统的硬件电路设计;第2部分介绍软件部分的详细设计;第3部分介绍对系统的试验结果;第4部分对系统设计过程中的注意事项进行说明;最后对文章的内容进行总结。
1 系统硬件电路设计
为了使整个系统稳定工作,硬件电路包含线路检测模块、信号比较模块、电机控制与驱动模块。整个系统结构框图如2 所示。
图2 系统框图
1.1 光电检测模块设计
该智能小车在贴有黑线的白纸“路面”上行驶,因此本模块设计需要检测铺在行驶区的黑胶带,包括直线行驶区和沿弧线行驶区两个区域。由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。本文采用的是简单实用的检测方法,即红外探测法。
红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。
图3为循迹发射和接收电路,共有两套,放在小车的前侧,分别检测左侧车轮和右侧车轮的偏转情况。采取的是反射取样式,高亮度的发光二极管与光敏二极管呈V 字型放置。图3的电路在+5V 电压下工作,根据发射管和接收管所需的工作压降和工作电流,选取的负载电阻如图3所示。当传感器面对黑线时,电路输出端是高电平(用1表示),否则电路输出端是低电平(用0表示)。因此由两套传感器即可实现路线方向的确定,两个传感器的位置放在黑线的两个边缘即可,如图4所示,小车在行进的过程中传感器的输出逻辑值及相应的方向调整如表1所示。此部分电路的设计具有灵敏度高、可调节等特点。
图3 循迹发射和接收电路 图4 传感器的位置示意图
小车偏向 偏左 直行 偏右左右传感器输出值 0 1 0 0 1 0纠正方向 向右 不变 向左
1.2 信号比较模块设计
此部分设计采用一个LM324比较器,对传感器收到的信号进行电压比较与放大,并将比较后的结果输送给单片机,用于检测传感器的敏感性,电路图如图5所示。当两个传感器同时检测到光时,直线前进。当传感器检测不到光时,处于截止状态,双运算放大器LM324 输出低电平给单片机,由程序处理;若左路未检测到光,则向左纠正方向;若右路未检测到光,则向右纠正方向。
1.3 电机控制与驱动模块设计
由于采用的是双驱动的小车,这部分电路必须能够输出两个不同的电压值,分别去控制小车的左、右两个驱动电机,使小车的两个车轮的转速和方向相同或不同,从而来控制它的前进和转弯。在系统的设计过程中,用两个L9110芯片来分别连接单片机和直流电机。
L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过800mA的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降与静态电流;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110和电机的连接电路图如图6所示。
图5 LM324电路图 图6 L9110和直流电机连接图
2 软件设计体系结构
由于采用程序控制小车的行驶方向,因此软件的设计也是整个系统设计中很重要的部分。程序整体
流程如图7所示。
单片机控制小车方向的代码如下:
org 0000H
MAIN:MOV P1,#00001010B ;初始状态,两轮都正转
JB P0.0,RIGH ;右传感检测到黑纸,说明小车向左偏,应该给予纠正向右;
JB P0.1,LEFT ;左传感检测到黑纸,说明小车向右偏,应该给予纠正向左;
LJMP MAIN
RIGH:MOV P1,#00001000B ;左轮转,右轮停,向右纠正
…
3 系统测试结果
在作品完成之后,对作品进行了测试。开关打开后,小车能按照预定路线平稳行进,在行进过程中,小车进行了多个转弯,没有出现偏离路线的情况,而且行进速度很快。根据检测,小车完成三圈的行进,共用时51.36秒。小车路线示意图如图8所示:
图8 小车行驶线路图
4 结语
循迹小车系统以常见的AT89C51单片机为核心,辅以较简单的元器件和电路设计,在顺利完成循迹功能的前提下,又充分考虑到了外观、成本等问题,因此小车的大部分电路由手工焊接完成。在设计中,我们没有在电路中增加冗余的功能,但是保留了各种硬件接口和软件子程序接口,方便以后的扩展和开发。
[参考文献]
[1] 胡锦,蔡谷明,梁先宇. 单片机技术实用教程[M].北京:高等教育出版社,2008:45-63.
[2] 刘海宽. 单片机试验与实训教程[M].南京:东南大学出版社,2009:72-104.
[3] 刘霞,侯传教,孟涛. 电子设计与实践[M].北京:电子工业出版社,2009:218-243