
作者:冀雯宇 范鑫 周迅等
来源:《江苏理工学院学报》2015年第02期
摘 要:基于单片机控制及传感器技术,实现小型汽车可自动寻迹行驶的功能,并且能够利用光电传感器检测道路上的障碍,利用两个电机的差动调节,控制电动小汽车的自动避障、寻光及自动停车等过程。并对整个控制软件进行设计以及调试,最终完成软件和硬件的融合,实现小型智能车自动驾驶的预期功能。
关键词:循迹避障;单片机;自动驾驶
中图分类号:U463.3文献标识码:A文章编号:2095-7394(2015)02-0023-04
0 引言
无人自动驾驶车辆作为一种高效、安全、灵活的交通车辆,促进了交通行业的大力发展。实际研究证明,将人放在路-车系统之外,可以相对降低事故率。[1]近年来车辆无人驾驶作为智能交通的重要组成部分,已逐渐成为研究的热点。无人驾驶技术中,智能小车发展快,应用广,从儿童玩具可推广到汽车工业。目前,智能小车已基本可实现循迹避障等功能,现今大学生智能车设计大赛又在向声控系统发展。本课题主要实现了小车的循迹避障自动驾驶功能。
1 小型智能车自动驾驶原理
1.1 小车自动避障的原理
红外线发射管、PSD与相应的计算电路构成了功能强大使用广泛的GP2D12红外线传感器,位置敏感检测装置能够检测到光子在其上运动产生的微量移动,微米级的分辨率使得测量更精确。利用这一特性,几何原理测距可由GP2D12传感器轻松实现[2]。光束由发射管发出,遇到障碍物再反射到PSD上,如图1所示,两条光线与地面构成了等腰三角形,三角形的底边长度可由PSD测得,而两个底角的值由发射管确定,可由此推算出高,也就是与障碍物的距离[3]。
1.2 小车循迹原理
用红外探测法循迹指的是小车在白色地面上跟随黑线行走,由于黑线和白色地面对光线的反射程度不一样,可以根据接收到的反射光的强弱来寻找路线。
红外探测法:路面信息的检测是由光电传感器发射管发射出一定波长的红外线,在地面反射后回到接收管。由于黑白两色对光线的反射程度不同,黑线吸收了大部分光线,而白色赛道反射了大部分光线,使得接收到的反射光线的强度存在差异,从而导致接收端特性曲线的变化程度不同,可近似认为接收管两端的输出阻值不等,分压后的电压也不等,由此黑线白地便可区分开来[4]。
1.3 测速原理
由于霍尔元件在磁场附近时能够感应出高电平,稍偏离时感应强度较弱,可以通过霍尔元件的这一特性来实现测速[5]。霍尔元件感应磁铁产生脉冲信号,将4个小磁铁均匀放置于每个车轮之下,由此计算每秒钟感应磁铁产生的脉冲数,再计算出每秒钟小车轮子转动的转数,再乘以小车车轮总的周长,推算出小车当前运行速度,经过累加运算得到当前路程。
2 系统硬件电路设计
2.1 系统总体设计图
2.2 主控模块
由于智能小车的要求不是很高,Atmel公司的ATC52单片机可作为控制核心。ATC52的性价比高,耗能低,其主要的性能参数为:兼容标准的MCS-51指令系统、8字节可重擦写闪存只读程序存储器、256X8字节随机存取数据储存器、可编程串行UART通道、时钟频率0Hz~24MH、3个16位定时/计数器、8个中断源、32个可编程I/0口线[6]。
2.3 避障传感器模块
采用3只GP2D12红外线传感器分别探测正前方,前右侧,前左侧障碍物信息,该传感器的平均有效探测距离在10~80 cm范围内可调,可以有效地抵抗干扰光,能够在日光下正常运行(试验过程中应该尽量避免日光或者较强的光源直接照射在传感器上)。小车经过调速后的制动距离应该控制在30 cm以内,一般维持在10~20 cm,所以探测距离该根据设计小车的需求来设定。
2.4 循迹传感器模块
为了实现循迹传感,我们选择反射型光电探测器RPR220。它是一种有着一体化优点的光电探测器。RPR220的发射器部分是一个GaAs红外发光二极管,而其接收器的构成中使用了一个灵敏度较高的硅光敏三极管。RPR220采用DIP4封装,具有如下特点:反应灵敏、受离散光的干扰小、体积较小且结构紧凑一体化、可简化外围电路设计,且性能较为稳定。
2.5 电机选择与驱动模块
电机的选择采用直流电机。直流减速电机可提供较大的转动力矩,安装方便,操作简单,质量轻、体积小,能够较好的满足系统的要求。
如图3所示,使用L298N芯片驱动电机。采用SMT工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路3~35V直流电机,并提供了5V输出接口(输入最低只要6V),可以给5V单片机电路系统供电(低纹波系数),支持3.3V MCU和ARM控制,可以方便的控制直流电机速度和方向,也可以控制2相步进电机,5线4相步进电机。用该芯片作为电机驱动,操作便捷,稳定性好,且工作性能较为突出。
驱动模块主要功能是使主控芯片来发出的信号并将该信号发送给L298N电机控制芯片,L298N电机控制芯片将使小车按照指令执行相应的动作。VDD引脚和VCC引脚作为L298N芯片电源引脚,电机的电源是VDD引脚接的+9V电源,芯片由接到VCC引脚上的+5V电源供能。
为了保证小车转向成功,让转向电机以最大功率输出以获得最大的扭矩,转向电机的输出功率不需再控制,所以ENA引脚(即转向电机使能引脚)直接接入+5V,即让转向电机一直使能。
对于后置的驱动电机,除了要控制其实现前进、后退和停止外,还需控制其转速以解决因电量不足而使小车速度变慢的问题。因此,可通过将L298N芯片的ENB引脚与ATC52的P1.7引脚连接起来,以实现PWM调速。
L298N芯片的IN1和IN2引脚分别和ATC52的P1.2和P1.3引脚连接用来接收主控芯片输出的动作指令,并通过端口OUT1和OUT2将指令转化为电机转向(正转或反转)的动作,至此实现了小车的横向控制。
L298N芯片的IN3和IN4引脚分别与ATC52的P1.4和P1.5引脚连接用来接收主控芯片输出的动作指令,并通过端口OUT3和OUT4来控制驱动电机的转向,最终功能的实现表现在小车的前进、后退、停止。
2.6 直流调速模块
调速的实现是选择基于PWM为主控电路的调速系统。相较于传统的直流调速技术,PWM(脉宽调制技术)直流调速系统具有较大的优越性:主电路线路简单,需要的功率元件少;主电路元件工作在开关状态,导通损耗小,低速性能好,稳速精度高,因而调速范围宽;系统频带宽,快速响应性能好,动态抗干扰能力强;开关频率高,电流容易连续,谐波少,电机损耗和发热都较小;装置效率高[7]。
一般通过调节各路PWM的占空比来改变直流电动机电枢两端电压,这里采用定频调宽法。保证频率一定,通过程序控制单片机的定时计数器计数次数,或使用软件延时等方法均可达到调整脉宽的目的。此方式可以使硬件电路简化,且具有操作性强等优点。
要求做直线运动时,分别控制左右两电机的PWM的占空比使它们相同,即可让小车以相应速度的直线运动。
要求做曲线运动时,在初始状态给定小车车轮一定转速,将小车起始位置设置在原点。由逆运动学进行速度分析,要使小车沿着一定半径做曲线运动,则根据该半径大小可以推算出小车左右轮所需的速度大小和差值。对拟合曲线方程进行分析,可以得到相应的电机驱动右轮的PWM占空比。因为速度和PWM的脉冲宽度有着正比例关系,所以我们在程序中通过脉冲宽度调节速度。
3 系统的软件设计分析
3.1 程序设计主流程图与主控制策略
在寻迹和避障中,控制的电机方式基本一样。当左边的避障传感器或右边的寻迹传感器检测到信号时,都是左转速不变,右轮转速减小PWM的占空比,从而使右轮转速减慢,实现差速转弯,向右转的同时实现避障和寻迹;右边也是如此。如果当左右寻迹传感器同时检测到信号,或是左边避障和左边寻迹、右边避障和右边寻迹。这种情况下不能同时满足避障和寻迹,只能使车停下。图4为程序流程图。
3.2 传感器数据处理及寻迹程序流程
车底的6个传感器用一个字节来表示,并将传感器当前的检测状态用字节中的每一个位来表示,小车直线行驶时有三种情况。图5为传感器子程序流程图。当位于车体的四个传感器都检测到黑线时,小车恰好位于赛道正上方,此时系统控制两电机等速全速前进。当检测到某一侧一个或两个传感器偏离黑线,此时小车偏离黑线程度较小,系统将一个电机速度调快,另一个电机速度调慢,实现方向上的微调。当传感器检测到有3个电机偏离运行,小车偏离范围较大,这时系统大幅降低一个电机速度,并使另一电机以最高速度运行,在短时间内实现方向调整。使用这种3级调速的循迹算法程序构思清晰,程序执行可靠性高。
4 结语
本文所设计的自动驾驶系统实现的功能和现有的智能小车近似。创新之处在于利用两个电机的差动调节,控制电动小车的自动避障、寻光及自动停车;由单片机系统来控制智能车的行驶状态;并用PWM技术实现了电动机的多级调速,革新了控制策略与程序,使整机工作更加可靠,节约能源,在将来的机动车市场上能发挥更大作用。
参考文献:
[1]于虹.基于16位单片机MC9S12DG128智能模型车系统开发研究[D].包头:内蒙古科技大学,2009.
[2]徐鲁旭.基于ARM+DSP的机器人控制系统设计[D].北京:北京邮电大学,2010.
[3]张航.基于MSP430与UZ2400的无线传感器网络节点的设计与应用[D].长春:吉林大学,2010.
[4]曾伟钦,徐东升,冉志勇,等.基于光电导航的自主循迹智能车设计系统[D].绵阳:西南科技大学,2012.
[5]张青春.基于ZigBee结构支撑安全监测无线传感器的设计[J].计算机测量与控制,2012(11):3 136-3 138.
[6]李振新.基于激光治疗的光纤终端研究[D].武汉:武汉理工大学,2006.
[7]姚永刚.机电传动与控制技术[M].北京:中国轻工业出版社,2005.
Abstract:This design is based on micro-controller and sensor technology.The function we aimed to implement is automatic tracking of the electric car,along with the obstacle detection in the way by photoelectric sensor.Technique of differential adjustment by motors are used in this design to realize automatic obstacle avoidance,automatic light-leading and automatic parking.Then for the whole control software we accomplished the program design and program debugging.Finally the software and hardware integration is achieved and the electric car functions are as we expected.
Key words:Automatic tracking and obstacle avoidance;Micro-controller;Self-driving
责任编辑 祁秀春
