专科院校的队伍可有进过飞思卡尔论坛国赛的?

公司全称:北京千橡网景科技发展有限公司 &公司电话:010- &公司地址:北京市朝阳区酒仙桥中路18号国投创意信息产业园北楼1层
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
违法和不良信息举报电话:027- 举报邮箱:&&&&&&&&&&&&2014年我院代表队在第九届“飞思卡尔”杯全国大学生智能车安徽赛区中荣获2项一等奖,1支队伍入围全国总决赛
  第九届“飞思卡尔”杯全国大学生智能汽车竞赛是教育部主办,共八个赛区。安徽赛区于日至28日在解放军陆军军官学院文体中心举行,参赛队伍共254支队伍,按照一定比例选拔队伍参加全国总决赛。
  我院一直非常重视第二课堂,特别是专业竞赛。我院于去年9月底动员学生自愿报名,参加培训共有216名学生。10月份举办了技术讲座,各报名学生自行组队、提交报告,通过答辩、面试等考核方式,共选出了20支队伍60名队员参加今年5月份院选拔赛(其中含计算机系1支队伍)。由院赛预选出10支优秀队伍(即由30名学生组成)参加省级竞赛。通过三个多月的集训,最终共有9支队伍参加省赛(其中计算机系1支队伍,电子系8支队伍)。
  近一年的辛勤设计准备,在这强手集聚的比赛现场中,指导老师和队员们精心策划各种比赛方案,及时应对赛场出现的各种情况,同时电子系谭敏主任、党总支书记黄晓云以及计算机系党总支副书记吕刚亲临比赛现场为参赛队员们加油鼓劲指导,电子系8支参赛队伍在第九届“飞思卡尔”杯全国大学生智能车竞赛安徽赛区中荣获一等奖2支队伍、二等奖5支队伍,并有1支队伍入围全国总决赛。比赛后,指导老师以及队员们继续投入备赛状态,总结经验、取长补短、改进设计、调试方案,全心投入新的挑战。
  预祝我院代表队在全国总决赛中取得优异成绩,再创辉煌。(教务处、电子信息与电气工程系报)第八届“飞思卡尔”杯全国大学生智能汽车竞赛――东北大学电磁1队技术报告
