安徽赛区-光电组-铜陵学院-超人传说 技术报 告_第1页
安徽赛区-光电组-铜陵学院-超人传说 技术报 告_第2页
安徽赛区-光电组-铜陵学院-超人传说 技术报 告_第3页
安徽赛区-光电组-铜陵学院-超人传说 技术报 告_第4页
安徽赛区-光电组-铜陵学院-超人传说 技术报 告_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九届全国大学生“飞思卡尔”杯智能汽车竞赛技 术 报 告学 校:铜陵学院队伍名称:超人传说参赛队员:王超汤传军曹京带队教师:臧大进关于技术报告和研究论文使用授权的说明本人完全了解第九届“飞思卡尔”杯全国大学生智能汽车邀请赛关于保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 王超 汤传军 曹京 带队教师签名:臧大进 日 期: 2014.8.5 摘 要本技术报告在第九届“飞思卡尔”杯全国大学生智能汽车竞赛的

2、背景下,使用了线性CCD作为路径探测传感器,得到车身与赛道中心的偏差数据,通过 PID 算法等,得到智能车舵机的偏转角度数据和电机转速控制参数,使用飞思卡尔公司的 16 位单片机 MC9S12XS128 作为控制核心对信息进行处理,最终实现自主寻迹并完成自主在赛道中心稳定行驶。本车硬件部分由车模、电源模块、线性CCD传感器模块、电机驱动模块、测速模块、调试模块组成。算法中,对使用的线性CCD采集回来的赛道信息能进行分析处理,正确识别小 S、直道、坡道、十字弯等信息,另使用的一对光电对管能准确的检测出起跑线。对于车子的行驶路径进行优化,需要软硬件的相互配合,经长期的调试才能发挥出车子的最佳性能。

3、关 键 词:智能车、MC9S12XS128、线性CCD、PID 控制 目 录第一章 引 言11.1 赛事介绍11.2 文本结构11.3 系统整体方案的介绍2第二章 机械结构的调整与安装32. 1 车模的概述32.2 转向舵机的安装42.3传感器的安装42.4 测速传感器的安装42.5车模整体结构的调整与优化52.5.1 前轮的定位与优化52.5.2 车模悬挂系统的优化72.5.3 后轮差速的调节8第三章 硬件系统设计93.1硬件系统设计的概述93.1.1电源管理模块93.1.2电机驱动模块103.1.3接口模块143.2 线性CCD传感器模块153.2.1线性CCD的安装153.2.2 环境光

4、影响问题163.3人机交互模块16第四章 智能车控制的软件设计174.1 MC9S12XS128片资源简介174.2 MC9S12XS128模块介绍184.2.1时钟模块184.2.2 PIT 初始化程序184.2.3 SCI 初始化程序194.2.4 PWM 模块204.3 速度闭环控制214.4 线性CCD驱动模块234.5 总结程序功能与框架26第五章 开发工具285.1 程序开发工具285.2 硬件电路设计工具29第六章 总结316.1 参赛心得316.2 智能车的不足以及改进31参考文献32致 谢33附录 部分程序源代码34第一章 引 言1.1 赛事介绍全国大学生“飞思卡尔”杯智能汽

5、车竞赛由竞赛秘书处设计、规范标准硬软件技术平台,竞赛过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为

6、优秀人才的脱颖而出创造条件。大赛分别设立光电组、摄像头组、电磁组、创意组等多个赛题组别。至今飞思卡尔全国大学生智能汽车竞赛已成功举办九届。本技术报告是由铜陵学院“超人传说”队为参加第九届全国大学生智能车竞赛而撰写的,报告中详细介绍了我队车子的机械结构安装与调整方法、硬件电路设计与制作方法、软件系统的设计方法以及整个系统的开发工具及调试手段等。1.2 文本结构本技术报告分为六个章节,第一章主要介绍了大赛的背景及该智能车的整体的设计方案介绍;第二章主要是对智能车的机械机械结构的调整和一些部件的安装;第三章从智能车的硬件系统,重点介绍了电源模块、线性CCD模块、电机驱动模块的电路设计;第四章则用软件

7、从内部详细介绍了智能车的工作原理和方式;第五章对智能车的各个模块的调试仿真进行了介绍;第六章则进行了全面的总结。1.3 系统整体方案的介绍在本次比赛中,本组使用大赛组委会统一提供的竞赛车模,采用飞思卡尔16 位微控制器MC9S12XS128作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、舵机控制等,最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。我们使用线性CCD作为探测传感器来识别路径;在控制方面,系统重点研究大赛指定型号舵机和电机的控制方案及算法;舵机的控制方面,目标是能够控制转向舵机快速打到指定角度;电机的控

