循迹避障小车

1.1 主控系统

根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:

方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。

方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。

针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。

在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用51单片机的资源。

1.2 电机驱动模块

方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。

方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。

方案三:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图1.1)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。现市面上有很多此种芯片,我选用了L298N(如图1.2)。

这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。

循迹避障小车

图1.1 H桥式电路

循迹避障小车

图1.2 L298N电机驱动模块

1.3 循迹模块

方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为 该部件造成整个系统的不稳定。故最终未采用该方案。

方案二:采用四只红外对管,分别置于小车车身前轨道的两侧和中央,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好四只光电开关的位置就可以很好的实现循迹的功能。(参考文献[3])

通过比较,我选取第二种方案来实现循迹。

1.4 避障模块

方案一:采用一只超声波测距仪置于小车中央。其安装简易,也可以检测到障碍物的存在,也比较容易确定小车在水平方向上是否会与障碍物相撞,可以让小车做出精确的转向反应。

方案二:采用两只红外对管分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。但此方案过于依赖硬件、成本较高、缺乏创造性,而且置于小车左方的红外对管用到的几率很小,所以最终未采用。

通过比较我采用方案一。

2.5 机械系统

本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。

电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。简单,而三轮运动系统具备以上特点。

1.6电源模块

方案一:采用实验室有线电源通过稳压芯片供电,其优点是可稳定的提供5V电压,但占用资源过大。

方案二:采用41.5V电池单电源供电,但6V的电压太小不能同时给单片机与与电机供电。

方案三:采用大容量聚合物锂离子电池提供给电机驱动模块,再供给51单片机,以完成小车电源模块。

所以,我选择了方案三来实现供电。

2硬件设计

2.1总体设计

智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的前端。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。

避障的原理和循线一样,在车前面装一个超声波测距仪模块,当其检测到障碍物时,主控芯片给出信号控制车子转向,从而避开障碍物。

2.1.1主板设计框图如图2.1。

循迹避障小车

图2.1 主板设计框图

2.2驱动电路

电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通过单片机给予L298N电路时钟电路来控制小车的速度,起停。其引脚图如2.2

循迹避障小车

图2.2 L298N引脚图

2.3信号检测模块

小车循迹原理小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。

2.4主控电路

本模块主要是对采集信号进行分析,同时给出时钟电路控制电机速度。以及再检测到障碍转向等作用。其电路图如图2.3

循迹避障小车

图2.3 主控电路

3软件设计

3.1主程序框图:

循迹避障小车

图3.1 主程序框图

3.2循迹模块

循迹框图:
循迹避障小车
 

整个系统的设计以单片机为核心,利用了多种传感器,将软件和硬件相结合。本系统能实现如下功能:

自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。若有偏离,能够自动纠正,返回到预设轨道上来。

当小车探测到前进前方的障碍物时,可以自动调转车头,反向再次循迹。

 

以上就是本次项目的详细内容,希望每一次的项目都会给大家带来不一样的惊喜。下周一项目继续发送!