乐山师范学院光电乐师1队技术报告_第1页
乐山师范学院光电乐师1队技术报告_第2页
乐山师范学院光电乐师1队技术报告_第3页
乐山师范学院光电乐师1队技术报告_第4页
乐山师范学院光电乐师1队技术报告_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、第六届“飞思卡尔”杯智能汽车竞赛大学生技术报告学校:乐山师范学院队伍名称:乐 师 1 队参赛队员:范兵贾志超高鹏带队教师:张自友 张九华关于技术报告和研究使用的说明本人完全了解第四届“飞思卡尔”杯大学生智能汽车邀请赛关保留、使著作权归参赛者本人,比赛用技术报告和研究的规定,即:参赛和飞思卡尔半导体公司可以在相关主页上收录并公开参赛的设计方案、技术报告以及参赛模型车的中。、图像资料,并将相关内容编纂收录在论参赛队员签名: 带队教师签名: 日期: I第六届大学生飞思卡尔杯智能汽车竞赛技术报告摘要:本文介绍了基于飞思卡尔 16 位微器的智能车系统。本系统以 MC9S12XS系列微器为,软件平台为 C

2、odewarrior IDE 5.0 开发环境,使用主委会统一提供的车模。文章介绍了整个系统的硬件和软件设计开发过程。车模使用 MC9S12XS128MAA作为主控,以安装在随动舵机上的激光传感器来检测赛道信息,用光电编码器检测车模的速度信息,由反射式红外光电传感器检测坡道信息。整个系统的工作原理主要是由 MC9S12XS128MAA 单片机激光传感器和红外传感器返回的赛道信息,以及光电编码器返回的速度信息,通过程序设计算法,来舵机的转角和电机的速度。关键字:飞思卡尔智能车,MC9S12XS128,激光传感器,PIDII目录第一章引言11.1概述11.2章节安排1第二章硬件电路设计22.1系统

3、总体结构22.1.1模块22.1.2激光检测模块22.1.3电源模块32.1.4电机驱动模块32.1.5测速模块32.2单片机最小系统32.3电源模块42.4电机驱动模块52.5速度检测模块62.6坡道检测模块7第三章传感器的设计及安装93.1传感器的选择93.2激光检测原理93.3激光传感器的设计10第四章车模机械调校114.1车模部分参数要求114.2舵机安装114.3前轮调整术语介绍134.3.1 主销后倾角134.3.2 主销内倾角134.3.3 前轮前束144.3.4 前轮外倾角154.4前轮调整15III第六届大学生飞思卡尔杯智能汽车竞赛技术报告4.5重量和重心调整164.6差速器

4、调整164.7其它调节174.8轮胎的使用17第五章软件设计185.1数据的.185.2随动摇头舵机的.195.3前轮转向舵机的.195.4点头舵机的.205.5电机的.205.6PID 算法的引入和改进215.7 软件部分总结225.8 开发平台23第六章 车模技术参数246.1智能车基本参数246.2种类及数量246.3激光传感器参数24第七章总 结257.1 特点257.2 不足25第八章 致谢27参考文献28附录:29IV第一章 引言1.1 概述大学生飞思卡尔智能汽车竞赛是受教育部高等教育司委托,由教育部高等自动化专业教学指导分委员会主办的大学生智能汽车竞赛。该竞赛以智能汽车为研究对象

5、的创意性科技竞赛,是面向大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的和潜能,倡导理论实际、求真务实的学风和团队协作的人文精神,为优秀的脱颖而出创造条件。将从硬件到软件一一的为大家呈现本智能车的设计方案和制作过程。1.2 章节安排的章节详细安排如下:第一章引言:介绍了智能小车的研究背景。第二章硬件电路设计:详细介绍了智能小车各部分的硬件电路设计制作。第三章传感器的设计及安装:详细介绍了智能小车传感

6、器部分的原理、选型和设计制作。第四章车模机械调校:详细介绍了车模调校的基本知识和本智能小车各部分的机械。第五章软件设计:详细介绍了智能车的算法和软件设计。第六章车模技术参数。第七章总结。第八章致谢。附录智能小车源程序。1第二章 硬件电路设计本章详细介绍了整个智能车硬件系统的设计和制作过程。2.1 系统总体结构系统总体结构图如图 2.1.1 所示。图 2.1.1 系统总体结构图2.1.1模块本智能车系统采用 freescale 单片机 MC9S12XS128作为,对的信号进行分析和处理,再根据信号对直流电机和转向舵机进行有效。MC9S12XS128 单片机 CPU 属于增强型 16 位 CPU,

