智能避障小车设计

时间:2024-06-09 12:41:16

1.   主题要研究内容
系统采用STC89C52单片机作为核心控制单元,小车车体前方的红外线传感器检测前方障碍物,用于判断是否需要转弯,防止小车碰到障碍物。
本设计题目为基于单片机的自动避障小车设计,主要研究小车的避障功能,小车遇到障碍物时,当距离障碍物大于25cm,PWM信号自增,驱动电机加速,小车加速前进,当小于15cm时,PWM信号自减,驱动电机减速,小车减速前进,并且小车采取相应的避障措施。这里探测装置必不可少,因为红外在距离检测方面的准确定位。所以采用红外线传感器作为探测装置。运用单片机搭建控制电路,把红外信号接到单片机上,通过单片机对信号的检测和处理,控制外围电路使小车转向,来避开障碍物。通过H桥驱动电路来控制电机的转向和前进。
2.   工作原理及总体设计 2-1.工作原理
在这里我们采用STC89C52作为控制电路,把两个红外信号接到单片机上,通过单片机对信号的接收和处理,控制外围电路使小车转向,来避开障碍物。通过H桥驱动电路来控制电机的转向和前进。通过为微控制芯片对数据进行处理,处理速度远远满足小车的运行和避障的需求。也可以通过编写不同的程序,增加模块来增加小车的功能。
本小车使用STC89C52单片机作为主控芯片,它通过红外线传感器获知前方的障碍物情况,若不存在障碍物,小车直线前进;若左前方发现障碍物,左前放的红外传感器将信号传给单片机,单片机作出处理后控制小车向右转弯以躲开障碍物;若右前方发现障碍物,右前放的红外传感器将信号传给单片机,单片机作出处理后控制小车向左转弯以躲开障碍物;若正前方发现障碍物,则两个红外传感器将信号传给单片机,单片机作出处理后控制小车倒车至合适距离后,通过传感器传来的信号决定转弯方向,以躲开障碍物。
2-1.总体设计
通过学习相关技术资料可了解到,红外检测模块是系统的关键模块之一,红外检测方案的好坏直接关系到整体性能的优劣,因此确定红外检测方案是总体方案的关键。
检测使用的红外传感器是专业的红外避障传感器,当有障碍物时,它能够反映出电平高低的变化,而且更加廉价易得,适合简单的避障。系统总体设计方框图如图所示。


系统总体设计

根据系统方案设计,系统包括以下模块:STC89C52主控模块、L298N电机驱动模块、电源模块、红外检测模块等。
各模块作用如下:
1.     STC89C52主控模块,作为整个智能小车的“大脑”,将根据传感器的信号,控制算法做出控制决策,驱动直流电机等完成对智能小车的控制。
2.     电源模块,为整个系统提供合适而又稳定的电源。
3.     红外检测模块,检测障碍信号,为单片机提供前方道路信息。 电机驱动模块,驱动直流电机完成智能车的加减速和转向控制。

3.   硬件设计 3-1.小车车体设计
小车的车体是整个智能小车的载体,在这个载体上,添加合适的控制单元以实现智能化,因此这个小车车体需要符合相关的设计要求。我们有以下两种方案可以考虑:
方案1:
市场上存在很多不同型号的电动玩具小车,这种小车都有完整的车体和车轮以及电机和驱动电路。但是这种小车存在很多的缺点,由于是成品电动玩具车,一般都是装配紧凑,要想在其才车体上安装用于检测的传感器十分困难。还有就是这种小车一般采用的都是前轮转向后轮驱动的模式,不能方便迅速的进行原地90度或180度旋转。而且这种电动玩具车多为直流电机,力矩小,负载性能差,且不易调速,因此我们放弃了此方案。
方案2:
买现成的车模。经过反复考虑论证,我们制定了买左右两轮分别驱动,后万向轮转向的车模方案。即左右轮分别用两个转速和力矩基本完全相同的直流减速电机进行驱动,后装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。
综上考虑,本设计选择方案2.
3-2.电源模块
     本设计为避障小车的设计,由于小车需要独立运行进行避障,因此系统采用电池供电,我们考虑了如下几种方案为系统供电。   
方案1:
采用12V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便。因此我们放弃了此方案。   
方案2:
采用6节1.5 V干电池共9V做电源,经过7805的电压变换后为单片机,传感器供电。经过实验验证小车工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。
综上所述,本设计采用方案2。
3-3.电机驱动模块
    电机的驱动模块是小车运行的基础,也是小车实现自动避障的实现方法,因此合适的电机驱动模块就显得尤为重要。我们有以下几种方案可以考虑。   
方案1:
    利用继电器控制电机,通过继电器的开关来切换小车的速度,此方案电路简单,但是其有严重缺点,就是继电器的响应时间较长,不利于小车较为精准的躲避障碍,且易损坏,寿命较短,可靠性不高。     
方案2:
    利用电阻或者电位器控制电机,电阻或电位器控制电机的电压,进而达到控制电机速度的目的。但是,数字电阻元器件成本较高,且电机的电流较大,采用分压的方法会降低效率,而且是指操作困难。   
方案3:
利用三极管控制电机,三极管控制电机的电路原理简单,而且加速性能强,利用功率三极管组成的H型桥式电路。如下图所示:

H型桥式电路

用单片机控制功率三极管在占空比可调的状态下工作,精准的对电动机的转速进行调整。H型桥式电路工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现电机转速大小和运行方向的控制,由于电子三极管的开关速度很快,其稳定性也极强,是被广泛采用的 PWM调速技术。现市面上有很多此种芯片,我选用了L298N,L298N是一个具有高电压大电流的全桥驱动芯片,该驱动芯片的工作频率较高,而且一枚芯片可以控制两个直流电机的运行,还具有控制使能端。利用该芯片作为电机驱动,操作方便,稳定性好,性能可靠优良。
    因此本设计选用方案3。
