光电组合肥工业大学工大光电二队技术报告.docx
《光电组合肥工业大学工大光电二队技术报告.docx》由会员分享,可在线阅读,更多相关《光电组合肥工业大学工大光电二队技术报告.docx(88页珍藏版)》请在冰点文库上搜索。
![光电组合肥工业大学工大光电二队技术报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/18/f34d00d1-bac6-4ce2-a424-e3e011940207/f34d00d1-bac6-4ce2-a424-e3e0119402071.gif)
光电组合肥工业大学工大光电二队技术报告
第七届“飞思卡尔”杯全国大学生
智能汽车竞赛
技术报告
学校:
合肥工业大学
队伍名称:
工大光电2队
参赛队员:
纪奕博
刘志龙
郑鹏程
带队教师:
张阳
史久根
关于技术报告和研究论文使用授权的说明
本人完全了解第七届“飞思卡尔”杯全国大学生智能汽车邀请赛关于保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日期:
摘要
本文以第七届飞思卡尔杯全国大学生智能车竞赛为背景,介绍了基于随动激光路径探测传感器的自主寻迹智能车设计。
在深入研究以往“飞思卡尔”智能车设计方案的基础上,论文提出了激光传感器随动的路径探测方案。
论文首先讲述了系统硬件设计,其中包括激光探测电路板设计,系统主板设计,电机驱动电路板设计等。
在硬件设计的基础上,论文介绍了系统软件设计,其中包括各模块调试程序设计,随动舵机控制算法设计,电机控制算法设计和系统总程序设计。
最终,通过系统调试,验证系统可以达到预期设计要求。
关键字:
飞思卡尔,自主寻迹,智能车,随动,激光
Abstract
Inthebackgroundofthe“Freescale”CupNationalUniversitySmartcarCompetition,thispapergivesanaccountofthedesignofintelligentcar,whichisauto-tracingbytracefollowlaserdetection.Bystudyingpreviousdesignsofintelligentcarsandmethodsoflaserdetection,thepaperputsforwardthemethod,whichcanextracttheinformationoftracebylaserdetectersandfollowthepath.Thepaperfirstlyelaboratesthehardwaresystem,whichincludesthecontrollermodule,thelaserdetectermodule,themotordrivermodule,andsoon.Thenthepaperintroducesthedesignofsoftwaresystem,whichincludesmoduletesting,followcontrolleralgorithm,simulationofthemotorPIDcontrolleranditssoftware,basedonthehardwaresystem.Finally,thewholesystemmeetstheexpectativerequirement.
Keywords:
Freescale,Auto-tracing,Smartcar,Follow,Laser
第一章引言
1.1比赛背景
智能车是一种高新技术密集型的新型汽车,它涵盖的范围广泛包括模式识别、传感器技术、自动化控制实现、电力电子技术、计算机技术等多个领域。
在国际上已经形成智能汽车研究、设计、开发、竞赛的热潮。
在我国,教育部教育部为了加强大学生实践、创新能力和团队合作精神的培养,委托教育部高等学校自动化专业教学指导分委员会主办了每年一度的全国大学生智能汽车竞赛。
全国大学生智能汽车竞赛是在竞赛组委会提供的统一汽
车模型平台上,使用飞思卡尔半导体公司的8位、16位微控制器作为核心控制
模块,通过设计道路识别传感器和电机驱动电路、编写相应软件及装配模型车,
制作一个能够自主识别道路的模型汽车,按照规定路线(路线赛前未知)行进,
以完成时间最短者为优胜。
智能车竞赛目前已经发展有摄像头与光电组和电磁组三个组别比赛,赛车速度与比赛质量也越来越高,竞争更是日趋激烈。
1.2总体方案介绍
本智能控制系统可以由传感器、信息处理、控制算法、执行机构、速度反馈五个部分组成。
其中,以单片机为核心,配有传感器、测速电路,执行机构以及它们的驱动电路构成了控制系统的硬件;信息处理与控制算法由运行在单片机中的控制软件完成。
在检测方面,系统是以随动激光路径探测传感器作为识别路径的手段的,其重点之一就是通过随动激光路径探测传感器来提高获取路径信息的准确度和速度,从而提高智能车的速度及可靠性。
在控制方面,系统重点研究大赛指定型号舵机和电机的控制方案及算法。
舵机的控制目标:
脉宽与转角呈线性变化,能够以较快的速度控制舵机,延迟控制在10ms内,误差控制尽可能的小。
电机的控制目标:
能根据路况进行快速地加速和减速,使电机尽可能快地接近目标速度,能够获得很好的期望速度,以较快的速度跑完整个赛道。
此外,机械结构的调整是保证智能车系统能够稳定可靠运行的前提。
因此,机械结构的调校是至关重要的,尤其是前轮的调校。
机械结构调整的原则是:
减少质量,降低重心,加固安装,防止摇头舵机抖动。
1.3本文结构
本文共分为五章。
第一章主要是介绍了比赛的背景及智能车系统总体方案的介绍;第二章从智能车系统的机械结构出发,详细阐述了智能车系统各部分机械结构的安装和调整;第三章重点介绍了系统中所涉及的硬件设计方案和原理;第四章是介绍了智能系统的软件算法;第五章则对智能车部分模块的调试仿真做出相关的介绍;第六章对智能车的技术参数作简要说明。
第二章机械结构部份的设计及调整
智能车的核心是控制策略和算法,但是,机械结构也是限制赛车速度的巨大瓶颈,如果一辆赛车的程序架构很好,但是机械部分做的不好的话,其速度也会被大大的限制。
总体来说,智能车各个部件布局,机械结构设计原则如下:
智能车的重心要尽可能低,摇头舵机的支架不能太高,会导致重心增高,这样才能保证智能车在高速行进时的稳定性;有可能的话尽量让智能车看起来美观。
2.1转向舵机的安装
舵机转向是整个控制系统中延迟较大的一个环节,为了减小此时间常数,通过改变舵机的安装位置,而并非改变舵机本身结构的方法可以提高舵机的响应速度。
通过分析舵机控制转向轮转向的原理可以发现,在相同的舵机转向条件下,转向连杆在舵机一端的连接点离舵机轴心距离越远,转向轮转向变化越快。
这相当于增大力臂长度,提高线速度。
针对上述特性,本设计采用“长连杆”方式将舵机竖直放在前面,大大的增加了舵机的力臂,如图2.1所示。
图2.1转向舵机安装示意图
上述安装方式的优点主要有:
(1)改变了舵机的力臂,使转向更灵敏;
(2)舵机安装在了正中央,使左右转向基本一致,避免了多级传动可能带来的空程和死区;
(3)增加前轮下压力,从而提高了前轮的抓地力,当然这样也加重了舵机的负载;
2.2随动舵机的安装
随动控制舵机用于控制激光探测板跟随道路中心摆动,它的动态响应特性需优于转向控制舵机。
本设计中采用futaba3010随动舵机,该舵机在6V工作电压下的响应速度是0.16s/60°。
在安装随动控制舵机时,使用铜柱支撑底部,上部有一个平台安装摇头舵机,如图2.2所示。
图2.2随动舵机安装示意图
2.3激光传感器的安装
2.3.1激光传感器的安装
激光传感器安装的高度与倾角共同决定了前瞻的大小。
在本设计中,最终选取的前瞻在50cm与60cm之间。
前瞻超过60cm后,有个别的光点在车子高速运行中会出现不稳定的现象。
而且我们在保证前瞻足够的前提下,应尽量将激光探测板压低,以降低重心,保证车的稳定性。
探测板由两部分组成,两部分对称设计,重心偏向于内侧,安装在智能车上的激光传感器电路板如图2.3所示。
图2.3激光探测板安装示意图
图2.3中,先固定激光探测板与切割过的铝片,铝片和空心铝条支架使用螺钉连接,而后固定空心铝条与随动舵机,实现了激光探测板的牢固安装。
激光探测板牢固安装之后,便可以跟着随动舵机转动。
图2.4探测板安装整体示意图
2.4测速传感器的安装
为实现车速的闭环控制,需使用光电编码器测量车速。
光电编码器安装主要考虑的问题是与齿轮的咬合,太紧会使电机转动吃力并且会发出很大的噪声,太松有时候会丢齿。
因此最好使得安装的编码器松紧程度能够调整最好,我们采用的是500线的编码器,每转一圈会产生500个脉冲。
光电编码器的安装如图2.5所示。
图2.5光电编码器安装示意图
2.5智能车前轮及后轮定位的调整
2.5.1前轮及后轮定位的定义
前后轮的定位对于小车机械性能影响巨大。
前轮定位主要包括主销后倾、主销内倾、前轮外倾和前轮前束等项目。
而此次大赛指定车模的主销内倾角,前轮外倾角无法分开调节,在此统一为前轮内外倾角。
后轮定位主要包括后轮前束和后轮外倾,其作用与前轮对应定位项目作用一致。
车轮外倾和主销内倾的情形如图2.6所示。
所谓主销内倾,是将主销(即转向轴线)的上端向内倾斜。
从智能车的前面看去,主销轴线与通过前轮中心的垂线之间形成一个夹角,即主销内倾角。
主销内倾的作用是使车轮转向后能及时自动回正和转向轻便。
图2.6车轮外倾与主销内倾示意图
主销后倾如图2.7所示,过车轮中心的铅垂线和真实或假想的转向主销轴线在车辆纵向对称平面的投影线所夹锐角为主销后倾角,向前为负,向后为正。
图2.7主销后倾示意图
车轮前束如图2.8所示。
从上往下看,两个车轮指向的方向在前端指向内称为车轮前束,指向外的则称为车轮后束。
图2.8车轮前束示意图
后轮定位主要包括后轮前束和后轮外倾,其作用与前轮对应定位项目作用一致。
2.5.2前后轮定位的调节经验
从理论上讲,主销内倾的作用是使前轮自动回正。
角度越大前轮自动回正的作用就越强烈,但转向时也越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用力就越弱,因此这个主销内倾角都有一个范围,约5°~8°之间。
而前轮外倾角对智能车的转弯性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。
由于本车模的主销内倾,前轮外倾界定不明显,本设计按照经验来进行前轮内外倾角的调节。
前轮内外倾角的调节靠改变相应丝杆长度来实现,丝杆调长可达到前轮外倾,从经验上来说,前轮外倾有利于小车转向轻便,但是,容易导致前轮抓地力不足,而前轮内倾可使前轮抓地力增大,使小车在过弯的时候不易出现前轮打滑的现象,本次设计使用了前轮外倾,这样可以使小车在转向的时候更加轻便。
对于前轮前束,可以通过调节相应丝杆长度来实现,丝杆调长可以达到前轮前束,若调短丝杆长度,可以达到前轮后束的作用。
从经验上讲,前轮前束可以让小车在直道上走得更直,但同时会降低小车转向的灵活性,前轮后束则完全相反。
无论选择怎样的前轮定位,都必须考虑到一个至关重要的忠告,那就是选择参数要适当,不要太极端,比如前轮的倾角,调节1°~2°即可,绝对不能调节得让人很远就感到车轮有明显的倾角。
2.6车底盘的调整
根据总结的智能车机械结构的设计原则,智能车底盘必须足够低。
车模底盘的高度主要由赛道中的坡道决定,在顺利过坡的前提下,底盘越低越好.
此外,适当增大底盘的刚度有利于提高车体走直线的稳定性。
通过增加垫片来增大弹簧的预紧力或调整弹簧的另一个支点的位置来改变预紧力可以提高底盘的刚度。
2.7后轮差速的调节
差速是影响智能车转弯的重要因素,智能车转弯不灵活、转弯时振动较大都有可能是受差速的影响。
调节后轮差速没有精确的尺度,只能在调试过程中自行把握,不宜过松也不宜太紧。
差速调节的一个标准是:
在电机不转的情况下,右轮向前转过的角度与左轮向后转过的角度之间误差很小,没有迟滞或者过转动的情况发生。
第三章硬件设计
3.1硬件设计概述
以单片机为核心,配有传感器电路、测速电路,执行机构以及它们的驱动电路构成了智能车的硬件系统,硬件系统结构如图3.1所示。
图3.1智能车硬件系统结构图
图3.1中,PK10N512VLL100是本系统的核心控制器,该控制器拥有32位内核处理器,丰富的硬件资源,满足智能车设计的要求。
前排激光探测器用来获取离车身较近路段的信息,可用于起跑线识别;随动激光探测器用来获取离车身较远路段的信息,可用于路径信息获取。
随动控制舵机用来控制随动激光探测器的转向;转向控制电机用来控制车身的转向,转向的及时性决定了智能车在弯道上的最高行驶速度。
功率器件用来驱动直流电机,测速传感器用来获取电机转速,以实现电机的闭环控制。
键盘显示用于系统参数的设定和系统运行状态的获取。
电源管理模块用来为各个模块供电。
从功耗和工作方式角度可将系统电路分为功率电路和数字电路。
从供电电压角度可以将电路分为7.2V、6V、5V和3.3V电路。
本系统中,电压分配如下:
为保证驱动芯片获得较大的工作功率,由7.2V电池电压直接提供电源;随动控制舵机和转向控制舵机都由稳压后的6V供电;人机接口模块、编码器电路和激光传感器由一片5V电源芯片供电,主控芯片由一片3.3V电源芯片单独供电。
3.2PK10N512VLL100单片机系统设计
3.2.1单片机特性
PK10N512VLL100单片机为100引脚LQFP封装的单片机,其特性如下:
●512KFlash
●128KBSRAM
●25通道、可编程8、12、16位A/D转换器
●12路带有输入捕获、输出比较、PWM输出功能的16位定时器
●1路16位低功耗脉冲累加器
●4路UART2路SCI
●3路SPI
●最多70个GPIO
●供电电压:
3.3V
3.2.2电源电路
K10单片机使用3.3V供电,I/O口能够兼容忍受5V的输入电压。
较低的片内电压使CPU运算速度快、功耗低,故K10单片机特别适合低功耗场合。
本设计采用了3.3V外部电源为K10单片机供电。
为了去除单片机运行时产生的高频噪声,本设计在K10电源引脚旁边加了磁珠和电容典型值为0.1uF的去耦电容。
3.2.3复位电路
复位电路中采用了IMP811SEUS-T芯片。
IMP811S是在低功耗微处理器、微控制器和数字系统中用来监视3.3V电源工作的低功耗监控电路,具有去抖动的手动复位输入。
复位电路如图3.2所示。
图3.2复位电路原理图
图3.2中,RESET端接单片机复位接口。
按下开关S10,RESET端产生低电平复位信号,实现手动为单片机复位。
当电源电压低于2.93V时,RESET端自动产生低电平复位信号,使单片机复位。
3.2.4时钟电路
对于K10系列单片机,虽然单片机内部有RC振荡电路产生的自时钟,但RC时钟的频率不稳定,会随温度变化,主要用来在检测到主时钟电路故障时起作用,靠自由时钟单片机就能运行,这种运行模式被称为自时钟模式。
为了给单片机提供一个可设定频率并且稳定的工作时钟,单片机需要外接一个石英或陶瓷振子,产生一个频率稳定的时钟信号,再通过片内的锁相环电路(PLL)将时钟频率锁定。
本系统的时钟电路采用了4MHz的晶振,晶振振两端对地接典型电容值为18pF的电容,如图3.3所示。
图3.3时钟电路原理图
3.2.5单片机系统引脚分配
单片机系统引脚分配如表3.1所示:
表3.1单片机系统引脚分配
模块名称
分配引脚
无线通讯模块
PTB[16,17]
接收数据指示灯
PTA[12,13,14,15]
拨码开关
PTD[0,1,2,3,4,5,6,7]
红外探测板
PTC[0,1,2],PTC[4,5,6,7,8,9,10,11,12]
编码器
PTE17
电机驱动
PTB[0,1]
舵机
PTB[18,19],PTC3
NOKIA5510模块
PTE[0,1,2,3,4,5,6,16,18,19]
3.3激光传感器电路设计
3.3.1激光传感器检测基本原理
激光传感器检测路面信息的基本原理是:
由发射管发出一定波长的红光,经跑道面反射到接收管。
跑道面黑色部分反射系数远小于白色部分,因而经跑道面黑色部分反射回来的光不足以导通接收三极管,经跑道白色部分反射回来的光可令接收三极管导通,接收信号输入到单片机内便是高低电平。
激光传感器工作原理示意图如图3.4所示。
图3.4(a)激光照射到白色地面上图3.4(b)激光照射到黑线上
图3.4激光传感器工作原理示意图
3.3.2激光传感器调制原理
普通接收三极管易受太阳光及其他光源的干扰,因而需采用只接收固定频率光线的接收三极管。
欲使发射管发出的光线能够被接收管准确接收,需将激光调制到接收管能够接收的范围。
经过反复试验,最终采用180KHz的频率对激光进行调制,这样接收管易于接收,也在一定程度上增加了前瞻。
3.3.3激光传感器分时发光原理
如果各发射管同时发射特定频率的光,相邻发射管发射出的光就会相互干涉,从而导致相互间的干扰,分时发光可以避免这种现象。
在本系统中,12个发射管共分6次点亮,每次点亮相距较远的两个发射管。
在保证激光管亮度的前提下,分次点亮激光管的必要性有:
避免相邻激光管间发生干涉;降低探测板功耗;延长探测板使用寿命。
分时发光由74HC138译码器实现。
3.3.4激光接收原理
接收管接收到的光线是经跑道平面漫反射回的光线,所以虽然经跑道白色部分反射回的光线较强,但是在前瞻变大时,也不能被接收管直接接收。
为了保证一定的前瞻,本系统采用凸透镜聚光,使原本微弱的光线汇聚到接收管上,从而使接收变容易,从而增大了前瞻。
为了减少接收管的数量,本设计采用了“二对一”的对光策略,即一个接收管对应着两个个发射管。
3.3.5激光探测板的设计
激光探测板设计示意图如图3.5所示。
探测板上面一排为接收管,左右各有3个;下面一排为发射管,左右各6个。
排布形式为均匀排布。
发射管共分六次点亮,每次点亮发射管的时候相邻的两个接收管同时接收,我们使用的是常态高接收管,若有一个能接收到低电平信号则可判断为白线。
图3.5激光探测板设计示意图
激光传感器电路原理图如图3.6所示。
图3.6激光传感器电路原理图
图3.6中,调制管输出160kHz的信号,用于控制激光发射频率,实现对激光的调制。
激光接收电路采用光敏三极管接收激光,该光敏三极管对160kHz的激光最为敏感。
多路模拟开关用于控制发射管的点亮,切换所需时间为ns级。
多路模拟开关电路采用了芯片74HC138。
A、B、C是74HC138的控制引脚。
3.4直流电机驱动模块设计
智能车后轮驱动直流电机型号为RS-540,工作电压为7.2V,空载电流为2A,转速为22000r/min。
电流为12.124A时工作效率为68.4%,驱动单元是控制系统的重要组成部分,各种典型驱动器件的性能对比如表3.2所示。
表3.2驱动器件性能比较表
驱动器件
内阻
承载电流
IRF540
77毫欧
23A
GTX
0.35毫欧
700A
MC33886
120毫欧
6A
BTS7960
23毫欧
30A
由IRF540场效应管搭建的分立H桥驱动电路,驱动功率大,但性能不如集成驱动芯片稳定,使用不方便。
GTX驱动芯片的调速性能比较好,但经过实验证实,用GTX进行调速,小车不便于控制,后轮容易滑出赛道且齿轮间的机械磨损比较严重。
MC33886是H桥式双向驱动芯片,其工作电压为5V~28V,最大负载电流可达6A,拥有两路输出,其中一路输出控制小车前进,另一路在刹车时使用,性能比较理想。
BTS7970是一个全桥整流的驱动芯片,是同等类型芯片中性价比很高的一款芯片,加减速性能优于MC33886,且易于控制。
基于上述比较,本文采用BTS7970芯片作为运动控制器,其工作电压为5V~40V,承载电流为30A,内阻为23毫欧。
为了实现电机正反转控制,本设计采用四片BTS7970的驱动方式。
驱动电路的原理图如图3.8所示。
图3.8电机驱动电路原理图
图3.8中,EN1,EN2输入信号为使能信号,在芯片正常工作时,该信号应保持低电平。
PWM1和PWM2为两路脉冲输入,OUT输出端的输出电压与脉冲输入的占空比成正比。
两片BTS7970的输出端分别接至直流电机的两输入端,实现电机的正反转控制。
当PWM1的占空比大于PWM2的占空比时,电机正转,反之,则电机反转,其中我们采用的是BTS7970两两并联,驱动能力更大。
3.5测速模块设计
为了精确控制智能车的速度,需要设计速度反馈电路检测智能车运动速度,同时获取车模运动的里程信息。
本设计采用的是单片机控制编码器的方法来检测小车的电机转速。
编码器选用的是一款旋转编码器,其引出红、黑、白三根线。
红色是电源线,黑色是地线,白色是信号线。
编码器的工作电压为5~12V,可直接将编码器的电源线接到5V电源上。
编码器的地线要和单片机的地线连在一起。
每转一周,白色信号线就输出500个脉冲,将信号线接到单片机的PTE17口,进行脉冲累加,再用单片机定时器定时,每3ms记一次PCANT数据,作为小车速度的参考值,然后清空脉冲累加器,再定时计数。
编码器接口电路如图3.9所示。
图3.9编码器接口电路
图3.9中,因为编码器信号端是开漏输出结构,所以需在编码器信号输出端接上拉电阻。
信号线上的脉冲信号接至PTE17引脚,供脉冲累加器计数。
3.6人机交互模块设计
3.6.1NOKIA5510模块设计
NOKIA5510模块主要包括NOKIA5510液晶,4个背光LED灯和4个按键。
NOKIA5510模块主要用于显示检测信息,设置控制参数。
NOKIA5510液晶广泛应用于各类便携式设备,与其它类型的产品相比,具有以下特点:
84X48点阵LCD,可显示4行汉字;采用串行接口与主处理器进行通信,传输速率达4Mbps,可全速写入显示数据,无等待时间;可通过导电胶连接模块与印制版,而不用连接电缆;采用低压供电,正常显示时的工作电流在200uA以下。
NOKIA5510引脚顺序与含义如表3.3所示:
表3.3NOKIA5510LCD引脚定义
管脚
定义
说明
电平
备注
1
VDD
电源输入引脚
+5V
3.3-5V
2
CLK
同步时钟输入
GND
最高可达4Mbps
3
DIN
数据输入
TTL
时钟上升沿采样
4
D/C
数据/命令输入
TTL
0:
命令;1:
数据
5
CS
片选信号
TTL
低电平有效
6
OSC
外部时钟输入
TTL
7
GND
地
GND
8
VOUT
LCD供电电路使用
+5V
需外接电容,0.1uF-10uF均可
9
RST
LCD复位信号输入
TTL
低电平有效
NOKIA5510液晶的接口电路如图3.10所示。
图3.10NOKIA5510液晶
NOKIA5510模块的背光电路和按键电路原理图分别如图3.11和图3.12所示。
图3.11NOKIA5510模块的背光电路
图3.12NOKIA5510模块的按键电路
背光电路中的4个LED