避障智能小车毕业设计论文.docx
《避障智能小车毕业设计论文.docx》由会员分享,可在线阅读,更多相关《避障智能小车毕业设计论文.docx(64页珍藏版)》请在冰豆网上搜索。
避障智能小车毕业设计论文
毕业论文(设计)
论文(设计)题目:
避障智能小车
Intelligentobstacleavoidancecar
系别:
专业:
电气工程及其自动化
班级:
姓名:
学号:
指导老师:
职称:
日期:
2013年5月9日
教务处制
摘要
智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。
智能电动车就是其中的一个体现。
而此次智能车设计以MC9S12XS128微控制器为核心,结合超声波模块,无线模块,实现小车的智能避障功能和距离实时显示功能。
其中的主传感器为超声波模块,它与舵机相连,当遇到障碍物小于预订距离时,能够全方位180度进行距离检测,为小车提供正确的道路方向,从而避开障碍物。
无线模块,LCD1602液晶模块,STC89C52这三者相结合,能够以直观的方式实时显示小车检测的距离情况,方便进行相应的记录,更好地完成探测工作。
关键词:
智能车,避障,超声波,无线
Abstract
Intelligenceisthedevelopingdirectionasamoderninventioninthefuture.Itcanoperateautomaticallyandbeusedtoscientificexplorationaccordingtothepresentmodeinsuchanenvironment,withoutthehelpofthehumanmanagement.Intelligentelectricvehiclesisoneoftheembodiment.AndtheintelligentcardesigntakesMC9S12XS128microcontrollerasthecore,combinedwiththeultrasonicmoduleandwirelessmodule,torealizethecar’sintelligentobstacleavoidancefunctionandthedistancereal-timedisplayfunction.Oneofthemainsensorsistheultrasonicmodule,whichisconnectedtothesteeringgear.Whenfacedwiththeobstacleslessthanthebookeddistance,theultrasonicmodulecancheckthedistanceall-aroundandprovidetherightdirectionforthecartoavoidobstacles.Andthewirelessmodule,LCD1602LCDmodule,andSTC89C52modulecanbeallcombinedtogether,whichtheycanshowthedetectingcar’sdistanceinavisualwayandmakerecordsconvenientlytocompletethedetectionworkbetter.
Keywords:
intelligentvehicle,obstacleavoidance,ultrasonic,wireless
第1章绪论
随着我国科学技术的进步,智能化和自动化技术越来越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域使智能机器人越来越多样化。
智能小车是一个多种高新技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识涉及到当今许多前沿领域的技术。
而智能电动车正是智能机器人的一种,具有不可估量的实际意义
智能车作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。
智能小车作为机器人的典型代表。
机器人要实现自动导引功能和避障功能就必须要感知导引线和避障物,感知导引线相当给机器人一个视觉功能。
避障控制系统是基于自动引导小车系统,基于它的智能小车实现自动识别道路,判断并自动避开障碍物,选择正确的行进路线,使用传感器感知路线和避障并作出判断和相应的执行动作。
此次的设计主要实现避障循路这一个功能。
它通过超声波作为传感器,凭借超声波模块的发射接收功能,能很好的判断计算出前方障碍物离智能车的距离,从而让智能车进行偏转寻找出正确的道路,它的测距功能在一些危险地带探测场地的距离大小有很好的辅助作用,避免了人工探测的危险。
同时在本智能车的基础上安装了无线控制功能,在特定时期方便人为的知道小车遇到的具体情况,并进行相应的记录和控制,更好地完成探测工作。
第2章系统硬件设计
2.1系统总体设计方案
本系统以MC9S12XS128单片机作为核心控制芯片,包括电源模块、超声波模块、驱动模块,无线模块,舵机模块,LCD液晶显示模块。
通过C编程完成智能小车的整体装置。
图2-1 智能小车的总体设计
2.2主控系统
采用freescale公司MC9S12XS128,16bit、112pin的单片机,其集成了PIM,TIM,PWM,SPI,SCI,ECT,CAN,AD,PIT,CAN等模块,MCU内部最高超频达80MHZ,运算速度快,使用方便,功能强大。
本智能车此次用到了XS128中的普通IO口:
A,B,E,K;外部中断端口H口;AD口,TIM模块,PWM模块等。
图2-2为MC9S12XS128集成模块
图2-2MC9S12XS128
2.3电源设计
2.3.1电源管理
电源管理是智能小车设计中的重要环节,它为系统各个模块供电。
可靠的电源设计是整个硬件电路稳定运行的基础。
本智能小车使用的是可充电式Ni-Cd电池。
其供电电压为7.2V,容量为1800mA/h,由于智能车系统各个模块所需电压不同,因此需要进行电压调节,此次智能车用到的稳压芯片有LM2940-5.0,ASM1117-5.0,ASM1117-3.3,LM1117-ADJ。
智能车系统中电源分配如下:
图2-3电源分配
2.3.2低压差稳压芯片LM2940简介
LM2940系列是输出电压固定的低压差三端端稳压器;输出电压有5V、8V、10V多种;最大输出电流1A;输出电流1A时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40~+125℃;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。
图2-4LM2940封装和实物图
图2-5LM2940-5.0稳压电路
2.3.3LM1117(AMS1117)系列稳压芯片简介
LM1117是一个正向低压降稳压器,在1A电流下压降为1.2V。
LM1117内部集成过热保护和限流电路,有限流功能和过热切断功能。
温度范围:
-40°C~125°C。
图2-6LM1117封装及引脚分布
AMS1117-3.3,AMS1117-5.0,LM1117-ADJ稳压电路如图2-7至2-9所示:
图2-7AMS1117-3.3稳压电路
图2-8AMS1117-5.0稳压电路
图2-9LM1117-ADJ(6V)稳压电路
2.4LCD1602液晶显示模块
2.4.1LCD1602简介
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,内容为16X2,即可以显示两行,每行16个字符液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
2.4.2LCD1602引脚
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
图2-10LCD1602实物与引脚
读写操作时序如图2-11和2-12所示:
图2-11读操作时序
图2-12写操作时序
2.5NRF24L01无线模块
2.5.1NRF24L01简介
NRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
NRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
图2-13NRF24L01模块
2.5.2无线模块的使用
本次智能车使用两块无线模块,分别是发送和接受数据作用。
以MC9S12XS128连接无线模块,作为数据的发送,实时发送超声波检测的距离,以MC89C52单片机连接无线模块作为数据的接收,在接收模块中加入LCD1602液晶显示模块,能够很好的显示出小车离障碍物之间的距离。
下图为MC89C52单片机无线接收模块电路,其中以AMS1117-3.3为无线模块提供3.3V的电压,以MC89C52单片机的P1口作为无线接收端口,P0口作为LCD1602液晶显示数据传送端口,外加复位电路,晶振电路。
图2-14MC89C52无线接收电路
2.6驱动模块
2.6.1L298N简介
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
图2-15L298引脚
2.6.2电机驱动电路及说明
图2-16电机驱动电路
对于以上电路图有以下几点说明:
1.电路图中有两个电源,一路为L298工作需要的5V电源VS,一路为驱动电机用的电池电源VSS。
2.1脚和15脚有的电路在中间串接大功率电阻,可以不加。
3.图中连接了两路电机,2脚和3脚驱动一路电机,13脚和14脚驱动另一路电机。
4.八个续流二极管IN4007是为了消除电机转动时的尖峰电压保护电机而设计。
5.6脚和11脚为两路电机通道的使能开关,高电平使能,所以可以直接接高电平,也可以交由单片机控制。
6.由于工作时L298的功耗较大,需加装散热片。
2.6.3L298N模块使用方法
表2-1L298N模块使用方法
ENA
ENB
IN1
IN2
IN3
IN4
运行状态
0
0
停止
1
1
1
0
1
0
正转
1
1
0
1
0
1
反转
2.7舵机模块
2.7.1舵机选择
本次设计舵机的选择:
舵机类型:
MG995;
工作扭力:
13KG/CM;
舵机类型:
模拟舵机;
工作电流:
100MA;
使用电压:
3-7.2V;
无负载是操作速度:
0.13秒/60度(6V);
舵机接线:
电源线,信号线,地线。
图2-17MG995舵机
2.7.2舵机控制
舵机的控制一般需要一个20ms左右的时间脉冲,该脉冲的高电平分为0.5ms~2.5ms范围内的角度控制脉冲部分。
以180度角度伺服为例,那么对应的控制关系如图2-18所示:
图2-18舵机角度控制
2.8超声波模块
2.8.1模块特点
本次设计采用HC-SR04超声波测距模块,此模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。
HC-SR04超声波模块电气参数如表2-2所示:
表2-2HC-SR04电气参数
电气特性
HC-SR04超声波模块
工作电压
DC5V
工作电流
15mA
工作频率
40KHZ
最远射程
4m
最近射程
2cm
测量角度
15度
输入触发信号
10US的TTL脉冲
输出回响信号
输出TTL电平信号,与射程成正比
规格尺寸
40*20*15mm
2.8.2模块实物图
接线特点:
如右图2-19所示,VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四个接口端。
图2-19超声波测距模块外观
本测距模块使用的是压电式超声波发生器探头,压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图1-37所示,它有两个压电陶瓷晶片和一个金属片共振板。
当它的两极外加脉冲信号,其频率等于压电陶瓷晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当金属片共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
图2-20压电式超声波发生器
2.8.3模块电平触发测距时序
图2-21US-100测距时序图
2.8.4基本工作原理
(1)采用IO口TRIG触发测距,给最少10us的高电平信号。
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2;
2.9核心板模块
2.9.1核心板电路设计与PCB
图2-22核心板电路
图2-23核心板PCB
2.10超声波模块的位置安装
本小车根据实际情况需要,在安装时使用三个超声波模块进行距离检测,它们的安装位置如图1-1所示。
其中居中的超声波模块连接舵机,方便超声波模块180度距离扫描,从而为小车判断出正确的行驶道路。
而左右超声波模块的安装考虑是为避免小车在行驶过程中左右边缘离障碍物过近,产生摩擦。
因为小车在行进过程中中间超声波模块只有在距离小于20cm的时候才会进行180扫描,其他时候保持居中状态,而超声波模块本身的特点是它的测量角度是15度,所以左右两边就会产生盲区,而安装了左右超声波模块就可以避免这方面的问题,从而实现左右避障。
图2-24超声波模块安装位置
第3章系统软件设计
3.1系统软件整体控制流程图
图3-1系统软件流程图
3.2无线接收模块流程图
此程序以STC89C52为控制芯片,等待无线模块接收到数据,再通过LCD进行距离显示,其中的LED作用是判断STC89C52是否接收到数据。
图3-2无线接收模块流程图
3.3超声波模块流程图
根据超声波模块的时序图,超声波模块的软件设计思想是通过XS128发送高电平,此时超声波模块进入发送模式,XS128开定时器计时,等待超时波接收到信号,从而XS128接收到高电平,根据资料:
测试距离=(高电平时间*声速(340M/S))/2,而本次设计,定时器是以10us级进行时间计数,最终的测试距离=(1.7*高电平时间/10)cm。
图3-3超时波流程图
3.4小车控制算法
1,智能车设计的难点:
小车根据超声波模块返回来的数据进行方向判断,并让小车偏转相应的方向。
2,智能车控制算法:
以小车中心点作为偏转基准,检测最大距离所在的角度作为小车的最佳偏转方向。
3,实现过程:
在小车前进过程中,中间超声波模块处于居中扫描状态,当小车离障碍物的距离小于20cm时,小车停止前进,舵机带动超声波模块以中间为基准,从左到右每15°进行扫描,通过计算把其中距离的最大值所在的角度作为小车的偏转方向,最后让小车前进。
4,实际调试遇到的算法问题:
(1)小车偏转角度(15°)的定制。
前文提到当小车遇到障碍物时,超声波模块从左到右每15°进行距离扫描,这是因为在前期调试中,当小车遇到如图3-4所示的这种状况时,若给小车以大于15°的偏转方向进行扫描,可能会让小车错过最佳的偏转角度,而给予小车小于15°的偏转方向,虽然这样会让小车的偏转角度更加精准,但这样做的同时,也就增加了舵机的偏转时间,从而造成小车的检测时间过长。
而15°的定制,在实际调试中处于,能满足小车的偏转需要,效果很好。
图3-4
(2)相同距离不同角度的解决。
如下程序所示,把检测到的数据放到max[12],通过冒泡法对数据进行排序,选出最大距离值,而每一个元素值代表着不同的角度,通过数据相与的方法,以zuo15作为起点开始判断。
现在以zuo15和zuo30为例,当这两个角度的距离都是最大值时,if(max[11]==zuo15),则让车子进行15°偏转,而若想让小车进行30°偏转的话,只能是zuo30为最大值if((zuo30==max[11])&&(zuo30!
=zuo15)),以此类推。
通过这种方法能很好的让小车以最佳角度偏转且避免相同距离不同角度产生的小车乱偏转。
max[0]=zuo15;
max[1]=zuo30;
max[2]=zuo45;
max[3]=zuo60;
max[4]=zuo75;
max[5]=zuo90;
max[6]=you15;
max[7]=you30;
max[8]=you45;
max[9]=you60;
max[10]=you75;
max[11]=you90;
for(i=1;i<12;i++)//冒泡法排序,找出最大值作为角度的偏转判别
for(j=0;j<12-i;j++)
if(max[j]>max[j+1])
{
intmaxjuli;
maxjuli=max[j];
max[j]=max[j+1];
max[j+1]=maxjuli;
}
第4章系统调试
4.1开发调试工具
系统的开发调试用到了Metroworks公司的CodeWarrior5.0开发软件,另外,
为了调试方便,使用了LCD1602液晶模块进行调试。
4.2软件开发平台
智能车开发环境采用了飞思卡尔XS128系列单片机开发软件CodeWarrior5.0版本。
5.0版本的PE模式来完成对单片机个模块的初始化,使用起来非常方便,避免了之前需要很多代码来初始化的繁琐过程,X12单片机该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。
CodeWarrior界面完成编译后,通过BDM工具,在CodeWarrior环境下向MC9S12XS模块下载程序。
BDM工具使用简单,十分方便。
开发环境如图4-1所示
图4-1CodeWarrior5.0
BDM调试介绍
Motorola微处理器的调试模块针对不应用同场合分别提供了3种调试支持模式:
实时跟踪、BDM调试和实时调试。
实时跟踪是要求能够跟踪应用程序的动态执行路径,这是实时系统的基本要求;在BDM调试方式下,处理器被停机,大量的命令可以被发送到处理器中访问内存和寄存器,外部仿真系统使用一个三脚、串行的双工通道与处理器通信;实时调试则可以不需要CPU停止运行,调试中断允许实时系统执行一个惟一的服务例程,快速保存主要的寄存器和变量等上下文内容,并使系统立即返回到正常操作,外部的开发系统能访问被保存的数据是因为硬件支持处理器和BDM初始化命令的一致性操作。
其中BDM调试模式为设计人员提供了一种低层次的调试手段,让用户能够中断CPU的运行,单步调试程序,读取CPU的各个寄存器的内容,这些仅仅是通过向CPU发送几个简单的命令就可以实现,显然,这样使调试软件的设计很简单,通常自己就可以编写。
硬件调试卡的设计也非常简单,关键是要满足好通信时序关系和电平转换要求。
第5章结论
整个系统的设计以MC9S12XS128为核心,利用了超声波传感器,将软件和硬件相结合。
本系统能实现如下功能:
(1)小车自动行驶,当小车探测到前进前方的障碍物时,可以自动调整,躲避障碍物,从无障碍区通过。
(2)实时传送小车离障碍物之间的距离。
从运行情况来看小车的避障功能比较好,但无线调试过程中,液晶显示的距离过长时,数据跳动比较明显,这个现象可能是由于超声波模块的不稳定或程序考虑的不完善所致,我相信如果实验条件和时间的允许下我肯定能解决这一问题。
通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉的东西,使我认识到理论知识与实践结合的重要性,也认识到很多的不足。
致谢
大学四年的时光即将结束,回想这四年发生的点点滴滴,仿佛如昨天的事情,这其中带给了自己太多的感触与深深的不舍。
在大学期间,我学到了很多东西,自己收获了不仅仅是知识,更多的是友情,我要感谢一直陪伴着我的那些同学们,是你们带给我快乐与充实的大学生活,同时我还有感谢教过我的所有老师,你们渊博的知识严谨与孜孜不倦的教学态度,给予我很多的感触,是你们教会了我丰富的知识与做人的道理。
大三期间,可谓是自己大学生活的转折点,参加的智能车竞赛,在实验室的日子令人难忘。
在调车过程中,与十一个伙伴在试验室里不断地奋斗,攻克难点,一起鼓励,一起进步,我们之间的友谊我会铭记一辈子。
在这期间,王波老师的精心指导与鼓励,让我深深地感激,老师,有您的陪伴是我们不断进步的最佳动力。
此次毕业设计期间,要感谢指导老师王波老师对我的关心与指导,她丰富的知识与缜密的思维给予了我很大的帮助,使得此次毕业设计能顺利地完成。
参考文献
[1]谭浩强.C程序设计.北京:
清华大学出版社,1991.
[2]郭天翔.新概念51单片机C语言教程—入门、提高、开发、拓展全攻略.北京:
电子工业出版社,2009.
[3]王威.HCS12微控制器原理及应用.北京:
北京航空航天大学出版社.2007.
[4]卓晴,黄开胜,邵贝贝.学做智能车――挑战“飞思卡尔”杯.北京:
北京航空航天大学出版社.2007.
[5]绍贝贝.单片机嵌入式应用的在线开发方法.北京:
清华大学出版社.2004.