基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx

上传人:b****8 文档编号:29031810 上传时间:2023-07-20 格式:DOCX 页数:45 大小:664.38KB
下载 相关 举报
基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx_第1页
第1页 / 共45页
基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx_第2页
第2页 / 共45页
基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx_第3页
第3页 / 共45页
基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx_第4页
第4页 / 共45页
基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx

《基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx》由会员分享,可在线阅读,更多相关《基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx(45页珍藏版)》请在冰豆网上搜索。

基于CORTEXM3的智能避障小车设计与实现毕业论文设计.docx

基于CORTEXM3的智能避障小车设计与实现毕业论文设计

 

本科毕业论文

 

基于CORTEX-M3的智能避障小车设计与实现

DesignandImplementationofIntelligentavoidancecarbaseonCORTEX-M3

 

 

摘要

智能技术是按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理便可以完成预期所要达到的或是更高的目标。

本系统主要体现多功能小车的智能避障模式,当小车与障碍物距离小于安全距离时,通过单片机控制小车会自动向右转弯逼开障碍物,之后继续直线前进。

智能避障系统可用于未来的智能汽车上,与障碍物较近时如果驾驶员未做出反应,汽车会自动减速并避开障碍物,并减速至停靠与路边。

同时智能避障小车也可以作为玩具市场的主要发展对象,实现经济效益。

本系统通过超声波测距模块测量小车与障碍物的距离情况,并通过L298电机驱动模块驱动小车避开障碍物运行,整个系统的控制模块以CORTEX-M3嵌入式系统作为主控芯片。

本系统可设置最小安全距离,也可调节小车运行速度,当小车与障碍物距离小于安全距离时,通过CORTEX-M3嵌入式系统控制小车会自动向左转弯逼开障碍物,之后继续直线前进,实现智能避障。

.

关键词

智能技术;CORTEX-M3系统;超声波传感器;最小安全距离;

Abstract

Intelligenttechnologyisautomaticallyoperatedinaspecificenvironmentaccordingtothepresetmode,withouthumanmanagement,itcanaccomplishtheexpectedorhighertarget.Thissystemismainlyreflectedthecarintelligentobstacleavoidancemode,whenthecarandtheobstacledistanceislessthanthesafedistance,throughtheMCUcontrolcarwillautomaticallyturntotherightforceobstacles,thencontinuestraightahead.Theintelligentobstacleavoidancesystemcanbeusedinthefuturesmartcar,andwhentheobstacleisnear,thecarwillautomaticallyslowdownandavoidobstacles,andslowdowntodockandroadside.Atthesametime,theintelligentobstacleavoidancecarcanalsobethemaindevelopmentobjectofthetoymarket,andrealizetheeconomicbenefit.

ThesystemthroughtheultrasonicrangingmodulemeasuringcarandobstaclesofdistanceandtheL298motordrivemoduletodrivethecartoavoidobstaclestorun,thesystemcontrolmodulebasedonCortex-M3embeddedsystemasthemaincontrolchip. Thesystemcansettheminimumsafedistance,canregulatetherunningspeedofthecar,whenthecarandtheobstacledistanceislessthanthesafedistance,theCortex-M3embeddedsystemcontrolcarwillautomaticallyturnleftforcedopenobstacles,andthencontinuestraightforwardandintelligentobstacleavoidance.

 

Keywords

Intelligenttechnology;CORTEX-M3system;Ultrasonicsensor;Minimumsafedistance

前言

在我国,由于城市人口的高度集中以及道路纵横交错,汽车给人们的出行提供了方便的同时也带来了许多安全上的问题。

专家对各地交通事故统计分析结果表明各地交通事故普遍是由于驾驶员在危急情况发生时反应不及时所造成。

因此若驾驶员能前提早意识到会有交通事故发生,并相应的采取了正确措施那么大部分的事故都是可能避免。

因此智能避障系统在交通安全中的作用日益凸显。

对智能避障的研究也变得尤为重要。

智能避障是指汽车的超声波传感器采集的距离数据小于一个安全值时,能够智能的避开汽车周围的障碍物或汽车,在与障碍物碰撞前发出警报提醒驾驶员注意减速或制动,使驾驶员能够及时的采取应急措施,从而达到事先预防避免或减少事故发生。

1课题概述

1.1课题研究的意义与背景

在日常生活过程中95%的信息是通过视觉获得。