7、片内总线时钟最高 40 MHz;其片内具有 8 KB RAM、128 KB 程序闪存、2 KB 数据闪存;脉宽调制模块(PWM) 可设置成 8 路 8 位或者 4 路 16 位,逻辑时钟选择频率宽;具有 1 个 8 路 12 位精度 A/D 转换器;另外片内还具有增强型捕捉定时器。完全可以胜任大量的数据处理和工作。2.1.2 激光检测模块利用光电方式对比赛赛道信息进行并反馈给处理单元,由处2第二章 硬件电路设计理单元对数据进行处理。2.1.3 电源模块为各个电路模块提供稳定电源,保证各模块正常工作。2.1.4 电机驱动模块对模型车上的电机进行驱动的速度,是强劲动力的保障。2.1.5 测速模块对

8、模型车的速度进行检测,实现闭环,以便调整弯道和直道的速度,从而提高平均速度,使小车更快跑完全程。2.2 单片机最小系统单片机最小系统是整个小车的。由于条件有限,我们选择最小系统板。该最小系统板稳定可靠,所有功能引脚均已引出。电路图如图 2.2.1所示。图 2.2.1 单片机最小系统原理图3第六届大学生飞思卡尔杯智能汽车竞赛技术报告2.3 电源模块电源是一个系统正常工作的保障,关系着小车是否能正常的运行。比赛使用的是统一提供的 7.2V 2000mAh Ni-Cd 电池供电。而单片机和传感器需要 5V 电源,舵机需要 6V 电源,电机驱动模块则需要 7.2V 和 5V 电源,因此我们需要稳压降低

9、电压以提供给各个模块使用。我们常用的集成三端稳压有两种:线性稳压和开关型稳压。线性稳压的特点是反应速度快、输出纹波小、发热量大、效率较低,例如 78XX系列。开关型稳压则功耗小,效率高,但是输出纹波大,电路复杂,例如LM2576、LM2596 等。经过大量选型和测试过后,我们选择了 LM2940 和 LM2941。LM2940 为低压差线性稳压器件,最大输出电流 1A,经过 LM2940 稳压后,输出 5V,对单片机、传感器和测速模块等供电。LM2941 为可调的低压差线性稳压器件,经过 LM2941 稳压后,输出 6V,对舵机供电。同时为了获得最佳的转向性能,转向舵机直接由电池供电。如图 2

10、.3.1 为电源模块基本电路图。图 2.3.1 电源模块基本电路图4第二章 硬件电路设计2.4 电机驱动模块前几届使用较多的集成驱动是 MC33886,但是这种驱动发热量大,内阻大且输出电流较小。本届我们选择的是英飞凌公司的大电流半桥驱动BTS7970,该最大输出电流为 63A,导通内阻为 16 毫欧,具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和过温、过压、欠压、过流及短路保护的功能。BTS7970 应用非常简单,只需要向第 2 引脚输入 PWM 波就能。当系统中只需要单向时,只需要让电机一端接地,另一端接BTS7970 第4 引脚。如果需要电机双向旋转,则需要另一片 BTS7970

11、共同组成全桥。图为BTS7970 各引脚功能。图 2.4.2 BTS7970 引脚功能为了能获得更大的输出电流,该驱动模块使用4 片BTS7970 组成了一个全桥。如图为驱动模块 PCB 图。图 2.4.3 驱动 PCB 图5第六届大学生飞思卡尔杯智能汽车竞赛技术报告2.5 速度检测模块速度检测我们考虑过以下两种方案。(1) 光电编码器光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器由光栅盘和光电检测装置组成,当光栅盘开始旋转,经发光二极管等电子元件组成的检测装置检测出若干脉冲信号,通过计算一定时间光电编码器输出脉冲的个数就可以反映出当前的速度。(2

12、) 第五轮测速第五轮测速原理和光电编码器大致相同,不同的是光电编码器测出的是电机的转速,而第五则轮测出的是小车的实际速度,方便对当前小车速度的。由于第五轮在机械上做起来相对较复杂,最终我们选择了将光电编码器与传动齿轮直接相连。图 2.5.1 为光电编码器安装图。图 2.5.1 光电编码器安装图6第二章 硬件电路设计2.6 坡道检测模块关于坡道的检测,刚开始我们使用的是度传感器作为坡道的辅助检测,但后来发现度传感器非常容易受到车体抖动和其角度的干扰,采回来的信号杂乱无章,程序处理起来。最终我们放弃了度传感器这一方案,选择了反射式红外光电传感器 ST188 来辅助检测坡道。图 2.6.1 为光电对