8、制方面,能根据实际路况实时快速地将速度稳定到期望值;在机械结构的调整方面,为保证智能车系统能够稳定可靠运行,对电池和电路板等部件的安装本着“减少质量,降低重心”的原则,对机械结构中前轮和后轮的差速进行调校,对底盘适当加固处理。1第二章 机械结构的调整与安装 第二章 机械结构的调整与安装为使智能车发挥最佳性能,在不违反大赛规则的前提下,对车模进行改造和优化是很必要的。本章主要对车模的机械结构调整以及各个模块的安装和优化进行介绍。2. 1 车模的概述这届的光电组选用的是B车模,在主控板、舵机、传感器的安装上,必须考虑了很多布局因素,如车子在低速行驶时,不会出现模块布局上的缺点;在车子高速行驶时,模

9、块布局不合理会影响车的性能。车子的整体外观图片如图 2.1 所示,车模的具体参数如表 2.1 所示:图 2.1 车模的整体外观表2.1 模型车基本参数尺寸前轮距109mm后轮距99mm车模高度345mm车模宽度175mm 车模长度300mm2.2 转向舵机的安装舵机的安装位置对转向有很大影响,摆臂的长短也会影响到转弯的灵敏度和精度,理论上适当加长摆臂可以提高转向灵敏度,且摆臂与车轮垂直时舵机灵敏度和精度会更好,但摆臂过长会导致舵机所能提供的最大转向力矩不够。舵机安装的方式大致有两种:第一种,采用卧式安装,但其摆臂不一样长,导致舵机不平衡;第二种,采用立式安装,使舵机位于两轮的中心线上,再把连接

10、两轮胎到舵机的连杆改为一样长,使舵机左右转向时受力比较均匀,使舵机能灵活的转向打角。考虑以上因素本组选择了二种安装方式。2.3传感器的安装传感器的正确安装对于车子的性能影响很大。前瞻的大小由线性CCD的度与倾角决定,为防止明显抖动我们将CCD支架固定在大致车子的中心位置,CCD高度选择适中位置固定即可。另有一对光电对管固定在合适高度,用于检查跑道的起跑线。2.4 测速传感器的安装为了实现小车的闭环控制,必须加入速度反馈的部件。编码器则是最好的选择,在安装编码器时要考虑编码器此轮与大盘齿轮的咬合。齿轮咬合过紧会出现卡齿,过松会导致滑齿现象,这些都会影响准确速度的反馈。编码器的安装位置如图2.1所

11、示。2.5车模整体结构的调整与优化本文对车模的机械结构调整主要有,对车模的前轮的定位和优化、车模的悬挂系统的优化、车模后轮的差速调节。下文就各个部分进行详细介绍。2.5.1 前轮的定位与优化前轮是转向轮,它的安装位置由主销内倾,主销后倾,前轮外倾和前轮前束决定。1)主销内倾是指主销装在前轴向内倾斜的角度,它的作用是使前轮自动回正,角度越大前轮自动回正的作用就越强烈,但转向时也同时会费力,增大轮胎磨损。图2.22)主销后倾是指在纵向平面内主销轴线与地面垂直线之间的角度。它使车辆转弯时产生的离心力与所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中心位置上。由此,主销后倾角越大,

12、车速越高,前轮稳定性越好。主销内倾和主销后倾都能使模型车自动回正,不同点在于主销内倾回正与车速有关,而主销后倾与车速无关。可以说,在高速时主销内倾起主要作用,而低速时,主要依靠主销后倾时模型车回正。图2.33) 前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在 1

13、76;左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。图2.44)前束是指两轮之间的后距离数值与前驱离数值之差,也指前轮中心线与纵向中心线的夹角,它能减少模型车的磨损,前轮滚动时,其惯性力会自然将轮胎向内偏斜,如果前束适当,轮胎的偏斜方向会抵消,减少磨损。图2.5在小车调试的过程中我们结合程序对前轮相应位置做了适当调整。2.5.2 车模悬挂系统的优化我们为提高车模的整体稳定性,对车模悬挂系统做了如图2.6所示的优化。图2.6 车模外部硬件2.5.3 后轮差速的调节差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且还可以保证在轮胎抱死的情况下不会损害到电机。此次所使

