智能小车运动控制系统的设计剖析.docx
- 文档编号:23607274
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:44
- 大小:1.24MB
智能小车运动控制系统的设计剖析.docx
《智能小车运动控制系统的设计剖析.docx》由会员分享,可在线阅读,更多相关《智能小车运动控制系统的设计剖析.docx(44页珍藏版)》请在冰豆网上搜索。
智能小车运动控制系统的设计剖析
湖南科技大学
毕业设计(论文)
题目
智能小车运动控制系统的设计
作者
唐伟东
学院
物理学院
专业
应用电子技术教育
学号
0808030103
指导教师
李志坚
二〇一二年六月一日
湖南科技大学
毕业设计(论文)任务书
物理学院电子系(教研室)
系(教研室)主任:
(签名)年月日
学生姓名:
唐伟东学号:
0808030103专业:
应用电子技术教育
1设计(论文)题目及专题:
智能小车运动控制系统的设计
2学生设计(论文)时间:
自2012年3月1日开始至2012年6月1日止
3设计(论文)所用资源和参考资料:
资源:
计算机及相关软件、因特网、图书馆藏书及期刊、中国知网等。
[1]徐国华,谭民.移动机器人的发展现状及其趋势[J].机器人技术与应用,2001.
[2]张铁,谢存禧.机器人学[M].广东:
华南理工大学出版社,2001.
[3]胡海峰,史忠科,徐德文.智能汽车发展研究[J].计算机应用研究,2004.
[4]朱茵,唐祯敏,朱钧.提高交通安全—实现智能汽车的研究[J].等。
4设计(论文)应完成的主要内容:
(1)分析智能小车的国内外现状和存在的不足并确立总体设计方案。
(2)利用电路设计软件设计出原理图和PCB图。
(3)完成硬件平台的装配并测试各模块的性能。
(4)编写初步的运行程序对小车的基本功能进行实现。
5提交设计(论文)形式(设计说明与图纸或论文等)及要求:
提交设计形式:
设计图纸和论文。
(1)要求认真、独立、按时地完成毕业设计的工作。
(2)论文结构合理、层次分明、论据充分、逻辑严密、力求创新。
(3)按照学校规定的论文(设计)要求和撰写规范进行论文的撰写。
6发题时间:
2011年12月25日
指导教师:
(签名)
学生:
(签名)
湖南科技大学
毕业设计(论文)指导人评语
[主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价]
指导人:
(签名)
年月日
指导人评定成绩:
湖南科技大学
毕业设计(论文)评阅人评语
[主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价]
评阅人:
(签名)
年月日
评阅人评定成绩:
湖南科技大学
毕业设计(论文)答辩记录
日期:
学生:
学号:
班级:
题目:
提交毕业设计(论文)答辩委员会下列材料:
1设计(论文)说明书共页
2设计(论文)图纸共页
3指导人、评阅人评语共页
毕业设计(论文)答辩委员会评语:
[主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价]
答辩委员会主任:
(签名)
委员:
(签名)
(签名)
(签名)
(签名)
答辩成绩:
总评成绩:
摘要
随着传感技术、信息处理、人工智能和自动控制等科学技术的迅猛发展,智能小车作为一种轮式移动机器人在航空航天、智能探测、无人驾驶以及灾后救援等领域发挥着不可替代的作用,因此,对智能小车运动控制系统的设计与实现具有相当大的理论和现实意义。
本设计采用意法半导体公司基于Cortex-M3内核的32位嵌入式微控制器STM32F103RBT6作为智能车的核心处理器,该处理器具有高速的数据处理能力,并且在片内集成了丰富的外设资源。
探测部分采用红外光电传感器来进行环境的感知和识别,车体驱动采用直流电机的两轮差速驱动模式,能够进行灵活转向与快速行驶。
采用光电编码盘对智能小车进行实时测速并利用PID运算对小车的速度进行精确控制。
为了实现对智能小车的远程遥控及视频传输,论文的拓展部分研究了利用WI-FI无线局域网作为传输通道的智能车实时控制系统。
本设计中软硬件的开发采用了模块化的设计方法,所设计的智能小车具有集成度高、体积小、功耗及成本低、速度快等优点,可实现路径识别、避障碍、走迷宫以及远程遥控等功能,可用于各种智能车竞赛。
关键词:
智能小车;STM32;路径识别;PID控制;无线局域网
ABSTRACT
Alongwiththesensingtechnology,informationprocessing,artificialintelligenceandautomaticcontroloftherapiddevelopmentofscienceandtechnology,Intelligentvehicleasarobotplaysanirreplaceableroleinaerospace,intelligentdetection,unmannedandaidafterdisastersetc,therefore,designandimplementationtheintelligencecarmovementcontrolsystemhasthequitebigtheoreticalandrealisticsignificance.Thisdesignusethestmicroelectronics'embeddedmicrocontrollercontrollerof32bitsSTM32F103RBT6whichbasedonCortex-M3kernelasthecoreoftheintelligentcar'sprocessor.Theprocessorwithhigh-speeddataprocessingabilityandintegratedrichperipherals'resources.DetectionpartuseinfraredsensorstoperceptionandrecognitiontheenvironmentusethetworoundsofdifferentialdrivemodeofDCmotorforbodyworkdrive,whichcanbeflexiblesteeringanddrivingfast.Adoptingphotoelectriccodeddisktotheintelligencecar'sreal-timespeedmeasurementandbyusingPIDoperationtocontrolthespeedofthecarprecisely.Inordertorealizetheremotecontrolandvideotransmissionoftheintelligentcar,theprolongationofthethesisresearchthatusingWI-FIastransmissionchannelsoftheintelligentcar'sreal-timecontrolsystem.Inthedesignpractice,softwareandhardware'sdevelopmentusingmodulardesignmethod,theintelligentcarhasahighlevelofintegration,smallvolume,lowpowerconsumptionandlowcost,fastspeed,etc,canrealizepathidentification,avoidobstacles,gothroughamazeandremotecontroletc,canbeusedtoallkindsofintelligentcar'srace.
Keywords:
Intelligentvehicle;STM32;Pathidentification;PIDcontrol;WLAN
第一章绪论
1.1选题背景
近年来,随着科技的不断发展,各种各样的机器人应运而生,智能小车作为一种轮式移动机器人在自动化领域得到广泛的应用,在航空航天、交通运输、人工智能等领域发挥着不可替代的作用[1-2]。
智能小车集环境感知、实时处理、自动控制于一体,涉及计算机、传感、信息处理、通信、人工智能、机械自动化等学科知识,可以在很多恶劣的环境中代替人类进行工作,如星球探测、拆弹排爆、灾难救援等。
国外无人驾驶的智能车辆研究始于上世纪50年代,到了80年代中期,全世界都热衷于研制自动化程度越来越高的智能车辆,这为交通安全问题提供了有效的解决方案[3-4]。
我国从上世纪80年代开始着手无人驾驶汽车的研制开发,虽与国外相比还有一些距离,但目前也取得了阶段性成果。
1992年,国防科技大学研制成功了我国第一辆真正意义上的无人驾驶汽车。
2000年6月,国防科技大学研制的第4代无人驾驶汽车试验成功,最高时速达76km,创下国内最高纪录。
2003年7月,国防科技大学和中国一汽联合研发的红旗无人驾驶轿车在高速公路上试验成功,自主驾驶最高稳定时速130km,其总体技术性能和指标已经达到世界先进水平[5]。
现如今,关于智能小车的国内外赛事也层出不穷,如全国电子设计大赛、“电脑鼠”走迷宫竞赛、“飞思卡尔”大学生智能车竞赛等。
智能车大赛以迅猛发展的汽车电子为背景,是一场涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科知识的科技创新比赛。
随着越来越多的竞赛开展,不仅提高了参赛者的自主创新能力,对于相关科技领域的水平提升也有一定的帮助。
如今,智能小车以其特有的趣味性,实用性,技术性现已经风靡全球。
1.2课题的研究目的和意义
智能小车作为一种轮式移动机器人在航空航天、智能探测、无人驾驶以及灾后救援等领域发挥着不可替代的作用,因此,对智能小车运动控制系统的设计与实现具有相当大的理论和现实意义。
根据历年来各种智能车比赛的情况来看,期间采用的智能车都具有体积大,结构复杂,稳定性低,速度慢,高功耗等缺点,这些不足除了与软件算法有关外,还与智能小车运运控制系统的硬件设计和总体布局存在着直接关系。
本设计采用32位嵌入式微控制器STM32F103RBT6作为智能车的核心处理器,在此基础上利用PCB布局的优越性来设计一款体积小、结构稳定、灵敏度高、信息处理能力强、运行速度快、功耗低、分立器件少、集成度高及成本低的智能小车。
智能小车的整体设计紧凑,基本无外置导线连接,保证运行中的电气连接稳定,设计时严格测试各器件参数进行选取,实现低功耗与可靠性的要求,同时大大降低了成本。
在实现基本功能的基础上,对智能小车的控制系统进行无线通信的拓展,与当前流行的WIFI无线进行融合,增加了智能小车的远程控制功能[6]。
由于具有体积小、速度快、信息处理能力强及成本低等优点,本论文所设计的硬件平台可用于各种智能车的竞赛,也可用于嵌入式处理器的教学活动。
因此,智能小车运动控制系统的设计具有很大的现实意义和广阔的市场前景。
1.3论文内容概要与组织结构
本论文围绕智能小车运动控制系统的设计,主要的研究内容按照章节编排包括以下几个部分:
第一章绪论简要介绍了选题的背景及智能小车的国内外研究现状,根据存在的问题进行了分析,提出论文的设计目的以及今后实际应用中的意义和价值。
第二章介绍了智能小车的总体设计方案,首先是对硬件平台的整体结构布局进行了介绍;然后是对软件部分进行模块设计的说明。
第三章对硬件系统的设计进行详细的描述,采用模块化的硬件设计方法先后对电源系统、微控制器模块、传感器模块、电机驱动模块、速度检测模块、人机交互接口设计、无线通信拓展模块进行了电路设计,最后对硬件系统设计过程中的注意问题进行了说明。
第四章软件设计部分首先对STM32微控制器的编程方法进行介绍,然后对各个电路模块进行了程序设计,其中对一些关键部分的代码也进行了解释说明。
最后是对PID控制算法的介绍及实现。
第五章对智能小车运动控制系统的相关功能应用进行了介绍,主要介绍了轨迹跟踪,障碍物检测,无线控制三个功能,并且描绘了各个功能部分的流程框图。
第六章结论部分对本设计中的各项工作进行了总结,并对智能小车领域的前景进行了展望。
第二章智能小车的总体设计方案
2.1硬件平台的整体结构设计
2.1.1硬件设计平台介绍
本论文的原理图及PCB设计使用了Altium公司的AltiumDesigner6.9软件作为智能小车的硬件设计平台,AltiumDesigner6.9是业界首例将设计流程、集成化PCB设计、可编程器件设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。
AltiumDesigner除了全面继承包括Protel99SE,Protel2004在内的先前一系列版本的功能和优点以外,还增加了许多改进和很多高端功能,如交互式布线、三维PCB设计等,拓宽了板级设计的传统界限,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程师能将系统设计中的FPGA与PCB设计以及嵌入式设计集成在一起[7-8]。
2.1.2整体结构设计
智能小车运动控制系统由底盘、直流减速电机、电池、传感器、微控制器等组成。
智能小车结构通常有两种方式,第一种利用舵机作为前轮转向,后轮同时驱动;第二种采用左右两侧车轮差速驱动结构,以万向轮作为支撑。
采用差速驱动的模式转向比较灵活,可以原地转弯进行精确控制,运动速度较快[9]。
所以本设计中采用第二种小车结构。
智能小车系统以STM32F103RBT6为核心控制器,采用两节电池串联供电,将传感器检测到的信号进行处理之后再通过电机驱动芯片来对直流减速电机进行实时控制。
整个系统框图如图2.1所示。
硬件结构系统中各模块功能如下:
STM32控制器:
负责传感器和速度检测模块传回的信息进行综合处理以及对电机驱动实行相应的控制,还可以通过无线模块对小车进行远程控制。
电源模块:
给控制器及各模块电路提供稳定电源。
传感器模块:
实时采集路面信息及障碍物距离信息以便供处理器进行判断处理
电机驱动模块:
接受微控制器的控制指令并对直流电机进行控制。
速度检测模块:
对直流电机的转速进行测量并将测量到的速度传输到STM32控制器进行分析处理。
根据智能小车运动控制系统的整体要求,考虑到体积,成本,集成度等相关问题,设计的车体为直径10厘米的圆形底盘,采用圆形设计可以减少尖角碰撞及向心力,使小车运动更加稳定。
整体设计如图2.2和图2.3所示。
图2.1硬件系统框图
图2.2整体设计正面视图
图2.3整体设计反面视图
2.1.3传感器的布局
本设计中的智能小车装载了三组红外光电传感器,其中速度检测传感器设计在电路板两测的下方,用来检测直流电机转动的速度。
如图2.4所示。
图2.4测速传感器示意图
第二组传感器一共五个,水平等间隔排布在电路板底部的正前方,用来检测地面信息,如图2.5所示。
图2.5地面信息检测传感器
第三组传感器一共六个,分布在电路板的顶层前方,用来进行障碍物的检测,其中正前方两个U1和U2可以检测车两边的障碍物,U3和U4可以检测小车正前方的障碍物,U5和U6可以检测前方45度的障碍物。
具体布局如图2.6所示。
图2.6障碍物检测传感器
2.2软件部分的模块设计
2.2.1软件开发平台介绍
RealViewMDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。
RealViewMDK集成了业内最领先的技术,包括μVision3集成开发环境与RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
RealViewMDK支持的Cortex-M3核是ARM公司最新推出的针对微控制器应用的内核,它提供业界领先的高性能和低成本的解决方案,未来几年将成为MCU应用的热点和主流。
目前国内只有ARM公司的MDK和RVDS开发工具可以支持Cortex-M3芯片的应用开发。
本设计以ARM公司的KeilμVision4为开发工具介绍智能小车运动控制系统的程序设计及开发应用[10-11]。
软件设计中使用C语言编写小车程序,编译通过的程序再使用J-Link下载器通过JTAG接口下载到智能小车的微控制器中,还可以利用J-Link进行在线调试,缩短软件的开发周期。
程序下载或调试的连接示意图如图2.7所示。
图2.7程序下载连接
2.2.2功能模块的软件设计概述
智能小车的各个功能采用模块化的软件设计,但在功能模块的软件编写之前要先对硬件资源进行底层代码的编写,所以采用自底向上的编程思想有利于今后的继续开发及修改算法。
对STM32微控制器的编程严格按照官方发布的编程手册,这样可以使设计的智能小车更容易普及和供他人学习掌握。
上层函数和算法尽量使用模块化编程,并可将多个子函数封装成头文件或库函数以供方便调用。
程序设计主要包括以下几个部分:
主控制器的初始化配置,包括时钟配置、管脚分配、与各模块进行数据交换的接口宏定义、数据处理子程序等
传感器模块的软件设计主要是围绕STM32内部集成的ADC进行编写进而实现多传感器信息的采集与分析。
测速模块的程序设计涉及到PWM的输入捕获,编写的程序主要与STM32内部定时器有关,所以,对定时器的程序编写犹为重要。
电机驱动模块要先对电机驱动芯片进行编程,要想精确地控制电机的转速,首先要对测速模块采集的当前速度进行PID运算,再利用定时器的PWM输出对直流电机进行实时的速度控制。
有了以上各个子模块的驱动程序之后,就可以很方便地对智能小车运动控制系统的功能实现进行个性化地编程及算法设计。
第三章硬件设计
3.1电源系统的设计
电源作为小车的动力源泉,是整个系统稳定工作的必要条件,因此设计一个质量可靠的电源系统至关重要。
本小车采用两节5号大小的磷酸铁锂电池为整个系统供电。
磷酸铁锂电池是指用磷酸铁锂作为正极材料的锂离子电池,该电池的充放电效率高、寿命长,循环寿命能达到2000次以上,还具有耐高温、体积小、重量轻等优点,是当前新兴的环保节能锂电池[12]。
每节磷酸铁锂电池为3.2V电压,经过串联后得到6.4V电压,电池容量为600mAh。
智能小车的整个系统需要两路不同电压,一路是3.3V数字电压,为主控制器和传感器等供电;另一路是2.5V到13.5V的电机驱动电压。
所以本设计将电池电压6.4V经过滤波之后提供给电机驱动芯片来驱动两直流电机,再将6.4V电压通过AMS1117-3.3的LDO稳压芯片降至3.3V提供给控制器和传感器等其它电路。
具体电路如图3.1所示。
图3.1电源系统电路
图3.1中的S1为六脚自锁开关,D1为开关二极管,可以防止电池反接。
D5为电源指示灯,在系统上电时会点亮。
U12为AMS1117-3.3稳压芯片,其具有低压差、最大1A的输出电流等特点,能够稳定输出电路系统所需的数字电压。
STM32F103RBT6微控制器除了需要3.3V的数字电压之外,还需要有一组模拟电压,由于系统的电流影响并不大,所以本文采用数字3.3V经过一个电感和电容组成的低通滤波器给VDDA供电。
电路设计如图3.2所示。
图3.2模拟电压供电电路
3.2微控制器模块
3.2.1STM32微控制器简介
本系统采用意法半导体公司的32位嵌入式微控制器STM32F103RBT6作为智能小车的核心处理器,该处理器具有高速的数据处理能力并且在片内集成了丰富的外设资源,而且价格仅相当于普通单片机的成本,非常适合用于高性能低成本的设计场合。
STM32F103系列微控制器是基于ARMCortex-M3内核的32位微控制器,Cortex-M3内核基于哈佛架构,指令和数据各使用一条总线,对多个操作并行执行,加快了应用程序的执行速度。
本文所选用的STM32F103RBT6微控制器属于STM32F103系列[13-14],具有以下特点:
(1)72MHz频率1.25DMIPS/MHz处理速度
(2)单周期乘法和硬件除法
(3)20Kb的SRAM和128Kb的Flash
(4)2.0V到3.6V的供电电压
(5)上电复位和掉电复位
(6)两个12bit的多达16个通道的AD转换器
(7)7个多功能定时器
(8)7通道DMA
(9)51个通用IO脚
(10)LQFP64封装
3.2.2微控制器最小系统
STM32F103微控制器工作的最小系统电路如图3.3所示。
最小系统包括电源电路、复位电路、晶体振荡器电路、启动配置管脚等。
电源供电电路有两组,一组是数字电压VDD,一组是模拟电压VDDA。
另外一个VBAT是内部实时时钟的供电管脚,本设计中将数字3.3V通过一个1N4148二极管给它供电。
复位电路采用手动复位,由图3.3中的R33、S4、C14组成最小系统的复位电路。
晶振电路有两组,一组是产生外部高速时钟HSE的8MHz晶体振荡器,外部晶振8MHz再经过内部倍频到72MHz作为控制器的工作频率;另一组是为内部RTC提供低速时钟LSE的32.768KHz晶体振荡器。
图3.3微控制器最小系统
启动配置管脚电路,在STM32F10xxx里,可以通过BOOT[1:
0]引脚选择三种不同启动模式[15]。
具体配置参照表3.1所示。
根据表3.1中的管脚配置,本设计中选择从主闪存存储器启动,所以图3.3中将BOOT0脚接一个下拉电阻R31,此时BOOT1脚可以是任意电平,但为了系统的稳定性,将BOOT1脚也接入一个固定的低电平。
JTAG下载电路设计,STM32F103系列处理器支持多种程序下载方式,本设计采用标准20针的JTAG接口来对智能小车的控制器进行程序下载及调试。
硬件电路如图3.4所示。
表3.1启动模式
启动模式选择管脚
启动模式
说明
BOOT1
BOOT0
X
0
主闪存存储器
主闪存存储器被选为启动区域
0
1
系统存储器
系统存储器被选为启动区域
1
1
内置SRAM
内置SRAM被选为启动区域
图3.4JTAG下载接口电路
3.3传感器模块
3.3.1红外光电传感器的工作原理
智能小车运动控制系统是根据传感器探测到的信息进行分析处理来执行智能判断的,所以,传感器的选型及质量的好坏直接影响到智能小车整个系统的决策和行为规划。
本设计采用发射接收一体的红外光电传感器来进行路径识别和障碍物检测。
红外发射管发出的红外线经地面或者障碍物反射回到接收管,如图3.5所示,此时接收管根据接收到的红外线强弱会有相应的电压值,再将此电压通过微处理器的A/D通道进行模数转换得到一个数值,再根据数值的大小判断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小车 运动 控制系统 设计 剖析