13、管安装图。图 2.6.1 光电对管安装图ST188 采用高红外光电二极管和高灵敏度光电晶体管组成,其检测距离可调整范围大,4 至 13 厘米可用,并且采用非接触方式。其可减轻车身的重量。图 2.6.2 为单个 ST188 电路。元件少,图 2.6.2 ST188 电路7第六届大学生飞思卡尔杯智能汽车竞赛技术报告ST188 检测坡道原理:坡道和水平的赛道有一个夹角,当小车刚要驶入坡道时,红外的照射距离变近,当照射在黑线以外的赛道上时,AD回来的值会明显比水平赛道上大,经过程序处理后,便能识别出坡道。8第三章 传感器的设计及安装3.1 传感器的选择方案一:采用CCD/CMOS 摄像头, CCD/C

14、MOS 摄像头的优点是检测前瞻距离大、检测范围宽、检测道路参数多;缺点是电路设计复杂,需要信号同步分离,且工作电压高于电池电压,需要升压电路,加大电源的损耗,而且本系统采用的处理器是25MHz 的单片机,处理速度有限,并且CCD一侦图像的时间最快为50ms,对于一个速度要求很高的系统,时间过长,还易受外界干扰,软件计算量大。方案二:采用电磁线磁场传感器检测电磁感应磁场的方法。竞模需要能够通过自动识别赛道中心线位置处由通有100mA 交变电流的导线所产生的电磁场进行路径检测。采用此方法检测赛道的方法的优点是传感器设计电路实现简单,体积小。但缺点是磁场传感器检测能力小,环境中存在诸多电磁干扰,对智

15、能车的平稳行驶有一定影响。方案三:使用激光传感器。通过发光管发射激光照射跑道,跑道表面与中心黑线具有不同的反射强度,利用光敏接收管可以检测到反射回来的不同强度的光信息。这种检测方法具有较高的可靠性和稳定性,且前瞻较大,电路设计比较简单,检测信息快,而且单片机处理信息更加方便。但这种方法对道路参数检测分辨率不高。3.2 激光检测原理激光传感器检测路面信息的原理是由发射管发射一定波长的激光,经赛道反射到接收管。由于在黑色和白色上反射系数不同,在黑色上大部分光线被吸收,而白色上可以反射回大部分光线,所以接收到的反射光的强度是不一样的,进而导致接收管的特性曲线发生变化程度不同,而从外部观测可以近似认为

16、接收管两端输出电阻不同,进而经分压后的电压就不一样,就可以将黑白路面区来。9第六届大学生飞思卡尔杯智能汽车竞赛技术报告图3.2.1为光电传感器原理。图3.2.1 光电传感器原理3.3 激光传感器的设计激光传感器的原理和普通的光电传感器原理相同,不同的是激光传感器的前瞻远远大于普通的光电传感器,能够稳定在20cm至70cm之间。规定每支车模传感器数量不超过16个,光电传感器接收单元计为1个传感器,发射单元不计算。即便如此,我们的传感器也不能使用太多的发射单元,因为舵机的灵活性会随着其负载的增大而降低。所以最初我们使用12个发射管,4个接收管,3对1的模式。后期为了增加分辨率采用16个发射管,4个

17、接收管,4对1的模式。激光传感器分为发射部分和接收部分。发射部分发射管按“一”字均匀排布,但是这样发射管两两之间可能产生干扰,所以我们传感器发光采用了分时点亮的策略。使用一片74LS154,由单片机,一次点亮一个激光管。由于接收部分使用的是的激光接收管,该接收管在接收相应波长和相应频率范围的光时效果做好,所以发射管的频率调制成200kHz,并且这样也能减小外界光线的干扰。为了能更好的接收反射回来的光,可以在接收管上套一个透镜,这样接收管接收效果最好,提高前瞻。图3.3.1为激光传感器PCB图。图3.3.1 激光传感器PCB10第四章 车模机械调校4.1 车模部分参数要求图4.1.1为指定使用车

18、模图4.1.1车模实物图(1)车模要求:车模不能超过250mm 400mm,高度没有限制。(2)舵机型号:Futaba S3010。后轮驱动马达型号:RS380-ST / 3545。传感器数量检查:传感器的数量是否符合小于16 个。(3)(4)(5)必须使用指定的轮胎及电池。(6)电容总容量不超过2000 微法,单片机必须使用规定。4.2 舵机安装舵机安装直接关系到转向问题。如果舵机调整,将很大程度上限制转向角11第六届大学生飞思卡尔杯智能汽车竞赛技术报告度和转向响应速度。舵机安装有两种方式,一种是卧式安装,另外一种为立式安装。卧式安装为车模默认安装方式,但这样安装会使左右两边连杆不等长,根据