丧失了视觉或是视力有严重缺陷的人在工作、生活中常遇到莫大的困难,其中之一是在行走中难以了解周围的环境信息以致撞到障碍。

他们需要社会给予更多的关怀和照顾,使他们能够更好的独立生活。

为此研发一种智能小车,使其具有一定的感知能力、规划能力和动作能力,带领使用者避障碍物,既能帮助和关怀那些视觉存在缺陷的人,又能减轻护理人员的工作任务,因此无论对于社会还是个人都有积极的现实意义。

1.2国内外研究现状

机器人的应用越来越广泛,移动机器人是机器人中的一个重要分支。

早在60年代国外就已始进入这方面的研究,特别在80年代,美国国防高级研究计划局,专门立项,制定了地面无人作战平台的战略计划。

从此,在全世界拉了全面研究机器人的序幕,如darpa的“战略计算机”计划中自主地面车辆计划(1983-1990)。

国外典型著名机器人较多,例如:

“勇气号”火星探测机器人是迄今人类遣往其它行星上第一个大型、自动化的地面机器人,相比“索杰纳”号火星探测机器人“勇气”号用六轮驱动,有很高的越障能力,核心是一台每秒能执行2000万条指令的计算机,具备更强、更可靠的移动,装载有全景摄像机、避危摄像机、微型热散射质谱仪、显微成像仪、磁铁阵列等等传感器截止2010年,该机器人已经连续在火星表面工作了6年,是人类迄今为止最成功的外星探测机器人。

国外智能车辆的研究历史较长,始于上世纪50年代。

它的发展历程大体可以分成三个阶段:

第一阶段20世纪50年代是智能车辆研究的初始阶段。

1954年美国BarrettElectronics公司研究开发了世界上第一台自主引导车系统AGVS(AutomatedGuidedVehicleSystem)。

第二阶段从80年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。

在欧洲,普罗米修斯项目开始在这个领域的探索。

在美洲,美国成立了国家自动高速公路系统联盟(NAHSC)。

在亚洲,日本成立了高速公路先进巡航/辅助驾驶研究会。

第三阶段从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。

最为突出的是,美国卡内基.梅隆大学(CarnegieMellonUniversity)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1—Navlab10)的研究,取得了显著的成就。

RemotecAndrosF6A排爆机器人是美国军械制造商NorthropGrumman公司制造,用于排爆、核放射及生化场所的检查和清理、处理有毒、有害物品、特警行动及机场保安。

其有轮式和带式移动方式能上下楼梯、爬坡越沟。

本田ASIMO仿人形机器人,是日本本田公司研制的目前最先进的仿人行走机器人。

ASIMO身高1.3米,体重48公斤,它的行走速度是0-6km/h。

人形机器人的控制比较复杂,常作为一种衡量机器人水平高低的标准。

导盲机器人是非常有效的辅助盲人步行的工具[1],目前大致可分为这几类:

电子式导盲器、穿戴式导盲器、引导式手杖、手机语音导盲等,移动式导盲机器人,美国北卡罗莱州立大学研制了一种电子导盲犬有一套综合探测系统,通过对探测信号的综合处理,能将危险提示给盲人,也能给盲人指明方向和前进的路线,但它不能上下楼梯。

曰本精工(NSK)在“2011国际机器人展(iREX2011)”上推出了能为人带路的导盲犬机器人。

此款机器人采用了脚部配备有车轮的脚车轮构造,在平地t可用车轮滑行,上下台阶时可换用四脚行走。

安装在头部的3D距离图像传感器能识别台阶并加以引导。

11本精工计划于2020年将其投入实际应用。

我国移动机器人的研究起步较晚,大约于20世纪70年代末、80年代初开始。

大多数研究尚处于单项研究阶段,主要的研究工作涉及基于地阁的全局路径规划技术、基于传感器信息的局部路径技术研究、路径规划的仿真技术研究、传感技术、信总融合技术研究和智能移动机器人的设汁实现。

清华大学、国防科技大学、南京理工人学、北京理工大学、浙江大学等多所院校合研制的多功能室外智能移动机器人实验平台THMR—V,车上装备有彩色摄像机、GPS、磁罗盘光盘定位系统、激光测距仪LMS220等。

计算机系统由一台视觉信息处理机和一台信息融合机构成。

中科院沈卩丨jf:

丨动化研究所研制的基于非结构环境移动机器人能够在复杂多变的环境中使用。

