单⽚机智能循迹避障⼩车
可关注我们!
限时⼲货下载:关注我们“单⽚机”,回复“教程”获取单⽚机电⼦书,回复“仿真”获取Proteus仿真资料。持续更新中。。。限时⼲货下载:
  第⼀章绪论
  1.1智能⼩车的意义和作⽤
  1.2智能⼩车的现状
  第⼆章⽅案设计与论证
  2.1 主控系统
  2.2 电机驱动模块
  2.3 循迹模块
  2.4 避障模块
  2.5 机械系统
  2.6电源模块
  第三章硬件设计
  3.1总体设计
  3.2驱动电路
  3.3信号检测模块
  3.4主控电路
  第四章软件设计
  4.1主程序模块
  4.2电机驱动程序
  4.3循迹模块
  4.4避障模块
  第五章制作安装与调试
智能循迹避障⼩车
摘 要:利⽤红外对管检测⿊线与障碍物,并以STC89C52单⽚机为控制芯⽚控制电动⼩汽车的速度及转向,从⽽实现⾃动循迹避障的功能。其中⼩车驱动由L298N驱动电路完成,速度由单⽚机输出的PWM波控制。
关键词:智能⼩车;STC89C52单⽚机; L298N;红外对管
第⼀章绪论
1.1智能⼩车的意义和作⽤
⾃第⼀台⼯业机器⼈诞⽣以来,机器⼈的发展已经遍及机械、电⼦、冶⾦、交通、宇航、国防等领域。近年来机器⼈的智能⽔平不断提⾼,并且迅速地改变着⼈们的⽣活⽅式。⼈们在不断探讨、改造、认识⾃然的过程中,制造能替代⼈劳动的机器⼀直是⼈类的梦想。
51二手汽车网
随着科学技术的发展,机器⼈的感觉传感器种类越来越多,其中视觉传感器成为⾃动⾏⾛和驾驶的重要部件。视觉的典型应⽤领域为⾃主式智能导航系统,对于视觉的各种技术⽽⾔图像处理技术已相当发达,⽽基于图像的理解技术还很落后,机器视觉需要通过⼤量的运算也只能识别⼀些结构化环境简单的⽬标。视觉传感器的核⼼器件是摄像管或CCD,⽬前的CCD已能做到⾃动聚焦。
但CCD传感器的价格、体积和使⽤⽅式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使⽤接近觉传感器是⼀种实⽤有效的⽅法。
机器⼈要实现⾃动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器⼈⼀个视觉功能。避障控制系统是基于⾃动导引⼩车(AVG—auto-guide vehicle)系统,基于它的智能⼩车实现⾃动识别路线,判断并⾃动避开障碍,选择正确的⾏进路线。使⽤传感器感知路线和障碍并作出判断和相应的执⾏动作。
该智能⼩车可以作为机器⼈的典型代表。它可以分为三⼤组成部分:传感器检测部分、执⾏部分、CPU。机器⼈要实现⾃动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现⼩车⾃动识别路线,选择正确的⾏进路线,并检测到障碍物⾃动躲避。
基于上述要求,传感检测部分考虑到⼩车⼀般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD 传感器⽽考虑使⽤价廉物美的红外反射式传感器来充当。智能⼩车的执⾏部分,是由直
流电机来充当的,主要控制⼩车的⾏进⽅向和速度。
单⽚机驱动直流电机⼀般有两种⽅案:第⼀,勿需占⽤单⽚机资源,直接选择有PWM功能的单⽚机,这样可以实现精确调速;第⼆,可以由软件模拟PWM输出调制,需要占⽤单⽚机资源,难以精确调速,但单⽚机型号的选择余地较⼤。考虑到实际情况,本⽂选择第⼆种⽅案。CPU使⽤STC89C52单⽚机,配合软件编程实现。
1.2智能⼩车的现状
现智能⼩车发展很快,从智能玩具到其它各⾏业都有实质成果。其基本可实现循迹、避障、检测贴⽚、寻光⼊库、避崖等基本功能,这⼏节的电⼦设计⼤赛智能⼩车⼜在向声控系统发展。⽐较出名的飞思卡尔智能⼩车更是⾛在前列。我此次的设计主要实现循迹避障这两个功能。
第⼆章⽅案设计与论证
根据要求,确定如下⽅案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运⾏状况的实时测量,并将测量数据传送⾄单⽚机进⾏处理,然后由单⽚机根据所检测的各种数据实现对电动车的智能控制。这种⽅案能实现对电动车的运动状态进⾏实时控制,控制灵活、可靠,精度⾼,可满⾜对系统的各项要求。
2.1 主控系统
根据设计要求,我认为此设计属于多输⼊量的复杂程序控制问题。据此,拟定了以下两种⽅案并进⾏了综合的⽐较论证,具体如下:
⽅案⼀:
选⽤⼀⽚CPLD(如EPM7128LC84-15)作为系统的核⼼部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利⽤VHDL语⾔进⾏编写开发。但CPLD在控制上较单⽚机有较⼤的劣势。同
时,CPLD的处理速度⾮常快,⽽⼩车的⾏进速度不可能太⾼,那么对系统处理信息的要求也就不会太⾼,在这⼀点上,MCU就已经可以胜任了。若采⽤该⽅案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采⽤该种⽅案,进⽽提出了第⼆种设想。
⽅案⼆:
采⽤单⽚机作为整个系统的核⼼,⽤其控制⾏进中的⼩车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现⼩车的⾃动控制,⽽在这⼀点上,单⽚机就显现出来它的优势——控制简单、⽅便、快捷。这样⼀来,单⽚机就可以充分发挥其资源丰富、有较为强⼤的控制功能及可位寻址操作功能
、价格低廉等优点。因此,这种⽅案是⼀种较为理想的⽅案。
针对本设计特点——多开关量输⼊的复杂程序控制系统,需要擅长处理多开关量的标准单⽚机,⽽不能⽤精简I/O⼝和程序存储器的⼩体积单⽚机,D/A、A/D功能也不必选⽤。根据这些分析,我选定了P89C51RA单⽚机作为本设计的主控装置,51单⽚机具有功能强⼤的位操作指令,I/O⼝均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单⽚机价格⾮常低廉。
在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采⽤⼀⽚单⽚机,充分利⽤STC89C52单⽚机的资源。
2.2 电机驱动模块
⽅案⼀:
采⽤继电器对电动机的开或关进⾏控制,通过开关的切换对⼩车的速度进⾏调整.此⽅案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不⾼。
⽅案⼆:
采⽤电阻⽹络或数字电位器调节电动机的分压,从⽽达到分压的⽬的。但电阻⽹络只能实现有级调速,
⽽数字电阻的元器件价格⽐较昂贵。更主要的问题在于⼀般的电动机电阻很⼩,但电流很⼤,分压不仅回降低效率,⽽且实现很困难。
⽅案三:
采⽤功率三极管作为功率放⼤器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能⼒强,采⽤由达林顿管组成的 H型桥式电路(如图2.1)。⽤单⽚机控制达林顿管使之⼯作在占空⽐可调的开关状态下,精确调整电动机转速。这种电路由于⼯作在管⼦的饱和截⽌模式下,效率⾮常⾼,H型桥式电路保证了简单的实现转速和⽅向的控制,电⼦管的开关速度很快,稳定性也极强,是⼀种⼴泛采⽤的 PWM调速技术。现市⾯上有很多此种芯⽚,我选⽤了L298N(如图2.2)。
这种调速⽅式有调速特性优良、调整平滑、调速范围⼴、过载能⼒⼤,能承受频繁的负载冲击,还可以实现频繁的⽆级快速启动、制动和反转等优点。因此决定采⽤使⽤功率三极管作为功率放⼤器的输出控制直流电机。
图2.1 H桥式电路
图2.2 L298N
2.3 循迹模块
⽅案⼀:
采⽤简易光电传感器结合外围电路探测,但实际效果并不理想,对⾏驶过程中的稳定性要求很⾼,且误测⼏率较⼤、易受光线环境和路⾯介质影响。在使⽤过程极易出现问题,⽽且容易因为该部件造成整个
系统的不稳定。故最终未采⽤该⽅案。
⽅案⼆:
采⽤两只红外对管(如图2.3),分别置于⼩车车⾝前轨道的两侧,根据两只光电开关接受到⽩线与⿊线的情况来控制⼩车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。(参考⽂献[3])
⽅案三:
采⽤三只红外对管,⼀只置于轨道中间,两只置于轨道外侧,当⼩车脱离轨道时,即当置于中间的⼀只光电开关脱离轨道时,等待外⾯任⼀只检测到⿊线后,做出相应的转向调整,直到中间的光电开关重新检测到⿊线(即回到轨道)再恢复正向⾏驶。现场实测表明,⼩车在寻迹过程中有⼀定的左右摇摆不定,虽然可以正确的循迹但其成本与稳定性都次与第⼆种⽅案。
通过⽐较,我选取第⼆种⽅案来实现循迹。
图2.3 红外对管
2.4 避障模块
⽅案⼀:
采⽤⼀只红外对管置于⼩车中央。其安装简易,也可以检测到障碍物的存在,但难以确定⼩车在⽔平⽅向上是否会与障碍物相撞,也不易让⼩车做出精确的转向反应。
⽅案⼆:
采⽤⼆只红外对管分别置于⼩车的前端两侧,⽅向与⼩车前进⽅向平⾏,对⼩车与障碍物相对距离和⽅位能作出较为准确的判别和及时反应。但此⽅案过于依赖硬件、成本较⾼、缺乏创造性,⽽且置于⼩车左⽅的红外对管⽤到的⼏率很⼩,所以最终未采⽤。
⽅案三:
采⽤⼀只红外对管置于⼩车右侧。通过测试此种⽅案就能很好的实现⼩车避开障碍物,且充分的利⽤资源⽽不浪费。(参考⽂献[3])
通过⽐较我采⽤⽅案三。