19、杠杆原理可知舵机对长连杆用的力要大些,因此造成了舵机对左右两边转向响应时间不一样。另外由于卧式安装会使连杆与水平面呈现一定角度,从力学知识可以知道在转向获得的力只是舵机施加在连杆上力的一个水平方向上的分力。综合考虑,我们选择了舵机立式安装方式。图4.2.1为舵机安装图。图4.2.1 舵机安装图立式安装后,舵机与连杆之间的连接臂就需要制作。我们用PCB板制作了一块。如图4.2.2所示。图4.2.2 连接臂示意图12第四章 车模机械调校4.3 前轮调整术语介绍要保持车辆直线行驶的稳定性,使小车直道稳定、弯道转向轻便,必须确定车轮参数,包括主销后倾、主销内倾、前轮外倾和前轮前束。4.3.1 主销后倾

20、角主销后倾角在车轮偏转后形成一回正力矩,阻碍车轮偏转。主销后倾角越大,车速愈高,车轮偏转后自动回正力越强。但回正力矩过大,会引起前正过猛,前轮摆振,并使转向沉重。通常后倾角为13。如图4.3.1所示。图4.3.1 主销后倾角4.3.2 主销内倾角在小车前后方向上,主销向内倾斜一个角度,主销轴线与垂线间的夹角称为主销内倾角。当汽车转向轮在外力作用下发生偏转时,由于主销内倾,则车轮连同整个小车的前部将被抬起一定高度,在外力消失后,车轮就会在重力作用下力图恢复到原来的中间位置。通常主销内倾角不大于8。如图4.3.2 所示。13第六届大学生飞思卡尔杯智能汽车竞赛技术报告图4.3.2 主销内倾角4.3.

21、3 前轮前束俯视车轮,汽车的两个前轮的旋转平面并全平行,而是稍微带一些角度,这种现象称为前轮前束。车轮前束的作用是减轻或消除因前轮外倾角所造成的不良后果,二者相互协调,保证前轮在汽车行驶中滚动而无滑动。前轮前束一般为012mm。如图4.3.3所示。图4.3.3 前轮前束14第四章 车模机械调校4.3.4 前轮外倾角在汽车的横向平面内,前轮中心平面向外倾斜一个角度,称为前轮外倾角。前轮外倾角一方面可以使车轮接近垂直路面滚动而滑动减小转向阻力,使小车转向轻便;另一方面减少了轴承及其锁紧螺母的载荷,增加了使用,提高了安全性。一般前轮外倾角为1左右,但对于有高速、急转向要求的车辆,前轮外倾角可减小甚至

22、为负值。如图4.3.4 所示。图4.3.4 车轮外倾角4.4 前轮调整前轮的调整直接关系到小车在直道是否顺畅,在弯道转向是否灵活。前轮调整主要从主销后倾、主销内倾、前轮外倾和前轮前束4 个方面着手。以下是具体的调整:(1) 调整主销后倾角为13,可通过增减黄色垫片数量来改变。调整中注意过大的主销后倾角会使转向承重,舵机反应迟滞。我们进行微调,使主销后倾角呈现1且=2。(2) 调整主销内倾角可以通过装入4倾角的臂座来调节。由于过大的倾角会增大转向阻力,增加轮胎磨损。所以对于小车来说,4内倾角已经足够。另外,实际测试中发现主销内倾和主销后倾对于前轮自动回正都有帮助,并且两者在不同速度现出不同程度的

23、回正力。高速时候主要有主销后倾提供,低速时15第六届大学生飞思卡尔杯智能汽车竞赛技术报告候则主要由主销内倾提供。(3) 前轮外倾角的调整主要影响弯道性能。我们可以通过调整前轮轴平面上方的螺丝长度来影响前轮外倾角。实际调整中,我们小车前轮调成“八”字型,这样调整可以是小车转向时候更加平稳,但是会增加舵机负载引起转向迟滞。具体的调整长度则需要实验中进行调整。(4) 前轮前束调整能够影响过弯,提高小车性能。但是过大的前轮前束会造成驱动电机阻力增大,影响直道性能。对于小车而言,我们可以通过调整舵机与前轮连杆长度进行调整。实际调整中,我们使小车前轮呈现“内八字”形状,即前端短后端长的情况。具体的调整也需

24、要通过实验进行调校。4.5 重量和重心调整重量和重心关系着小车的极限速度,当小车速度达到一定程度时,这个问题尤为突出。重量方面,我们在不影响小车正常行驶的情况下,尽量减少小车上一些可有可无的配件,并且在做电路板时,尽量选择简单且稳定的电路。经过这几步,小车的重量有了明显的下降。重心也影响着小车的性能。重心过前,增加转向阻力,引起转向迟滞。另外,如果小车速度很快的情况下,上下坡道的时候会造成前轮首先着地,很可能造成小车意外事故。重心过后,则会使小车前轮抓地不足,造成过弯非常不稳定。实际调整以重心在减震弹簧固定座处为准,保持各部分重量均衡。重心还应尽量低,在高速情况下,过高的重心会引起小车侧翻,可