近10年来,我国避障机器人的研制在逐步缩小与世界先进水平的差距。

1.3智能避障小车的简述

通过超声波测距模块测量小车与障碍物的距离情况,并通过L298电机驱动模块驱动小车避开障碍物运行,整个系统的控制模块以CORTEX-M3嵌入式系统作为主控芯片。

本系统可设置最小安全距离,也可调节小车运行速度,当小车与障碍物距离小于安全距离时,驱动电机,改变小车的方向,从而达到智能避障的效果。

1.4课题主要研究的内容

按照课题的基本要求,本设计主要包含以下3个模块:

(1)超声波测距模块设计

根据超声波测距原理,当超声波向某一方向发射超声波时,单片机内部开始计时,超

声波在传输的过程中,遇到障碍物体就会立即返回,当超声波接收器接收到反射波同时单片机停止计时。

我们知道,超声波在空气中传播的速度是340m/s,并设单片机记录的时间为t,单片机通过计算可得到小车与障碍物之间的距离,即:

L=340*t/2。

之后根据设定的最小距离来判断小车是该直行还是转弯。

(2)CORTEX-M3主控制模块

此模块是小车最重要的部分,它控制着超声波测距模块、电机控制模块的工作。

主要完成超声波发射与返回的计时并计算小车与障碍物之间距离,控制端口的高低电平,通过输出不同频率的脉冲来控制电机的工作。

(3)电机驱动模块

L298N接受标准TTL逻辑电平信号,4脚接电压范围为+2.5-46V的电源,输出电流最高可达2.5A。

IN1,IN2,IN3,IN4接输入控制电平,控制电机的正反转。

ENA,ENB连接控制使能端。

0UT1,0UT2接左侧两个相互并联的电动机,0UT3,0UT4接右侧两个相互并联的电动机。

为了对直流电机调速从而控制避障首先需设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWM脉冲即可实现调速。

注意当使能信号为0时,电机处于自由停止状态。

当使能信号为1时,且IN1和IN2为00或11时,电机处于制动状态,组织电机转动。

直流电机状态表如下所示

 

表一

2系统的分析设计与实现

经过设计超声波智能避障小车能够实现基本功能,即近距离遇到障碍物自主绕行,不会撞击到障碍物。

该小车内部结构简单,操作容易,并且功能扩展余地大,经过深入改造,智能小车可以更加智能,功能更加丰富。

该系统主要是在控制芯片上提供一个不小于10us的触发脉冲信号,触发超声波传感器内部一个8周期的40KHz的回波脉冲,检测到的回波脉冲时间与距离成正比,根据时间间隔就可以得到距离。

在无障碍物的环境下,小车能够直行,当超声波传感器测到的距离小于一个安全值的时候,驱动电机,改变电机的转速,从而能够改变小车的运行方向,避开障碍物,继续前行。

2.1系统的结构图

该流程图为系统流程图,主要是描述系统整个运行过程,包括系统的主要模块

图2-1系统流程图

2.2软件工作流程

图2-2工作流程图

3系统的硬件及软件的设计

2

3.1嵌入式系统的介绍

嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

3.2CORTEX-M3硬件平台的介绍

3.2.1电源模块

STM32芯片的工作电压为2.0~3.6V,通过内置的电压调节器提供1.8V电源。

当电源VDD掉电后,通过VBAT脚为实时时钟和备份寄存器提供提供电源。

当用JTAG供电时,通过电容滤波对瞬态电流的限制,使用LM1117为系统提供稳定的3.3V电源。

当系统供电后,有一指示灯被点亮,提示系统处于供电状态。

图3-1

3.2.2复位模块

在STM32系列芯片中,由于有完善的内部复位电路,外部复位电路就特别简单,只需要使用电阻电容方式。

手动按键产生复位信号,完成STM32芯片的启动,确定STM32芯片的初始状态。

通常在芯片工作出现混乱或“死机”时,使用手动按键可使芯片重新工作。

由于NRST为低电平有效,利用电容电压不会突变的性质。

开机后电容电压为零实现复位,电源通过电阻R3向电容C3充电直到电容电压上升为高电平,STM32芯片才开始正常工作。

图3-2

3.2.3晶振模块

STM32系列的控制器可以使用外部晶振或外部时钟源,经过内部PLL或不经过内部PLL为系统提供参考时钟,也可以使用内部RC振荡器经过或不经过内部PLL为系统提供时钟源。

