1 绪 论
1.1 研究背景和发展现状
随着电子技术、计算机技术、智能控制技术的飞速发展,产品的智能化和小型化越来越成为人们关注的热点。各种智能小车在智能化玩具中占了很大的比例。近年来,传统玩具的市场逐步缩水,高科技智能化的电子类玩具则逐步成为市场的主流。因此,可遥控的智能化小车的研究是非常有意义的,具有很大潜在市场价值的。
智能小车,也被称之为轮式机器人。我们知道,机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。机器人由于具有高度的灵活性、可以帮助人们提高生产率、改进产品质量和改善劳动条件等优点,在世界各地的生产生活领域得到了广泛的应用[5]。智能小车正是模仿机器人的一种尝试。它是一种以汽车电子为背景,涵盖控制,模式识别,电子、电气、单片机、机械等多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块组成。这种智能小车能够自动搜寻前进路线,还能爬坡;感知前方的障碍物,并自动寻找前进方向,避开障碍物;加入相关声光讯号后,更能体现出智能化和人性化的一面。
1.2 研究目的和意义
随着人们物质文化生活水平的不断提高,智能化的电子玩具深受人们的喜爱,尤其是各种智能小车,由于这类玩具具有较好的交互性,可控性,能够给人们带来很好的娱乐以及参与其中的体验,高科技智能化的电子类玩具逐渐成为市场的主流。与此同时,智能小车可以应用于考古、机器人、医疗器械等许多方面,尤其在足球机器人研究方面具有很好的发展前景。因此,智能化小车的研究不仅具有很大的现实意义,还具有极为广阔的应用前景和市场价值。
1.3 研究内容
本设计的智能电动小车具有自动寻迹、寻光、避障、速度检测功能,可程控行驶速度、准确定位停车。
整体设计可以分为如下几个模块,控制核心采用MCS-51系列中的AT89S52单片机,循迹避障是通过传感器实现的,利用超声波传感器检测道路上的障碍,控制小车的自动避障,从而发出避障信号。整个系统具有自动寻迹、寻光和速度测试功能。电机驱动采用常用的PWM方式进行电机的降压调速控制,小车的速度通过液晶屏来显示。软件中主要用到工业中常用的PID控制算法。整个系统的电路结构较简单,可靠性能高。实验测试结果满足要求。
2 系统总体方案设计与论证
2.1 总体方案设计
根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装反射式红外光电传感器、超声波传感器、速度检测传感器以及光敏二极管阵列,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
本方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。系统整体方框图如图2-1所示。
图2-1 系统总体设计框图
2.2 方案选择论证
检测系统主要运用传感器作为外部敏感元件,进行外部信号的检测。
传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求[7]。它是实现自动检测和自动控制的首要环节。选择合适的传感器可以使设计简便,还可以简化硬件电路。
2.2.1 循迹检测系统
循迹检测常用到传感器。根据小车功能的要求有两种方案,一种是使用红外光电传感器,另一种是使用CCD传感器。这两种方案都可以达到小车循迹要求,目前使用最为普遍的循迹检测方法是红外探测法。两种方案的主要区别是使用的传感器不同。具体区别见表2-1。
表2-1 循迹检测方案对比
红外光电传感器 |
CCD传感器 |
|
受外界干扰程度 |
小 |
较小 |
实时性 |
好 |
差 |
对主控芯片要求 |
较低 |
较高 |
成本 |
较低 |
高 |
从上表中可以很明显的看出,红外传感器相对于DDC传感器来说,在实时性和对主控芯片的要求方面都比CCD传感器要好。基于这些优势以及处于成本的考虑,本设计采用小车底部,距地面高度合适,可以达到很好的检测效果。
2.2.2 障碍物检测系统
根据题目功能的要求,小车在循迹行驶过程中要能准确的避开途中遇到的障碍物,因此对检测距离有一定要求。又考虑到在测障过程中小车车速及避障反应堆小车速度的限制,小车应在距障碍物10CM的范围内做出反应,这样才能在顺利绕过障碍物的同时还为下一步驶入车库寻找到最佳的位置和方向。否则,如果范围太大,则可能产生障碍物的判断失误;范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向方案。 障碍物检测可以有多种方法:红外光检测、超声波检测、甚至机械接触。这些方法都有各自的优缺点。常用的有红外检测和超声波检测,两种方案的区别见表2-2。
表2-2 障碍检测系统方案对比
红外检测 |
超声波检测 |
|
检测距离 |
4~10cm |
0.10~4.00m |
精确度 |
1cm |
1cm |
受外界环境干扰程度 |
易受外界环境干扰 |
不易受外界环境干扰 |
硬件电路 |
所需元器件少,尺寸小,安装简便 |
稍复杂,安装简便 |
成本 |
8元左右 |
6元左右 |
从上表可以看出,相对红外检测,超声波检测距离远,不易受外界环境干扰,由于小车需要在行驶过程中检测障碍物,颠簸,光照方面可能会对检测产生影响。所以需要选择稳定性较好的,故本设计选择超声波检测。
2.2.3 光源检测系统
光源检测使用常见的光敏器件,光敏二极管。光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。这里我们就可以利用光敏二极管对光源变换的敏感反映,检测外部光源。当有光照射时,光敏二极管呈强电阻,经比较器输出一个高电平,反之则输出低电平。我们可以再外接一个LED作为检测指示灯,则可以明显观察到这个变化。即有光照时LED亮,无时则灭。
2.2.4 速度检测系统
在电机测速中,考虑了两种方案:一种是使用光电码盘,即透射式光电传感器(凹槽型,类似老式鼠标),另一种是霍尔传感器(适合较高速度)。两种方案的主要区别如表2-3。
表2-3 速度检测系统方案对比
霍尔传感器 |
关电码盘 |
|
抗干扰性 |
较强 |
强 |
实时性 |
较好 |
好 |
易用性 |
需和磁钢配对使用,较麻烦 |
较简单 |
由上表可以看出光电码盘在各方面都具有一定的优势,因此本设计采用关电码盘测速。
2.3 电机驱动系统
直流电机和步进电机都可以用于小车驱动。故有两种方案。
方案一:使用直流电机,加上适当减速比的减速器。直流电机具有良好的调速性能,控制起来也比较简单。直流电机只要通上直流电源就可连续不断的转动,调节电压的大小就可以改变电机的速度。直流电机的驱动电路实际上就是一个功率放大器。常用的驱动方式是PWM方式,即脉冲宽度调制方式。此方法性能较好,电路和控制都比较简单。
方案二:使用步进电机。步进电机具有良好的控制性能。当给步进电机输入一个电脉冲信号时,步进电机的输出轴就转动一个角度,因此可以实现精确的位置控制。与直流电机不同,要使步进电机连续的转动,需要连续不断的输入点脉冲信号,转速的大小由外加的脉冲频率决定。去而且其转动不受电压波动和负载变化的影响,也不受温度、气压等环境因素的影响,仅与控制脉冲有关[8]。但步进电机的驱动相对较复杂,要由控制器和功率放大器组成。具体差别见下表2-4。
表2-4 电机控制方式对比
直流电机 |
步进电机 |
|
调速性能 |
较好 |
较差 |
位置控制精度 |
较差 |
好 |
驱动 |
简单 |
复杂 |
稳定性 |
较好 |
好,仅与控制脉冲有关 |
由上表可以看出步进电机和直流电机都有各自的优点。步进电机能进行精确的位置控制,但驱动电路麻烦,鉴于本设计中小车的位置控制不要求十分精确,直流电机即可满足小车要求的精度。且直流电机易于控制,驱动电路十分简单。
2.4 单片机控制电路系统
此部分是整个小车运行的核心部分,起着控制小车所有运行状态的作用。控制的方法有很多,大部分都采用单片机控制。单片机要完成电机控制、循线控制、避障控制金属检测控制和光源检测控制等工作。本设计中小车的主控采用我们最为熟悉的AT89S52单片机。虽然这款单片机本身没有PWM模块,但若采用本身有PWM模块的单片机就会产生资源浪费。我们可以通过软件编程产生PWM,既能充分利用可用资源,又不浪费。且能很好的满足题目要求。
2.5 显示模块
由于小车要显示速度和行驶距离,内容较多。数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗。故不予考虑。液晶显示电路简单,使用方便,一个液晶显示器就可以同时满足此处同时显示速度和距离的要求,且更加直观明了。
3 硬件设计
3.1 总体设计方案
智能小车采用后轮驱动,后轮左右两边各用一个电机驱动,调制两个后面两个轮子的转速从而达到控制转向的目的,前轮是万象轮,起支撑的作用。将四个红外线光电传感器装在车体的底盘前端,小车根据传感器检测到的情况执行。
避障的原理和循迹一样,在车头装了一个传感器,传感器检测到障碍物时,小车减速,车体做出相应的反应。
小车速度的检测也是靠的红外线,只不过是器件的型号不同,速度检测的传感器用的是对射式,避障用的是直射式。把码盘装在电机的轴上,码盘随电机一起转动,这里使用的是改进过的的码盘,把圆形硬纸片切制成直径为25mm的圆,再把圆周用锯条均匀切12条缝,缝的宽度约为1mm。可以很好的满足小车所需的精度。
考虑到电机控制要使用PWM波形,而AT89S52单片机本身不能产生PWM,需要外加电路或使用软件的方式实现,为减少硬件电路,这里选用软件产生PWM方式。
整体原理电路图如图3-1所示。
图3-1 整体原理电路图
3.2 单片机控制电路
单片机是控制单元的核心。起着控制小车所有运行状态的作用。单片机控制模块使用的是ATMEL公司生产的AT89S52,使用该芯片很容易实现对其他模块的控制。通过对单片机AT89S52写入程序,可以方便的用软件来控制整个过程.控制部分如图3-2所示。
图3-2 单片机最小系统
AT89S52单片机最小系统包括了一路复位开关,用于小车复位。P1.0输出PWM信号,P1.1~P1.5分别控制电机驱动。其他P口用外接控制小车的各种控制开关,P0口外接10K的上拉电阻,可用于外接LCD1602。
AT89S52 单片机介绍:
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器 8K 字节在系统可编程[16]。其引脚排列如图3-3所示。
图3-3 AT89S52引脚排列图
1.主要性能
● 与MCS-51单片机产品兼容;
● 8K字节在系统可编程Flash存储器;
● 1000次擦写周期;
●全静态操作:0Hz~33Hz;
●三级加密程序存储器;
● 32个可编程I/O口线;
●三个16位定时器/计数器;
●八个中断源;
●全双工UART串行通道;
●低功耗空闲和掉电模式;
●掉电后中断可唤醒;
●看门狗定时器;
●双数据指针;
●掉电标识符。
4个P口在一般情况下都是是一个8位双向I/O口。不过P0口是漏极开路的8位双向I/O口,而其他P口都是具有内部上拉电阻的8作为输出口要外部上拉电阻。且P1口部分引脚和P3口具有第二功能。具体见表3-1和表3-2。
表3-1 P1口引脚第二功能
引脚号 |
第二功能 |
P1.0 T2 |
定时器/计数器T2的外部计数输入,时钟输出 |
P1.1 T2EX |
定时器/计数器T2的捕捉/重载触发信号和方向控制 |
P1.5 MOSI |
在系统编程用 |
P1.6 MISO |
在系统编程用 |
P1.7 SCK |
在系统编程用 |
表3-2 P3口引脚第二功能
引脚号 |
第二功能 |
P3.0 RXD |
串行输入 |
P3.1 TXD |
串行输出 |
P3.2 |
INT0(外部中断0) |
P3.3 |
INT0(外部中断0) |
P3.4 |
T0(定时器0外部输入) |
P3.5 |
T1(定时器1外部输入) |
P3.6 |
WR(外部数据存储器写选通) |
P3.7 |
RD(外部数据存储器写选通) |
另外还有第九引脚RST为复位引脚。地十八引脚和第十九引脚分别为振荡器反相放大器的输入端和输出端。
3.3电机驱动电路
3.3.1驱动电路
小车使用的是直流电机。从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。直流电机常用的PWM,及脉宽调制方式驱动。本设计中电机驱动采用L298集成H桥芯片。L298中有两套H桥电路,刚好可以控制两个电机。它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。
另外,L298的驱动功率较大,在6~46V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠;为了保证L298正常工作,我们另外安装了续流二极管。电路如图3-4所示。能根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。利用单片机调整出PWM脉冲和高低电平对直流电机进行驱动和控制。
图3-4 电机驱动电路
L298集成H桥芯片。其外形、管脚分布如图3-5所示。
图3-5 L298管脚分布图
3.3.2 PWM调速原理
脉冲宽度调制(Pulse Width Modulation),简称PWM。脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。PWM的理论基础是:冲量相等而形状不同的的窄脉冲加在具有惯性的环节上,其效果基本相同。采用PWM进行电机的调速控制,实际是保持加在电机电机电枢上的脉冲电压频率不变,调节其脉冲宽度。电机是一个惯性环节,它的电枢电流饿转速均不能突变,很高的频率的PWM加在电机上,效果相当于施加一个恒定电压的直流电。如图3-6所示。这个电压可以由脉冲的宽度调节。
图3-6 PWM等效图示意图
使用PWM方式可以很容易的实现调速。PWM信号由单片机软件产生,使用非常方便。由于电路总体上并不复杂,驱动电路的控制输入端也可以不用经光耦合隔离,直接与单片机引脚相连。
前进时,驱动两个直流电机都正转,后退时,则两电机都反转。左转时前进时,左电机不转而右电机正转,右转前进时,则右电机不转而左电机正转。进入减速区时,由单片机控制进行PWM变频调速,通过软件改变脉冲调宽波形的占空比,实现调速。所有这些都是通过软件编程实现控制。
3.4 循迹检测电路
该智能小车在铺有约两厘米宽黑纸的路面行驶,路面可以近似看为白色。由于黑纸和白色路面对光线的反射系数不同,可以根据接收的反射光的强弱来判断道路——黑纸轨迹。本设计采用简单易用,应用也较为普遍的红外探测法。
红外探测法,即用红外线在不同颜色的物表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外线遇到白色地面时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑纸则红外光被吸收,小车上的接收管接收不到信号。
市面上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探测头。ST系列集成红外探测头价格便宜。体积小。简便易用,性能可靠。所以本设计选择了ST178反射式红外线光电传感器作为红外光的发射和接受器件,其内部结构和外接电路均较为简单.
本系统采用反射式红外线光电传感器ST178进行轨迹检测(约3cm宽的黑线),反射式红外光电传感器ST178由一个高发射功率红外发光管和一个高度灵敏光晶体管封装在一个塑料外壳里组成,一般检测距离可达4~10cm,鉴于小车底部聚地面的距离不超过五厘米,故用红外光电传感器足以满足地面黑线的检测。且安装电路简单。检测电路如图3-7所示。
图3-7 ST168检测电路
正确选择检测方法和传感器是决定循迹效果的重要因素,而正确的器件安装方法也是影响循迹电路好坏的一个重要因素。从简单。方便。可靠等角度出发,设计装设四个红外传感器,及采用四套上面的电路。具体位置分布如图3-8所示。此套红外光电传感器固定在底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送80C51单片机处理,判断执行哪一种预先编制的程序来控制玩具车的行驶状态。
图3-8 循线传感器布局
3.5 障碍物检测电路
本设计中小车采用超声波检测障碍物。超声波检测的原理是:超声波发生器T发出超声波信号,当这个信号遇到障碍物时反射回来,被接收器R收到。为使小车能准确避障,设计在小车的车体前端左右两侧分别各装一个超声波传感器。小车则可以根据接收到的信号做出相应的避障反应。超声波发射和检测接收电路如图3-9,3-10所示。
图3-9 超声波发射电路 图3-10 超声波接收电路
设计中还加了一个声光报警功能,当小车检测到障碍物时,小车的报警系统中的蜂鸣器鸣叫,同时指示LED发光。直到小车避开障碍物,警报排除。
超声波传感器简介:
超声波是一种在弹性介质中的机械振荡,有两种形式:横向振荡(横波)及纵向振荡(纵波)。在工业中应用主要采用纵向振荡。超声波可以在气体、液体及固体中传播,其传播速度不同。另外,它也有折射和反射现象,并且在传播过程中有衰减。在空气中传播超声波,其频率较低,,一般为几十KHZ,而在固体、液体中则频率可用得较高。在空气中衰减较快,而在液体及固体中传播,衰减较小,传播较远。利用超声波的特性,可做成各种超声传感器,配上不同的电路,制成各种超声测量仪器及装置,并在通迅,医疗家电等各方面得到广泛应用。
超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。有的超声波传感器既作发送,也能作接收。这里仅介绍小型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25KHZ及40-45KHZ。这类传感器适用于测距、遥控、防盗等用途。该种有T/R-40-60,T/R-40-12等(其中T表示发送,R表示接收,40表示频率为40KHZ,16及12表示其外径尺寸,以毫米计)。另有一种密封式超声波传感器(MA40EI型)。它的特点是具有防水作用(但不能放入水中),可以作料位及接近开关用,它的性能较好。超声波应用有三种基本类型,透射型用于遥控器,防盗报警器、自动门、接近开关等;分离式反射型用于测距、液位或料位;反射型用于材料探伤、测厚等[15]。这里我们只需要利用超声波检测到前方障碍物,返回信号即可。
3.6光源检测电路
光敏电路如图3-11所示。通过调节RP2可以改变电路检测的灵敏度。这里采用多个光敏阵列管。本设计使用六套下面的电路。按照一定的方式排列。为了达到较好的检测,这里选择将光敏阵列排成一个放射状。本设计采用六个光敏管组成,为了使得一个光敏管只对一个小的角度内的强光远敏感,考虑在光敏感外面加一个遮光罩。实物阵列排列方式如图3-12。考虑到提高小车的光源搜索效率,将光敏阵列安装在小车的顶部,靠车头的位置。
图3-11 光源检测电路 图3-12 光敏管阵列
3.7 速度检测电路
本设计使用光电码盘作为测量元件。光电码盘是一种光电器件。分为绝对式和增量式两种。这里采用增量式。他在现转过程中可以输出A、B两相脉冲,每旋转一周输出一脉冲,通过对A、B两相脉冲计数就可以确定光电码盘旋转的角度。其计数原理如图3-13所示。.
图3-13 码盘计数原理
从上图可以看出,在光电码盘器输出脉冲的一个周期内最多可记四次数。而我们使用的是经改进的光电码盘,如图3-14码盘中的透射式光电开关的发射管和接收管经过了对准,当光槽中无障碍时光路是通的,当有障碍物时光路断开。如果发射管和接收管之间的障碍物时有时无,则接收管的状态就呈现0和1的交替,形成脉冲信号。只要对这个脉冲信号计数,就可以得到小车的行程。光电开关的灵敏度很高,可以分辨出很小的间隙。车轮每转动一圈,可以检测到十二个信号。我们在车轮的轴上安装的码盘与车轮同轴同步旋转,就可以得到车轮旋转的脉冲信号。其优点是工作稳定,测量结果精度高。它常用的检测电路与反射式光电传感器一样,这里就不再赘述。
小车一周内可计数12次,小车的行驶一周的行程范围约为11.9cm,因此可计算出行程的测量精度可以达到1cm,可以达到小车的精度要求。小车的速度v等于小车行驶路程s除以小车行驶时间t。
图3-14 码盘
3.8 液晶显示电路
这里使用1602液晶显示器。其连接电路如下图3-15
图3-15 液晶显示电路
1602字符液晶如图3-16
图3-16 1602字符液晶显示屏
1602采用标准的16脚接口,引脚介绍见表3-3.
表3-3 1602引脚介绍
引脚号 |
功能介绍 |
第1脚VSS |
为电源地 |
第2脚VDD |
接5V电源正极 |
第3脚V0 |
为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高 |
第4脚RS |
为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器 |
第5脚RW |
为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作 |
第6脚E(或EN) |
为使能(enable)端 |
第7~14脚D0~D7 |
为8位双向数据端 |
第15~16脚 |
空脚或背灯电源。15脚背光正极,16脚背光负极 |
4 软件设计
4.1 系统控制流程
图4-1 控制系统的流程图
4.2 算法设计
4.2.1循迹算法设计
循迹控制算法的流程如4-2所示。
图4-2 循迹控制
根据传感器的布局,可以将传感器位置用数字标记,检测到黑线用数字‘0’表示,没有检测到,也即检测到白线用数字‘1’表示。为不漏掉状态,我们先考虑了四个传感器的所有十六种状态,刚好可以用四位二进制数来表示。
在初始状态下,黑线应位于传感器的中间,此时2、3传感器检测到黑线,即四个传感器的状态分别为1、0、0、1,表示为二进制数是1001,此时小车前进。
当小车从中间逐渐往左偏离轨道黑线时,即黑线在小车右边,对应的状态有1000、1100、1110、1101。此时小车应左转。
当小车往右偏离时,对应的状态有0001、0011、0111、1011。此时小车应左转。
还有最后一种状态就是四个传感器都检测不到黑线,此时说明小车已行驶到中点,或者可能完全脱离了轨到,说明此次循迹失败,停车。
在实际行驶过程中,由于轨道设计了很多锐角,钝角,小车需要转弯的角度较大,为防止转弯过程中小车摆动角度过大而冲出轨道,导致小车无法返回,先让小车后退,再执行转弯。实践证明这种算法可以实现小车灵敏的转弯。
4.2.2.避障算法设计
避障的问题可以很复杂,为了简化设计、编程及调试,宜使用一种比较简单的解决方法。考虑到小车的速度和能检测到障碍物的距离,为避免小车转弯时撞上障碍物,设计小车检测到障碍物后先后退,然后左转,再次检测障碍物,继续调整,直至绕过障碍物。
这个避障的程序不能保证对所有的障碍物布局情况都能顺利的避障,但对大多数的情况确实能有效地进行避障。障碍物的检测距离和小车的转弯半径对避障的效果有较大的影响,根据实际情况,调整转弯角度可以达到较好的避障效果。
4.4.2测速算法设计
对无刷直流电机转速的控制既可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差率(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时,闭环调速系统的调速范围可以大大提高。无刷直流电机的速度控制方案如图4-3所示。
图4-3 电机速度控制
4.3.3 PID控制算法
PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛用于过程控制和运动控制中。数字PID控制算法是将模拟PID离散化得到,各参数有着明显的物理意义,调整方便,所以PID控制器很受工程技术人员的喜爱。
PID控制器各控制环节的作用是这样的,比例控制(P控制)即时成比例地反应控制系统的偏差信号e(t),积分控制(I控制)主要用于消除静差,微分控制(D控制)反应偏差信号的变化趋势(变化速率)。比例控制是对现在误差的一种校正,积分控制是对过去误差的校正,而微分控制是对将来可能的误差的校正。数字PID控制算法如图4-4所示.
图4-4 PID控制算法的简化示意图
, ……式(4-1)
或者
……式(4-2)
式中u0—控制量的基值,即k=0时的控制;
u(k)—第k个采样时刻的控制; KP——比例放大系数; KI——积分放大系数;
;
KD——微分放大系数;
;
TS——采样周期
5调试
5.1调试方法
由于本次实验需要捍接的电路模块较多,特别是直流电机驱动模块,对于电源电流的需要极大,我们先以直插式12V电源开始调试,小车运转正常。但直插式电源对于运动的小车是个很大的束缚,极为不方便。所以考虑采用电池供电。市面上常用的有干电池和蓄电池。由于小车相当耗电,9V的干电池用不了多久,就会出现开关器件很难稳定地给单片机送正确值的情况。只有当更换新电池或小车刚刚启动时才会很准确,经过思考,这都是开关元件消耗电量很大的原因,一旦电池电量不足其工作将会萎靡不振,于是我们可充电的蓄电池给小车供电,选择合适的蓄电池可以很好的满足小车耗电量大的情况。
在前轮PWM驱动转向电路运行中,我们发现,电机只给一个转向力,但保持长期转向时,电机的转动由于受到强行制动而处于一种相对静止的状态,导致PWM驱动电路产生大量的热量,我们既利用软件使其尽量减少长期单向转动状态,又在硬件上,在PWM驱动板上涂上了一层散热胶,即使发热,也不会烧坏PWM驱动电路。
在安装上避障用光电开关之后,其与其它所有开关元件共用同一电源,在运行时发现三个用于寻迹用的开关元件不能全部正常工作了,据分析,避障用光电开关处接线不牢固,重新接线后工作正常。
在电源开启后,小车循迹过程中会出现原地打转的情况。经分析是由于软件跑飞。经考虑后加了一个看门狗,可以很好的遏制程序跑飞的情况。
5.2 测试结果与分析
本次进行了两次调试。两次都是在铺有黑色硬纸条的轨道上进行。不同的是第一次轨道上没有设置障碍物,第二次放置了几个纸箱作为障碍物。每组分别测试了三次。
测试仪器:
12V直流电源 秒表
测试记录数据如下表5-1和5-2.
表5-1 速度测试
次数 路面状况 |
平纸板 |
水泥地面 |
有较大褶皱的纸板 |
1 |
0.50 |
0.40 |
0.23 |
2 |
0.50 |
0.45 |
中途因底盘低而停止 |
3 |
0.520 |
0.43 |
0.26 |
表5-2 循迹避障测试
次数 项目 |
完成时间(s) |
行驶过程中脱离轨道次数 |
躲避障碍物时碰撞次数 |
1 |
49 |
3 |
1 |
2 |
45 |
0 |
1 |
3 |
42 |
0 |
0 |
*注:小车在因速度过快而脱离轨道后仍能自行返回原轨道,无须人为搬回。
根据测试结果,可以看出小车循迹避障功能基本实现。结果表明,小车能很好的完成循迹,即使循迹轨道发生改变也不影响。但避障结果并不是很理想。小车在检测到障碍物后要经过较长时间的调整才能避开障碍物,这是由于采用的算法不够理想。本设计采用的算法只适用于一般情况,特殊一些的情况就可能出现避障失败。这也是本次设计的一个缺陷。在实际调试过程中小车发生过程序跑飞的情况,经调整改进程序后,小车运行状态稳定。能很好的完成沿黑色轨道前进,改变轨道的形状及转弯角度,小车仍可以完成循迹任务。并避开障碍物。液晶显示速度正常。
6 结论与展望
本系统以设计采用AT89S52单片机为控制核心,根据所检测的各种数据结合PID控制算法实现对电动车的智能控制。利用反射式光电传感器检测黑线实现小车循线,利用超声波传感器检测道路上的障碍,控制电动小车的自动避障,光电码盘实现小车的速度检测,并通过液晶显示。具有自动寻迹和寻光功能。整个系统的电路结构较简单,可靠性能高。实际测试效果较好。很好的满足了题目的要求,并在题目的要求基础上有一定发挥,增加了寻光和报警提示功能,以及增加速度检测和显示,使整个设计更人性化。