25、通过降低小车底盘高度来降低重心。4.6 差速器调整小车后轮采用的差速器为滚珠式差速器,适当的差速能够提高小车过弯的性能和速度。差速器可以通过右后轮轮轴上面的螺丝来调整。调整时应当注意过松,会严重影响直道性能;调整过紧则会使差速器处于无效状态。差速器也需要适当上油,保证其转动平滑。16第四章 车模机械调校4.7 其它调节(1) 后轮轮距调节:在车模套件中有2个后轮轮距调整块,我们可通过更换调整块来调整后轮轮距。(2) 齿轮咬合调整:调整齿轮咬合,以不松动,无卡滞,松紧合适为准。另外还要保证齿轮间咬合有足够的接触面积。(3) 减震部分:减震部分利于小车过坡道和过弯,但是导致激光斑点剧烈抖动。在权衡

26、利弊后,小车的底盘连接为一个整体,实际测试可以看出这样能很好的减小激光斑点乃至整个车身的抖动。4.8 轮胎的使用轮胎是小车非常重要的部分。一副新的轮胎刚开始使用摩擦力较差,在经过一段时间的磨合后,小车在赛道上行驶时会出现,这时是轮胎摩擦力最好的时期。但是后期如果过度使用,轮胎摩擦力会下降,出现一个“差-优-差”的过程。所以当一副轮胎摩擦力很好的时候,我们应该将其取下备用,然后换上新轮胎继续磨合。如图4.8.1是小车安装调试后的实物图。图4.8.1 小车实物图17第五章 软件设计程序及算法设计是该智能车系统的之一,程序设计的理念保持简洁、高效、稳定、适应性强,切不可仅仅追求某一特殊弯道而忽略整体

27、,同时要考虑实验室赛道类型不足,不可只某一赛道类型而设计程序。程序的设计、调试、修改都需综观全局,仔细考虑每一行代码是否有副作用,整体逻辑是否有、漏洞以及欠妥之处。总的来说即车模在符合大赛规则前提下,以最短的时间跑完整个赛道并能停在起跑线3M以内。该智能车系统首先需要对 XS128中的 PWM 模块, ECT 模块,I/O 模块等必备的模块进行初始化。PWM 模块主要是用来转向舵机、摆头舵机、点头舵机的转动,以及电机的运行;ECT 模块主要是用在速度脉冲和传感器信息上,捕捉中断并计算处理;I/O 模块主要是用于激光的发射和数据的接收,以及各种信号。5.1 数据的在激光排数选择上我们选择了单排激

28、光,在制作过程中我们也尝试过使用两排激光处理虚线及坡道,但发现除了对过坡道有帮助外,对过虚线没有实质的改善,同时增加了切换处理的不连贯性,后来我们选择了做摇头加点头随动激光车,基本上能过所有弯道的 5 段虚线,最难的 S 弯道也能保持 80%以上的通过率,同时也解决了坡道问题。因此我们选择只做一排激光赛道信息。点亮激光我们使用了 74LS154 译码器,同时起到了分时点亮防干扰和节约 I/O 口两重效果,共16 个激光发射管,4 个激光接收管,激光点两两均匀间隔 1.1CM,以保证至少有两个点照在黑线上,通过区分激光照在黑线和白色赛道上接收管的不同信号提取出黑线位置,由于该智能车系统是一个高速

29、运动的系统,故应在能保证激光接收稳定的前提下精量缩短点亮一轮激光的时间,使数据能够快速更新,为进一步防止干扰可选择间隔点亮,如:laser_fixROW=15,7,14,6,13,5,12,4,11,3,10,2,9,1,8,0;18第五章 软件设计/发射管间隔点亮;数据的稳定性是小车能稳定行驶的保障,故在设计一切算法之前应先做到有稳定的数据可用。5.2 随动摇头舵机的摇头舵机摇头的目的在于让黑线始终落在激光撒落的范围之内,具体怎样摇要根据此时哪几个激光点落在黑线上,简单来说即舵机的转动是以步进的形式累加上去的,程序上只要确定每个点照到黑线上时对应的步进值。当然,最靠近中点的光点的步进值就越小

30、,而距中心最远的光点的步进值就最大。这种想法可以用增量式 PID 来实现。下面仔细舵机摆头的实际工作过程:当车一入弯时,光点中心便会偏离黑线,黑线马上就会被编号小于 8 的点或者大于 9 的点检测到。设想是在编号为 1 的点或编号为 16 的点检测到黑线,这时舵机就会以很大的步进值加过来使得光点中心与黑线在同一位置。由于舵机的延时特性,在主函数一个执行周期之后,舵机只打了一小角度而远没有打到稳定位置,此时可能是第二个光点照在黑线上了,这样,舵机就会在原来的基础上加上第二个光点所对应的步进值。主函数一直循环,在看到弯道后,经过若干个执行周期舵机打到稳置。我们对每个管子的步进值都是通过实验测量的,

