基于飞思卡尔k60芯片控制下的智能汽车

上传人:无*** 文档编号:87908814 上传时间:2022-05-10 格式:DOC 页数:48 大小:4.48MB
返回 下载 相关 举报
基于飞思卡尔k60芯片控制下的智能汽车_第1页
第1页 / 共48页
基于飞思卡尔k60芯片控制下的智能汽车_第2页
第2页 / 共48页
基于飞思卡尔k60芯片控制下的智能汽车_第3页
第3页 / 共48页
点击查看更多>>
资源描述
.基于飞思卡尔k60芯片控制下的智能汽车- -日期:- 44 - / 48学号_ 1109111015毕业设计 课程名称基于飞思卡尔k60芯片控制下的智能汽车学生皇甫 趁心 院部 电气工程学院 专业班级 11自动化 指导教师臧 大 进2015年5月摘要智能汽车技术是一种在无人干预的情况下自动跟踪预定轨迹,最终实现自动驾驶的高新技术。智能车辆系统的基本功能是,利用各类传感器感知环境信息,做出控制决策,使得车辆按照期望路线行驶或到达期望目标点。智能汽车的设计涉与计算机科学、传感器检测、多元信息融合、信息通讯、人工智能与模式识别以与自动控制等多个领域的交叉技术。从第五届的电磁组开始到第九届比赛,电磁小车已经在智能车的赛道上奔驰了5年,从第六届取消了前瞻长度的限制,电磁车速度开始有了质的飞跃,第七届改成直立状态行走后,虽然对速度有一定的影响,但也以其独特魅力和新的技术挑战让参赛者向往不已,第八届改回四轮行进方式并采用了A车模,小车的速度再次出现大幅提升,第九届电磁组小车依然从采用四轮行进,不过组委会为电磁组添加了直角道,增加了电磁组的难度。本文中,我们小组通过对小车设计制作整体思路、电路、算法、调试、车辆四轮定位等的介绍,详尽地阐述了我们的创意和思路,具体表现为软件的升级改进,硬件电路的删减改进以与车辆机械参数的调配,特别是对算法的改进,我们花了不少的心血,从之前的对算法的似懂非懂,到后来对程序的大打删改,我们不知道出现过多少错误,也不知道遇到多少挫折,最终写出了一套属于我们自己适合我们自己小车的程序算法。从参赛前的校选拔到比赛的完毕,我们程方如意对遇到了很多的困难和挫折,从刚开始的浮夸到后来的急躁再到最终我们心爱的小车成功的跑起来,我们查阅了很多的相关资料,涉猎控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,通过这次比赛,我们对我们的专业知识有了更深的认识,学到了我们从书上学习不到的知识,我们学会了团结,学会了注意细节,只有团结,抓住每一个细节,才能把事情做成功!在这次比赛中我们受到了许多人的帮助,其中最要感的是我们的指导老师臧大进老师,感您在整个比赛中对我们的指导和帮助,其次还有帮助我们的学长,以与各位、网友,没有你们我们也走不到今天,再次也一一感!最后我要特别感我的两位队友,是他们把我带上了飞思卡尔智能汽车这条道路,并一路支持和帮助我一起解决各类问题,正是我们三个团结一致,合作才有了我们最后的成功!你们。目 录摘要- 1 -第一章 方案设计- 4 -1.1系统总体方案的设计- 4 -1.2系统总体方案设计图- 7 -第二章 智能车机械结构调整与优化- 8 -2.1智能车车体机械建模- 8 -2.2智能车前轮定位的调整- 9 -2.2.1前轮前束- 9 -2.2.2主销后倾角- 11 -2.2.3主销倾角- 11 -2.2.4车轮外倾角- 11 -2.3智能车转向机构调整优化- 12 -2.4智能车后轮减速齿轮机构调整- 13 -2.5 编码器的安装- 14 -2.6 智能车重心位置的调整- 14 -2.7其它机械结构的调整- 14 -第三章 电路设计说明- 16 -3.1 主控板和驱动板的硬件设计- 16 -3.1.1 电源管理模块- 16 -3.1.2 电机驱动模块- 18 -3.1.3 数模信号转换- 19 -3.1.4 单片机与其他电路部分设计- 19 -3.2 智能车传感器模块设计- 22 -3.2.1电感传感器的原理- 22 -3.2.2磁传感器信号处理电路- 22 -3.2.3传感器的布局原理与改进- 25 -第四章 智能车控制软件设计说明- 28 -4.1底层初始化- 28 -4.2传感器采集处理算法- 29 -4.3寻线行驶算法实现- 30 -4.3.1定位算法- 30 -4.3.2基于位置式PID的方向控制- 32 -4.3.3基于增量式PID的速度控制- 34 -4.3弯道策略分析- 34 -4.4弯道策略制定- 36 -第五章 开发工具、制作、安装、调试过程说明- 39 -5.1 开发工具- 39 -5.2 调试过程- 39 -5.2.1 上位机系统- 39 -5.2.2 控制算法的参数整定- 41 -5.3 整车机械方面的调整- 42 -第六章 模型车的主要技术参数说明- 43 -结论- 44 -参考文献- 45 -第一章 方案设计本章主要简要地介绍智能车系统总体设计思路,在后面的章节中将整个系统分为机械结构、控制模块、控制算法等三部分对智能车控制系统进行深入的介绍分析。1.1系统总体方案的设计根据第九届飞思卡尔组委会公布的竞赛规则与相关规定,智能车系统采用大赛组委会统一提供的C型车模,控制器我们则选择了组委会允许下的32位微控制器k60作为核心控制器,在IAR开发环境中进行软件开发。赛车的位置信号由车体前方固定在前瞻上的六路电磁传感器采集,经部AD进行模数转换后,加以处理后输入到控制核心,作为处理智能车运动控制的核心信息。通过欧普龙(500线)编码器(两个)测速模块来检测车速,并采用K60 的输入捕捉功能进行脉冲计数计算速度与差速控制;电机转速控制采用 PID 控制,通过 PWM 控制驱动电路调整电机的转速,完成智能车速度的闭环控制。图1.1.1 电磁车整体布局我们使用红树伟业的 BLK-MD-BC04-B蓝牙模块与上位机通讯,发送小车运行的各项参数,从而对小车进行调试。图1.1.2蓝牙模块产品特征:1、电源电压3.3V,未配对时电流约2-10mA,配对后约20mA,绝对禁止接反电源!2、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!3、led引脚指示蓝牙连接状态,输出脉冲表示没有蓝牙连接,输出高表示蓝牙已连接并打开了端口状态指示LED:PIO(1)用于指示蓝牙模块所处状态,LED灯闪烁方式与蓝牙模块状态对应见下表:4、模块与电脑接,接MAX3232芯片后接到电脑的串口5、空旷地有效距离15米左右,但不对此距离的连接质量做保证6、配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。7、在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式8、体积小巧(2.7cm*1.3cm),工厂贴片生产,保证贴片质量。 9、该为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对主从模式设置:硬件设置:主模式:1、将PI0(4)软/硬件主从设置口:置低(或悬空)为硬件设置主从模式 2、将PIO(5)硬件主从设置口:置3.3V高电平从模式:1、将PI0(4)软/硬件主从设置口:置低(或悬空)为硬件设置主从模式 2、将PIO(5)硬件主从设置口:置地(或悬空)软件设置:主模式:1、将PI0(4)软/硬件主从设置口:置3.3V高电平 2、打开超级终端或其他串口调试工具设置波特率9600,数据位8位,停止位1位,无校验位,无流控制。 3、串口发送字符“AT+ ROLE1 rn”,成功返回“+ROLE=1rn OKrn”,其中rn为回车换行从模式:1、将PI0(4)软/硬件主从设置口:置3.3V高电平 2、打开超级终端或其他串口调试工具设置波特率9600,数据位8位,停止位1位,无校验位,无流控制。 3、串口发送字符“AT+ ROLE0 rn”,成功返回“+ROLE=0rn OKrn”,其中rn为回车换行为简便实用,我们采用了硬件设置方案。1.2系统总体方案设计图K60微控制器欧普龙编码器直流电机电机驱动模块舵机转向控制蓝牙莫款六路电感传感器上位机干簧管键盘,拨档开关运放模块图1.2系统总体方框图根据以上系统方案设计,赛车共包括七大模块:四轮定位、K60主控模块、传感器模块、电源模块、电机驱动模块、速度检测模块、蓝牙调试模块。各模块的作用如下:四轮定位,从机械方面提高智能车的性能指标不容忽视。K60主控模块,作为整个智能车的“大脑”,将采集10mh电感传感器放大信号、欧普龙编码器脉冲信号等,根据所编写控制算法做出控制决策,驱动直流电机和伺服电机运行从而完成对智能车的控制。电感传感器模块,是智能车的“眼睛”,可以通过一定的前瞻性,提前感知前方的赛道信息,为智能车的“大脑”做出决策提供必要的依据和充足的反应时间。电源模块,为整个电路系统提供稳定电源。电机驱动模块,驱动直流电机和伺服电机完成智能车的加减速控制和转向控制。速度检测模块,检测反馈智能车后轮的转速,用于速度的闭环控制。蓝牙调试模块主要用于智能车系统的功能调试、赛车状态监控等方面。 第二章 智能车机械结构调整与优化智能车系统任何的控制都是在一定的机械结构基础上实现的,因此在设计整个软件架构和算法之前一定要对整个车模的机械结构有一个感性的认识,然后建立相应的数学模型。从而再针对具体的设计方案来调整赛车的机械结构,并在实际的调试过程中不断的改进和提高。本章将主要介绍智能车车模的机械结构和调整方案。 2.1智能车车体机械建模此次比赛选用的赛车车模采用A型车模。赛车机械结构只使用竞赛提供车模的底盘部分与转向和驱动部分。控制采用前轮转向,后轮驱动方案。我们对机械结构的要:简单而高效。我们在不断的尝试后确定了以下的设计方案:图2.1 智能车器件布局图2.2智能车前轮定位的调整现代汽车在正常行驶过程中,为了使汽车直线行驶稳定,转向轻便,转向后能自动回正,减少轮胎和转向系零件的磨损等,在转向轮、转向节和前轴之间须形成一定的相对安装位置,叫车轮定位,其主要的参数有:主销后倾、主销倾、车轮外倾和前束。智能车竞赛模型车的四项参数都可以调整,但是由于模型车加工和制造精度的问题,在通用的规律中还存在着一些偶然性。2.2.1前轮前束为什么要有前束?1.首先,为了使司机握的方向盘能够自动保持在中央,不乱转,减轻司机的疲劳,就要使主轴后倾。这就如同自行车的前叉子后倾一样,可以使双手轻松。2.但是,主轴后倾之后,前轮会有高速的小摆动,使车身不稳。为了克服前轮的小摆动,就要失主销外倾,速度越慢,道路越不平,则需要主销外倾的角度越大,如四轮拖拉机。由于两个前轮外倾的方向相反,互相抵消了前轮的小摆动,车身更加平稳了。3.但是,随之而来的是:由于主销外倾,前轮也是外倾的,这样前轮就有一个向外拐的趋势,也就是左侧的前轮向左拐,右侧的前轮向右拐,前轮又被安装在车上,拐不了,因此造成轮胎的严重磨损。前束就是为了解决这个磨损问题的,将两侧的轮子向侧撇一个角度,正好抵消主销外倾造成的轮胎跑偏,使轮胎可以沿直线前进,这样就没有干磨的现象了,从而达到了降低轮胎磨损的目的。这就是前束的来历,它最初是从减轻司机的劳动强度入手的,一环一环演变而来的。主轴后倾-主销外倾-前束,一环扣一环。当车辆使用很长时间后,用户发现方向转向沉重、发抖、跑偏、不正、不归位或者轮胎单边磨损,波状磨损,块状磨损,偏磨等不正常磨损,以与用户驾驶时,车感漂浮、颠簸、摇摆等现象出现时,就应该考虑检查一下车轮定位值,看看是否偏差太多,与时进行修理。 前轮定位包括主销后倾角、主销倾角、前轮外倾角和前轮前束四个容。后轮定位包括车轮外倾角和逐个后轮前束。这样前轮定位和后轮定位总起来说叫车轮定位,也就是常说的四轮定位。车轮定位的作用是使汽车保持稳定的直线行驶和转向轻便,并减少汽车在行驶中轮胎和转向机件的磨损。 主销后倾角: 从侧面看车轮,转向主销(车轮转向时的旋转中心)向后倾倒,称为主销后倾角。设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离(称作主销纵倾移距,与自行车的前轮叉梁向后倾斜的原理相同),使车轮的接地点位于转向主销延长线的后端,车轮就靠行驶中的滚动阻力被向后拉,使车轮的方向自然朝向行驶方向。设定很大的主销后倾角可提高直线行驶性能,同时主销纵倾移距也增大。主销纵倾移距过大,会使转向盘沉重,而且由于路面干扰而加剧车轮的前后颠簸。 主销倾角: 从车前后方向看轮胎时,主销轴向车身侧倾斜,该角度称为主销倾角。当车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的效应,因而方向盘复位容易。 此外,主销倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距离减小,从而减小转向时驾驶员加在方向盘上的力,使转向操纵轻便,同时也可减少从转向轮传到方向盘上的冲击力。但主销倾角也不宜过大,否则加速了轮胎的磨损。 前轮外倾: 从前后方向看车轮时,轮胎并非垂直安装,而是稍微倾倒呈现“八”字形开,称为负外倾,而朝反方向开时称正外倾。使用斜线轮胎的鼎盛时期,由于使轮胎倾斜触地便于方向盘的操作,所以外倾角设得比较大。现在汽车一般将外倾角设定得很小,接近垂直。汽车装用扁平子午线轮胎不断普与,由于子午线轮胎的特性(轮胎花纹刚性大,外胎面宽),若设定大外倾角会使轮胎磨偏,降低轮胎摩擦力。还由于助力转向机构的不断使用,也使外倾角不断缩小。尽管如此,设定少许的外倾角可对车轴上的车轮轴承施加适当的横推力。 前轮前束: 脚尖向,所谓“八字脚”的意思,指的是左右前轮分别向。采用这种结构目的是修正上述前轮外倾角引起的车轮向外侧转动。如前所述,由于有外倾,方向盘操作变得容易。另一方面,由于车轮倾斜,左右前轮分别向外侧转动,为了修正这个问题,如果左右两轮带有向的角度,则正负为零,左右两轮可保持直线行进,减少轮胎磨损。 所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力自然将轮胎向偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎外侧磨损的现象会减少。像八字那样前端小后端大的称为“前束”,反之则称为“后束”或“负前束”。在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大小。在实际的调整过程中,我们发现较小的前束,约束02mm可以减小转向阻力,使模型车转向更为轻便,但实际效果不是十分明显。虽然模型车的主销后倾角、主销倾角、车轮外倾角和前束等均可以调整,但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性,一切是实际调整的效果为准。2.2.2主销后倾角主销后倾角是指在纵向平面主销轴线与地面垂直线之间的夹角。它在车辆转弯时会产生与车轮偏转方向相反的回正力矩,使车轮自动恢复到原来的中间位置上。所以,主销后倾角越大,车速越高,前轮自动回正的能力就越强,但是过大的回正力矩会使车辆转向沉重。通常主销后倾角值设定在1到3。模型车通过增减黄色垫片的数量来改变主销后倾角的,由于竞赛所用的转向舵机力矩不大,过大的主销后倾角会使转向变得沉重,转弯反应迟滞,所以设置为0,以便增加其转向的灵活性。2.2.3主销倾角主销倾角是指在横向平面主销轴线与地面垂直线之间的夹角,它的作用也是使前轮自动回正。角度越大前轮自动回正的作用就越强,但转向时也就越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。通常汽车的主销倾角不大于8。 对于模型车,通过调整前桥的螺杆的长度可以改变主销倾角的大小,由于过大的倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调整为03左右,不宜太大。主销倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销倾的回正作用大。 2.2.4车轮外倾角前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。在汽车的横向平面,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在1左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。 模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为0即可,并且要与前轮前束匹配。2.3智能车转向机构调整优化理想的转向模型,是指在轮胎不打滑时,忽略左右两侧轮胎由于受力不均产生的变形,忽略轮胎受重力影响下的变形时车辆的的转向建模。在这种理想的模型下,车体的转向半径可以计算得到。图2.2 智能车转向示意图如图2.2,假设智能车系统为理想的转向模型,且其重心位于其几何中心。车轮满足转向原理,左右轮的轴线与后轮轴线这三条直线必然交于一点。转向机构在车辆运行过程中有着非常重要的作用。适宜的前桥和转向机构可以保证在车辆直线行驶过程中不会跑偏,能保证车辆行驶的方向稳定性;而在车辆转向时,适宜的转向机构可以使车辆自行回到直线行驶状态,具有好的回正性。正是由于这些原因,转向系统优化设计成为智能车设计中机械结构部分的重点,直接关系到赛车能否顺利地完成比赛。在实际操作中,我们通过理论计算的方案进行优化,然后做出实际结构以验证理论数据,并在实际调试过程中不断改进。在模型车制做过程中,赛车的转向是通过舵机带动左右横拉杆来实现的。转向舵机的转动速度和功率是一定,要想加快转向机构响应的速度,唯一的方法就是优化舵机的安装位置和其力矩延长杆的长度。由于功率是速度与力矩乘积的函数,过分追求速度,必然要损失力矩,力矩太小也会造成转向迟钝,因此设计时就要综合考虑转向机构响应速度与舵机力矩之间的关系,通过优化得到一个最正确的转向效果。经过最后的实际的参数设计计算,最后得出一套可以稳定、高效工作的参数与机构。如图2.3,我们最终设计的这套转向拉杆,我们综合考虑了速度与扭矩间的关系,并根据模型车底盘的具体结构,简化了安装方式,实现了预期目标。图2.3 转向拉杆图2.4智能车后轮减速齿轮机构调整模型车后轮采用RS-380SH 双电机驱动,电机轴与后轮轴之间的传动比为18:76(电机轴齿轮齿数为18,后轴传动齿数为76)。齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动部分安装位置的不恰当,会大大增加电机驱动后轮的负载,会严重影响最终成绩。调整的原则是:两传动齿轮轴尽量保持平行, 齿轮间的配合间隙要适宜,过松容易打坏齿轮,造成不必要的麻烦,过紧又会增加传动阻力,影响速度与增大功耗;传动部分要轻松、顺畅,不能有迟滞或周期性振动的现象。判断齿轮传动是否良好的依据是,听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大,传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,或者两齿轮轴不平行,电机负载变大。调整好的齿轮传动噪音很小,并且不会有明显碰撞类的杂音,后轮减速齿轮机构就基本上调整好了,动力传递十分流畅。2.5 编码器的安装为了提高精度,本车使用了日本欧普龙公司生产的欧普龙500线编码器。使用红树伟业公司生产的编码器支架很好的固定了两个编码器。 图2.4 编码器安装2.6 智能车重心位置的调整为了达到较远前瞻,必须把电感架到较远的位置,会引起车重心特别靠前,后轮正压力不足导致甩尾。为了使重心后移,我们尝试了很多传感器支架的搭建方式,使得保证结构稳定的前提下尽量减轻重量。同时,我们把舵机和电池均往后移,达到了预期的效果。2.7其它机械结构的调整另外,在模型车的机械结构方面还有很多可以改进的地方,比如说车轮、悬架、底盘、车身高度等。模型车在高速的条件下(2.3m/s3.5m/s),由于快速变化的加减速过程,使得模型车的轮胎与轮辋之间很容易发生相对位移,可能导致在加速时会损失部分驱动力。在实验中调试说明,赛车在高速下每跑完一圈,轮胎与轮辋之间通常会产生几个厘米的相对位移,严重影响了赛车的加速过程。为了解决这个问题,我们在实际调试过程中对车轮进行了粘胎处理,可以有效地防止由于轮胎与轮辋错位而引起的驱动力损失的情况。此外,我们还对车身高度,以与底盘的形状和质量等,都进行了相应的改进和调整,均取得了不错效果。第三章 电路设计说明3.1 主控板和驱动板的硬件设计3.1.1 电源管理模块为满足需要,本车模上存在4种供电电压:1)智能车使用镍镉充电电池,充满时电压在7.28.2V。直接用于电机供电。2)欧普龙编码器与蓝牙(也可3.3V)使用5V供电,5V电源选用型稳压芯片LM2940CT-5.0直插封装芯片,。3)使用3.3V为单片机以与运算放大器供电,采用线性稳压芯片AMS1117-3.3芯片,输入端接5V的LM2940CT-5.0芯片输出端。4)电机驱动模块使用直流12V,使用一款5-12V 升压电源模块。5)舵机驱动我们则创造性的采用了二极管直接降压的手段,效果很好。该部分电路如图3.1所示。图3.1 .1电源管理模块原理图3.1.2第一次电路板3.1.3第二次电路板3.1.4成型焊接电路板(参赛)3.1.2 电机驱动模块电机驱动电路为一个由分立元件制作的直流电动机可逆双极型桥式驱动器,其功率元件由四支 N 沟道功率 MOSFET 管组成,额定工作电流可以轻易达到 100A 以上,大大提高了电动机的工作转矩和转速。该驱动器主要由以下部分组成: PWM信号输入接口、逻辑换向电路、死区控制电路、电源电路、上桥臂功率 MOSFET 管栅极驱动电压泵升电路、功率 MOSFET 管栅极驱动电路、桥式功率驱动电路、缓冲保护电路等。该部分原理图如图3.2所示。图3.2 电机驱动模块原理图3.1.3 数模信号转换K60的部有各种精度的AD接口,而且使用方便,所以我们则直接使用k60部AD,从而也简化了部分电路。我们使用了六路传感器,从而引出三个LMV358双运放六个AD接口。其接线方法如图3.3所示。图3.3接线图3.1.4 单片机与其他电路部分设计核心控制单元:K60(主频128MHz,FlashRom512KB,具备SPI,SCI,IIC等常用接口),根据需要引出适量的管脚。如图3.4所示。图3.4 单片机测速:在电机侧方通过编码器支架固定欧普龙编码器,当电机转动时带动编码器转动,从而产生矩形波,再由单片机输入捕捉周期记录脉冲数据此获取速度信息。用欧普龙编码器(500线)测速要比光电编码盘精度高很多。测速模块供给主板的信号要经过整波,使用上拉电阻提高其峰值电压,再使用三态门将波形整为矩形波(具体使用相见欧普龙编码器使用说明)。测试模块实物如图3.5所示。图3.5.2码盘图3.5.2 测速模块人机交互:拨档开关用于输入参数,设定车速,策略调整,用蓝牙模块小车状态便于调试。该部分整体电路如图3.6所示。图3.6 拨码开关3.2 智能车传感器模块设计根据飞思卡尔组委会的出台的相关规定,我们查阅相关资料看,向前辈请教,最终选择了10mH的工字电感作为我们道路识别的电磁传感器,这种电感得到感应电动势曲线是较为规整的正弦波,频率和赛道电源频率一致,为20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远小。3.2.1电感传感器的原理根据电磁学里的相关原理,我们知道在导线入变化的电流(如按正弦规律变化的电流),则导线周围会产生变化的磁场,且磁场与电流的变化规律具有一致性。如果在此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。据此,则可以确定电感的大致位置。3.2.2磁传感器信号处理电路确定使用电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。要进行以下三个步骤才能得到较为理想的信号:信号的滤波,信号的放大,信号的检波。1)信号的滤波比赛选择20kHz的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得20kHz 的信号能够有效的放大,并且去除其它干扰信号的影响。使用 LC并联谐振电路来实现选频电路(带通电路),如图2.9所示。图3.7 LC并联电路其中,E是感应线圈中的感应电动势,L是感应线圈的电感值,R0是电感的阻,C 是并联谐振电容。电路谐振频率为: (2.1)已知感应电动势的频率=20kHz,感应线圈电感为L=10mH,可以计算出谐振电容的容量为C=6.3310-9 F 。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为 6.8nF,所以在实际电路中选用 6.8nF的电容作为谐振电容。2)信号的放大由第一步处理后的电压波形已经是较为规整的20kHz正弦波,但是幅值较小,随着距离衰减很快,不利于电压采样,所以要进行放大,官方给出的如下参考方案即用三极管进行放大,但是用三极管放大有一个不可避免的缺点就是温漂较大,而且在实际应用中静电现象严重。图3.8 共射三极管放大电路因此我们放弃三极管放大的方案,而是采用集成运放进行信号的放大处理,集成运放较三极管优势是准确受温度影响很小,可靠性高。集成运放放大电路有同相比例运算电路和反相比例运算电路,我们在实际中使用反相比例运算电路。由于运放使用单电源供电,因此在同相端加vcc/2的基准电位,基准电位由电阻分压得到。3)信号的检波测量放大后的感应电动势的幅值E可以有多种方法。 最简单的方法就是使用二极管检波电路将交变的电压信号检波形成直流信号,然后再通过单片机的AD采集获得正比于感应电压幅值的数值。我们采用的为竞赛组委会给出的第一种方案即使用两个二极管进行倍压检波。倍压检波电路可以获得正比于交流电压信号峰峰值的直流信号。为了能够获得更大的动态围, 倍压检波电路中的二极管推荐使用肖特基二极管或者锗二极管。由于这类二极管的开启电压一般在0.10.3V左右,小于普通的硅二极管(0.7V),可以增加输出信号的动态围和增加整体电路的灵敏度。这里选用常见的的肖特基二极管1N5817。最终方案确定如下图3.10最终方案3.2.3传感器的布局原理与改进对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶,即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。具体的就是,弧线侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。由此,可以引导小车重新回到导线上。由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域(如图3.11箭头所指)。同一个差值,会对应多个位置,不利于定位。另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。图3.11 双线圈差值法有定位不清区域现提出一种优化方案:5个垂直放置的电感按“一”字排布,每个电感相距约为5cm(见图3.12),这样覆盖赛道围约为25cm。三个“一”字排布的电感可以大大提高检测密度和广度,向前有两个电感,最可以提高前瞻,改善小车入弯状态和路径,两个45的电感,可以改善入弯和出弯的姿态。图3.12工字电感布局第四章 智能车控制软件设计说明控制程序是比赛过程中的重点,一辆小车的能否跑起来主要看硬件是否稳定,一辆小车的跑的快慢,成绩好坏则很大程度上决定于控制算法。控制程序是人的思想在车模表达,程序要体系化,模块化,稳定化,目标是将硬件电路和机械性能发挥到最大,让车模用最快的速度完成比赛。4.1底层初始化编写初始化函数void All_Init(void)void All_Init(void) uart_init (UART0,9600); pit_init_ms(PIT0,1); pit_init_ms(PIT1,9); adc_init(ADC1,SE4a);/电感1输入,硬件接口E0 adc_init(ADC1,SE5a);/电感2输入,硬件接口E1 adc_init(ADC1,SE6a);/电感3输入,硬件接口E2 adc_init(ADC1,SE7a);/电感4输入,硬件接口E3 adc_init(ADC0,SE17);/电感1输入,硬件接口PTE24 adc_init(ADC0,SE18);/电感2输入,硬件接口PTE25 gpio_init (PORTD, 8, GPI,1); gpio_init (PORTD, 9, GPI,1); gpio_init (PORTD, 10, GPI,1); /exti_init(PORTB, 3, falling_up); gpio_init (PORTD, 11, GPI,0); gpio_init (PORTD, 12, GPI,0); gpio_init (PORTD, 13, GPI,0); gpio_init (PORTD, 14, GPI,0); gpio_init (PORTD, 15, GPI,0); exti_init(PORTB,3,falling_up); FTM_PWM_init(FTM0,CH4,50, 0);/舵机控制PWM波输出,硬件接口C2 FTM_PWM_init(FTM1,CH0,15000, 0); /电机PWM波控制输出,硬件接口C3 FTM_PWM_init(FTM1,CH1,15000, 0);/FTM_PRECISON为10000u FTM_PWM_init(FTM2,CH0,15000, 0); /电机PWM波控制输出,硬件接口A1 FTM_PWM_init(FTM2,CH1,15000, 0); DMA_count_Init(DMA_CH0, PTA19, 65535, DMA_rising); /DMA_count_Init(DMA_CH1, PTC5, 65535, DMA_rising); /lptmr_counter_init(LPT0_ALT1,65535,2, LPT_Rising);/LPT 测速硬件接口c5 PTA19 4.2传感器采集处理算法编写采集滤波函数void Get_Average(void) ,其功能是AD口多次采集某个通道(对应某个电感)的电压值,然后求其平均值,从而达到滤波的作用,然后说返回给函数。多次采集求平均值的原因是由于系统中存在噪声或干扰,进行算法滤波抑制和防止干扰是必要的措施。在这里选择“加权递推平均滤波法”。定义一个循环队列,把连续取N个采样值入队,假设队列的长度为N,每次采样到一个新数据放入队尾,队满后对首数据出队原队首位置成为队尾并入队(即始终保持队列中的N个数据为最新)。越接近现时刻的数据,权取得越大。把队列中的N个数据进行加权平均运算,就可获得新的滤波结果。特点是给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越差。优点是适合采样周期较短的系统,改变权重即可调整灵敏度。该滤波器采集某一通道数据N次,然后进行滤波计算,流程图如图4.1所示:新采集6个通道数据各一次更新队列,数据入队继续采集将形成的队列进行加权计算平均值,越早的数据权重越小,越新的数据权重越大得出新的平均值图4.1 加权递推平均滤波流程图4.3寻线行驶算法实现4.3.1定位算法图3.12所示传感器的寻线原理:某一时刻,采五个“一”字排布的电感的感应电动势,找出一个感应电动势最大的电感(计为M),导线必然会离这个电感最近。然后读出该电感相邻左右两个电感的值(分别计为L和R)。会有以下三种情况:当L值大于R值,说明导线在L和M之间;当L值小于R值,说明导线在R和M之间;当L值约等于R值,说明导线在M正上。对于特殊情况,如M在最左或最后,缺相邻的L或R,可直接将导线位置定位于M,且由M值大小得出远离程度。该情况说明传感器偏离赛道很严重。以上这种通过找感应电动势最大的电感M和相邻电感L和R在确定电感和导线的相对位置的方法,是一种初步的定位方法。这里再次深化讨论,先设立一个阈值T,分两种情况:当|L值R值|T,即L值约等于R值,说明导线在M正上,得出确切位置;当|L值R值|T,说明导线在M和L或者M和R之间。图4.3 标定算法计算的偏移拟合曲线 此定位算法,在直道上的作用比较明显,但在弯道不足以适用所有类型的弯道。所以,在此基础上,引入在弯道计算偏移比较明显的中间标定差值法,即:在直道处进行中间电感M的标定,取其标定值与实时值作差。用此方法得到的在弯道处偏移的曲线如图4.2所示:将以上五电感位移算法与中间电感标定差值算法综合计算,即可得到直道和弯道同样灵敏的控制量。程序流程图如4.3所示。新采集7个通道数据各一次排序得出最大值M,同时找出L值和R值,并判断是否存在满足要求的L和RYN判断是否满足|L值R值|TNYx=Xm、图4.3 传感器定位五电感算法流程图4.3.2基于位置式PID的方向控制PID控制是工程实际中应用最为广泛的调节器控制方法。问世至今70多年来,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。单位反馈的PID控制原理框图如图4.4: ueYRController ControllerPlant图4.4 单位反馈的PID控制原理框图单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u。(4.2)其中,Kp、Ki 、Kd分别称为比例系数、积分系数、微分系数。u接着被送到了执行机构,这样就获得了新的输出信号,这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。数字控制系统中,PID控制器是通过计算机PID控制算法程序实现的。计算机直接数字控制系统大多数是采样-数据控制系统。进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和寄存器,而在数字计算机中的计算和处理,不论是积分还是微分,只能用数值计算去逼近。用矩形数值积分代替上式中的积分项,对导数项用后向差分逼近,得到数字PID控制器的基本算式(位置算式):(4.3)其中T是采样时间,、为三个待调参数,在实际代码实现算法时,处理成以下形式:loca_PreU = Kp * loca_error + Ki * loca_PreIntegral + Kd * loca_derror(4.4)根据以往资料和测试,将定位算法解算出的导线位置当作反馈值(Feedback),参考值(Ref)设为0,则有:loca_error = loca_Ref loca_Feedback (4.5)loca_derror = loca_error - loca_PreError 注: PreError为上次的error(4.6)loca_PreIntegral += loca_error (4.7)为了防止频繁调节和意外输出过大,设置调节死区(-LOCA_DEADLINE, LOCA_DEADLINE)。loca_error在死区,不进行调节,维持上一状态。设置调节围(-LOCA_MAX,LOCA_MAX),假如loca_PreU算出结果越界,那么就赋给边界值 LOCA_MAX。4.3.3基于增量式PID的速度控制对位置式加以变换,可以得到PID算法的另一种实现形式(增量式):(4.8)在实际代码实现时,处理成vl_PreU += (Kp * d_error + Ki * error + Kd*dd_error) (4.9)将测速模块得到的单位时间脉冲数给vi_FeedBack,vi_Ref为设定速度。error = vi_Ref - vi_FeedBack (4.10)d_error = error - vi_PreError (4.11)dd_error = d_error - _PreDerror (4.12)这里设计High,Middle,Low作为设定速度值(vi_Ref),分别对应直道,弯道,最低速度(由传感器状态确定)。位于直道时,设定速度为最大。为提高稳定性,也设置相应的调节死区和调节围。4.3弯道策略分析在车辆进弯时,需要对三个参数进行设定:切弯路径、转向角度、入弯速度。其中,切弯路径主要决定了车辆是选择道过弯还是外道过弯。切道,路经最短,但是如果地面附着系数过小会导致车辆出现侧滑的不稳定行驶状态,原因是切道时,曲率半径过小,同时速度又很快,所以模型车需要的向心力会很大,而赛道本身是平面结构,向心力将全部由来自地面的摩擦力提供,因此赛道表面的附着系数将对赛车的运行状态有很大影响。切外道,路径会略长,但是有更多的调整机会,同时曲率半径的增加会使得模型车可以拥有更高的过弯速度。转向角度决定了车辆过弯的稳定性。适宜的转向角度会减少车辆在转弯时的调整,不仅路径可以保证最优,运动状态的稳定也会带来效率的提高,减少时间。在考虑转向角度设置时需要注意以下几个问题:对于检测赛道偏移量的传感器而言,在增量较小时的转向灵敏度;检测到较大弯道时的转向灵敏度;对于类似S弯的变向连续弯道的处理。对于入弯速度的分析,应该综合考虑路径和转向角度的影响。简单而言,我们会采取入弯减速,出弯加速的方案,这样理论上可以减少过弯时耗费的时间。然而,在过去几届比赛中,通过观察各参赛车对弯道的处理后,我们发现并不是所有人都选择了相同的方案。正如前面说到的那样,不联系路径和转向角度,只是单纯地分析过弯速度,会造成思路的局限甚至错误。例如,在不能与时判断入弯和出弯的标志点就采取“入弯减速、出弯加速”的方案,会出现弯道行驶状态不稳定、路径差,同时出弯加速时机过晚,一样会浪费时间。所以现在本系统参考实际驾驶时的一些经验,对过弯速度的处理方式确定为:入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道适当提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的概率,保证行驶状态的稳定性,而且弯道的有限加速对后面的提速也有很大的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。下面以常见的几种弯道转角处理方式解释各方案的优缺点,其中,横坐标表示由传感器采集回来的赛道中心线相对赛车中心线的偏移量,纵坐标表示转角大小。图4.5弯道转角处理方式a图表示偏移量与转向角度呈线性关系,在计算与程序编写上都比较简单,也可以实现控制赛车行驶的目标,但是由于规则制定比较简单,对赛车实际行驶状态的分析不够全面,所以在实际应用时不能简单套用。b图表示的是在赛车略微偏离赛道中心时,不要对行驶方向作太大调整,而是在当偏离度大到预定值时急速调整转角以保证过弯的与时,同时在以判断出是急弯后,也不要进行大的变动,因为此时转角的值已经很大,仅需对舵机进行微调就可以保证方向的正确性。这种方案的优点是综合考虑了赛车对个弯道的适应程度,同时保证了在直线行驶时的稳定性,和抗干扰性,但是对急弯的响应可能不够与时,这是该方案的主要缺点。c图表示的对弯道的处理方案与B图恰好相反,它提高了相应灵敏度,降低了抗干扰性,对于多弯道,且弯道曲率半径较小的赛道有比较好的适应性。d、e图是两种比较特殊的处理方案,它们不能用于赛车的全程控制,只是考虑到赛车的实际运行特点对某部分的偏移量有特别要使用。对于传统四轮车辆,转向时前轮有比较严格的角度关系,而它们的得到是由转向系统决定的。这样两套系统都对某个值做出了限制,必然会有矛盾,在车由0度转到最大转角时,并不是每时每刻都能同时满足两种条件的限制,那么为了赛车行驶的稳定性,我们可能会在小围对转角波动,以得到附近最适宜的转角值,减小矛盾。4.4弯道策略制定在智能车比赛中,我们使用的是通用二输入一输出系统,其中两个输入量是中心线偏移量,和相邻两次检测的偏移量差值;输出量可以分别选用舵机转角值和速度输出值做两套系统。中心线偏移量的隶属度函数表为9级:表4.1中心线偏移量的隶属度函数表Lable123456789下底小值0716243746556880下底大值91728404958718265535左腰斜率2555142324242323625右腰斜率2851423242423236255偏移量差值的隶属度函数表为3级(计算时需要先做加100运算)。中间电感标定差值(为方便讨论将差值最大值设定为100)的隶属度函数表为9级:表4.1.1中间电感标定差值的隶属度函数表Lable123456789模糊界限值2030405060708090100左腰斜率2555142324242323625右腰斜率2851423242423236255 由表4.1和表4.2对转角值进行计算,得到的计算值进行累加,即得到转角值。这些模糊系数的调试占据了程序调试工作的大部分时间。 此外,加入前向电感进行预测,对转角进行预测累加,使转角提前,对前瞻的扩展性有很好的作用。表4.2偏移量差值的隶属度函数表Lable123下底小值089110下底大值90111255左腰斜率2552312右腰斜率1223255速度规则表为:表4.3速度规则表中心线偏移量偏移量差值bigbigmidbigmidbigmidmidlowmidlowlowbigbigmidbigmidbigmidmidlowmidlowlow速度精确值为:表4.4速度精确值Lowlowmidmidmidbigbig2632322837转角规则表为:表4.5转角规则表中心线偏移量偏移量差值tinytinytinysmallsmallsmallmiddlemiddlemiddlelargelargelargehugetinytinysmallsmallsmallmiddlemiddlemiddlelargelargelargehugehugetinytinytinysmallsmallsmallmiddlemiddlemiddlelargelargehuge转角精确值为:表4.6转角精确值tinytinysmallsmallsmallmiddlemiddlemiddlelargelargelargehugehuge22580135170240320410510这套控制方案是基于2014年第九届“飞思卡尔”全国大学生智能车竞赛的要求,参考四轮电磁组第六届制定的。它实现了对不同曲率弯道的转角合理分配,速度精确限制等目标。但是由于大量的模糊控制的应用,导致程序调试极其繁琐,这是该系统的主要缺点。第五章 开发工具、制作、安装、调试过程说明5.1 开发工具程序的开发是在IAR下进行的,包括源程序的编写、编译和,并最终生成可执行文件。IAREmbeddedWorkbench(简称EW)的C/C+交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW对不同的微处理器提供一样直观用户界面。EW今天已经支持35种以上的8位/16位32位ARM的微处理器结构。EW包括:嵌入式C/C+优化编译器,汇编器,连接定位器,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!