当使用外部晶振作为系统时钟源时,外部晶振的频率在4MHz—16MHz,可以为系统提供精确的系统参考源。

STM32开发板使用8MHz外接晶振为系统提供精确的系统时钟参考。

图3-3

3.2.4STM32微控制器

本系统选用STM32F103RBT6芯片,Cortex-M3内核采用哈佛架构,指令和数据各用一条总线,可以同时从内存中读取指令和数据。

这款芯片拥有丰富的资源,128KB的Flash、20KBSRAM、2个SPI、3个串口、1个USB、1个CAN、2个ADC、RTC、51个I/O口等。

3.2.5JTAG模块

Cortex—M3内核集成SWD/JTAG调试接口,这里采用标准20脚JTAG调试接口。

JTAG接口提供对STM32芯片内部的Flash的烧写和调试程序,需要Keil软件和J-linkv8仿真器的配合。

在图3-5中,R8、R10、R11为上拉电阻,R7为下拉电阻,NJTRST/JTDI/JTMS为内部上拉,JTCK为内部下拉。

请注意:

当不使用JTAG接口,而是作为普通I/O口使用时,要注意其口线上的上拉电阻和下拉电阻的影响。

图3-4

3.3直流电机驱动L298N

智能避障小车采用直流电机作为控制的载体,通过其正转或反转,实现小车的前几或后退,采用了直流电机驱动芯片L298N来驱动,引脚连接如图3.2所示。

前进时IN1输入高电平,IN2输入低电平;后退时IN3为低电平,IN4为持续高电平即占空比100%。

若是要调节直流电机的速度,可通过改变其占空比来实现,所以仅通过赋予相应的引脚高低电平来控制其前进或停止。

所以无需再调速。

图3-5

L298各引脚功能,如下表。

表2

引脚

功能

1、15

SEN1、SEN2

分别为两个H桥的电流反馈脚,不用时可以接地

2、3

1Y1、1Y2

输出端,与对应输入端(IN1、IN2)同逻辑

4

VS

驱动电压,最小值需比输入的低电平电压高2.5V

5、7

IN1、IN2

输入端,TTL电平兼容

6、11

EN1、EN2

使能端,低电平禁止输出

8

GND

9

VSS

逻辑电源,4.5~7V

10、12

IN3、IN4

输入端,TTL电平兼容

13、14

2Y1、2Y2

输出端,与对应输入端(IN3、IN4)同逻辑

驱动电机的运行,I/O端口状态与电机制动对照表,如下

表3

IN1

IN2

IN3

IN4

ENA

ENB

转速

1

0

1

0

1

1

正转

0

1

0

1

1

1

反转

1

1

1

1

1

1

停止

0

0

0

0

1

1

停止

X

X

X

X

0

0

停止

3.4超声波测距模块HC-SR04

首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。

时序图如图所示。

由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:

S=VT/2,来算出距离。

图3-3超声波时序图

3.5程序开发软件介绍

单片机的软件编程采用KeiluVision4进行,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。

Keil集成开发环境是一个基于Windows的软件开发平台,它支持多个公司生产的芯片,内嵌多种符合当前工业标准的开发工具,可以完成工程建立和管理、编译、链接、目标代码的生成、软件仿真和硬件仿真的开发流程。

编程所用的C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它的应用范围广泛,具备很强的数据处理能力,不仅应用在软件开发上,而且在各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

使用C语言编写的源程序单片机是不能够直接使用的,所以需要通过Keil软件对该程序进行编译,最后生成.hex文件下载到单片机中,单片机才能直接执行。

4系统测试

4.1调试的思路

本设计的智能避障小车,一共分为三大模块。

分别是:

L298N驱动模块,超声波测距模块,串口显示模块。

调试的时候我们可以把三大模块分别调试,最后再把所有模块组合起来再进行最后的整机调试这样一个调试的思路。

4.2串口的调试

首先根据电路图将显示模块焊好,然后把GPIO的PA9和PA10进行复用,再用万用表检查电路是否出现短路。

一切都正常的情况下,将串口数据传输测试程序烧到芯片中,连接一个转串口模块,就可以把测得的数据通过串口传输到电脑,开启串口,在开发板上复位,观察显示是否正确,如图4-1所示。

图4-1

4.3超声波测距模块调试