31、对中间的两个光点,舵机不予反应,即所谓的模糊点。在实际编程的时候,摆头的步进值根据速度区分为两档,高速时,摆头步进值稍微大一点。每个步进值对摆头性能都有很大影响,选大了,舵机稳定不下来,他会一直左右摇晃,选小了,快速入弯时,舵机又会反应不过来而造成丢线。5.3 前轮转向舵机的在前轮转向上,打角舵机的输入由两部分:第一部分是上面摆头舵机的反馈值,第二部分是摆头舵机跟线的偏差值,两部分综合作用来打角舵机的。这种方法精确快速。先算出上面舵机值与中心值的偏差,将这个偏差量再乘以一个系数得到的值作为打角的参考量,同时,我们根据当前黑线的相对激光光点位置,为每个位置都赋予一个偏量。就是说,就算上面舵机不打

32、角,19第六届大学生飞思卡尔杯智能汽车竞赛技术报告当不同的光点照到黑线,前轮舵机也能正确打角,只是幅度小一点,将上面的参考量与偏量之和直接加到前轮舵机 PWM 上,使舵机打角。这种打角方式其实就是一个比例加上一个偏差,可以说是简单的 PD 算法。对于这种打角方式,如果参考量的系数与每个光点的偏量选择合理,那么,前轮舵机就会在连续的小弯道上走近似直线,而在单侧大弯道上提前打角,切着内道走。这正是舵机打角的理想情况。对于这这些参数的设定,我们也是设了高速档与低速档,两档的参数不一样,以适应入弯情况。也就是说,我们在这两个参数的基础上,又加了一个速度相关的参数。5.4 点头舵机的点头舵机的主要作用不

33、是用来寻找黑线,而是过高难度虚线以及对坡道的处理。坡道的检测我们使用的是倾斜安装的 ST188 红外对管,前面章节有讲到安装方式及利弊,这里不再赘述,坡道检测的准确性足够,主要是防干扰,对管容易受干扰,所以需要软件处理滤除干扰,在准确检测坡道的前提下尽量限制其胡乱点头。虚线的处理较为复杂,因为大赛规则上说虚线可能出现在直道,也可能出现在弯道,这样来看的话我们只能理解成即使是最难的弯道上也可能会出现虚线,例如可怕的 S 弯道处变向虚线。对虚线的处理思路如下:当遇到虚线,并且上次的黑线位置偏差没有达到最大的情况下点头,但不能点的太多,要根据当前的速度和位置决定点头的速度和多少,当再次搜索到黑线,开

34、始抬头,抬头和点头的要相互结合,不然会出现频繁的震荡。这里想统一连贯的处理比较有,故分作多种情况来处理。5.5 电机的其实电机的不需要很精确,但是要想做到很精确的却是最难的。其实说简单点,就是根据路况计算当前需要达到的理想速度,再以此速度与当前实际速度作比较,作出是该还是该,该猛还是全速反刹的。我们希望车模能以较高的速度过直道和连续的弯道,以较低的速度入弯道。为此,20第五章 软件设计我们根据摇头舵机的 PWM 值是直道还是弯道,当舵机 PWM 值偏离中心位置附近时便认为是弯道,不是这样那就是直道。根据不同的舵机 PWM 值将标定速度细分为几档。在调节参数时做到加效果明显即可,简单点说加就是让

35、车模以最快的反应速度达到标定的速度,反应越快越好。5.6 PID 算法的引入和改进前面讲到的三个舵机的以及电机的都不同程度的结合了PID算法,故将PID算法讲解如下:PID策略其结构简单,稳定性好,可靠性高,并且易于实现。其缺点在于器的参数整定相当繁琐,需要很强的工程经验。相对于其他的方式,在成熟性和可操作性上都有着很大的优势。所以最后我们选择了PID的方式。在小车跑动中,因为不需要考虑小车之前走过的路线,所以,我们舍弃了I,将小车舵机的PID简化成PD。速度闭环采用了增量式PID。参数调节使用试凑法来确定器的比例、和微分参数。 试凑法是通过闭环试验,观察系统响应曲线,根据各参数对系统响应的大