14、用车模配备的是后轮差速机构。差速器的特性是:阻力越大的一侧,驱动齿轮的转速越低;而阻力越小的一侧,驱动齿轮的转速越高,以此次使用的后轮差速器为例,在过弯时,因外侧前轮轮胎所遇的阻力较小,轮速便较高;而内侧前轮轮胎所遇的阻力较大,轮速便较低。差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,松紧程度应边试跑边调整,直至找到最佳值。另外建议在差速机构中使用高精度的滚珠,加适量润滑,可使钢珠滚动更加顺畅灵活。7第三章 硬件系统设计第三章 硬件系统设计3.1硬件系统设计的概述为方便硬件电路的后期改装和优化我们在主板电路上设置了多个外部接口,电路设计采用的模块化原则,同时为了减小驱动电

15、路模块对主板电路的影响,我们将驱动模块从主板电路中分离开来,同时,还可以方便电路板在车模上的安装。3.1.1电源管理模块电源分为开关电源和线性电源两种,线性电源的电压反馈电路是工作在线性状态,开关电源是指用于电压调整的管子工作在饱和和截至区即开关状态的。线性电源一般是将输出电压取样然后与参考电压送入比较电压放大器,此电压放大器的输出作为电压调整管的输入,用以控制调整管使其结电压随输入的变化而变化,从而调整其输出电压,但开关电源是通过改变调整管的开和关的时间即占空比来改变输出电压的。 从其主要特点上看:线性电源技术很成熟,制作成本较低,可以达到很高的稳定度,波纹也很小,而且没有开关电源具有的干扰

16、与噪音,开关电源效率高、损耗小、可以降压也可以升压,但是交流纹波稍大些。电源模块对于一个控制系统来说极其重要,关系到整个系统是否能够正常工作,因此在设计控制系统时应选好合适的电源模块。 竞赛规则规定,比赛使用智能汽车竞赛统一配发的标准车模用7.2V 2000mAh Ni-cd供电,而单片机系统、路径识别的光电传感器、光电码编码器等均需要5V电源,伺服电机工作电压范围为4V到6V,直流电机可以使用7.2V 2000mAh Ni-cd蓄电池直接供电,我们组的电源模块的电路图如下图3.1所示图3.1 电源管理模块原理图5V电源模块用于为单片机系统、传感器模块、S-D5等供电。常用的电源有串联型线性稳

17、压电源(LM2940、TPS系列、7805等)和开关型稳压电源(LM2596、LM2575、AS1015等)两大类。前者具有纹波小、电路结构简单的优点,但是效率较低,功耗大;后者功耗小,效率高,电流大,但电路却比较复杂,电路的纹波大。对于单片机,需要提供稳定的5V 电源,由于TPS7350 的稳压的线性度非常好,所以选用TPS7350 单独对其进行供电;而其它模块则需要通过较大的电流,而AS1015,转换效率高,带载能力大,对其它模块供电还是能保证充足的电源。利用TPS7350和AS1015 对控制系统和执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足的问题,使得系统能够稳定地工

18、作。3.1.2电机驱动模块常用的电机驱动有两种方式,分别是用集成电机驱动芯片和用 N 沟道 MOSFET和专用栅极驱动芯片设计。1.专用栅极驱动芯片的选择:IR 公司号称功率半导体领袖,所以我们主要在 IR 公司的产品中进行选择。其中 IR2104 型半桥驱动芯片可以驱动高端和低端两个 N 沟道 MOSFET,能提供较大的栅极驱动电流,并具有硬件死区、硬件防同臂导通等功能。使用两片 IR2104型半桥驱动芯片可以组成完整的直流电机 H 桥式驱动电路。由于其功能完善,价格低廉容易采购,所以我们选择它进行设计,如图3.2 所示:图3.2 IR2104应用图2. MOSFET 的选择:选择 MOSF

19、ET 时主要考虑的因素有:耐压、导通内阻和封装。智能汽车电源是额定电压为 7.2V 的电池组,由于电机工作时可能处于再生发电状态,所以驱动部分的元件耐压值最好取两倍电源电压值以上,即耐压在 16V 以上。而导通内阻则越小越好。封装越大功率越大,即同样导通电阻下通过电流更大,但封装越大栅极电荷越大,会影响导通速度。常用的 MOSFET 封装有 TO-220、TO-252、SO-8 等,TO-252 封装功率较大、而栅极电荷较小。于是我们最终选择了 IR 公司TO-252 封装的 IRF3205 型 N 沟道 MOSFET,VDSS = 55 伏、RDS(on) = 8.0 毫欧、ID= 110

20、安。3. 控制逻辑电路设计:IR2104 的控制信号有两个管脚:IN 和 SD。IR2104输入输出信号关系图如图3.3所示:图3.3 IR2104输入输出关系图两片IR2104 驱动如图3.4所示构成可逆桥式电路时,其真值表为表 3.1。图3.4 可逆桥式电路表3.1 可逆桥式电路中IR2104输入输出信号真值表状态输入输出IN1SD1IN2SD2HO1LO1HO2LO2正转HHLHHLLH反转LHHHLHHL上桥臂制动HHHHHLHL下桥臂制动LHLHLHLH关闭XLXLLLLL图3.5电机驱动模块我们用两片IR2104及四个MOSFET组成全桥的电机驱动电路,并且采用单极性的控制模式,P

21、WM的占空比在0%之时电机速度为零,0100%控制转速,H_D信号控制转向。4、驱动电路的原理分析及元件参数确定图3.6 电机驱动分析图这个驱动设计单从信号逻辑上分析比较容易理解,但要深入的理解和更好的应用,就需要对电路做较深入的分析,对一些外围元件的参数确定做理论分析计算。图3.6中IC是一个高压驱动芯片,驱动2个半桥MOSFET。Vb、Vs为高压端供电;Ho为高压端驱动输出;COM为低压端驱动供电,Lo为低压端驱动输出;Vss为数字电路供电.此半桥电路的上下桥臂是交替导通的,每当下桥臂开通,上桥臂关断时Vs脚的电位为下桥臂功率管Q2的饱和导通压降,基本上接近地电位,此时Vcc通过自举二极管

22、D对自举电容C2充电使其接近Vcc电压。当Q2关断时Vs端的电压就会升高,由于电容两端的电压不能突变,因此Vb端的电平接近于Vs和Vcc端电压之和,而Vb和Vs之间的电压还是接近Vcc电压.当Q2开通时,C2作为一个浮动的电压源驱动Q2;而C2在Q2开通其间损失的电荷在下一个周期又会得到补充,这种自举供电方式就是利用Vs端的电平在高低电平之间不停地摆动来实现的。由于自举电路无需浮动电源,因此是最便宜的,如图所示自举电路给一只电容器充电,电容器上的电压基于高端输出晶体管源极电压上下浮动。图2.6中的D和C2是IR2104在脉宽调制(PWM)应用时应严格挑选和设计的元器件,根据一定的规则进行计算分

23、析;并在电路实验时进行调整,使电路工作处于最佳状态,其中D是一个重要的自举器件,应能阻断直流干线上的高压,其承受的电流是栅极电荷与开关频率之积,为了减少电荷损失,应选择反向漏电流小的快恢复二极管,芯片内高压部分的供电都来自图中自举电容C2上的电荷,为保证高压部分电路有足够的能量供给应适当选取C2的大小。MOSFET具有相似的门极特性,开通时需要在极短的时间内向门极提供足够的栅电荷,在自举电容的充电路径上,分布电感影响了充电的速率,下桥臂功率管的最窄导通时间应保证自举电容有足够的电荷以满足栅极所需要的电荷量再加上功率器件稳态导通时漏电流所失去的电荷量。因此,从最窄导通时间为最小值考虑,自举电容应

24、足够小;综上所述,在选择自举电容大小时应考虑,既不能太大影响窄脉冲的驱动性能;也不能太小影响宽脉冲的驱动要求,应从功率器件的工作频率、开关速度、门极特性等方面进行选择、估算后调试而定。3.1.3接口模块从简洁的设计角度,和考虑到后期电路的拆卸调整,我们在主电路板上设计了多个模块的接口,电路图如下图图3.7 接口电路3.2 线性CCD传感器模块3.2.1线性CCD的安装线性CCD是光电组小车最重要的模块之一,能够分辨白色的赛道及黑色的边线,对道路状况的检测起着至关重要的作用。TSL1401线性CCD传感器包含128个线性排列的光电二极管。每个光电二极管都有各自的积分电路,以下我们将此电路统称为像

25、素。每个像素所采集的图像灰度值与它所感知的光强和积分时间成正比。一般来说线性CCD模块的焦距是固定的,因此要想得到清晰的图像就需要通过调节镜头的进出来解决,如图3.8所示是通过上位机看到的CCD图像。图 3.8 CCD上位机图像线性CCD为采集赛道信息的模块,赛道宽度为450mm,为了更好的采集到赛道两边的黑线,必须使CCD位置达到一定高度,并且还得使小车具备一定的前瞻,经过多次测试与实践验证,找到合适的车模线性CCD的安装位置。3.2.2 环境光影响问题试验表明 TSL1401 线性 CCD 的输出信号和环境光线密切相关,在自然光条件比晚上灯光下 AO 引脚输出电压值高出很多,正对着光线比背