超声波模块一共有四个脚,一个是VCC,一个是GND,还有两个分别是超声波的发射(Trig)和接收引脚(Echo)。

连接电路时候只需引出四根插线,分别连接到STM32F103VE的对应引脚,烧制好测试程序,测试结果图如4-2。

本设计四根插线分别连接到VCC,GND,还有发射和接收引脚分别为:

PA0和PA1口。

图4-2

经过检验,超声波能准确地测出与障碍物的距离.超声比与障碍物的距离如下图所示

图4-3

4.4L298N驱动模块调试

L298N的引脚较多,使用的锂电池是18650三节,L298N的12V连到电源的正极,GND连到电源负极.PC1,2,3,4,5,6分别连上L298N的IN1,IN2,IN3,IN4ENAENB.

4.5硬件调试

通过系统的调试,我们可以学到更多的知识,我们也可以发现仿真和实物调试不同的地方。

程序设计的结果可能往往和实物调试出的结果不一样,这就需要我们去思考,去斟酌,去改进,以达到预期效果。

通过程序和硬件的调试,我们可以更深刻的理解各功能模块之间的联系,也可以明白各调试的步骤。

在调试的过程中,我也遇到许多问题,例如:

在使用开关来控制的时候,出现了好几次短路,导致我的手都被烫了一下.在测试电机L298N驱动电机的过程中,我用电池直接连接电机,电机能够转动,但是把电机接到单片机设置的IO口电机没有丝毫反应.后来通过查找资料,才明白是功率不够,后来换上3节电池.才能让小车正常行驶。

整个调试过程需要硬件和软件结合起来调试,要仔细检查电路,认真思考程序。

硬件部分调试的步骤:

1)检查原理图连接是否正确

2)用万用表检查是否有虚焊,引脚短路现象

3)检查原理图与电路板上引脚是否一致

4)各模块逐个调试,看看各模块是否能用

4.6软件程序调试

系统的软件部分使用KeiluVision4软件编程,软件调试步骤由两个部分组成:

首先确定程序中错误的确切性质和位置;其次对程序代码进行分析,确定问题原因,并改正错误代码。

(1)运行程序,查看错误报告,定位出报错的位置;

(2)根据错误报告的提示,明确错误原因,修改相应代码,逐步排除错误;

(3)若错误报告中提示逻辑性错误,则不仅查看错误定位的位置,还要查看头文件或工程中其他的相关文件代码,逐步排除错误;

(4)重复进行排除以确保该错误的确被排除且没有引入新的错误和矛盾;

(5)重复上述

(1)~(4)的过程,直到显示0个错误为止;

(6)每次修改完毕,分析这次出错原因,以及改正过程,理清思路,记录改错的过程,以及问题出现现象、原因,以避免这样类似的错误再发生或是尽量少发生,改正错误总结归类。

5系统结果分析与展望

接到课题后,按照老师的安排,合理的分配了自己的时间,在设计开始前,首先是查阅反复资料,根据课题的基本要求,弄清了所做课题的基本方向,有了一些大概的可行思路,明确了一些所需的基本元件,然后继续查阅资料,对比各种方案的优劣,了各种器件的基本功能及实现的条件,按老师的时间安排先完成开题报告,对论文的安排有了一个初步的框架,也有了一个确定的方案,在这个框架的基础上,就本课题相关内容查阅大量资料,了解各种芯片的控制程序的编辑,初步确定本课题研究重点分三部分:

超声波测距模块,主控部分和电机驱动模块。

通过课题要求、实现的精确度及成本等多方面的对比,初步决定主控部分用一片STM32F103VE作为主控制器,采用HC-SR04超声波模块来测距,精确的控制汽车与物体的距离,保证程序的稳定。

采用L298N来驱动电机,根据超声波测得距离,在小于安全距离的情形,改变电机的转速。

接下来根据选定的方案,逐步深入学习各方案,首先是学习超声波测距的基本原理及测距的基本公式运算,控制其测距的具体实现过程以及在实物中端口的接线方式;其次是研究CORTEX-M3芯片基本工作方式、总线接口方式及其通信方式相关的通信协议并实际运用,最后添加必要的其他模块,串口显示模块,以及复位模块和晶振模块。

各模块调试完毕后开始总系统整合过程,整合的过程中遇到了一些问题,各个模块之间的组合还需修改才能正常运行,在吴老师的帮助下并且自己查阅了大量相关资料后,最终完成了对系统的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1