36、致影响,反复试凑参数,以达到满意的响应,最后确定PID参数。试凑不是盲目的,而是在理论指导下进行的。 在理论中已获得如下定性知识: 比例调节(P)作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。调节(I)作用:是使系统消除稳态误差,提高无差度。因为有误差,调节就进行,直至无差,调节停止,调节输出一常值。作用的强弱取决与时间常数 Ti,Ti 越小,作用就越强。反之 Ti 大则作用弱,加入调节可使系统稳定性下降,动态响应变慢。作用常与另两种调节规律结合,组成 PI

37、调节器或 PID 调节器。 微分调节(D)作用:微分作用反映系统偏差信号的变化率,具有预见性, 能预见偏差变化的趋势,因此能产生超前的作用,在偏差还没有形成之前, 已被微分调节作用消除。因此,可以系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统21第六届大学生飞思卡尔杯智能汽车竞赛技术报告不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成 PD 或 PID器。 试凑法的具体实施过程为:1、整定比例部分 将比例系数由小变大,并观察相应的系统响

38、应,直至得到反应快、超调小的响应曲线。如果系统静差小到范围,响应曲线已属满意,那么只需比例即可,由此确定比例系数。2、如果在比例基础上系统静差不能满足设计要求,则加入环节,整定时首先置时间为很大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原值的 0.8),然后减小时间,使得在保持系统良好动态的情况下,静差得到消除,在此过程中,可根据响应曲线的好坏反复改变比例系数和时间,以期得到满意的过程,得到整定参数。3、若使用比例消除了静差,但动态过程经反复调整仍不能满意,则可加微分环节,比例、微分器。在整定时,先置微分时间为零,在第二步整定基础上增大,同样地相应改变比例系数和微分时间,逐步试凑以获

39、得满意的调节效果和参数。4、模糊 PID算法 在跑道上由于上排激光管始终追随黑线,所以可以将上排激光管的摆头舵机的摆角经过一定的标定转换成黑线的位置信息,以及黑线相对车的偏移速率, 将这两个量作为前轮转向舵机模糊 PID的输入量。5.7 软件部分总结软件上主要有以下几个难点:1)怎样采样回来的赛道信息的有效性;2)怎样好 3 个舵机;3)怎样使速度配合好舵机打角。对于该小车的软件系统,我们充分发挥激光摆头的优势,点头舵机的稳定性,激光的大前瞻来对整个小车的速度和稳定性进行不断提升。22第五章 软件设计5.8 开发平台此次智能车大赛的软件开发平台为Code Warrior开发软件。其使用界面如图

40、5.8.1所示。图5.8.1 Code Warrior界面Code Warrior是面向以HC12、S12和X12为CPU的单片机应用开发的软件括集成开发环境IDE、处理器库、全、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器器以及调试器等。在CodeWarrior软件中可以使用汇编语言或C语言,以及两种语言的混合编程。用户可在新建工程时将的类库添加到集成环境开发环境中,工程文件一旦生成就是一个最小系统,用户无需再进行繁琐的初始化操作,就能直接在工程中添加所需的程序代码。该版本的PE模式非常方便,不用再去写一大堆的初始化程序,各模块的初始化只需要在相应的窗口进行设置即可。程序的也比较

41、方便,不用像之前那样需要先擦除,通过设置后便可方便的直接。23第六章车模技术参数6.1智能车基本参数6.2种类及数量6.3激光传感器参数24激光发射管个数16激光光斑间距11mm最大前瞻550mm检测频率312.5Hz名称数量用途MCS12XS128MAA1微器LM294035V稳压LM29412可调稳压BTS7970B2大电流半桥电机驱动74LS15414-16译码器车长350mm车宽175mm车高150mm车重约1.25kg传感器类别激光、红外传感器个数7个(4个激光接收管、2个红外对管、1个编码器)新增伺服舵机2个电路电容总容量1330uF第七章 总 结从三月份开始做智能车到现在,我们一

42、步步走来,在这期间我们学会了团队协作,懂得了做什么事情都要持之以恒,追求卓越,这样就会在不经意间找到你。这篇报告介绍了小车的硬件、机械和软件设计。下面主要介绍本智能车的特点和不足。7.1 特点(1) 采用了激光传感器。普通光电传感器,如ST188,有效距离最大为30cm,而且容易受到外界光线的干扰。而激光传感器则不同,其有效距离最大能达到80cm,由于其接收管只能接受一定频率和波长范围内的光,所以不容易受到外界光的干扰。(2) 采用了摇头、点头的策略。使用激光传感器后,小车的前瞻有了明显的增大,但大的前瞻却带来了许多问题。比如在过弯的时候,激光光斑扫到赛道外面,出现盲区,这对小车的行驶是非常不

