复杂路况下的智能循迹小车方案设计

2014-04-23 10:09董雷刚崔晓微张丹张华安向明
电脑知识与技术 2014年7期

董雷刚 崔晓微 张丹 张华 安向明

摘要:自动循迹小车在不用人为干预的情况下,可以按照预定轨迹自动行进,该技术在工业上有很高的指导和应用价值。文章介绍的是一种复杂路况下智能循迹小车的设计方案,系统以单片机AT89S51为控制核心,采用高灵敏度的红外传感器采集路面信息,并将信息传到AT89S51,由单片机根据路况信息控制小车的行进方向,并产生PWM波来调整小车的速度,从而实现小车在复杂路况下的平稳循迹。

关键词:自动循迹;AT89S51;红外传感器;PWM

中图分类号:TN391.8 文献标识码:A 文章编号:1009-3044(2014)07-1532-05

随着科学技术的发展,机器人的使用已经遍及机械、电子、交通等诸多领域。近年来机器人的智能水平不断提高,并迅速改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人类劳动的机器一直是人类的梦想。机器人要实现自动引导功能和避障功能就必须要感知引导線和障碍物,感知引导线相当于给机器人一个视觉功能。智能循迹小车的制作就是机器人在这方面的一个典型应用。现有的方案所采用的轨迹基本上都是比较平滑的,而在实际应用上,轨迹往往是比较复杂的,因此,该文提出一种能够在复杂路况下平稳行进的智能循迹小车设计方案。

1 系统理论分析

小车要实现自动循迹,就必须能识别行车轨迹,辨别轨迹与周围环境的不同,而且能随着轨道的变化而不断调整小车行进的方向,以保证小车沿着轨迹行进。在行进过程中,小车须能识别路况标志,并且根据不同的路况自动调节行进速度,以保证小车顺利通过,不会偏离轨道。由于在极端路况下行进时,电机的较强扭矩会对控制单元产生干扰,因此,还需解决控制单元的抗干扰问题。

为了模拟不同路况,设计了如下跑道,如图1所示。在白色的高分子板上,用黑色胶带铺设路线,在该路线中,既包含直线,也包含曲线、大角弯、直角弯,还包含6厘米高80厘米长的模型桥(图中N所示)。小车从A点出发,按照行走路线循迹行走,直到终点结束。图中与轨道垂直的短线为下一路况的标志线。

2 系统模块设计

根据设计要求,系统以AT89S51单片机为控制核心进行设计,采用红外传感器对行车路线进行检测,信号经过比较器LM324之后送给单片机,然后单片机根据信号的不同进而驱动电机转动、纠正小车的行进方向。在行进过程中,由路况标志检测模块实时检测路况信息并显示在数码管上,单片机根据此信息调整PWM波实现对小车速度的控制,从而实现小车的平稳循迹运动。

系统包括轨道检测、路况标志检测、电源稳压、车轮驱动、方向控制、速度调整、路况显示等功能。

2.1 微控制器芯片

微控制器是整个小车运行的核心部件,控制着整个系统的运行[1]。本系统采用了北京精仪达盛公司的AT89S51开发板作为控制核心部件。对于轨道的检测、电机的驱动、速度的调整等功能,都不涉及精确时序的问题,而且51单片机具有价格低廉且使用简单的优点,在很大程度上降低了主控芯片的使用难度,可以留出更多的精力去完善整个系统的功能和稳定性。基于上述原因,综合考虑选用了达盛公司的AT89S51作为本系统的核心。其外围电路图如图3所示。

2.2 轨道检测模块

此模块采用的是红外探测法[2],即利用红外线在不同颜色的物体表面具有不同反射性质的特点。反射式红外传感器一对红外发射接收管组成,两者用黑色物体隔开,当红外线遇到白色物体时会反射回来,接收管可以接到红外线并产生低电平(用0表示);当红外线遇到黑色物体时会被吸收,接收管接收不到红外线并产生高电平(用1表示)。鉴于黑白物体对红外线具有很大差别的反射系数,小车的行车轨迹为白色高分子板上粘贴的黑胶带。红外传感器固定在车底盘前沿,距离地面1厘米左右。在小车行驶过程中,红外传感器不断地向地面发射红外线进行检测,并根据接收端的信后来确定路面的信息。

为了实现红外传感器接收信号的可靠性,在车体前端共安装4个红外传感器,如图3所示,圆圈表示红外传感器,传感器1和2之间的距离稍大于路线(黑胶带)宽度,传感器1、3和2、4的距离比黑胶带略窄。这样一来,就可以根据4个红外传感器的接收段信号更好的来确定黑线的位置和小车的行进方向,使单片机以此为依据,对小车进行实时控制。传感器的信号与小车行进方向的关系如表1所示,因为系统采用带减速齿轮的小电机作为车轮驱动,小车的速度不会特别快以至于失控,因此4个传感器的信号组合主要有5种。

此模块的作用除了进行路线检测之外,还负责路况标志线的检测。路况标志线是垂直于路线的横线,要想检测到此标志,需要用到传感器1和2,当这两个传感器同时探测到黑线时,一定是标志线,此时可将标志线计数器加1,并调整小车的速度。

2.3 电机驱动模块

