郭宗辉 栾秋平
摘要:智能循迹小车是现代大学生电子竞赛项目中比较热门的项目。文章介绍的小车主要是以AT89S52单片机为核心,然后采用QTI红外传感器来进行设计的。文章介绍了小车的硬件设计以及软件设计,可以为智能循环小车的设计提供一些参考。
关键词:单片机;智能循迹小车;小车设计;AT89S52单片机;QTI红外传感器 文献标识码:A
中图分类号:TP39 文章编号:1009-2374(2015)32-0014-02 DOI:10.13535/j.cnki.11-4406/n.2015.32.008
智能循迹小车是现代大学生电子竞赛项目中比较热门的项目。在比赛中智能循迹小车通过地面上黑线或者白线的引导前进,并且在比赛中要通过感应器的感应来躲避障碍物,在偏离轨道的时候能够自动返回,小车在比赛中所用的时间以及小车的循迹效果决定了小车的比赛成绩。智能循迹小车是智能机器人的另一种模式,本设计中采用的是以AT89S52单片机作为智能循迹小车的控制器以及四组QTI红外传感器对路面进行检测,单片机通过传感器的检测来进行小车循迹的控制。
1 智能循迹小车的结构组成及设计
智能循迹小车的车体结构图如图1所示。智能循迹小车的主要结构有控制电路板、传感器、电机、底盘部件等。
图1 智能循迹小车车体结构 图2 系统框图
系统的总体框图如图2所示。智能循迹小车的总体设计方案如下:(1)智能循迹小车以AT89S52单片机作为整个控制电路板的核心,外接控制电机信号以及红外传感器;(2)智能循迹小车的电机是使用伺服舵机来驱动小车进行基本的动作(前行、后退、左右转、掉头、停止);(3)传感器方面智能循迹小车选择的是QTI红外传感器来探测地面上的黑白线,小车车体的下面分别从左到右安装了四个QTI红外传感器,传感器的信号连接着单片机的四个引脚,单片机根据传感器所检测到的信号来控制小车沿着轨迹进行行驶;(4)小车的底盘部件分别包括了电池盒、底盘木体、尾轮和左右轮等一些部件。三轮结构的小车前方的两侧分别为驱动轮,在校车的后方有一个尾轮,可以起到支撑的作用,这样小车在隐性的过程中可以灵活地循迹。
2 智能循迹小车硬件设计
2.1 伺服电机
伺服舵机在选择的时候要能够按照指令来控制小车的位置和速度。它的外观如图3所示,伺服舵机上有三条输入线,分别是红色、黑色、白色,红色的是电源线,黑色是地线,白色的是信号控制线。伺服舵机的信号控制周期是20ms的脉宽调制(PWM)信号。在伺服舵机的内部有一个基准电路,能够产生的基准信号宽度为1.5m、周期为20ms;另外还有一个比较器,可以将基准信号与外加信号进行比较,以此来判断方向以及大小,进而产生出电机的转动信号。
图4上的脉冲序列以高电平1.5ms、低电平20ms进行不断重复。这个脉冲序列经过零点标定后的不会旋转的伺服电机,如果发现此时的伺服电机在进行旋转,就表明该电机需要进行标定。通过图4、图5、图6可知,电机的转速是由高电平持续时间来控制的;在高电平的持续时间是1.3ms的时候,电机进行顺时针的高速旋转;当高电平的持续时间为1.7ms的时候,电机进行逆时针的高速旋转。
选择P1.0的电机来控制小车右轮,P1.1的伺服电机来控制小车左轮。伺服电机和单片机之间的接口如图7所示。
2.2 循迹传感器
2.2.1 传感器的选择。传感器的原理图和接线图如下面的图8、图9所示。在接线图中的W表示的是VCC引脚,是白色的线;R表示的是SIG引脚接到单片机I/O引脚,是红色的线;B表示的是GND引脚,是黑色的线。QTI是通过一个发光的二极管和一个光敏三极管的耦合得到一个类似光敏电阻的元件来对信号等的电平进行控制。传感器对于黑色的表面,反射率很低,光敏三极管没有导通,此时由三极管和电容组成的RC电路的时间常数就比较大,电压大部分都降在三极管的两端,其中R端输出高电平1。反之,当传感器经过亮表面时,反射率就比较高,此时的光敏三极管导通,RC电路的时间常数比较小,电压大部分降在电容的两端,R端输出低电平0。
2.2.2 小车循迹策略。将四个QTI传感器的信号线连接到小车相应的I/O口,我们选定的对象是P2中的P2.1、P2.2、P2.3、P2.4。在连接相应的信号线时,使用不同颜色的线,这样在进行错误的检查时就非常简单清晰。传感器的接口设计图如下:
在图11中,我们可以看到传感器是集中在一条直线上的,P2.2和P2.3引脚信号是第一级方向上的传感信号,P2.1和P2.4是第二级传感信号。小车在前进的过程中,黑线一直在第一级传感器下面,当小车偏离的时候,传感器就可以及时地检测出来并予以纠正。第二级的传感器实际上是第一级的后备装置,当小车偏离的角度过大时,第二级可以进行纠正,提高了小车的循迹可靠性。
3 智能循迹小车软件设计
3.1 小车基本动作的实现
智能循迹小车在前进的时候,从不同的方向看它的轮子转动的方向是不一样的,在左边是逆时针,右边则是顺时针。同理,小车做其他动作时,我们也可以分析出小车轮子的方向。在改变小车的速度时,我们可以通过控制参数的变化来改变速度的大小。小车两个轮子的速度与方向控制着小车本身的方向和速度。在C语言中,我们直接用left、right来表示左右轮的参数,用for循环来控制脉冲的数量。
3.2 循迹功能的实现
图12与表1中的循迹策略相同。在长传感器测试的基础上,调用一个move函数来完成长期的循迹过程。小车的循迹路线可以在程序中做进一步的修改,例如小车走到白线时自动停止、从一条黑线走到另一条黑线的一些功能。按照本文中所讲的智能循迹小车的设计方法制作的小车,实验结果表明:该设计法方法下的小车能够很平稳地运行,在运行的过程中基本没有发生偏离,在路线的转弯处也能够很好地运行,并且可以自动地调节小车的速度。
4 结语
智能循迹小车的设计需要涉及到许多方面,在小车的设计中,单片机、传感器的选择都非常重要,不同单片机下的小车性能也不相同。本文中主要简单探讨了以AT89S52单片机作为控制核心、QTI红外传感器为基础的智能循迹小车的设计。在小车中单片机根据传感器的输出信号来对小车的智能进行控制,实现小车的前进、后退等一系列活动。实验结果表明,该种设计方法下的小车具有很强的运行能力,能够很好地控制小车的运行
过程。
参考文献
[1] 王琰,郭燕,等.基于C51单片机的智能循迹小车设计与实现[J].机电一体化,2013,(8).
[2] 张岩,裴晓敏,付韶彬,等.基于单片机的智能循迹小车设计[J].国外电子测量技术,2014,(3).
[3] 刘远明,李道霖,韩绪鹏,等.感应式循迹小车的设计与实现[J].电子设计工程,2011,(10).
(责任编辑:周 琼)