智能小车
——寻迹、避障、测距
摘要:
本文介绍了一种基于51单片机的小车寻迹、避障、测距系统。该系统采用5个高灵敏度的单端反射式红外光电对管和红外传感器以及霍尔传感器来实现小车的寻迹、避障和测距的功能。并利用单片机产生PWM波,通过控制电机驱动芯片L298N去控制小车速度。测试结果表明,该系统能够平稳跟踪给定的路径,并绕过障碍物,在液晶上可以显示出小车走过的路程。
关键词:智能小车、寻迹、避障、测距、脉冲宽度调制
Abstract:
this paper introduces a method based on 51 MCU car tracing, obstacle avoidance, distance measuring system. This system uses five high-sensitivity one-port reflex of tube and infrared electricity infrared sensor and hall sensors to realize the car tracing, obstacle-avoiding and result of the function. And by using single-chip microcomputer control PWM waves generated by motor drive chip L298N to control vehicle speed. Test results show that the system can smooth tracking given path and around obstructions, in liquid crystal can show the distance of the car.
Keywords: intelligent car, tracing, obstacle avoidance, ranging,
pulse width modulation
一.总体方案:
整个电路系统分为检测、控制、驱动、显示四个模块。首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。然后通过红外传感器和霍尔传感器的输出信号传送给单片机来控制小车的避障和测距,并且用1602液晶来显示小车所测距离。总体设计模块图如图a所示
图a:
1602液晶显示 左轮控制模块 右轮控制模块 测距模块 寻迹模块 红外避障模块
52单片机 供电模块
二.方案论证与选择 1. 电机的选择:
方案一:采用步进电机。步进电机转角精确,扭矩大,但转速较慢,且控制较为复杂。
方案二:采用直流电机。直流电机控制不如步进电机精确,但是其速度快,体积小,并且更容易控制。
考虑题目的要求,并不需要精确到用步进电机,为了控制的方便,故采用直流电机驱动。
2.方向控制方案的选择:
方案一:采用后轮动力驱动,前轮由舵机控制其转向。这种方式的优点是转向快速度快,转向灵敏,适合于高速场合,但是其缺点是转弯半径大,不易控制
转角,不适合用在对转角精度要求较高的场合。
方案二:采用左右两个独立电机驱动,通过控制两电机的转速和正反转来控制车的方向,即通过左右速度差来控制转向。其优点是转弯半径可以很小,甚至可以原地转弯,角度也可以精确控制,适合转向角度比较精确的场合,虽然其转弯速度较慢,但是考虑到使小车运动较平稳,且提速可通过其他方式。相比之下我们选择此方案。
综上,选择方案二。
3. 车体的选择
方案一:采用RP5履带车底盘,其比较专业驱动能力强,扭矩大,造型美观,扩展性强,但是比较贵。
方案二:用玩具车改造。成本较低,且省去很多制作上的麻烦,但是由于其是已经设计好的产品,扩展性差,许多方面很难达到我们需要的要求。
方案三:自己做车体。这样可以制作出完全符合我们要求的小车车体,各部分可以进行专门的设计,虽然制作方面有点费时费力,考虑到我们有一定的时间且自己动手学到的东西更多一点,故选择该方案。
综上考虑,采用方案三。
三.硬件设计 1.供电模块
方案一:采用2节4.2V可充电式锂电池串联共8.4V给直流电机供电。然后将8.4V电压降压到5V,并用稳压芯片使电压稳定在5V给整个系统供电,锂电池的电量比较足,可以充电,重复利用,并且我们有废旧的锂电池,成本不高。
方案二:采用6节1.5V干电池供电,电压达到9V,,然后将9V电压再次降压、稳压后给单片机系统和其他芯片供电。但干电池电量有限,并且不易充电,废旧电池还容易造成环境污染。
综上,我们选择方案一
2.电机驱动模块:
方案一:直接通过电源给电机供电来驱动电机转动,这种方案只能使电机保持在停和最大转速两种状态。很难达到题目的要求。
方案二:直接选用L298N驱动直流电机,由单片机给它PWM波控制其驱动电机。此种方案可以容易控制电机的正反转和它的转速,可使电机处于多种转速状
态,同时为了减小电机与单片机的相互影响,在单片机与该芯片之间加了一个光耦隔离,更加优化了改方案。
综上,选择方案二。 原理图如下:
3.寻迹模块:
方案一:采用普通发光二极管用及光敏三极管组成的发射接收方案。该方案在实际使用时受环境干扰很大,很难检测到它的输出信号,严重影响了小车的寻迹。
方案二:寻迹模块采用了TCRT5000红外反射型对管作为传感器,发射接收集成在一起,使用方便。由于采用红外光,因此受可见光影响较小,在其输出端接比较器,能得到更稳定的波形。
应用电路图如下图所示
综上,我们选择方案二。
4.避障模块
方案一:采用红外避障传感器,它是一种集发射与接收于一体的光电传感器。检测距离可以根据要求进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点。
其原理图如下图所示
方案二:采用超声波避障,在实际使用中,用超声波避障使程序进一步复杂化且程序相互之间的影响较大,又因为我们只要求避障,没有具体有求测小车与障碍物的距离,另外还考虑到超声波成本较高,故不选该方案。
综上,我们选择方案一。
5,测距模块
方案一:通过测试得出小车平均速度v,在行驶过程中将行驶时间与其乘积t?v 作为驶过的距离。但该方案受电池电量、路面介质等因素的影响,在多数情况下均暴露出误差较大的缺点。故不予采用。
方案二:在左轮内侧匀距贴上m 个磁钢,车厢内装上霍尔开关。对轮子转速进行测量,由于低速下轮子与地面接触良好,设轮周长为c,可以用霍尔开关输出脉冲数n 乘以c/m得出行驶距离。只要磁钢在后轮上的位置足够精确,霍尔开关固定牢靠,就可以获得较好的测试效果。
方案三:在齿轮箱中安装透射式光电开关,测出变速齿轮的每秒转速,用变速比和车轮周长计算出线速度,积分求行驶距离。但在齿轮箱中使用光电开关,要求有足够的安装位置,不能影响传动机构的机械动作。其优点是工作稳定。
综合以上方案优劣和小车的结构特点,本系统采用了方案二。
四.软件设计
1.寻迹
用扫描法,不断扫描IO口,光电传感器寻到黑线出现低电平,所以当我们发现光电传感器对应的IO口出现低电平,就表示寻到黑线。 2.避障
我们也是用扫描法,不断扫描IO口,如果在制指定的距离内遇到障碍物,传感器就会输出一个低电平,当单片机接收到低电平后就会执行避障程序。 3.测距
用外部中断法,当霍尔传感器与小磁钢接近时,因为磁场由小变大,传感器会输出一个低电平,当外部中断的IO口接收到低电平,就会进入中断,执行中
断处理程序,中断处理程序就是一个测距的算法,并把距离送给液晶显示。
软件流程图 开始 外部中断
初始化 测距
Y 检测障碍 显示路程 N 检测跑道
Y
寻迹
检测障碍 N N 检测跑道 回到跑道
Y Y 检测跑道 N
绕过障碍
五.结束语
本次设计基本完成了题目的全部要求,能正常完成各项指定任务,并且工作稳定,制作工艺方面也精益求精,使其外观尽量紧凑美观,软件方面也力求简洁可靠。然而本设计任然存在不少不完善和有待改进的地方,例如传感器受环境的影响较大,程序中中断和扫描之间时间上的冲突,还有行驶速度不够快等等,这些正是设计的真正难点所在,也是此题的价值所在。因此在今后的各种设计中,都会继续考虑这些问题并力图解决。