本系统对车轮的驱动采用的是带有减速齿轮的直流小电机,对直流电机的驱动使用的是L9110芯片电路[3],如图4所示。L9110是为控制电机设计的两通道推挽式功率放大专用集成电路器件,将分离电路集成在单片IC之中,使外围设备成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750-800MA的持续电流,峰值电流能力可达1.5-2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器,直流电机,步进电机或开关功率管的使用上的安全可靠。L9110芯片的使用非常简单,只要在两个输入端有4V左右的电位差,就可驱动电机转动,改变输入端的电位差的正负,即可改变电机的转动方向。

为了使小车能按照轨迹行进,需要在行进的过程中对小车方向进行实时纠正,当小车向左偏时,应当向右纠正——左轮正转,右轮暂停;当小车向右偏时,应该向左纠正——右轮正转,左轮暂停。控制单元对小车方向进行控制的依据是车体前面的4个红外传感器的输出值,见上表1。

2.4 显示模块

本系统设计的轨道涉及多种路况,为了显示运行状态和方便系统调试,采用了3个7段数码LED来显示路况标志线——记录小车的过线次数,计数从000累加到012。由于单片机引脚输出的电流不能直接驱动数码管,因此,采用CD4511芯片来驱动数码管。CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流,可直接驱动LED显示器。该芯片是4个输入、7个输出,因此可以利用较少的单片机引脚来实现对LED的控制。原理图如图5所示。

用两个数码管来显示数据,需要用到数码管的动态扫描。动态数码扫描显示方式是利用了人眼的视觉暂留效应,把多个数码管按一定顺序(从左至右或从右至左)進行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个的点亮,然而,当点亮频率足够大时,看到的不再是一个一个的点亮,而是全部同时显示(点亮),与传统方式得到的视觉效果完全一样。因此只要给数码管这样一个扫描频率,就可以实现两个以上的数码管同时点亮。

2.5 PWM调速模块

在复杂路况下,如果小车按照全速行进的话,在弯道太大或过桥时有可能会偏离路线,这就需要在不同的路况实时调整车速。本系统采用的是PWM调速原理[4],脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,通过计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。更改占空比的数值即可实现单片机输出端口的电压调节。原理图如图6所示,假设满负荷电压为V,在单位时间T内,如果通电的时间是t,断电的时间是T-t,则单位时间内的平均电压指应该是Vt/T,因此,改变通电时间t的大小即可改变单位时间内平均电压的大小。当单位时间很小的时候,单片机输出端口即可得到稳定的电压值:单位时间内的平均电压值。

2.6 电源稳压模块

在测试过程中,发现如果直接使用5V电池为系统供电,由于在小车通过极端路况时电机的扭矩过大,导致电池的电压下降,单片机无法正常工作,因此采用了7805稳压芯片为单片机供电[5]。图7是稳压电路原理图,电压输入端用电解容CI与地相接,对输入电压进行简单的整形和滤波,提高输入电压的质量。第二引脚是芯片的接地端。第三引脚是电压输出端,在输出电压之前用电容C0进行整形的滤波,提高输出电压的质量。这样,无论输入端电压怎样变化,只要保持在9V以上,输出端就可获得平稳的5V电压。因此,将12V的电源直接供电给电机驱动芯片L9110,将12V电源通过7805稳压电路后给单片机供电,这样就可最大程度的降低电机对单片机的干扰。

3 软件流程

软件编程流程图如图8所示,程序开始后便不断进行红外探测,探测轨道和路况标志线,然后随时进行速度的调整和小车行进方向的纠正,以保证小车能在不同路况下平稳的行进,从而最终完成循迹任务。

4 经验总结

在系统的设计和实验过程中,经过不断的调试和改进,总结了很多注意事项,主要有以下几点。

1)电路的焊接点一定要牢固,尽量不要出现虚焊的情况,否则在后期检查时很费力气。

2)尽量用锂充电电池,电流和电压比较稳定,以方便PWM编程的调试。

3)尽可能使用带纹理的橡胶轮胎,增大车轮与地面的摩擦力,以提高车轮抓地力。

4)红外传感器的发射端串联电阻的阻值不宜太小,否则会引起电路发热,影响寿命。

5)单片机的负载不要太多,车体重量不宜太重,否则会影响小车的灵活性,尤其在小车转弯的时候。

5 结束语

本文讨论的是复杂路况下循迹小车的实现方法,用红外传感器进行路线检测,由单片机根据检测信号对小车实施方向控制和速度调整,经过多次实验表明,此设计方案能比较完好的实现小车的平稳循迹,达到了预期效果,这些思路和方法在实践中都是值得借鉴的。但在实际应用中,还应该根据工业现场的环境,进行进一步改进和提高。

参考文献:

[1] 肖荣海,张吉卫.智能小车目标识别跟踪系统的实现[J].重庆大学学报,2004,27(9):45-47.

[2] 陈懂,刘荣.世俊.智能小车的多传感器数据融合[J].现代电子技术,2005(6):3-5.

[3] 潘永雄.新编单片机原理与应用[M].西安电子科技大学出版社,2003:160-163.

[4] 孙立志.PWM与数字化电动机控制技术应用[M].北京:中国电力出版社,2008:266-293.

[5] 郭天祥.新概念51单片机C语言教程[M]. 北京:电子工业出版社,2009:44-78.