第八届“飞思卡尔”杯全国大学生智能汽车竞赛――东北大学电磁1队技术报告
第八届“飞思卡尔”杯全国生智能汽车竞赛技术报告学校:东北大学队伍名称:东北大学电磁1队参赛队员:刘万启、郭鹏宇带队教师:陈述平、闻时光关于技术报告和研究论文使用授权的说明本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名:带队教师签名:日期:II摘要车模以MC9S12XEP100MAL单片机为控制核心,以安装在车体前的工字电感作为循迹传感器,采用干簧管检测起跑线,以编码器检测速度信息。车模系统的简单原理是单片机采集工字电感感应电压的模拟量和干簧管的导通状态,结合舵机控制算法控制舵机转角,单片机再综合赛道信息并结合旋转编码器的速度反馈信号,利用电机控制算法控制速度变化。结合MATLAB软件仿真和C#自制软件的监控调试,最终确定了各项控制参数。MC9S12XEP100MAL、PID控制、MATLAB关键字:智能车、上位机、电磁寻迹、1目录摘要........................................................................................................................1目录............................................................................................................................2第一章引言............................................................................................................4第二章系统整体设计..................................................................................................52.1系统整体设计..................................................................................................52.2整车布局..........................................................................................................5第三章机械系统设计及实现......................................................................................73.1车体机械建模..................................................................................................73.2前轮倾角的调整..............................................................................................73.3底盘高度的调整..............................................................................................83.4编码器的安装..................................................................................................83.5舵机安装结构的调整......................................................................................93.6传感器的安装................................................................................................10第四章硬件系统设计及实现....................................................................................114.1电源模块........................................................................................................114.2信号放大模块................................................................................................114.3速度检测模块................................................................................................124.4检波滤波模块................................................................................................124.5起跑线检测模块............................................................................................134.6液晶电路、键盘电路....................................................................................144.7整体PCB板图..............................................................................................14第五章软件系统设计及实现....................................................................................155.1软件控制的总体思路....................................................................................155.2主程序结构....................................................................................................155.3程序的运行....................................................................................................165.4导线位置提取................................................................................................165.5系统控制算法................................................................................................175.5.1数字PID控制..................................................................................175.5.2循迹算法............................................................................................175.5.3转向控制算法....................................................................................185.5.4速度控制算法....................................................................................18第六章开发工具、制作、安装、调试过程............................................................206.1开发工具........................................................................................................2026.1.1CodewarriorIDE的安装与使用........................................................206.6.2工程的创建........................................................................................206.2上位机软件....................................................................................................22第七章车模技术参数说明........................................................................................23第八章总结..................................................................................................................I第九章参考文献.........................................................................................................II附录:程序源代码......................................................................................................III1.PID算法...........................................................................................................III2.变速控制算法..................................................................................................IV3第一章引言随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到所有领域。智能车技术依托于智能控制,前景广阔且发展迅速。目前,掌握着汽车工业关键技术的发达国家已经开发了许多智能车的实验平台和商品化的车辆辅助驾驶系统。有研究认为智能汽车作为一种全新的汽车概念和汽车产品,在不久的将来会成为汽车生产和汽车市场的主流产品。面向大学生的智能汽车竞赛最早始于韩国,在国内,全国大学生“飞思卡尔”杯智能汽车竞赛从2006年开始已经举办了七届,得到了各级领导及各高校师生的高度评价。大赛为智能车领域培养了大量后备,为大学生提供了一个充分展示想象力和创造力的舞台,吸引着越来越多来自不同专业的大学生参与其中。全国大学生“飞思卡尔”杯智能汽车竞赛包括光电组、摄像头组和电磁组,其中电磁组从第四届开始产生。本技术报告主要包括机械系统、硬件系统、软件系统等,详尽地阐述了我们的设计方案,具体表现在硬件电路的创新设计以及控制算法的独特想法。智能车的制作过程包含着我们的辛勤努力,这份报告凝聚了我们智慧,是我们团队共同努力的成果。4第二章系统整体设计第二章2.1系统整体设计干簧管PA0系统整体设计采集信号编码器检波ADPT7MC9S12XEP100MALPWM4、5PT&PBPWM01电机驱动图2.1液晶&按键系统整体设计图转向舵机我们延续了很多学校所使用的工字谐振电感作为传感器来检测信号,加以合理的传感器布局,经过后续电路处理,完成对赛道信号检测并以此来控制车子的转向和行驶速度。关于软件,我们采用bang-bang+PID控制算法来作为车子的主导控制。为满足智能车在高速与急转等恶劣情况下的动力性能和稳定性能,我们参考了前几届的队伍参赛经验,经过深思熟虑对整车经行了合理的重心与电路等的布局。2.2整车布局(1)车模底盘降低,主板低放,以降低重心。(2)舵机竖直放置,方便控制。(3)用轻便坚固的碳纤杆作为电磁传感器杆的材料。(4)电池放于电路板后使重心位于车体中心。5第八届全国大学生智能汽车邀请赛技术报告图2.2整车布局图图2.3训练赛道6第三章机械系统设计及实现根据组委会的相关规定,今年电磁组比赛车模更换为A型车模。针对不同的车模,必然会有不同的调整方式。在比赛备战之初,我们就对该车模进行了详细的系统分析。A型车模精度不是很高,因此在规则允许范围内尽量改造车模,提高车模整体精度是很必要的。本章将主要介绍智能汽车车模的机械结构及调整方案。3.1车体机械建模此次竞赛的赛车车模选用由东莞市博思电子数码科技有限公司提供的A型车模。车模外形如图3.1所示。图3.1A型车模3.2前轮倾角的调整前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前束等4个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。在实际调试中,我们发现适当增大内倾角的确可以增大转弯时车轮和地面的接触面积,从而增大车了地面的摩擦程度,使车转向更灵活,减小因摩擦不够而引起的转向不足的情况。并且发现由于前轮轴和车轮之间的间隙较大,对车高速时转向中心的影响较大,会引起高速转向下模型车的转向不足。然而这里是规则7第四章4.1电源模块硬件系统设计及实现智能小车采用组委会提供的7.2V2000mAhNi-cd电池直接供电,并采用稳压器件调整出各路模块所需电源。电源模块分为:5v模拟电源、-5v模拟电源、5v数字电源和3.3v数字电源。图4.1电源模块电路图4.2信号放大模块使用电感线圈可以对其周围的交变磁场感应出感应电动势。这个感应电动势信号比较弱,干扰多。因此信号放大需要进行选频放大,使得20kHz的信号能够有效的放大,并且去除其它干扰信号的影响。可以使用LC串并联谐振电路(带通电路)来实现选频电路。已知感应电动势的频率f0=20KHz,感应线圈电感为L=10mH,谐振电容为6.8nF。为了能够更加准确测量感应电容式的电压,还需要将上述感应电压进一步放大,一般情况下将电压峰峰值放大到1~5V左右,就可以进行幅度检测,所以需要放大电路具有100倍左右的电压增益(40db)。最简单的设计可以只是用一阶共射三极管放大电路就可以满足要求。也可以选用运算放大器进行电压放大。在考虑放大倍数等综合原因,我们选用了仪表放大器。11第八届全国大学生智能汽车邀请赛技术报告图4.2仪表放大器电路图4.3速度检测模块速度检测是为了反馈小车当前速度,了解当前状态并决定控制策略的一个环节。我们选用欧姆龙旋转编码器,该编码器的精度为500个脉冲/圈,不仅硬件电路简单,而且信号采集的速度快、精度高,满足智能车对车速控制精度要求。图4.3测速模块电路图4.4检波滤波模块测量放大后的感应电动势的幅值E使用二极管检波电路将交变的电压信号检波形成直流信号,该信号正比于感应电压幅值的数值,可以知道单片机的AD进行测量。为了改善二极管的非线性特性,实现良好的线性转换关系,减少二极管阈值12第四章硬件系统设计与实现电压的影响,能对尽可能小的输入信号进行转换,我们采用运放和二极管构成精密半波整流电路。图4.4检波电路图4.5起跑线检测模块由于在赛道起跑线上装有磁铁,所以可以用干簧管检测,因为干簧管具有对磁场比较敏感,反应速度较快等优点。但为了防止漏检起跑线,我们在小车每边并联两个干簧管,并在中间再加一个干簧管,增加检测范围,即共用2个干簧管对起跑线进行检测。干簧管是一种磁敏的特殊开关。它通常由两个或三个既导磁又导电材料做成的簧片触点,被封装在充有惰性气体(如氮、氦等)或真空的玻璃管里,玻璃管内管内平行封装的簧片端部重叠,并留有一定间隙或相互接触以构成开关的常开或常闭接点。当通过一定强度的磁场时,干簧管就会吸合,其实它就像一个开关一样,开和关取决于是否经过磁场。利用此特点,通过上拉接到单片机的中断口,使单片机快速响应起跑线信号。起跑线检测模块如图4.5所示:图4.5起跑线检测13第八届全国大学生智能汽车邀请赛技术报告4.6液晶电路、键盘电路显示与键盘模块主要做调试用,此模块配合操作系统能发挥很大的功能。LCD采用小巧的12864,主要用于小车调试时,显示跑道参数,和各可控单元参数等。键盘是8个按键,主要用作各参数的设定。LCD5110只需低压3.3V。其有效控制线需五根(SCLK,SDIN,D/C,RES,SCE),方便控制。实物如图4.6所示:图4.6液晶&按键4.7整体PCB板图图4.7PCB板图14第五章5.1软件控制的总体思路软件系统设计及实现软件控制其实就是把自己的思想灌输到单片里面,并让其高速有序的执行。对于所有智能车来说软件控制基本是按照路径识别=>舵机控制=>速度控制。其目的是在比赛时尽快跑完全程。按照我们的方案就是采集电感的模拟量,判断赛道导线的位置,控制舵机打角,控制电机转速。5.2主程序结构程序的主体采用顺序结构。为了方便控制,Main函数里面除了初始化程序就是起跑线检测,而所有的核心操作放在定时中断中。如果说画流程图,从宏观上来看是两条线同时执行。如图5.1所示:图5.1函数流程图15第八届全国大学生智能汽车邀请赛技术报告5.3程序的运行开机后,对所有硬件进行初始化,完成之后,PIT定时中断,对电感采回来的数值进行分析,根据比例关系算出赛道电流大小并自动设置对应该电流时最佳参数。正式起跑后定时的采集感应电压。根据第一排传感器水平放置的一个电感数值计算导线与车正中心的偏差(下简称中心偏差)。根据第一排传感器边上呈倾斜放置的电感数值的差值,配合先前算出的中心偏差增加前瞻。赛道状况现已知道,那么我们根据可靠的近处信号结合PD项控制舵机。同时根据近处和远处信号的不同种状态列出状态机,单片机在查表获得当前车处于哪一种状态,根据状态机的规则给定电机的目标转速。在获取到目标转速后,通过电机的控制器迅速稳定的控制电机达到目标转速。5.4导线位置提取方案一:数字检测法。把检测回来的信号数字化,根据数字量判断导线的位置。这种方法路径分辨率不高,而且当导线电流不稳定的时候,容易受到干扰,适应性不强。为提高空间分辨率,只能增加传感器数量,但每个传感器之间相互会造成较大的干扰。方案二:模拟检测法。根据采集回来的ad值进行合理的运算,判断导线的位置。这种方法空间分辨率可以达到2mm,而且受电流变化的影响比较少,适合小车稳定的检测要求。故选方案二作为导线提取方法。首先,将AD值做归一化处理,即根据各个传感器接收赛道的最高电压和最低电压,计算出各个传感器的相对值,最后来计算黑线位置。信号归一化的方法如下:相对值?测量值-最低电压值?100%最高电压值-最低电压值(公式1)求取电压值最大的传感器位置,然后和它周围两个传感器采样值进行加权计算即可求得小车的偏差。16第五章软件系统设计与实现5.5系统控制算法提取小车和导线之间的位置关系后,可以确定基本控制策略。当小车偏离导线较少时,给定一个较小的回正角度,小车也可以加速行驶。当小车偏离导线较大时,应该给定较大的回正角度和减慢车速。经典的PID控制是一种简单而有效的控制算法,并且已经十分成熟,将PID控制方法应用于小车控制是可行和有效的办法。5.5.1数字PID控制通过对模拟控制系统PID控制规律的表达式进行离散化,可以得到直接离散控制(DDC)的PID表达式如(公式10)所示:u(k)?Kpe(k)?K1?e(i)?KD[e(k)?e(k?1)]i?0k(公式2)表示的控制算法提供了执行机构的位置u(k),所以被称为数字PID位置控制算式。为方便数字PID算式的实现,对位置型控制算式进行了改进,即得到数字PID的增量型控制算式如(公式11)所示:?u(k)?u(k)?u(k?1)?KP[e(k)?e(k?1)]?K1e(k)?KD[e(k)?2e(k?1)?e(k?2)](公式3)5.5.2循迹算法路径识别包括对传感器的控制以及接受信号的处理。对传感器的控制就是定时采集电感数值,对采样结果的分析与判断。我们利用PIT定时中断,中断处理中主要是对AD进行一个连续序列的转换,并将数值进行存储。对数据的有效性判断比较简单,当传感器采回来的数值低于某一个特定阈值时直接判断为无效信息。根据毕奥萨伐尔定理可知,如果赛道的电流不发生变化时,电感的感应电压通过后级电路后产生的直流电平正比于sinθ/(h2+L2),其中h为传感器距离导线的竖直距离,L为传感器距离导线的水平距离,θ为工字电感与导线的夹角。代入水平方向放置的四个电感数值就可以得到L和θ的具体数值。17第八届全国大学生智能汽车邀请赛技术报告倾斜放置的电感只是感性的估算。我们假象一下,比赛的赛道全部都是直道,那么当车身平行于导线时,第一排电感检测到的数值具有一定对称性,而当赛道前面出现弯道时第一排电感检测到的数值上会有较大的差别,将这个差值按照前面得到的θ进行软件放大得到一个前方赛道的变化率λ。5.5.3转向控制算法舵机转向控制采用了经典的经可以取得不错的控制效果。采用位置型算法,根据小车偏离导线的偏差,舵机控制算式为:u?u0?P*ei?D*(ei?ei_1)PID控制,在合理的设置参数后,该算法响应速度快、稳态误差都较低,为使舵机的相应速度加快,只是使用了PD算法已(公式4)在(公式12)中,u为给定舵机控制量,u0为舵机中心值,P、D分别为比例系数和微分系数,ei为当前偏移量,ei_1为上一次偏移量。5.5.4速度控制算法速度控制部分是智能车除了舵机控制之外最为核心的内容。一个好的速度控制就是能十分准确的给出目标速度,电机对目标速度响应迅速,系统在干扰下速度依然稳定。第一步要求有合理的速度决策。我们最终采用的速度决策方法是一个简单的分段函数。将赛道分为直道,小半径弯道,大半径弯道,丢失路线。而且这些速度可以根据赛道的具体情况通过按键在比赛准备时设定。速度给定了之后执行也大有学问。直接列出速度和占空比的关系是一种十分不稳定的做法。这种做法受电池电量影响严重,而且只能适应某一种摩擦力的赛道。所以我们决定根据编码器反馈回来的数值进行换算。当编码器反馈回来的速度没有达到目标速度,那么正转占空比自加,反之则自减。只要调节自加和自减的步进就能很好的对速度进行控制。对电机的速度控制,我们采取的是PID+bang-bang的控制思路,而速度的给定尝试使用模糊控制和二次曲线拟合速度的方法。发现两种方法控制各有特点,都能够取得很好的控制效果。模糊控制在弯道较多的扰动情况下减速相当迅速,而二次曲线拟合给定速度行进整体比较流畅。二次曲线拟合在设定速度方面比较方便,因而采取拟合的速度给定方法。18第五章软件系统设计与实现根据二次曲线顶点式:(公式5)只要知道顶点坐标(h,k)和其中一个点坐标即可知道曲线的解析式。因而我们可以只设定小车行进的最大速度和最小速度就能求得到输出的速度值。速度控制以编码器反馈回来脉冲数进行控制。考虑到PID数字位置式积分的累积误差大,占用较多存储单元,而数字PID增量式可以对较少的历史数据递推使用,占用存储单元少,编程简单,运算速度快。为使小车更快地响应加减速,引入了bang-bang控制,当速度较大的时候,PWM输出为0;当速度较小的时候输出全额PWM。19第六章6.1开发工具开发工具、制作、安装、调试过程我们主要的开发环境是Metrowerks公司专门为飞思卡尔S12系列芯片设的CodewarriorIDE,可从飞思卡尔半导体公司相关网页上下载到CW_S12_v5.0_Special.exe。6.1.1CodewarriorIDE的安装与使用从上下载到的其实是一个压缩包,双击安装时它会先解压安装文件到C:\DocumentsandSettings\Administrator\LocalSettings\Temp\CodeWarriorforS12(X)V5.0文件夹中,再运行其中的setup.exe文件。我们的思想全靠C语言代码来实现,CodewarriorIDE集成代码编辑工具,工程编译工具以及目标芯片下载与调试工具。与开发其它单片机一样,使用CodewarriorIDE开发MC9S12DG128先要创建工程,下面是我们使用CodewarriorIDE的一个实例。6.6.2工程的创建打开CodewarriorIDE,创建一个新工程,界面如图6.1所示。图6.1利用CodewarriorIDE创建一个工程选择目标芯片型号以及芯片与电脑的连接方式,这里选择MC9S12XEP100以及“TBDML”项,如图6.2所示。20第六章开发工具、制作、安装、调试过程图6.2选择目标芯片及连接方式选择程序编写所用语言,以及填写创建的工程名和保存路径,如图6.3所示。图6.3选择工程编写所用语言及工程保存路径接下来的以默认设置直道完成。完成之后,会出现工程文件管理窗口,如图6.4所示。21第八届全国大学生智能汽车邀请赛技术报告图6.4成功创建一个工程6.2上位机软件通过下位机发送数据到计算机由此组成曲线。可以方便调节PID,检查错误等功能。图6.5上位机22第七章表7.1车模技术参数表车模技术参数说明参数1200.0g770.0mm、245.0mm、190.0mm10.0W个电感×4个+干簧管×2个+编码器×1个无5.0mm200次/秒500.0P/R名称车模总体质量车模长度、宽度、高度电路总功耗电路电容总容量传感器个数传感器种类额外伺服器赛道检测精度赛道检测频率编码器精度23第八章总结在实验室中学习了很多其他专业的知识,例如:速度PID算法、bang-bang算法、车模机械结构建模等;提高了自身的动手实践能力,焊接工艺比以前大大提升;知道理论和实际之间还是有很多差别的,在以后的工作和学习中要考虑到现实生活的诸多因素影响。在这台小车上付出了很多辛勤希望到赛场上能得到回报。I第九章出版社,2008参考文献[1]孙同景,陈桂友Freescale9S12十六位单片机原理及嵌入式开发技术,北京-机械工业[2]邵贝贝.单片机嵌入式应用的在线开发方法.北京-清华大学出版社2004年10月第1版[3]卓晴,黄开胜,邵贝贝学做智能车北京-北京航空航天大学出版社2007[4]王威HCS12微控制器原理及应用北京-北京航空航天大学出版社2007[5]李宁,刘启新电机自动控制系统北京-机械工业出版社,2003[6]谭浩强C++程序设计北京-清华大学出版社2004[7]潘松,黄继业现代数字电路基础教程北京-科学出版社2008[8]王水平开关稳压电源原理及设计北京-人民邮电出版社2008[9]TI公司UseofRail-to-RailOperationalAmplifiers/ApplicationReport1999[10]infineon公司BTS7970Rev2.0/Datasheet2006[11]钱江一号第六届“飞思卡尔”杯全国大学生智能车大赛技术报告杭州电子科技大学2011[12]北京科技大学摄像头一队第七届“飞思卡尔”杯全国大学生智能车大赛技术报告北京科技大学2011[13]hudy_set-up_book,车模调教说明。来自智能车制作论坛。II附录:程序源代码1.PID算法voidPID(intideal_speed,intpulse_counter){if(speed>(speedset-200)){startspeed=1;}speed_flag=pulse_counter-ideal_//真实速度-目标速度error=ideal_speed-pulse_d_error=error-pre_dd_error=d_error-pre_d_pre_error=pre_d_error=d_PP+=kp*d_PI+=ki*if(PI>999)PI=999;M_speed=PP+PI;if(startspeed==0)P_speed=999;if(startspeed==1){P_speed=M_}if(P_speed>999){P_speed=999;}elseif(P_speed<-999){P_speed=-999;}}//存储当前偏差,作为下次的参考//计算偏差//两次偏差之差III附录:程序源代码2.变速控制算法voidSpeedControl(void){CurvexmeasuredA[0]=Cfor(j=4;j>0;j--){CurvexmeasuredA[j]=CurvexmeasuredA[j-1];}SteerIncrementError[2]=SteerIncrementError[1];SteerIncrementError[1]=SteerIncrementError[0];SteerIncrementError[0]=SteerIncrementCache[0]-SteerIncrementCache[2];ErrorSumSteerIncrementError[2];//舵机打角的变化率SpeedCtl=absCurvexmeasured-XXlast=absCif(SpeedCtl<0)SpeedCtl=0;turntimer++;if(turntimer>100)turntimer=100;if(turncount>(turncountlast+3)){if((turncount-turncountlast)==4)turntimer=0;if((turncount-turncountlast)==5)turntimer=(-1);if((turncount-turncountlast)==6)turntimer=(-2);elseturntimer=(-3);}turncountlast=speeddown=(SPEED_MAX-SPEED_MIN)/250.0f;speedset=SPEED_MAX-(absCurvexmeasured)*speeddown*0.9-SpeedC}=SteerIncrementError[0]*3/2+SteerIncrementError[1]+

我要回帖

更多关于 飞思卡尔论坛 的文章

 

随机推荐