43、利的。所以我们采用了摇头这一策略来缓解了这个问题。另外,大前瞻的激光小车在上坡的时候,光斑被抬高,也会出现盲区,这样又带来了许多不确定因素,于是我们又采用了点头的方案。(3) 采用红外对管检测坡道。采用点头方案后,需要提前检测坡道,这样便于传感器及时点头。所以我们使用对管来提前检测坡道。7.2 不足(1) 早期忽视了机械结构的重要性。在智能车制作过程中,在机械结构上花费时间较少。当小车速度达到一定程度后,出现了左右转向不对称的问题,这个问题在最后也未能很好的解决。(2) 点头未充分利用好。虽然使用“点头”方案能很好的解决坡道问题,但是这样增加了小车的重量,增加了机械复杂程度,对整个小车的机械性

44、能有所限制,软件算法更加复杂,没能很好的发挥点头舵机的全部优势,在提高稳定性的25第六届大学生飞思卡尔杯智能汽车竞赛技术报告同时却限制了小车的极限速度。(3) 没有使用无线传输模块辅助调试。小车在行驶过程中,有很多这样那样的问题,使用无线传输模块能将传感器的信号实时的传回电脑,方便观察。26第八章 致谢在本次智能车大赛的准备期间,我们遇到了许多诡异的技术难点。从电路板设计到系统搭建,一个个问题的解决了我们这支队伍的成长。期间离不开指导的指点迷津和物电学院的大力支持,他们的帮助让我们做得更好。这里,首先要感谢Freescale公司和给我们这样好的锻炼机会。还要感谢西部赛区承办方长安大学以及总决赛

45、西北工业大学为我们提供的比赛平台。同时,要感谢张自友、张九华的指导。感谢他在小车整体设计思路上的指点和在软、硬件设计方面的指导。其次,要感谢乐山师范学院物电学院对比赛的支持。没有学院在场地、器材方面的支持,我们连准备比赛的场地甚至机会都没有。最后,我们队内队友之间要相互感谢,感谢我们的相互协作,不然我们走不到今天,在这个过程中我们都懂得了团队的力量才是最强大的。27参考文献1卓晴,黄开胜,邵贝贝学做智能车北京. 北京航空航天大学. 20072邵贝贝. 单片机应用的开发方法北京20043童诗白,华成英模拟电子技术基础北京. 高等教育20004臧杰,阎岩. 汽车构造. 北京. 机械工业20055王

46、晓明. 电的单片机北京. 北京航空航天大学20026安鹏,马伟S12 单片机模块应用及程序调试. 电子世界. 2006第211期162-1639 沈长生常用电子元器件使用一读通北京.邮电200410谭浩强. C+程序设计北京. 200411张文春. 汽车理论北械工业200512张伟等Protel高级应用北京.邮电200213凯越08. 第三届“飞思卡尔”杯大学生智能车大赛技术报告.乐山.乐山师范学院物理与电子.200828附录:*/#include #include /* common defines and macros */* derivative information */#inclu

47、de #include #include #include#includesys_init.h variable.h function.h driver.hisr.h#pragma LINK_INFO DERIVATIVE mc9s12xs128/mainvoid main(void)DisableInterrupts; system_init(); start_off(); key_BCD(); for(;)EnableInterrupts; sam_pressure();if(slope_flag)deal_st188_angle();29第六届大学生飞思卡尔杯智能汽车竞赛技术报告deal

48、_sample(); shake_head(); car_angle(); speed_pid(); set_wdt();*/#include user.h/标志位bool flag_dot; bool stop_flag; bool check_flag;bool xpspeed_flag=0; bool lost_flag;bool loss_flag_1; bool cross_flag; bool cross_flag1; bool up_speed; bool en_check;bool en_check_flag; bool test_flag;bool c_speed_flag;

49、 bool bridge_flag; bool up_speed_flag; bool nod_flag;bool d_speed_flag; bool ad_flag;bool ad_nod_flag;30附录源代码bool en_slop_flag;/数据byte laser_dataROW; byte laser_data1ROW;byte laser_fixROW=15,7,14,6,13,5,12,4,11,3,10,2,9,1,8,0;管间隔点亮;byte laser_tempROW; byte laser_c16;byte laser_start_c1016;/发射inthead

50、_save20;word laser_s100;word ad_data2;byte near_dataNROW;byte near_buffNROW=7,3,6,2,5,1,4,0;byte near_fixNROW=7,3,6,2,5,1,4,0; byte near_tempNROW;/系统变量unsigned lonove=0;word test=CENTER_ANGLE; word test1=HEAD_CENTER; word test2=NOD_CENTER; byte laser_num;byte near_num; word black_num; byte black_number; char position;char pre_position,pre_pp;byte range;31第六届大学生飞思卡尔杯智能汽车竞赛技术报告char miss;

温馨提示

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

评论

0/150

提交评论