电机模块
本系统为智能自动巡航电动车,对于电动车来说,其驱动轮电机的选择就显得十分重要。我们综合考虑了一下两种方案。   
方案1:
    采用步进电机,步进电机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。虽然步进电机已被广泛地应用,但用好步进电机实非易事,它涉及到机械、电机、电子及计算机等许多专业知识。且步进电机输出力矩低,转速升高力矩会下降,在较高转速时会急剧下降,其转速较低,不适用于有特定速度要求的系统。综合比较考虑,我们放弃了此方案。     
方案2:
采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭力。能够较好的满足系统的要求,因此本设计选择此方案。
3-4.检测模块
检测模块,是小车自动避障的“眼睛”,它的存在至关重要,它为单片机提供障碍信号,为小车的运行提供参考数据。检测的方法很多,比如超声波检测、红外线检测等,综合考虑,红外线线检测更加实用,因此我们采用红外线检测,市场上有现成的红外E18-D50NK光电开关,完全符合我们本次设计的要求,且使用简单,因此我们采用这种红外避障传感器作为检测模块。
3-5.最终方案
经过反复论证,最终确定如下方案。
1、车模用两驱车模。
2、采用STC89C52单片机作为主控制器。
用6节干电池供电。
4、用红外E18-D50NK光电开关进行避障巡航。
L298N作为直流电机的驱动芯片。
4.   硬件实现及单元电路设计 4-1.主控制模块
主控制最小系统电路图。如图所示:

主控制最小系统电路图

单片机的复位电路与振荡电路设计 :
本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC51单片机内部集成了看门狗电路;且具有很强抗干扰能力。
    单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。      单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。      
复位电路由上电复位和上电与按键均有效的复位两种基本形式。  
上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RST引脚获得高电平,随着电容器的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
上电与按键均有效复位其原理和上电复位基本相同,另外在单片机运行期间,还可以利用按键完成复位操作。
本系统采用上电与按键均有效的复位电路,如下图所示:


复位电路图

    单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,单片机的运行速度也就越快,单片机执行的所有指令都要依赖于这种时钟频率。  
  一般工作条件下,普通晶振频率绝对精度一般可达百万分之五十。高级晶振频率的精度更高。压控振荡器(VCO)可以在外加电压的作用下于一定范围内调整频率。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。  
    单片机晶振是为了给系统提供基本的时钟信号。一般情况下一个系统共用一个晶振,以便于各部分保持同步。在部分特殊情况下使用不同的晶振,但是要通过电子调整频率的方法保持同步。  
    晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。  
STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个容量在15pF至50pF之间的电容即可,如图所示。
振荡电路

由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。

4-2.电源设计
  电源部分的设计主要采用7805芯片,使用7805芯片搭建的电路的优点是简单、实用,7805三端稳压IC内部电路具有过压保护、过流保护、过热保护功能,这使它的性能很稳定。能够实现1A以上的输出电流。器件具有良好的温度系数,因此产品的应用范围很广泛,而且价格便宜。并且完全能够满足壁障小车单片机控制系统和L298N芯片的逻辑供电的供电需要。
7805芯片有3个引脚,分别为输入IN端、输出OUT端和接地GND端,通常情况下可以提供1.5A的电流,在散热足够的情况下可以提供大于1.5A的电流。7805芯片的输入电压可以为9V、12V、15V不等,输出电压稳定在5V,正负误差不超过0.2V。
基于这样的情况再结合电机的工作电压,选取了6节干电池9V作为7805的输入电源,搭建的电源部分电路如下图所示:


系统电源模块电路图
4-3.驱动电路
电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通过单片机给予L298N电路PWM信号来控制小车的速度,起停。其引脚图如图所示,驱动电路原理图如图所示:


L298N芯片引脚图

驱动电路原理图

E18-D50NK光电开关避障模块
本系统对障碍物的检测采用E18-D50NK型号的红外传感器,E18-D50NK传感器是一种红外线反射式接近开关传感器,用于物体的反射式检测,该传感器具有体积小,功耗低,应用方便,稳定可靠等优点。输出信号为数字量,不需要进行A/D转换,可直接与单片机的I/O口相连,检测到目标时信号线输出是低电平,正常状态时为高电平,为能让单片机正常检测,在信号输出端需外接一个1KΩ上拉电阻。检测距离可达50cm,距离可通过可调电位器调节。

E18-D50NK光电开关
光电开关E18-D50NK的技术参数:
1、 输出电流 DC/SCR/继电器 Control output:100mA/5V供电     
2、 消耗电流 DC<25mA     
3、 响应时间 <2ms
4、 指向角:≤15°,有效距离3-50CM可调     
5、 检测物体:透明或不透明体     
6、 工作环境温度:-25℃~+55℃
7、 标准检测物体:太阳光10000LX以下 白炽灯3000LX以下     
8、 外壳材料:塑料 电气特性:      U:5VDC      I:100mA      Sn:3-50CM 尺寸:
     直径:17MM             传感器长度:45MM         引线长度:45CM


光电开关工作原理图

E18-D50NK红外光电开关发射出红外线,被物体阻断或部分反射,E18-D50NK内部红外接收管接收到反射回来的红外线,然后有一个由高到低的电压变化,E18-D50NK内部电压比较器根据这个电压的变化输出数电信号给单机处理。当有光线反射回来时E18-D50NK信号脚输出低电平。


红外光电传感器安装图

4-4.小车车体总体设计
本系统共设计两个减速电机,分别置于车体两端控制左右车轮;后轮使用万向轮,维持车身平衡;E18-D50NK红外光电开关置于车体前方左右两边;电池盒置于主板下方。小车车体设计如图所示: