版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告 学 校:唐山师范学院 队伍名称:飞扬队 参赛队员:蔡红叶 杨飞 辛浩 带队教师:赵欣 李亚美 关于技术报告和研究论文使用授权的说明本人完全了解第九届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 摘 要本文设计的智能车系统以飞思卡尔公司生产的mc9s12XS128微控制器为核心控制单
2、元;利用线性CCD采集赛道信息,跟踪法提取赛道两边的黑线信息,用于赛道识别和控制;利用编码器反馈模型车的实际速度,使用PID+BANGBANG控制算法调节驱动电机的转速;根据前方黑线的信息,进行图像处理,用PD算法控制转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。为了提高模型车的速度和稳定性,使用上位机、无线模块、液晶模块等调试工具,并进行了大量硬件与软件测试。实验结果表明,该系统设计方案确实可行。 关键字:mc9s12XS28,线性CCD,PD,PID+BANGBANG 目录摘 要III第一章 引 言11.1 智能车研究背景11.1.1 发展历史11.1.2 智能车的应用前景1
3、1.2 飞思卡尔智能汽车大赛介绍2第二章 系统总体设计42.1系统概述42.2整车布局4第三章 智能车机械设计及安装63.1车体机械建模63.2底盘高度的调整与固定63.3前轮的调整73.3.1 主销后倾73.3.2主销内倾73.3.3 前轮外倾83.3.4 前轮前束83.4编码器的安装93.5舵机安装结构的调整103.6后轮差速的调整103.7线性CCD的安装113.8 小结11第四章 硬件系统设计及实现124.1硬件设计方案124.2传感器的选择124.2.1 线性CCD124.2.2 编码器134.3电路设计方案134.3.1单片机最小系统板134.3.2电源稳压电路144.3.3电机驱
4、动电路164.3.4舵机接口电路164.3.5拨码开关和无线串口电路174.4本章小结17第五章 软件算法设计195.1概述195.2 xs128芯片各模块初始化195.2.1普通IO口初始化195.2.2系统时钟初始化205.2.3 PWM脉宽调制初始化215.2.4 定时器初始化215.2.5 AD模块初始化215.3路径识别算法225.4 PID算法概述235.5 速度控制策略245.5.1速度PID245.5.2 速度分档策略255.5.3 棒棒控制算法255.6 舵机控制策略265.7坡道处理策略265.8路障处理策略265.9起始线处理策略26第六章 软硬件工具的调试286.1开发
5、环境介绍286.2无线通信模块29第七章 车模技术参数与总原理图30第八章 总结328.1优势:328.2不足:328.3心得与致谢:32参 考 文 献I附录A:程序源代码II27第一章 引言第一章 引 言1.1 智能车研究背景 1.1.1发展历史智能小车系统是迷你版的智能汽车,二者在信息提取,信息处理,控制策略及系统搭建上有很多相似之处,可以说智能小车系统将为智能汽车提供很好的试验和技术平台,从而推动智能汽车的发展。智能汽车是未来汽车的发展方向,将在减少交通事故、发展自动化技术、提高舒适性等许多方面发挥很重要的作用;同时智能汽车是一个集通信技术,计算机技术,自动控制,信息融合技术,传感器技术
6、等于一身的行业,它的发展势必促进其他行业的发展,在一定程度上代表一个国家在自动化智能方面的水平1。汽车在走过的100多年的历史中,从没停止过智能化的步伐,进入20世纪90年代以来,随着汽车市场竞争激烈程度的日益加剧和智能运输系统(ITS)的兴起,国际上对于智能汽车及其相关技术的研究成为热门,一大批有实力有远见的大公司、大学和研究机构开展了这方面的研究。很多美国、日本和欧洲等国家都十分重视并积极发展智能车系统,并进行了相关实验,取得了很多成就。我国的相关研究也已经开展,清华大学成立了国内最早的研究智能汽车和智能交通的汽车研究所,在汽车导航、主动避撞、车载微机等方面进行了广泛而深入的研究,2000
7、年上海智能交通系统进入实质性实施阶段,国防科大研制出第四代无人驾驶汽车,西北工业大学、吉林交通大学、重庆大学等也展开了相关研究。这一新兴学科正在吸引越来越多的研究机构和学者投入其中。 1.1.2 智能车的应用前景 智能车系统有着极为广泛的应用前景。结合传感器技术和自动驾驶技术可以实现汽车的自适应巡航并把车开得又快又稳、安全可靠;汽车夜间行驶时,如果装上红外摄像头,就能实现夜晚汽车的安全辅助驾驶;此外,智能车系统还可以工作在仓库、码头、工厂或危险、有毒、有害的工作环境里,并能担当起无人值守的巡逻监视、物料的运输、消防灭火等任务。在普通家庭轿车消费中,智能车的研发也是很有价值的,比如雾天能见度差,
8、人工驾驶经常发生碰撞,如果用上这种设备,激光雷达会自动探测前方的障碍物,电脑会控制车辆自动停下来,撞车就不会发生了。1.2 飞思卡尔智能汽车大赛介绍 飞思卡尔公司开发嵌入式解决方案的历史可追溯到50多年前,现在,已发展成为在20多个国家设有业务机构,拥有 20,000多名员工的实力强大的独立企业。飞思卡尔公司专门为汽车、消费电子、工业品、网络和无线应用提供“大脑”。他们无比丰富的电源管理解决方案、微处理器、微控制器、传感器、射频半导体、模块与混合信号电路及软件技术已嵌入在全球使用的各种产品中。并拥有雄厚的知识产权,其中包括6,200 多项专利。为加强大学生实践、创新能力和团队精神的培
9、养,促进高等教育教学改革,受教育部高等教育司委托(教高司函2005201号文,附件1),由教育部高等自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。该竞赛以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生 的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神, 为优秀人才的脱颖而出创造条件。该竞赛由竞赛秘书处为
10、各参赛队提供/购置规定范围内的标准硬软件技术平台,竞赛过程包括理论设计、实际制 作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛规则透明,评价标准客观,坚持公开、公平、公正的原则,保证竞赛向健康、普及,持续的方向发展。该竞赛以飞思卡尔半导体公司为协办方,得到了教育部相关领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区近300所高校广泛
11、参与的全国大学生智能汽车竞赛。2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函200730号文)。 全国大学生智能汽车竞赛原则上由全国有自动化专业的高等学校(包括港、澳地区的高校)参赛。竞赛首先在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛。每届比赛根据参赛队伍和队员情况,分别设立光电组、摄像头组、电磁组等多个赛题组别。每个学校可以根据竞赛规则选报不同组别的参赛队伍。全国大学生智能汽车竞赛组织运行模式贯彻“政府倡导、专家主办、学生主体、社会参与”的16字方针,充分调动各方面参与的积极性。 全国大学生智能汽车竞赛一般在每年
12、的10月份公布竞赛的题目和组织方式,并开始接受报名,次年的3月份进行相关技术培训,7月份进行分赛区竞赛,8月份进行全国总决赛。第二章 系统总体设计第二章 系统总体设计2.1系统概述 本智能车系统主要有几大部分组成,包括电源模块,驱动模块,采集模块,信息处理模块,测速模块等组成。利用线性CCD对赛道信息进行采集,通过飞思卡尔MX9S12XS128单片机进行处理使小车按照要求的路线行驶;编码器采集当前速度,实现智能车的闭环控制;方向控制上我们采用PD控制算法,速度上采用PID和BANGBANG控制相结合的思想。根据智能车系统的基本要求,我们设计了系统结构图,如图2.1所示。在满足比赛要求的情况下,
13、力求系统简单高效,因而在设计过程中尽量简化硬件结构,减少硬件故障。Mc9s12xs128线性CCD舵机转向液晶按键测速编码器电机驱动模块电源模块图21 系统结构图2.2整车布局(1)车模底盘降低,主板低放,以降低重心。(2)舵机放于车体前方,节省空间。(3)用轻便坚固的碳纤杆作为线性CCD杆的材料。(4)电池放于车体前方,使重心落在车体中心。如图2.2第三章 智能车机械设计及安装图22 智能车实物图第三章 智能车机械设计及安装 根据组委会的相关规定,今年光电组比赛车模更换为B型车模。针对不同的车模,必然会有不同的调整方案。在比赛备战之初,我们就对该车模进行了详细的系统分析。B型车模精度不是很高
14、,因此在规则允许范围内尽量改造车模,提高车模整体精度是很必要的。本章将介绍我们在由组委会提供的B 车模的基础上对车模进行机械分析与改装,以达到使智能车机械性能最佳的目的。3.1车体机械建模此次竞赛的赛车车模选用由北京科宇通博科技有限公司提供的B型车模。车模外形如图3.1所示。图31 车模外形3.2底盘高度的调整与固定在保证顺利通过坡道的前提下,底盘尽量降低,从整体上降低模型车的重心,使模型车转弯时更加稳定、高速。于是我们增加前轮垫片,协调后轮的垫片,使车模重心达到了允许范围内的最低,防止了允许过程中翻车的发生。使车模更加稳定,有利于速度的提升 此外我们参照组委会的相关规定,用废弃的PCB板对底
15、盘与后轮电机连接部分进行了固定,这样使底盘与后轮电机连接部分连接成为一个钢性结构,从而大大地减小了车模行驶过程中CCD的抖动,提高了车模的整体稳定性。3.3前轮的调整根据汽车理论,对前轮的调整主要包括主销后倾,主销内倾,前轮外倾,前轮前束几个方面。 3.3.1 主销后倾 从侧面看车轮,转向主销(车轮转向时的旋转中心)向后倾倒,称为主销后倾角。设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离(称作主销纵倾移距,与自行车的前轮叉梁向后倾斜的原理相同),使车轮的接地点位于转向主销延长线的后端,车轮就靠行驶中的滚动阻力被向后拉,使车轮的方向自然朝向行驶方向。设定很大的主销后倾角可
16、提高直线行驶性能,同时主销纵倾移距也增大。主销纵倾移距过大,会使舵机沉重,而且由于路面干扰而加剧车轮的前后颠簸。 图32 主销后倾示意图3.3.2主销内倾 从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。当车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的效应,因而舵机复位容易。 此外,主销内倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距离减小,从而减小转向时舵机的拉力,使转向操纵轻便,同时也可减少从转向轮传到舵机上的冲击力
17、。但主销内倾角也不宜过大,否则加速了轮胎的磨损。 3.3.3 前轮外倾 前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂 线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安 全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在 1° 左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模
18、型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为 0° 即可,并且要与前轮前束匹配。3.3.4 前轮前束 所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨 损。前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动 时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。像内八字那样前端小 后端大的称为“前束”,反之则称为“后束”或“负前束”。在实际的汽车中,一般前束为 012mm 。 前束的调整总是依据主销内倾的调整。只有主销内倾确定后才能确定合适 的前轮前束
19、与之配合。前轮前束的调整是方便的。主销内倾的调整由于要拧开 螺丝钉,固定件又为塑料,所以频繁的调整容易引发滑丝现象。而前束不会, 所以调整前束是最安全、方便的。 前束在摩擦大的时候有明显的效果。但是一定不要太大,适当的放开一两 圈就够了。在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主 销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大 小。在实际的调整过程中,我们发现较小的前束,约束 02mm 可以减小转向 阻力,使模型车转向更为轻便,但实际效果不是十分明显。调节合适的前轮前 束在转向时有利过弯,还能提高减速性。将前轮前束调节成明显的内八字,运 动阻力加大,
20、提高减速性能。由于阻力比不调节前束时增大。智能汽车采用稳定速度策略或者采用在直道高速弯道慢速的策略时, 应该调节不同的前束。后一种策略可以适当加大前束。 图33 前轮前束示意图3.4编码器的安装编码器在智能车当中起到了测速的作用,通过编码器对电机转速的测定我们可以知道车模在某个时刻的速度,从而通过软件调整差值,是车模的速度达到我们想要的效果,让车模电机运转处于我们所要求的理想状态,从而形成一个速度闭环控制系统,我们使用了测速编码器去测量脉冲数,就可以得到当前电机的转速。如图3.4所示,图34 编码器安装示意图3.5舵机安装结构的调整 原装车模的舵机安装占用位置较多, 考虑到主板的安装方便以及车
21、模转向性能,我们对舵机安装结构进行了较大的调整。比赛车模的转向是通过舵机带动左右横拉杆实现。舵机的转动速度和功率是一定,要想加快转向机构的响应速度,唯一的办法就是优化舵机的安装位置及其力矩延长杆的长度。 最终,我们选择了一套舵机连片(转向拉杆),综合考虑了速度与力矩的关系,并根据模型车底盘的具体结构,简化了安装方式,实现了预期目标。关于舵机的安装方式,我们的舵机安装如图3.5所示。图35 舵机安装示意图3.6后轮差速的调整 后轮差速的调整对车模的性能也有着很重要的作用,差速过紧,有利于车模 在直道上的加速,但是不利于车模顺利通过弯道;差速太松,有利于车模顺利通过弯道,但是在直道上,这会导致车模
22、速度加不起来,从而增加了车模的比赛时间,这也是不利的。因此,经过软件和机械的不断结合在一起调试,均衡直道和弯道的不同需求,我们选择了较为合适的差速。使小车加速良好且过弯顺畅。3.7线性CCD的安装由于线性CCD 镜头视角的限制,只有将CCD架的比较高才能得到想要的赛道宽度,于是额外增加了 4根支架,保证CCD的稳定。使用轻质的纤维杆,尽量降低重心。见下图图36 CCD安装示意图3.8 小结本章通过对B型车模进行系统的建模分析,在比赛规则的允许范围内,制定了整车机械系统的设计安装和改进方案,使其能够符合智能车的竞技要求,主要包括模型车机械部分安装及改造、传感器的设计安装、系统电路板的固定及连接等
23、。车速较高时,小车的机械结构显得尤为重要,只有好的机械结构才能提高小车的最高速度。第四章 硬件系统设计及实现第四章 硬件系统设计及实现4.1硬件设计方案该硬件系统是以单片机为核心,故硬件设计时我们都是围绕着单片机的相关功能及结构进行的。为了保证硬件系统的安全、可靠和高效,我们采取以下措施:1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。 2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实现,以简
24、化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。4、系统中的相关器件要尽可能做到性能匹配。5、可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。4.2传感器的选择4.2.1 线性CCD线性CCD为光电平衡组获取赛道信息的主要传感器,根据竞赛规则,线性CCD需选用TSL1401系列线性CCD传感器。TSL1401在时序控制下,可以串行输出内部128个点的模拟数据,由于输出模拟信号幅值较小,需加一级运算放大器。根据竞赛规定,我们选用了如下线性CCD模块,其大体结构如下:图41线性CCD 其中,SI为曝
25、光时间控制信号,CLK为串行时钟信号,AO为放大后的像素模拟量输出。其单片机的接口如下图所示:图42 CCD接口图4.2.2 编码器 增量式光电编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,但是不能通过输出脉冲区别出在哪个位置上的增量。它能够产生与位移增量等值的脉冲信号,其作用是提供一种对连续位移量离散化或增量化以及位移变化(速度)的传感方法,它是相对于某个基准点的相对位置增量,不能够直接检测出轴的绝对位置信息。一般来说,增量式光电编码器输出A、B 两相互差90°电度角的脉冲信号(即所谓的两组正交输出信号),从而可方便地判断出旋转方向。考虑到编码器的分辨率、精度、输出信号
26、的稳定性、响应频率、信号输出方式等指标,最终我们选取512线的MINI编码器。4.3电路设计方案智能车控制系统电路有三部分组成:MC9S12XS128为核心的最小系统板、主控板、驱动模块。最小系统板可以插在主板上,组成了信号采集、信号处理、电机控制、舵机控制单元。为了减小电机驱动电路带来的电磁干扰,我们把控制单元部分和电机驱动部分分开来制作板子,防止驱动过热对主板造成影响。主板上集成了本系统的主要电路,它包括如下部件:电源稳压电路、最小系统板插座、CCD接口、舵机接口、编码器模块、拨码开关、无线串口、指示灯等。4.3.1单片机最小系统板MC9S12XS128是Freescale16位HCS12
27、系列单片机,也称MC9S12系列,简称S12系列。MC9S12X系列是HCS12系列的增强型产品,基于S12 CPU内核,可达到25MHz的HCS12的25倍的性能。单片机最小系统板使用MC9S12XS128单片机,112引脚封装,为减少电路板空间,板上仅将本系统所用到的引脚引出,包括PWM接口、计数器接口、外部中断接口、若干普通IO接口等。此外,还包括电源滤波电路、时钟电路、复位电路、串行通讯接口等。图43 单片机接口电路4.3.2电源稳压电路 本系统中电源稳压电路分别需要有5V,6V,3.3V,12V。5V为单片机、编码器、拨码开关、无线串口、线性CCD等供电。6V单独给舵机提供稳定电源。
28、3.3V对液晶OLED供电。12V为电机驱动供电。5V电源模块:5V几乎成了本车的灵魂,此模块采用LM2940电压转换芯片将电池电压7.2V转换为5V,为单片机以及其他需5V电源的模块供电,由于LM2940的稳压的线性度非常好且转换压差较大,所以选用LM2940进行供电。图44 5V电源模块 6V电源模块:转向舵机对于其他模块干扰较大,于是单独设计电路给舵机供电,此模块采用LM2941电压转换芯片将7.2V转换为6V,电压比较稳定,能满足舵机转向的需求。原理图如下:图45 6V电源模块3.3V电源模块:采用ASM117-3.3产生3.3V电压,仅供给液晶使用。电路原理图如下:图46 3.3V电
29、源模块12V电源模块:采用MC34063升压。供给驱动,效果良好。图47 12V电源模块4.3.3电机驱动电路 由于BTN7970驱动电路简单使用方便,初期,我们采用4片BTN7970并联使用,在速度小于2.5M/S时,并无严重发热现象,后来发现当速度大于2.5M/S时,驱动会有明显的发热现象,甚至驱动芯片会进入过热保护。如果再进行提速,需要强烈的加减速,这样BTN无法胜任。于是我们选择MOS管来设计驱动电路,发现使用MOS驱动后,车的性能得到很大提升,且加减速芯片几乎不发热。电路如下:图48 电机驱动原理图4.3.4舵机接口电路舵机接口电路包括,供电接口和PWM信号输入接口。电路接口如下图所
30、示:图49 舵机接口4.3.5拨码开关和无线串口电路主板上还包括拨码开关电路和无线串口电路。图410 拨码开关、无线串口电路4.4本章小结前一章介绍了小车的机械结构,如果说机械结构是小车的四肢的话,那么硬件电路的各个模块就是小车的器官和各大系统。本章主要介绍硬件系统的各个模块。而各个模块都是我们自己精心设计的,自己认真的设计电路板的形状,对电路板进行合理的布局、布线,最终制作出PCB板。然后我们又自己手工焊电路板,最终经过调试后成功投入使用。达到了预期的效果。第五章 软件算法设计第五章 软件算法设计5.1概述软件算法是智能车设计的最核心部分,硬件是为软件提供了平台,而算法则是车模的灵魂,是他的
31、驾驶员。本章将从各模块的初始化,信息采集、舵机控制、电机控制 来着重介绍算法。控制框图图像处理图像采集速度采集速度控制转向控制 图51 控制框图5.2 xs128芯片各模块初始化智能车软件系统包括几大模块,包括普通IO口模块、锁相环、AD模块、定时器模块、中断模块和PWM脉宽调制模块等。弄清这些模块的初始化,将很快的入门智能车,下面详细介绍各模块的初始化。5.2.1普通IO口初始化包括设置液晶,蓝牙,CCD等使用的IO口为输入或输出模式,并选择是否使用内部上拉电阻等。void IO_Init(void) DDRA=0XFF; /CCD 液晶 全a口为输出口 PORTA_PA0 = 0; /配置
32、IO的数据为0 PORTA_PA1 = 0; /配置IO的数据为0 PORTA_PA2 = 0; /配置IO的数据为0 PORTA_PA3 = 0; /配置IO的数据为0 线性CCD DDRB=0x00; /全B口为输入口 拨码开关 低导通 DDRK=0x00; /全K口为输入口 包括按键 编码器方向 PUCR_PUPKE=1; PUCR_PUPBE=1;5.2.2系统时钟初始化初始化后时钟频率为64 MHZ,使指令运算加快,能很好的满足系统要求。void SetBus_64M(void) CLKSEL_PLLSEL=0; /禁止使能锁相环时钟 PLLCTL_PLLON=1; /锁相环电路允许
33、 SYNR=0xc0|0x07; /VCO_clock=2*osc_clock*(SYNR+1)/(REFDV+1)=128MHz/VCOFRQ1:0=1:1,代表VCO_clock在80120MHz REFDV=0x80|0x01; /VCO_clock=2*osc_clock*(SYNR+1)/(REFDV+1)=128MHz /REF_clock=osc_clock/(REFDV+1) /REFFEQ1:0=1:0,代表参考时钟在612MHz之间 POSTDIV=0x00; /PLL_clock=VCO_clock _asm(nop); _asm(nop); /短暂延时,等待时钟频率稳定
34、 while(!(CRGFLG_LOCK=1) ; CLKSEL_PLLSEL=1; 5.2.3 PWM脉宽调制初始化PWM模块为智能车最基础最重要模块,它控制了转向系统里的舵机,和电机的转速。void PWM_Init(void) PWMCTL_CON01=1; /0和1联合成16位PWM PWMCAE_CAE1=0; /选择输出模式为左对齐输出模式 PWMCNT01 = 0; /计数器清零 PWMPOL_PPOL1=1; /先输出高电平,计数到DTY时,反转电平 PWMPRCLK = 0; /clock A不分频,即clock A=bustle PWMSCLA = 16; /对clock
35、SA进行分频,PWM clock=clock/(2*16)=2MHz PWMPER01 =6667; PWMCLK_PCLK1 = 1; PWME_PWME1=1; /PWM1通道使能 PWMDTY01=3020;5.2.4 定时器初始化固定的中断周期,定时采集赛道信息,采集小车运行速度等void init_PIT(void) PITMTLD0=249; /为0通道8位计数器赋值PITLD0=2559; /为0通道16位计数器赋值 PITMUX_PMUX0=0; /第0通道使用微计数器0 PITCE_PCE0=1; /第0通道计数器工作 PITCFLMT=0X80; /使能周期中断定时器 PI
36、TINTE_PINTE0=1; /0通道定时器定时中断被使能 5.2.5 AD模块初始化AD模块 实现了赛道信息模拟与数字之间的转换。void ADC_Init(void) ATD0CTL4 = 0x0F; ATD0CTL3 = 0x88; ATD0CTL1 = 0x0F; ATD0CTL2 = 0x40; ATD0DIEN = 0x00;5.3路径识别算法路径识别算法是智能车的眼睛,对智能车系统的稳定起着很重要的作用,经过蓝牙将赛道信息反映到上位机上可以帮助很清晰的分析赛道。图52 直道图53弯道图53 全白十字5.4 PID算法概述PID控制算法是应用最为广泛的一种控制规律。它具有原理简单
37、、易于实现、鲁棒性强和适用面广等优点。无论是过去还是现在,其应用都十分广泛,近20年来相继出现一批复杂的,只有计算机才能实现的控制算法。然而,目前即使在过程计算机控制中,PID控制仍然是应用最广泛的控制算法。PID控制器根据给定的理想值r(t)与实测值c(t)之间差值e(t)=r(t)-c(t);然后将误差的比例P(比例)、I(积分)D(微分)比例相加计算得到控制量u(t)作用于被控制对象,控制框如图5-1所示。其时域表达式为:其传递函数表达式为:图54 PID框图5.5 速度控制策略5.5.1速度PID在电机控制中,我们采用了PI控制,偏差为速度期望值motor_hope与实测值get_pl
38、use之差作为偏差量motor_error=motor_hope-get_pluse,经过运算得到控制量motor_out。为避免控制量过大或过小对系统稳定性的影响,我们设置了上限控制量和下限控制量,此外,我们采用的是子函数调用的方法。void dianjipid(int K) pwm23=duty23; wucha=K-now_maichong; d_wucha=wucha-per_wucha; dd_wucha=d_wucha-dper_wucha; per_wucha=wucha; pwm23+=(kp*d_wucha+ki*wucha+kd*dd_wucha); if(pre_pwm2
39、3>2500)pre_pwm23=2500; /速度提升 需要增加 duty23=pre_pwm23; if(pre_pwm23>0) PWMDTY67=0;PWMDTY23=pre_pwm23; if(pre_pwm23<=0) if(pre_pwm23<-300)pre_pwm23=-300; PWMDTY23=0;PWMDTY67=0-pre_pwm23; 5.5.2 速度分档策略为了提高速度,我们给不同赛道设置了不同速度期望值,直道正常,入弯减速,出弯加速,这样能是速度有很大提高。在不同赛道给定不同期望值YUSHE_MAICHONG和比例运算系数FENMU,这样
40、速度PI控制函数就会自动输出不同赛道情况下的速度控制量MAICHONG.5.5.3 棒棒控制算法棒棒控制的基本思路是当检测到的输出量大于理想输入量时,就急剧将控制量增加到最大,让输出量以最快的速度减少,当检测到的输出量小于理想的输入量时,就急剧将控制量降低到最小,让输出量以最快的速度减少。本赛车系统的速度控制采用了棒棒控制与PID控制相结合的方式。其基本思路为:智能车的理想速度由当前的道路信息决定。当光电编码器检测到的速度与理想速度相差较远时,采用棒棒控制;当光电编码器检测到的速度与智能车的理想速度逐渐接近以后,就采用PID控制。对主电机的控制是通过一个H桥,将H桥的两个口分别接单片机的两个管
41、脚,在本系统中,H桥的两端分别接单片机口中的PTP3和PTP1,当PTP1为高电平,PTP3为高电平时,主电机全速正转,当PTP1为低电平,PTP3为低电平时,主电机全速反转。采用棒棒控制进行速度控制的原理就是检测智能车的当前速度,如果当前速度低于理想的速度,就PTP3置为高电平,从PTP1口输出一路占空比很高的PWM波,电机就能以最大的加速度升速。反之,就把PTP3置为高电平,从PTP1口输出一路占空比很大的PWM波,从而让电机以最大的加速度降速。棒棒控制算法由于其快速性非常好,而本赛车系统的速度调节也正好要求很好的快速性,因而在本智能车的调速过程中用到了棒棒控制算法也就理所当然,但是,棒棒
42、控制算法在用于本赛车调速时也存在着一定的不足,由于主电机的数学模型为一个惯性环节,存在着一定时间的延时,因此如果仅仅使用棒棒控制一种算法可能导致超调,也不可能达到稳定,且在任何时刻通过主电机的电流都始终为最大,只是在不同的时刻可能会出现一正一反。正是出现一正一反的这种情况,对主电机以及主电机驱动电路的冲击最大,既造成整个智能车功耗的增加,又可能导致主电机及主电机驱动芯片因电流冲击过大而烧坏。因而在智能车的实际检测速度与理想速度接近时,可以采用PID控制算法,这样就既能实现调速的快速性,又能实现速度的平稳性,降低智能车的整体功耗,达到很好的调速效果。5.6 舵机控制策略 速度慢的时候我们只采用了
43、P控制转向,发现车可以跑完全部赛道,随着速度的提升,车出现抖动不稳,加入D项后,车变得更加稳定,调节合适的PD参数,使小车跑的更加稳定。后来发现车子在过一些急弯的时候反应不够迅速,于是尝试了二次P的思路,发现舵机反应更加迅速,更能适应赛道,于是选择了二次P。5.7坡道处理策略车在到达坡道时,根据“近大远小”的原则,此时的赛道宽度会明显增大,利用这一特点进行坡道的识别和处理,进行速度和转向的特殊控制,防止车速过快而从坡道摔下。5.8路障处理策略 前方遇到路障时,CCD反馈回来的赛道宽度会立刻减小,结合远CCD辅助判断可以很好的识别路障。识别出赛道宽度减小的那边,判断为左还是右路障。使小车安全通过
44、路障。5.9起始线处理策略起初打算使用光电对管检测起跑线,检测精度高。由于临近比赛,时间限制,于是选择了直接用线性CCD来识别起跑线,发现检测成功率比较高。下面是CCD采集到起跑线时的图像:图56 起跑线第六章 软硬件工具的调试第六章 软硬件工具的调试6.1开发环境介绍在整个开发调试过程中,使用Metrowerks 公司为MC9S12 系列专门提供的全套开发工具(Freescale Codewarrior IDE)。这是一套用C 语言进行编程的集成开发环境本文智能车定位系统的软件设计部分就是在此开发环境下完成的。其使用界面如下图6-1:图61编程与调试界面CodeWarrior IDE 是由M
45、etrowerks 公司提供的专门面向Freescale 所有MCU与DSP 嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C 交叉编译器、汇编器、链接器以及调试器。CodeWarrior IDE 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。每个应用程序都经过了使用像CodeWarrior IDE这样的开发工具进行编码、编译、编辑、链接和调试的过程。CodeWarrior IDE中的mc9s12dg128.h 文件对所有
46、寄存器对应的存储映射地址都进行了宏定义,开发者在软件开发时直接调用这些宏就可以了。CodeWarrior 的功能非常强大,可用于绝大部分单片机、嵌入式系统的开发。用户可在新建工程时将芯片的类库添加到集成环境开发环境中,工程文件一旦生成就是一个最小系统,用户无需再进行繁琐的初始化操作,就能直接在工程中添加所需的程序代码。6.2无线通信模块在调试过程中,为了能够实时获取智能车在运动过程中的一些参数,以及避免智能车在尝试各种算法时冲出赛道而发生意外,我们使用了蓝牙无线通信模块传输数据。利用蓝牙可以在远程上显示智能车的实时赛道信息,更加直观方便地观察智能车的状态,方便调试和程序分析。图62无线模块图6
47、3上位机界面第七章 车模技术参数和总原理图第七章 车模技术参数与总原理图项目参数路经检测方法线性ccd采集车模几何尺寸(长*宽*高)(厘米)30*18*45车模平均电流(毫安)1000电容总容量(微法)1500传感器种类及个数线性CCD 2个编码器1个新增加伺服电机个数(个)0赛道信息检测空间精度(毫米)20赛道信息检测频率(次 / 秒)100车模重量(带电池)(kg)1.5车模最大前瞻(厘米)70主板总原理图 nmos驱动实物图第八章 总结8.1优势:采用带运放的CCD,降低了曝光时间,采集精度得到明显的提高。跟踪法对ccd采集的赛道信息进行处理,抗干扰性增强。在接近比赛的一个月里我们意识到
48、稳定性比快速性更重要,只有稳定性好了,才能在速度上有更高的突破,于是我们不再盲目追求速度而是不断对各方面进行改进,提高小车的稳定性,也正因如此,我们得以在比赛中稳定发挥。8.2不足:所采用的线性CCD的视角较小,不得不使得线性CCD被架的很高,这样高的CCD支架又使得杆子稳定性减小,使机械结构显得复杂。小车在速度控制上略显不足。相信在速度控制算法上能再有改进,一定会有更多突破。8.3心得与致谢:智能车的制作对每一个人来说都是一个成长的过程,经过将近一年的努力,从对智能车的一无所知,到现在冲进国赛,里面包含了太多的沮丧和开心。在这沮丧和开心中我们不断学习与进步,成为大学里最精彩的回忆。记得车第一
49、次跑完全程的时候,我们组每人的心情都是无比激动的,大家脸上都挂满了笑容。当车会无缘无故的跑不好,或者单片机又烧了,亦或是舵机又坏了,等等问题又让我们不断地懊恼。那时车的速度虽然很慢,很容易穿道,但是经过我们一帧一帧的分析图像,在摸索中不断地改进和完善算法,使智能车最终能够在赛道上稳定行驶,跑出速度,赛出我们的成绩。从中学习到的知识和经历也都是十分珍贵的,相信这些经历将成为我们一生铭记的历史。是智能车让我们的大学更加精彩,更加有意义。实验室里我们无悔地付出,我们不再在意最后的成绩,因为我们已经得到了最大的收获。同时感谢学校和物理系的老师们在此过程中对我们的毫无保留地指导,感谢他们的支持和鼓励;还
50、有我们可爱的同学们,感谢你们,是你们的陪伴和帮助,让我取得更大的进步。最后感谢组委会提供了一个这样的平台,让我们在探索中,不断学习,不断进步。XIII参 考 文 献(1) 卓晴,黄开胜.邵贝贝,学做智能车M.北京:北京航天航空出版社,2007(2) 童诗白.华成英模拟电子技术基础 M 北京: 高等教育出版社,2001.(3) 阎石数字电子技术基础 M 北京: 高等教育出版社,2000.(4) 谭浩强著C程序设计北京:清华大学出版社,2003(5) 蔡述庭 智能汽车竞赛设计与实践 北京航空航天大学出版社附录A:程序源代码void main(void) DisableInterrupts; Set
51、Bus_64M(); IO_Init(); PWM_Init();PWMdianji_Init();LCD_Init(); init_PIT();TimInit() ;ADC_Init();UART0_Init(); EnableInterrupts; for(;) _FEED_COP(); /* feeds the dog */ keyscan(); yejing(); lanya(); int abs(int k) if(k>0) return k; else return -k;unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT) unsigned short CRC_Temp; unsigned char i,j; CRC_Temp = 0xffff; for (i=0;i<CRC_CNT; i+) CRC_Temp = Bufi; for (j=0;j<8;j+) if (CRC_Temp & 0x01) CRC_Temp = (CRC_Temp >>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度装饰装修工程安装合同
- 2024年工程材料供应与验收合同
- 公司员工检讨书
- 2024年度新能源发电设备采购与销售合同
- 2024年度W公司环保服务合同协议书
- 2024年建筑公司员工聘用合同
- 2024年度网络通讯工程安全文明施工管理协议
- 2024年大型油田勘探开发合作合同(海外)
- 2024年度某航空公司飞机采购合同
- 2024年度区块链应用合作协议
- 暖通工程师面试试题(含答案)
- 行政服务中心窗口工作人员手册
- 最新患者用药情况监测
- 试桩施工方案 (完整版)
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- 中工商计算公式汇总.doc
- 深圳市建筑装饰工程消耗量标准(第三版)2003
- 《初中英语课堂教学学困生转化个案研究》开题报告
- 恒温箱PLC控制系统毕业设计
- 176033山西《装饰工程预算定额》定额说明及计算规则
评论
0/150
提交评论