26、着光线输出电压高,白炽灯光下比日光灯下输出电压高。因此,同一参数(曝光时间、镜头光圈)难以适应各种环境,在光线较弱环境下的参数在强光下会出现输出饱和,在较强光线下调节好的参数在弱光下输出电压过低,甚至处于截止状态。在智能车应用中,白天自然光环境和晚上灯光环境、正对光和背光、不同的比赛场地之间都不能采用相同的曝光参数。与输出电压密切相关的参数是曝光量,曝光量取决于 CCD 模块所采用的镜头光圈大小和程序所控制的曝光时间。智能车为适应各种运行环境,必须实时感知环境,并根据环境闭环调节曝光量,使得在不同环境中曝光量都处于一个合理的范围,这样才能保证在不同环境中CCD 输出电压在合理范围,以利于算法提

27、取黑线信息。镜头相关参数一旦选定在智能车运行难以改变,曝光时间比较容易通过程序控制,因此比较容易实现的调整曝光量方法是通过软件调整曝光时间。3.3人机交互模块为了方便调试,本车有蓝牙模块,有效进行智能车在运行时,参数实时向上位机传送,除此之外,还设置了拨码开关和液晶显示屏,以方便控制参数的修改和智能车的调试。15第四章 智能车控制的软件设计第四章 智能车控制的软件设计4.1 MC9S12XS128片资源简介MC9S12XS128 微控制单元作为MC9S12 系列的16位单片机,由标准片上外围设备组成,包括16位中央处理器、128KB的Flash 存储器、8KB的RAM、2KB的EEPROM、两

28、个异步串行通信接口、两个串行外围接口、一组8通道的输入捕捉或输出捕捉的增强型捕捉定时器、两组8 通道10 路模数转换器、一组8通道脉宽调制模块、一个字节数据链路控制器、29路独立的数字I/O接口、20路带中断和唤醒功能的数字I/O 接口、5个增强型CAN总线接口。同时,单片机内的锁相环电路可使能耗和性能适应具体操作的需要。MC9S12XS128片内资源表如图4.1:图 4.1 MC9S12XS128片内资源4.2 MC9S12XS128模块介绍在整个系统设计中,用到了5个单片机基本功能模块:时钟模块、PWM 输出模块、ECT 模块、串口通信模块以及普通IO 模块。根据系统实际需求,对各个模块进

29、行了初始化配置,通过对相应数据寄存器或状态寄存器的读写,实现相应的功能。4.2.1时钟模块XS128 单片机中有四个不同的时钟,即外部晶振时钟、锁相环时钟、总线时钟和内核时钟。 当前电路板采用的是16MHz 的有源晶振,因此外部晶振时钟为16MHz;默认设置下,锁相环时钟为80MHz,总线时钟为40MHz,内核时钟为16MHz。锁相环时钟与外部晶振时钟的倍、分频关系由SYNR、REFDV 两寄存器决定。总线时钟用作片上外围设备的同步,而内核时钟则用作CPU 的同步,它决定了指令执行的速度。 时钟模块初始化程序如下:void PLLInit(void)CLKSEL = 0x00; PLLCTL_

