1、第六届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告学 校:天津工业大学队伍名称:天津工业大学磁导航二队参赛队员:陈 帅高 鹏王银鹏指导老师:荣 锋II关于技术报告和研究论文使用授权的说明本人完全了解第五届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: III摘要本文介绍了飞思卡尔电磁组智能车系统。本智能车系统是以飞思卡尔 16 位单
2、片机 MC9S12XS128 为核心,用电感检测赛道导线激发的电磁信号, AD 采样获得当前传感器在赛道上的位置信息,通过控制舵机来改变车的转向,用增量式 PID 进行电机控制,用 MATLAB、AUTOCAD 等软件进行软硬件设计,用编码器来检测小车的速度,共同完成智能车的控制。关键字:电磁、MC9S12XS128、AD、PIDIVAbstractThis article introduce the Freescale intelligent vehicle system of electromagnetic. This intelligent vehicle system use the
3、micro-controller unit MC9S12XS128 as micro-controller, use mutual inductance coil collection track information, use AD to extract the current information on the line, to change the cars direction by controlling the servo steering, use an incremental PID to control motor,use MATLAB、AUTOCAD and relati
4、ve software to design both hardware and software, and we use rotary encoder to calculate the speed of the car, and all of these make it possible to control the car.Key words: MC9S12XS128 PID Magnetic ADV目录第一章:引言 .1第二章、机械结构及布局设计 .32.1 磁场及相关知识 32.1.1 电磁传感器特点 .32.2.传感器的布局 .42.3 智能车底盘的研究 52.4 舵机安装 .12第三
5、章、 硬件电路设计 .153.1、信号采集电路模块 153.2、电源电路模块 163.3、电机驱动电路模块 173.4、主控板电路模块 173.5、 起跑线检测模块 19第四章、软件设计 .214.1、系统整体流程图 214.2、舵机转角控制策略 214.3、速度控制策略 224.4、 PID 算法 .224.4.1、 PID 算法简介 224.4.2、 PID 三个参数的作用 234.4.3、 PID 参数调节的一般方法 24第五章、开发平台及调试工具 .275.1、 code warrior 开发调试平台 275.2、 labview 串口调试工具 285.3、无线发射接收 29第六章、小
6、车硬件参数 .31VI第七章、总结与体会 .337.1、所学所想 337.2、本系统的特点 347.3、系统存在的问题 347.4、今后的改进措施 34参考文献 .37附录 A 智能车源程序 I1第一章:引言“飞思卡尔”杯全国大学生智能汽车竞赛是由教育部高等自动化专业教学指导分委员会主办的一项以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,
7、倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。该竞赛以汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创意性比赛。比赛要求在大赛组委会统一提供的竞赛车模,飞思卡尔 16 位微控制器MC9S12XS128 作为核心控制单元的基础上,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。我们从 2012 年 1 月份开始着手准备此次竞赛,经过近六个月的努力最终完成了小车的制作并成功参赛,此间我们认真学
8、习相关知识,合理分工,共同作战,完成了各个模块的制作与调试,共同研究讨论解决各种问题,在不断调试后最终确定了现在小车的传感器放置,机械结构及算法。本文将从以下方面进行描述,硬件设计、机械机构设计、 软件设计、开发平台及测试、总结与体会。3第二章、机械结构及布局设计2.1 磁场及相关知识2.1.1 电磁传感器特点电磁组需要检测的信号为大小 100mA,频率为 20KHz 的方波信号,赛道由导线铺成,导线周围分布着交变的电磁场,由于赛道的各种形状,使得磁场发生叠加,不同的赛道形状形成不同的特征磁场,正因为如此,我们可以根据磁场的不同对不同的赛道进行判断。2.1.2 电磁场理论通有稳恒电流 I 长度
9、为 L 的直导线,与导线距离为 r 处的 P 点,其磁感应强度为:公式(2-1-1) 21sin40drIB图 2-1-1 直导线稳恒电流的磁场由此得第六届全国大学生智能汽车邀请赛技术报告4公式(2-1-2)cos(4210rIB对于无限长直导线来说,1=0,2=,则有公式(2-1-3)rIB20图 2-1-2 直导线稳恒电流磁场示意图对于弯道的磁场是没有公式直接计算的,必须通过 AD 采集大量的数据,通过对数据的处理判断弯道磁场的变化规律,进而识别是小 S,大 S 还是十字交叉等不同赛道形式。2.2.传感器的布局1.高度:传感器的高度不同,其所对应的磁场变化曲线就不同,既不能太高,也不能太低
10、。一般取 512cm,根据大量测量数据显示,在我们的固定方式前提下去 89cm 时曲线变化最好,故我们取传感器高度为 8.5cm。2前瞻:对于本次竞赛,大赛规定电磁组前瞻不限,理论上说前瞻越长过弯道越容易,越容易提速,但是前瞻越长,控制难度越大,对机械要求也越高,第五章、开发平台及调试工具5我们不能忽视摆臂太长会造成甩尾的现象,因此我们在不断调试中去发现最佳前瞻长度,进过不断地改变方案和测试我们最终确定前瞻为 22cm,并确定下来进行下一步操作。3.传感器个数及摆放方式:选择传感器的个数多少往往是一件很令人头疼的事情,选择少了无法检测到整个赛道信息,选择多了控制难度太大,而且摆放位置、方式对磁
11、场检测也有很大影响,我们共有如下三种方案:(1)单排俩个:这是最简单的放置方式,俩个传感器能识别大部分的赛道信息,控制得当能够使小车跑下来,但是一旦想要加速其弊端就显露无疑,很多位置的信息无法读取,判断不够精确等都制约了车的加速。(2)双排,每排俩个再加竖直方向一个:这种布局相对单排俩个来说有了明显改善,单排的监测范围有限,但是双排检测会弥补单排的漏洞,使检测范围更大,不容易漏掉磁场信息;竖直方向的传感器是用来检测十字交叉的。(3)双排,前排四个,后排俩个,如下图所示图 2-2-1 传感器方案三传感器与水平面成 30 度角,这样磁场在 x,y,z 方向都有分量,通过对各分量大小的判断进而判断赛
12、道及赛车位置,进而进行控制。进过范围测试及实践证明,第三种方案是可行的,因此我们选用第三种方案2.3 智能车底盘的研究第六届全国大学生智能汽车邀请赛技术报告6图 2-2-2 B 型车模转向轮定位参数 对于汽车而言,要保持车辆直线行驶的稳定性,使之转弯自动回正、转向轻便,必须确定车轮定位参数,包括主销后倾、主销内倾、前轮外倾和前轮前束。 主销后倾角 主销后倾角在车轮偏转后形成一回正力矩,阻碍车轮偏转。主销后倾角越大,车速愈高,车轮偏转后自动回正力越强,但回正力矩过大,将会引起前轮回正过猛,加速前轮摆振,并使转向沉重。通常后倾角为 13。 主销内倾角 在汽车前后方向上,主销向内倾斜一个角度,主销轴
13、线与垂线间的夹角称为主销内倾角。当汽车转向轮在外力作用下发生偏转时,由于主销内倾 , 则车轮连同整个汽车的前部将被抬起一定高度,在外力消失后,车轮就会在重力作用下力图恢复到原来的中间位置。通常主销内倾角不大于 8。 前轮外倾角 第五章、开发平台及调试工具7在汽车的横向平面内,前轮中心平面向外倾斜一个角度,称为前轮外倾角。前轮外倾角一方面可以使车轮接近垂直路面滚动而滑动减小转向阻力,使汽车转向轻便;另一方面减少了轴承及其锁紧螺母的载荷,增加了使用寿命,提高了安全性。一般前轮外倾角为 1左右,但对于有高速、急转向要求的车辆,前轮外倾角可减小甚至为负值。 前轮前束 俯视车轮,汽车的两个前轮的旋转平面
14、并不完全平行,而是稍微带一些角度,这种现象称为前轮前束。车轮前束的作用是减轻或消除因前轮外倾角所造成的不良后果,二者相互协调,保证前轮在汽车行驶中滚动而无滑动。前轮前束一般为 012mm。而现代汽车的前轮外倾角出现减小甚至为负值的趋势,前轮前束也应相应减小甚至也为负值。 重心位置对汽车性能的影响 汽车重心的位置通常用重心距前轴中心线的水平距离和重心距水平路面的高度来表示。可通过实验法、估算法测出重心位置。 对动力性能的影响 汽车正常行驶必须满足驱动附着条件: 即汽车的驱动力必须大于等于坡度阻力、滚动阻力、空气阻力之和而等于汽车驱动轮的附着力。附着力与路面附着系数和驱动轴的轴荷有关,而驱动轴的轴
15、荷取决于重心的水平位置,故重心位置必须保证驱动轮能够提供足够的附着力。仅从此方面考虑,重心越靠近驱动轴越好。 对制动性能的影响 汽车制动性要求制动减速度大、制动距离短,有良好的制动方向稳定性,即不第六届全国大学生智能汽车邀请赛技术报告8易发生前轮丧失转向、后轮侧滑和跑偏现象。制动方向的稳定性与前后轮的抱死次序有关,而抱死次序则与重心位置有关,若重心位置保证汽车的同步附着系数( 为前制动力占整车制动器制动力比例,b 为重心到后轴水平距离)等于汽车常用路面附着系数,那制动稳定性即较好;若重心前移,b 增大,易发生后轴侧滑,对高速汽车危险性大;若重心后移,b 减小,前轮易丧失转向能力。对通过性的影响
16、 汽车在较陡侧坡行驶或高速急转弯行驶时,会发生侧向倾覆,为避免这种危险,重心应在保证最小离地间隙的前提下尽量降低。 综合上面分析,在加装诸多电路板后应尽可能保证模型车的重心垂直位置尽量的低,水平位置应在车中线上靠近后轴。 汽车侧滑 为保证汽车转向车轮无横向滑移的直线滚动,要求车轮外倾角和车轮前束有适当配合,当车轮前束值与车轮外倾角匹配不当时,车轮就可能在直线行驶过程中不作纯滚动,产生侧向滑移现象。这种滑移现象过于严重时,将破坏车轮的附着条件,使汽车丧失定向行驶能力。侧滑分为以下几种情况。 定向侧滑 随机侧滑 转向侧滑 制动侧滑 汽车在制动过程中若前轮先抱死拖滑,则将可能发生侧滑。 第五章、开发
17、平台及调试工具9可以采取一些补偿措施减小侧滑。对于定向侧滑,用前轮前束产生的 Q 类侧滑来补偿外倾产生的 W 类侧滑是基本手段。Q 类侧滑的性质为:侧滑大小等于前束角大小;侧滑方向与前束角方向相反,与车辆行驶方向有关;与路面质量无关。对于随机侧滑,主要是从改变独立悬架结构入手,如本车模的双横臂式独立悬架车桥车轮的随机侧滑可用四连杆机构综合理论改变上下横臂的长度,使模型行驶过程中轮距变化不大,从而减小随机侧滑。对于转向侧滑,主要靠选择合适的主销角度,合理搭配主销内倾与后倾角,尽可能使转向内轮产生外倾或增加外倾,使转向外轮产生内倾或减小外倾。 模型车底盘性能 模型车底盘采用的是等长双横臂式独立悬架
18、 (如图 1),当车轮上下跳动时,车轮平面没有倾斜,但轮距会发生较大变化,故车轮发生侧向滑移的可能性较大。本车共有 6 处参数可调,其中主销内倾角对模型车性能影响不大,可设为。 图 2-2-3 前轮前束调整 第六届全国大学生智能汽车邀请赛技术报告10主销后倾角 主销:转向轮围绕主销进行旋转,前轴的轴荷通过主销传给转向车轮,具备这两点的就叫做主销。 主销内倾和车轮外倾角度主要是由转向节决定的。主销后倾角:主销的轴线相对于车轮的中心线向后倾斜的角度。 前轮重心在主销的轴线上由于主销向后倾斜使前轮的重心不在车轮与地面的接触点上,于是产生了离心力,主销后倾形成的离心力,可以保证汽车直线行驶的稳定性还可
19、以帮助车轮自动回正。主销后倾角延长线离地面实际接触越远,车速越高,离心力就越大。在高速行驶中保持汽车直线行驶的稳定性,适当的加大主销后倾角可以帮助转向轮自动回正,可有效扼制转向器的摆振,可使转向便轻,单独适量调一侧主销后倾角可修理行驶跑偏。主销后倾角靠离心力保证汽车直线行驶和车轮自动回正。高速行驶时跑偏可通过主销后倾角调节。但主销后倾角过大会造成高速时转向发飘。通常后倾角值应设定在 13 度。前轮外倾角与与模型车的侧滑关系较大,需与前轮前束相匹配,可设为 1-12mm。 前轮前束 前轮是由舵机带动左右横拉杆实现转向的。主销在垂直方向的位置确定后,改变左右横拉杆的长度即可改变前轮前束的大小。左杆
20、短,可调范围为10.8mm18.1mm;右杆长,可调范围为 29.2mm37.6mm(如图红圈所示)。第五章、开发平台及调试工具11图 2-2-4底盘离地间隙 在独立悬架下摆臂与底板之间可以通过增减垫片来调整底盘前半部分的离地间隙,垫片有 1mm 和 2mm 两种规格。一片垫片不加,车前部离地间隙为 9mm,故离地间隙的调整范围为 9mm12mm。从已有的经验来看,在加装了传感器之后,此距离过小,会降低模型车爬坡时的通过度;过大,则会影响传感器的灵敏度。舵机性能测试 在舵机的轴上连接一个变阻器,该变阻器有三个接头,两侧的接头一端接在 5V电源上,另一端接地,中间的接头连在示波器上,示波器测电压
21、。当舵机带动前轮转动时,变阻器的阻值随之改变,示波器的电压值也发生变化,即将电压与舵机的转角对应起来,这样,通过测量电压随时间的变化即可知舵机转角的变化率。从试验中可知,舵机近似匀速地由一侧最大转角转至另一侧最大转角。结合对前轮最大转角的测量,可估测出舵机的转速约为 2.42rad/s-第六届全国大学生智能汽车邀请赛技术报告122.52rad/s。由汽车理论的相关知识可知,该舵机性能偏软,可通过增大前轮前束来进行调整。 对舵机性能的测试主要用于设定仿真参数,同时估算出的舵机转速也对程序相应速度和转向时的车速限制有一定的参考意义。 模型车稳态转向测试 本节探讨舵机 PWM 占空比与车速、转弯半径
22、之间的关系。试验中舵机 PWM 占空比设为 6 挡,分别以 1、2、3、4、5、6 表示,数字越大转角越大。如图 1 为舵机转角为挡位 1 时的车速转弯半径对应图,由试验可知,在相同转角下,转弯半径与车速大致呈线性关系。 根据模型车的相关数据由下式可算得理论转弯半径为 275mm。该值与模型车试验中 0.31m/s 时的转弯半径相近;当模型车车速1.4m/s 后开始出现侧滑现象。在此基础上经过不断调整,我们确定了主销内倾角为 2 度,前轮前束为大约6mm.底盘对车的性能影响很大,最初我们只是简单的讲各个电路模块固定在车上,没有考虑太多的制约因素,但是随着速度的提高,我们越来越发现机械对车的重要
23、性,软件、算法再好,机械达不到要求都是徒劳,因此我们花了不少时间修改机械,尽量将底盘较低,重心降低,并根据空气阻力等因素使车的结构更精简美观,最终收到很好效果。图 2-2-5 整车底盘及结构第五章、开发平台及调试工具132.4 舵机安装舵机的安装位置对转向有很大影响,摆臂的长短也会影响到转弯的灵敏度和精度,理论上适当加长摆臂会提高转向灵敏度,且摆臂与车轮垂直时舵机灵敏度和精度更好,考虑以上因素我们选择了这样的安装方式:图 2-2-6 舵机安装位置15第三章、硬件电路设计3.1、信号采集电路模块图 3-1-1 信号采集电路原理图对于信号采集电路,我们没有采纳官方推荐的电路,主要原因是考虑到用三极
24、管进行放大在静态工作点的调整上比较繁琐,且三极管的温飘现象比较严重,而对于运算放大器进行放大的电路,也有其缺点:(1)、一般运放需要正负电源供电,而大多数集成电路板上没有负向电源,需要自己制作。(2)、输出范围:运放输出电压范围往往要比工作电源电压小 1-2V,这样就大大限制了信号的范围。也有部分 CMOS 运放可以实现满工作电源的输出(Rail to Rail 输出),但是这类运放的频率响应不够。(3)频率响应:普通的运放的频率响应特性由增益带宽乘积参数决定。该参数一般在 1-5Mhz 左右,除了高速运放外。我们的信号频率为 20kHz,如果使用增益带宽乘积参数为 1Mhz 的运放,它对于
25、20kHz 的最大增益已经减少到 50 倍左右了。此时,它的最大输出电压第六届全国大学生智能汽车邀请赛技术报告16范围也会更加减少(主要受到输出电压转换速率参数的影响)。此时运放电路增益已经不能够满足我们的需要。综合以上信息,我们经过仔细挑选和考虑成本,确定了俩个方案:(1)LM358运算放大器,LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。(2)LM324LM324 系列是价格便
26、宜的带有真差动输入的四路运算放大器,于单电源应用场合的运算放大器相比,该运放的工作电压范围广,共模输入电压包括负电压,因而消除了在许多场合应用中需要外部转换电路的麻烦。从成本上将,LM324 更加便宜,且一个运放具有四路放大功能,但是在频率响应上其明显不足,与 LM358 相比差了不少,因此我们最终决定用 LM358 做放大功能芯片。3.2、电源电路模块图 3-2-1 电源电路模块原理图舵机的工作电压为 5V,而电池电压为 7.2V,所以如果想要用电池直接供电需要有电压转换装置,将电池 7.2 V 的电压转换成 5 V。我们采用集成电压转换第五章、开发平台及调试工具17芯片 LM2576-AD
27、J,此芯片使用简单方便,可以实现 3.3V、5V、12V、15V 等的稳压,用其典型电路即可。3.3、电机驱动电路模块电机驱动电路我们采用的是 BTS7970,BTS7970 是一款高电流的 PN 型半桥驱动芯片,最高耐压值达 43A,且各种保护功能完备。外形图及原理图如下图 3-3-1 电机驱动电路图 3-3-2 BTS7970 电机驱动电路原理图3.4、主控板电路模块第六届全国大学生智能汽车邀请赛技术报告18主控板电路我们采用了 9S12 系统芯片,外面扩展了一些接口电路和控制设备。图 3-4-1 主控板图 3-4-2 主控板原理图第五章、开发平台及调试工具193.5、 起跑线检测模块起跑
28、线检测相对简单,我们用的是霍尔开关 3144,这种霍尔开关能检测到一定范围的磁场信号,当磁场信号到来时,开关闭合,产生一个脉冲,通过对此脉冲计数控制即可实现起跑线检测。计数 1 为出发通过起跑线,计数 2 为回到起跑线,此时只需给出停车指令。21第四章、软件设计4.1、系统整体流程图此智能车系统包括传感器(电磁传感器、速度传感器编码器),电源模块,电机驱动模块等,整体流程图如下:MC9S12XS128控制部分起始线检测测测速度传感器电池7.2V 电源模块拨码开关无线电源部分电机驱动 舵机执行机构电机5V电磁传感器4.2、舵机转角控制策略舵机控制就是赛车的方向控制,以赛车车体为参考系,控制前轮转
29、向,始终使导线逼近赛车中心线,即期望位置。电磁传感器获取赛道信息,经赛道提取得到实际赛道位置;期望位置与实际赛道位置的偏差用于增量式 PID 计算,得出控制舵机的 PWM 波占空比;舵机驱动前轮,控制赛车运动,使赛车与赛道的位置偏差最小。第六届全国大学生智能汽车邀请赛技术报告22图 4-2-1 舵机控制原理根据增量式 PID 算法公式10,11:公式(3-1)2()( 211 kkkk eKdeieKpu设计舵机控制程序核心语句如下:4.3、速度控制策略速度控制就是控制小车的速度,根据传感器采集的数据判断小车所处位置是直到还是弯道,是大 S、小 S 还是普通的弯道,对于直到是长直道还是短直道。
30、不同的道路状况给定不同的参数,小车按照不同的速度行驶。从而使得小车在没有丢线的基础上以最大的速度行驶。速度控制源代码:int sudu(int dty) /速度int sd;if(DJ_flago=1)PORTE_PE5=PORTE_PE5; /PORTE_PE5 输出取反DJ_flago=0;第五章、开发平台及调试工具23if(dtyDJmid-150/进入弯道if(zdflag=10)sd=flag1; /滤短直到zdflag=10;else sd=flag0;return sd;4.4、PID 算法4.4.1、PID 算法简介PID 算法是目前工业上应用比较成熟的一种控制算法,广泛用于自
31、动控制领域,它的结构简单,参数容易调整,有模拟 PID 调节器和数字 PID 算法两种。细分又可分为增量式 PID,位置式 PID,模糊 PID,各有各的优缺点。图 4-4-1 PID 结构式第六届全国大学生智能汽车邀请赛技术报告244.4.2、PID 三个参数的作用PID 参数的整定就是合理的选择 PID 三参数。从系统的稳定性、响应速度,超调量和稳态精度等各方面考虑问题,三参数的作用如下:1、比例参数 KP 的作用是加快系统的响应速度,提高系统的调节精度。随着 KP 的增大系统的响应速度越快,系统的调节精度越高,但是系统易产生超调,系统的稳定性变差,甚至会导致系统不稳定。KP 取值过小,调
32、节精度降低,响应速度变慢,调节时间加长,使系统的动静态性能变坏。2、积分作用参数 Ti 的一个最主要作用是消除系统的稳态误差。Ti 越大系统的稳态误差消除的越快,但 Ti 也不能过大,否则在响应过程的初期会产生积分饱和现象。若 Ti 过小,系统的稳态误差将难以消除,影响系统的调节精度。另外在控制系统的前向通道中只要有积分环节总能做到稳态无静差。从相位的角度来看一个积分环节就有 90 的相位延迟,也许会破坏系统的稳定性。3、微分作用参数 Td 的作用是改善系统的动态性能,其主要作用是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但 Ti 不能过大,否则会使响应过程提前制动,延长调
33、节时间,并且会降低系统的抗干扰性能。总之 PID 参数的整定必须考虑在不同时刻三个参数的作用以及相互之间的互联关系。4.4.3、PID 参数调节的一般方法a.确定比例增益 P 确定比例增益 P 时,首先去掉 PID 的积分项和微分项,一般是令Ti=0、Td=0(具体见 PID 的参数设定说明),使 PID 为纯比例调节。输入设定为系统允许的最大值的 60%70%,由 0 逐渐加大比例增益 P,直至系统出现振荡;再反过来,从此时的比例增益 P 逐渐减小,直至系统振荡消失,记录此时的比例增益 P,设定 PID 的比例增益 P 为当前值的 60%70%。比例增益 P 调试完成。 b.确定积分时间常数 Ti