30、PLLON = 1; SYNR = 0x53; /fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1) REFDV = 0x07; / REFFRQ7:6;REFDIV5:0POSTDIV = 0x00; _asm(nop);_asm(nop);while(!(CRGFLG_LOCK = 1); CLKSEL_PLLSEL = 1;4.2.2 PIT 初始化程序该初始化函数主要是对定时器 PIT 进行初始化配置,使单片机每 1ms 产生一次定时器中断,然后在中断程序中进行相应的控制。void PIT_Init(void)/定时中断初始化函数0.001s=1ms 定时中断

31、设置PITCFLMT_PITE=0; /定时中断通道 0 关PITCE_PCE0=1;/定时器通道 0 使能PITMTLD0=64-1;/8 位定时器初值设定。PITLD0=1000-1;/16 位定时器初值设定PITINTE_PINTE0=1;/定时器中断通道 0 中断使能PITCFLMT_PITE=1;/定时器通道 0 中断使能4.2.3 SCI 初始化程序此程序中对 SCI0 进行了两种初始化配置,主要是用于设置不同的波特率,以便适用不同的上位机,其中SCI0_INIT()初始化函数是将波特率设置为115200,可以与 CCD_View 上位机进行通信,该上位机主要显示 CCD 采集的路

32、面信息;另外UART_Init ()初始化函数是将波特率设置为9600,可以与Serial Digital Scope上位机进行通信,这款上位机主要是用于观看陀螺仪和加速度计的融合角度情况,便于修改比例参数,使得陀螺仪的跟踪效果更好,融合之后的角度与实际角度更接近。void SCI0_INIT(void)SCI0BD=0x22;SCI0CR1=0x00;SCI0CR2=0x0C;void UART_Init (void)SCI0CR2=0x2c;/enable Receive Full Interrupt,RX enable,Tx enableSCI0BDH=0x01; /busclk8MHz

33、,19200bps,SCI0BDL=0x1aSCI0BDL=0xa0; /SCI0BDL=busclk/(16*SCI0BDL)/busclk 32MHz, 9600bps,SCI0BDL=0xD0/115200 bpsSCI0BDL=0x11/ 64M 9600SCI0BDH=0x01; SCI0BDL=0xA0;4.2.4 PWM 模块脉宽调制模块有8 路独立的可设置周期和占空比的8 位PWM 通道,每个通道配有专门的计数器。该模块有4 个时钟源,能分别控制8 路信号。通过配置寄存器可设置PWM 的使能与否、每个通道的工作脉冲极性、每个通道输出的对齐方式、时钟源以及使用方式(八个8 位通道

34、还是四个16 位通道)。PWM 模块的初始化设置过程为:void InitPWM(void) PWME = 0x00; / Disable PWM (PP3) 禁止 PWMPRCLK = 0x11; /A时钟和B时钟预分频率为40/2= 20MHz和20MHz /舵机01 PWMCTL_CON01 = 1; /01级联为16位的PWM PWMPOL_PPOL1 = 1; /通道01的起始极性为高电平 PWMCAE_CAE1 = 0; /左对齐 PWMCNT01 = 0x00; /1通道计数器清0 PWMCLK_PCLK1 = 1; /通道01用SA时钟作为时钟源 PWMSCLA = 100;

35、/SA时钟频率为20M/(2*200) = 50KHz PWMPER01 = 400; / f=SA/400 = 250Hz 4ms PWMDTY01 = 145; /占空比为PWMDTY01/PWMPER01 = 36.25% PWME_PWME1 = 0; /使能通道01 /驱动电机23 PWMCTL_CON23 = 1; /23级联 PWMPOL_PPOL3 = 0; /通道23输出 起始低电平 PWMCAE_CAE3 = 0; /左对齐 PWMCNT23 = 0; /计时器清零 PWMCLK_PCLK3 = 1; /CLOCK SB 作时钟源 PWMSCLB = 5; /COLCK S

36、B进行分频 20M/(2*5) = 2000KHz PWMPER23 = 200; /周期SB/200= 40M/4/(2*50)/200 = 10KHz PWMDTY23 = 100; /占空比为PWMDTY23/PWMPER23=100/200 = 50% PWME_PWME3 = 0; /驱动电机67 PWMCTL_CON67 = 1; /67级联 PWMPOL_PPOL7 = 1; /通道67输出 起始高电平 PWMCAE_CAE7 = 0; /左对齐 PWMCNT67 = 0; /计时器清零 PWMCLK_PCLK7 = 1; /CLOCK SB 作时钟源 PWMSCLB = 5;

37、/COLCK SB进行分频 20M/(2*5) = 2000KHz PWMPER67 = 200; /周期SB/200= 40M/4/(2*50)/200 = 10KHz PWMDTY67 = 100; /占空比为PWMDTY67/PWMPER67=100/200 = 50% PWME_PWME7 = 0; 4.3 速度闭环控制图4.2 PID控制工作原理PID控制策略其结构简单,稳定性好,可靠性高,并且易于实现。其缺点在于控制器的参数整定相当繁琐,需要很强的工程经验。相对于其他的控制方式,在成熟性和可操作性上都有着很大的优势。所以最后我们选择了PID的控制方式。传统PID的算法公式是:U(n

38、)=Kpe(n)-e(n-1)+Kie(n)+Kde(n)-2e(n-1)+e(n-2)U(n)=U(n)+U(n-1)这是一个增量式的PID算式。另外还有就是位置式PID算法,其算法公式如下:在小车跑动中,因为不需要考虑小车之前走过的路线,所以,我们舍弃了I控制,将小车舵机的PID控制简化成PD控制。本方案中舵机转角控制采用位置式的PD控制,速度闭环控制采用了增量式PID控制。在本方案中,使用试凑法来确定控制器的比例、积分和微分参数。试凑法是通过闭环试验,观察系统响应曲线,根据各控制参数对系统响应的大致影响,反复试凑参数,以达到满意的响应,最后确定PID控制参数。试凑不是盲目的,而是在控制理

39、论指导下进行的。在控制理论中已获得如下定性知识:比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。微分调节作用:微分作用反映系统偏差信号的变化率

40、,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。试凑法的具体调试过程:1、整定比例部分,将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统静差小到允许范围,响应曲线已属满意,那么只需比例控制即可,由此确定比例系数。

41、2、如果在比例控制基础上系统静差不能满足设计要求,则加入积分环节,整定时首先置积分时间为很大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原值的0.8),然后减小积分时间,使得在保持系统良好动态的情况下,静差得到消除,在此过程中,可根据响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的控制过程,得到整定参数。3、若使用比例积分控制消除了静差,但动态过程经反复调整仍不能满意,则可加微分环节,构成比例、积分、微分控制器。在整定时,先置微分时间为零,在第二步整定基础上增大,同样地相应改变比例系数和微分时间,逐步试凑以获得满意的调节效果和控制参数。4.4 线性CCD驱动模块线性CCD属于方

42、向控制中赛道信息获取的主要传感器,因为它使用串行接口,因而在使用上要进行时序信号的匹配,我们使用的单片机的若干IO口来产生驱动,并使用AD来采样线性CCD数据,线性CCDTSL1401的时序如下:图4.3 CCD时序图其中,CLK为采样时钟信号,在每个下降沿AO线输出像素点模拟值,可由AD采样获得。SI为曝光信号,当出现一个高电平时,内部电路清空电荷,相当于控制了CCD的曝光时间,在光线较强或较暗的情况下可以通过调整SI的位置来调节图像亮度。可使用如下程序对CCD模块进行初始化void ATD0_Init (void) ATD0DIEN=0x00; /全部使用模拟输入 ATD0CTL0=0x0

43、F; /AD循环采集到AN15 ATD0CTL1=0x0F; /分辨率为8位,采样前放电, ATD0CTL2=0x40; /快速清除标志位,禁止外部触发,禁止中断 ATD0CTL3=0x88; /转换结果右对齐,每个序列转换1个通道。非FIF0 ATD0CTL4=0xAF; /采样时间为ATD时钟周期4倍 可利用IO口和AD设置如下程序采样采集CCD数据:void RD_TSL(void) byte i; TSL_CLK=1;/起始电平高 TSL_SI=0; /起始电平低 delay_200ns(); /合理的延时 TSL_SI=1; /上升沿 TSL_CLK=0;/下降沿 delay_200

44、ns(); /合理延时 TSL_CLK=1;/上升沿 TSL_SI=0; /下降沿 For(i=0;i<20;i+)delay_1us(); /合理延时 /采集第1个点 ADV0 = (ATD_uchar_convert(0); TSL_CLK=0; /采集第2128个点 for(i=1;i<128;i+) TSL_CLK=1; delay_200ns(); /合理延时 ADVi = (ATD_uchar_convert(0); TSL_CLK=0; delay_200ns(); /合理延时 4.5 总结程序功能与框架软件的主要功能包括有: (1)传感器信号的采集、处理;(2)电机

45、PWM输出; (3)车模运行控制:方向控制、速度控制; (4)车模运行流程控制:程序初始化、车模启动与结束; (5)车模信息显示与参数设定:状态显示、上位机监控、参数设定等。程序的主要流程如图4.4所示,小车刚启动时,程序会先进行相关功能的初始化,随后加载预先设定的参数;当小车正常运行时,程序会一直执行“赛道信息采集”、“方向舵机控制”和“速度电机控制”功能。线性CCD采集回来赛道信息后,经微控制器XS128处理,直接控制舵机的打角和电机的转速,以实现对小车方向和速度的实时控制。图4.4 程序流程图27第五章 开发工具5.1 程序开发工具程序的开发是在组委会提供的CodeWarrior IDE

46、下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。如图5.1 是一款功能非常强大的程序开发软件CodeWarrior,可用于绝大部分单片机、嵌入式系统的开发。用户可在新建工程时将芯片的类库添加到集成环境开发环境中,工程文件一旦生成就是一个最小系统,用户无需再进行繁琐的初始化操作,就能直接在工程中添加所需的程序代码。使用BDM的调试过程中如图5.2的调试窗口,我们能进行很有效的一些操作如监视寄存器状态、修改PC 指针、设置断点等,这样能快速地帮助我们找到软件或硬件的问题。CodeWarrior Development Studio forHCS12(X) V5.0集成环境进行BDM调

47、试,并可以在线调试车的参数。图5.1 CodeWarrior 程序开发窗口图5.2 CodeWarrior下载调试窗口5.2 硬件电路设计工具智能车制作的前期,除了需要组装和优化车模,还需要搭建硬件电路,硬件电路是算法控制的载体,电路直接影响到智能车的性能,硬件将影响算法控制所能调试出的极限速度。如下图是Altium Designer6.9 硬件电路设计软件29第九届全国大学生智能汽车邀请赛技术报告第六章 总结6.1 参赛心得参加飞思卡尔智能车竞赛以来,我们每个人都真真切切的体会到一分耕耘一分收获。从一开始从下手的小白,到现在对小车架构的基本了解,很明显数月来,我们收获了不少知识,这也是全国大

48、学生“飞思卡尔”杯智能车竞赛“立足培养、重在参与、鼓励探索、追求卓越”的宗旨。非常感激这个平台,它让我们收获了不少,对友谊、团队、合作的重要性都有了新的认识。在动手能力和专业技能上,我们也得到了极大的锻炼,从自己慢慢摸索搭起的第一个硬件电路,再到自己编写出的第一行程序代码,我们一步步地认认真真地学习着,编写着,调试着。我们可以体会到它的成长,就像我们在成长,队友认认真真搭起硬件电路给了它一个强壮的身体,我去了解它的大脑(微控制器XS128)是如何工作的,教它如何思考和识路,像婴儿一样,从慢慢地爬行,到走再到跑,这是成长的喜悦,是这个团队的喜悦。当然,我们了解它就像了解我们自己,它有自己的缺陷和

49、不足,下面就是我们还需要改进的地方。6.2 智能车的不足以及改进1. 硬件上不足之处在于人机接口太少只有一个拨码开关,不利于现场调试。应该在电路板上添加几个按钮开关,更方便现场调试2. 控制算法上没有找到更有效的方法,最终选择的是经典的PID算法,在速度的及时准确控制上表现得很吃力,难以找到合适的参数。3. 机械结构整体上有待优化4. 控制策略大多都是借鉴往届的控制经验,没有什么创新,算法控制过于简单。一些高级的算法没有在程序中得到很好的实现,假如在算法策略的优化上能有所突破,小车的性能一定会有质的飞跃。5. 调试方式笨拙,仅能进行通过串口调试,然后一次次地在小车上试验,数据通信速度和数量收到

50、很大的限制。参考文献1 卓晴,黄开胜,邵贝贝. 学做智能车M. 北京. 北京航空航天大学出版社. 20072 童诗白,华成英. 模拟电子技术基础M. 北京. 高等教育出版社. 20003 王晓明. 电动机的单片机控制M北京. 北京航空航天大学出版社20024 沈长生常用电子元器件使用一读通M北京. 人民邮电出版社20045 邵贝贝. 单片机嵌入式应用的在线开发方法M北京清华大学出版社20046 张伟等Protel DXP 高级应用M北京. 人民邮电出版社20027 聂荣等,实例解析PCB设计技巧M.北京:机械工业出版社,2006.8Tammy Noergaard ,嵌入式系统硬件与软件构架M.

51、北京:人民邮电出版社,2008.致 谢首先我们感谢教育部举办这样的创新比赛,感谢飞思卡尔公司对于学生创新活动的大力支持,感谢飞思卡尔智能汽车竞赛组委会提供竞技平台,让我们在这个平台上学到了知识。其次感谢我们指导教师的悉心指导,感谢学院领导对我们本次参赛的支持与帮助。同时还要感谢前辈们,感谢前辈们给我们提供的资源以及经验。再次感谢本届大赛各位评委能够在百忙之中抽出宝贵时间对我们的智能车进行评定和提出宝贵的建议。最后感谢所有关心过我们比赛的亲人、老师和同学,在你们的祝福下,我们赢得了掌声,在此向各位致以崇高的敬意!附录 部分程序源代码#include "main.h"exter

52、n unsigned char ADV128;char speed_target=30;unsigned char start128=0;extern unsigned char CCD_error128;extern unsigned char num_ren,qipao_ce_flag;extern volatile int midlle_old;extern unsigned char chafeng126; /隔一点差分extern byte RD_TSL_flag,speed_PID_flag;void Init_all(void) setbus_64M(); PWM_int(); PIT_Init(); Io_Init(); ATD0_Init(); UART0_Init(); T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论