汽车驾驶实习报告及疾速蜗牛智能汽车竞赛技术报告_第1页
汽车驾驶实习报告及疾速蜗牛智能汽车竞赛技术报告_第2页
汽车驾驶实习报告及疾速蜗牛智能汽车竞赛技术报告_第3页
汽车驾驶实习报告及疾速蜗牛智能汽车竞赛技术报告_第4页
汽车驾驶实习报告及疾速蜗牛智能汽车竞赛技术报告_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGEIX汽车驾驶实习报告下午,我参加了车辆工程特色的实习课程——汽车驾驶实习。首先是认识实习,老师很耐心得为我们讲解了必要的理论知识,包括汽车构造概述、离合器原理、如何启动、换档以及行车时应注意的一些基本问题。其次在老师的指导下联系了基本驾驶的内容。汽车构造汽车一般由发动机、底盘、车身、电气设备等四个基本部分组成。发动机发动机(Engine)是一种能够把其它形式的能转化为另一种能的机器,通常是把化学能转化为机械能。发动机既适用于动力发生装置,也可指包括动力装置的整个机器。发动机是汽车的动力装置。由2大机构5大系组成:曲柄连杆机构;凸轮配气机构;燃料供给系;冷却系;润滑系;点火系(汽油机);起动系.1.冷却系:一般由水箱、水泵、散热器、风扇、节温器、水温表和放水开关组成。汽车发动机采用两种冷却方式,即空气冷却和水冷却。一般汽车发动机多采用水冷却。2.润滑系:发动机润滑系由机油泵、集滤器、机油滤清器、油道、限压阀、机油表、感压塞及油尺等组成。3.燃料系:汽油机燃料系由汽油箱、汽油表、汽油管、汽油滤清器、汽油泵、化油器、空气滤清器、进排气歧管等组成。(二)汽车底盘底盘的作用是支承、安装汽车发动机及其各部件、总成,形成汽车的整体造型,并接受发动机的动力,使汽车产生运动,保证正常行驶。底盘由传动系、行驶系、转向系和制动系四部分组成。1.传动系汽车发动机所发出的动力靠传动系传递到驱动车轮。传动系具有减速、变速、倒车、中断动力、轮间差速和轴间差速等功能,与发动机配合工作,能保证汽车在各种工况条件下的正常行驶,并具有良好的动力性和经济性。主要是由离合器、变速器、万向节、传动轴和驱动桥等组成。a.离合器:其作用是使发动机的动力与传动装置平稳地接合或暂时地分离,以便于驾驶员进行汽车的起步、停车、换档等操作。b.变速器:由变速器壳、变速器盖、第一轴、第二轴、中间轴、倒档轴、齿轮、轴承、操纵机构等机件构成,用于汽车变速、变输出扭矩.2.行驶系由车架、车桥、悬架和车轮等部分组成。行驶系的功用是:a.接受传动系的动力,通过驱动轮与路面的作用产生牵引力,使汽车正常行驶;b.承受汽车的总重量和地面的反力;c.缓和不平路面对车身造成的冲击,衰减汽车行驶中的振动,保持行驶的平顺性;d.与转向系配合,保证汽车操纵稳定性。3.转向系汽车上用来改变或恢复其行驶方向的专设机构称为汽车转向系统。转向系统的基本组成:a.转向操纵机构主要由转向盘、转向轴、转向管柱等组成;b.转向器将转向盘的转动变为转向摇臂的摆动或齿条轴的直线往复运动,并对转向操纵力进行放大的机构。转向器一般固定在汽车车架或车身上,转向操纵力通过转向器后一般还会改变传动方向;c.转向传动机构将转向器输出的力和运动传给车轮(转向节),并使左右车轮按一定关系进行偏转的机构。4.制动系汽车上用以使外界(主要是路面)在汽车某些部分(主要是车轮)施加一定的力,从而对其进行一定程度的强制制动的一系列专门装置统称为制动系统。其作用是:使行驶中的汽车按照驾驶员的要求进行强制减速甚至停车;使已停驶的汽车在各种道路条件下(包括在坡道上)稳定驻车;使下坡行驶的汽车速度保持稳定。汽车车身车身安装在底盘的车架上,用以驾驶员、旅客乘坐或装载货物。轿车、客车的车身一般是整体结构,货车车身一般是由驾驶室和货箱两部分组成。汽车车身结构主要包括:车身壳体(白车身)、车门、车窗、车前钣制件、车身内外装饰件和车身附件、座椅以及通风、暖气、冷气、空气调节装置等等。在货车和专用汽车上还包括车箱和其它装备。1.车身壳体(白车身)是一切车身部件的安装基础,通常是指纵、横梁和支柱等主要承力元件以及与它们相连接的钣件共同组成的刚性空间结构。客车车身多数具有明显的骨架,而轿车车身和货车驾驶室则没有明显的骨架。车身壳体通常还包括在其上敷设的隔音、隔热、防振、防腐、密封等材料及涂层。2.车门通过铰链安装在车身壳体上,其结构较复杂,是保证车身的使用性能的重要部件。钣等。这些钣制制件形成了容纳发动机、车轮等部件的空间。3.车身外部装饰件主要是指装饰条、车轮装饰罩、标志、浮雕式文字等等。散热器面罩、保险杠、灯具以及后视镜等附件亦有明显的装饰性。4.车内部装饰件包括仪表板、顶篷、侧壁、座椅等表面覆饰物,以及窗帘和地毯。在轿车上广泛采用天然纤维或合成纤维的纺织品、人造革或多层复合材料、连皮泡沫塑料等表面覆饰材料;在客车上则大量采用纤维板、纸板、工程塑料板、铝板、花纹橡胶板以及复合装饰板等覆饰材料。5.车身附件有:门锁、门铰链、玻璃升降器、各种密封件、风窗刮水器、风窗洗涤器、遮阳板、后视镜、拉手、点烟器、烟灰盒等。在现代汽车上常常装有无线电收放音机和杆式天线,在有的汽车车身上还装有无线电话机、电视机或加热食品的微小炉和小型电冰箱等附属设备。6.车身内部的通风、暖气、冷气以及空气调节装置是维持车内正常环境、保证驾驶员和乘客安全舒适的重要装置。座椅也是车身内部重要装置之一。座椅由骨架、座垫、靠背和调节机构等组成。座垫和靠背应具有一定的弹性。调节机构可使座位前后或上下移动以及调节座垫和靠背的倾斜角度。某些座椅还有弹性悬架和减振器,可对其弹性悬架加以调节以便在驾驶员们不同的体重作用下仍能保证座垫离地板的高度适当。在某些货车驾驶室和客车车厢中还设置适应夜间长途行车需要的卧铺。7.为保证行车安全,在现代汽车上广泛采用对乘员施加约束的安全带、头枕、气囊以及汽车碰撞时防止乘员受伤的各种缓冲和包垫装置。按照运载货物的不同种类,货车车箱可以是普通栏板式结构、平台式结构、倾卸式结构、闭式车箱、气、液罐以及运输散粒货物(谷物、粉状物等)所采用的气力吹卸专用容罐或者是适于公路、铁路、水路、航空联运和国际联运的各种标准规格的集装箱。二、驾驶心得在参加驾驶实习当天,我们四个人在老师的带领下来到实习的地方。随后我们分为两组进行练习。老师首先介绍了刹车、油门、离合器的使用,行车前的检查。在练习的过程中,我们掌握了起步的要点,离合要分两次抬,对离合器的控制要熟练。在行驶过程中变速对档位的使用也很重要。加速过程中只能依次加档,并且同时踏下离合,加档前速度也要达到一定的要求。在减速过程中,可以依次减档,也可以跳档进行减速,并且要适当踩刹车。停车时要注意路况,以及停车的位置是否合适。在起步及停车时,要注意车灯的使用。在转弯过程中要合理地运用方向盘。在此之前我已经学过车,所以驾驶时简单许多,老师也给我增加了难度,让我练习了贴库,我学到了很多实用性的技巧。在练习的过程中,我更多的了解了真实路况。在这次驾驶实习中,我真的学到了很多。第八届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告本文介绍了滁州学院疾速蜗牛队在准备第八届飞思卡尔智能车大赛的工作成果。该系统以Freescale微控制芯片MC9S12XS128为核心,并以CodeWarriorIDE为系统的开发平台,车模采用大赛组委会统一提供的A型仿真车模。本文主要介绍了智能车控制系统的机械结构、软硬件模块的设计过程。整个系统主要包括车模机械结构调整、传感器电路设计及信号处理、控制算法和策略的优化等多个方面。车模以安装在车体前的工字电感作为循迹传感器,采用干簧管检测起跑线,以旋转光电编码器来检测速度信息,其简单工作原理为MC9S12XS128单片机采集工字电感感应电压的模拟量和干簧管的导通状态,结合舵机控制算法控制舵机转角,单片机再综合赛道信息并结合旋转光电编码器的速度反馈信号,利用电机控制算法控制速度变化,结合无线串口的监控调试,最终确定了各项控制参数。关键字:智能车,电磁循迹,PID算法

目录第一章引言 -1-1.1概述 -1-1.2整体框架介绍 -2-第二章机械设计与优化 -4-2.1车轮定位调节 -4-2.1.1主销后倾角 -4-2.1.2主销内倾角 -4-2.1.3前轮外倾角 -5-2.1.4前轮前束 -5-2.2舵机安装 -6-2.3底盘固定 -7-2.4编码器的安装 -7-2.5差速调节 -8-2.6PCB板固定 -8-2.7重心调整 -9-第三章硬件电路设计 -11-3.1硬件电路的整体框架设计 -11-3.2传感器设计 -12-3.2.1传感器选定 -12-3.2.2传感器信号处理电路 -12-3.2.3传感器的布局设计 -13-3.3驱动电路设计 -15-3.4系统电源电路设计 -16-第四章智能车控制软件设计 -17-4.1软件控制思路 -17-4.2主程序总体框架 -17-4.3定位算法 -17-4.4基于位置式PID的方向控制 -19-4.5基于增量式PID的速度控制 -20-第五章开发工具、调试说明 -22-5.1CodewarriorIDE的使用 -22-5.2程序源代码的编辑、编译、链接与BDM调试 -23-第六章智能车技术参数说明 -25-第七章总结 -26-参考文献 -27-附录程序源代码 -2811-第一章引言1.1概述为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,受教育部高等教育司委托(教高司函[2005]201号文,附件1),由教育部高等自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。该竞赛以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。

该竞赛由竞赛秘书处为各参赛队提供/购置规定范围内的标准硬软件技术平台,竞赛过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛规则透明,评价标准客观,坚持公开、公平、公正的原则,保证竞赛向健康、普及,持续的方向发展。该竞赛以飞思卡尔半导体公司为协办方,得到了教育部相关领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区近300所高校广泛参与的全国大学生智能汽车竞赛。2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函[2007]30号文)。全国大学生智能汽车竞赛原则上由全国有自动化专业的高等学校(包括港、澳地区的高校)参赛。竞赛首先在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛本次比赛分为光电、摄像头和电磁三个赛题组,在车模中使用透镜成像进行道路检测方法属于摄像头赛题组,使用电磁信号巡线属于电磁赛题组,除此之外则属于光电赛题组。本论文主要介绍电磁赛题组的智能车制作。

1.2整体框架介绍在不伤害赛道和能够穿越路障的情况下,系统最大限度的降低小车重心。小车在行驶的过程中,重心的高低对小车的稳定性有很大的影响,并且有利于小车顺利通过大角度弯。由于电磁组的信号为较复杂的三维矢量电磁信号,系统采用质量轻、硬度大的碳杆作为传感器支架,以达到较远的前瞻性。在讨论车子闭环控制问题上。系统采用了光电500线的编码器为测速器,直接用编码器齿轮咬合车模主动轮的方法来获取车子的行驶速度,最后在程序中根据编码器采集回来的信号设计速度控制策略,实现车速的闭环控制。系统是以检测电磁场信号为基础,通过单片机处理信号实现对车体控制,实现车体能够准确沿着预设路径寻迹。系统电路部分需要包括单片机控制单元、电机驱动电路、电磁传感器电路等部分,除此之外系统还需要一些外部设备,例如编码器测速、伺服器控制转向、直流电机驱动车体。疾速蜗牛的系统包含以下几个模块:电源模块单片机最小系统模块传感器模块电机模块舵机模块测速模块起跑线模块人机交互模块本系统的整体模块如图1.1所示:MMCU信号采集编码器干簧管电机驱动舵机显示屏与按键图1.1疾速蜗牛系统图整个系统均由官方提供的7.2V电源通过稳压电路模块供电,电源在充满电之后电压范围在7.2~8.2V之间,可以直接给电机供电。其中TPS7350与7660为最小系统、编码器、传感器等提供±5V电压。LM317为OLED显示屏提供3.3V电压。使之能够稳定运行。

第二章机械设计与优化2.1车轮定位调节为了使车模在行驶过程中,能够直线稳定,过弯轻便,转向后能自动回正以及减少轮胎和转向系零件的磨损等,系统需要对车轮的定位参数进行调整。其中主要包括有:主销后倾角,主销内倾角,前轮外倾角,前轮前束,外侧轮二十度时,内侧转向轮转角差,后轮外倾角,后轮前束。中、前轮定位的参数对小车性能有着至关重要的影响,这四个参数反映了前轮、主销和前轴三者之间在车架上的位置关系。下文将对着四个参数做详细的阐述。2.1.1主销后倾角图2.1主销后倾图主销后倾角是指在纵向平面内主销轴线与地面垂直线之间的夹角。它在车辆转弯时会产生与车轮偏转方向相反的回正力矩,使车轮自动恢复到原来的中间位置上。所以,主销后倾角越大,车速越高,前轮自动回正的能力就越强,但是过大的回正力矩会使车辆转向沉重。通常主销后倾角值设定在1°到3°。模型车通过增减黄色垫片的数量来改变主销后倾角的,由于竞赛所用的转向舵机力矩不大,过大的主销后倾角会使转向变得沉重,转弯反应迟滞。2.1.2主销内倾角主销内倾角是指在横向平面内主销轴线与地面垂直线之间的夹角,它的作用也是使前轮自动回正。角度越大前轮自动回正的作用就越强,但转向时也就越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。通常汽车的主销内倾角不大于8°。对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,由于过大的内倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调整为0°~3°左右,不宜太大。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销内倾的回正作用大。图2.2主要内倾图2.1.3前轮外倾角前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在1°左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为0°即可,并且要与前轮前束匹配。2.1.4前轮前束所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。像内八字那样前端小后端大的称为“前束”,反之则称为“后束”或“负前束”。在实际的汽车中,一般前束为0~12mm。在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大小。在实际的调整过程中,我们发现较小的前束,约束0~2mm可以减小转向阻力,使模型车转向更为轻便,但实际效果不是十分明显。虽然模型车的主销后倾角、主销内倾角、车轮外倾角和前束等均可以调整,但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性,一切是实际调整的效果为准。图2.4前轮前束图2.2舵机安装舵机安装直接关系到是否能快速灵敏地转向的问题。如果舵机调整不到位,将很大程度上限制转向角度和转向响应速度。由于传感器前瞻比较长,考虑到模型车的重心的高度和位置,以及主板放在模型的位置,我么将舵机位置进行了改装,由原来的位置挪移到车体前部,这样以便于降低主板高度,进一步降低车模整体重心。舵机的安装分对称安装和不对称安装,考虑到舵机的力矩大小和其响应时间的大小,我们采用了对称安装的方法,并且将舵机的摆臂增长,提高舵机的响应速度。因为舵机的摆臂越长,当车轮转过相同的角度时,舵机转过的角度越小,即时间越短。如图2.5所示:图2.5舵机安装2.3底盘固定在调试过程中,发现模型车运行过程会出现晃动和跳动的情况,虽然在改装车模时已经将扭腰结构去掉,但是在高速运行时非常的明显,这大大影响了速度的提高。仔细观察后发现,底盘两端连接部分的韧性和强度不够,这是造成车体晃动的主要原因。在不改变底盘整体结构的情况下,对小车底盘进行了加固,如图2.6所示,为了消除车体在运行过程中的晃动,使小车行驶得更加稳定。图2.6底盘固定图2.4编码器的安装编码器的安装遵循的是调整齿轮的咬合,以不松动,无卡滞,松紧合适为准。另外还要保证齿轮间咬合有足够的接触面积。如图2.7所示:图2.7编码器固定2.5差速调节在拐弯时由于弯道内侧轮比外侧轮的拐弯半径小,则内侧轮比外侧轮的速度小,这就使两轮胎有一定的速度差,称为差速。而赛车的差速机构安装在后轮轴上的,所以只可以调整后轮的差速。后轮的相对松紧程度,也就是差速对拐弯有很大的影响。差速太紧,则拐弯容易甩尾,速度快的时候很容易甩出去,但是差速如果太松,虽然会改善转弯性能,但是严重影响了直线上的加减速,而且齿轮的咬合也不是很好,对齿轮会有一定的损坏。所以,后面两个轮子的相对松紧程度要适中,经过多次的调试,得出了比较满意的效果,即将模型车放到跑道上,用手抓住后轮的一只轮子使其不能转动,在赛道上推车子转弯,如果车子能够稍轻松的推动,则此时的差速器为最适合。调节差速可以通过调整大车轮里面的螺母松紧和外面车轮的松紧达到调成差速的效果,一般把舵机打到最大摆角,用手快速推车没感觉到很大的阻力就可以。注意防止差速太松,带动后轮动力不足。差速调整是调节螺母,当一只手按住差速盘,另一只手按某个方向转动一侧轮子时,另一侧轮子会按相反的方向转动相同的角度,并且不会影响驱动力,此时视为最佳。2.6PCB板固定为了尽可能的降低小车的重心,板子的固定以尽可能低为目标,如图2.8所示:图2.8PCB板固定2.7重心调整对于车的重心来说,重心越低,后轮的抓地力也就越好,前轮也会转越敏感。因此,系统在尽量减少重量的同时将电路板做得非常小,便于将电路板嵌入放在舵机和电池中间的底板上,这样,不但可以压低模型车的重心,防止高速过弯时翻车,也可以使纵向重心前移,增加转弯性能。在装旋转编码器时也把其装的很低,以降低赛车的重心,提高赛车行驶的稳定性。图2.9疾速蜗牛整体图除了对车的重心进行纵向调整之外,对车辆重心进行前后方向调整,对赛车行驶性能也有很大的影响。从车辆运动学理论来看,车身重心前移,会增加转向,但会是舵机的负载加大,大部分的重量压在前轮,从而降低转向的灵敏度,同时降低后轮的抓地力;如果重心后移,就会减少转向,但增大转向灵敏度,后轮的抓地力也会增加。因此,调整合适的车身重心,让车模更加适应比赛赛道是非常关键的。为了保证赛车足够的转向和防止在高速入弯时出现甩尾现象,我们让重心大概在赛车的中心,在过弯时,使其前后轮的侧向摩擦力大体相当,从而提高过弯性能和稳定性。

第三章硬件电路设计本章将对小车的各个模块的电路设计与实现进行介绍。3.1硬件电路的整体框架设计电源管理电源管理7.2~8.2V驱动模块转向舵机模块单片机最小系统测速模块按键与显示屏模块传感器模块图3.1电路整体框架图疾速蜗牛的电路框架如图3.1.所示。系统硬件电路设计主要包括单片机最小系统,电机驱动电路模块,信号检测与放大电路模块,转向舵机模块,测速模块,按键/显示模块等。为了减少重量,系统将除了传感器模块电路外的其他电路集成在一整块的PCB板上。为了防止相互间的干扰,采取在整块PCB板上对每个模块部分进行了隔离。以提高电路的稳定性,如图3.2所示。

图3.2疾速蜗牛主PCB板3.2传感器设计3.2.1传感器选定根据竞赛组委会的相关规定,系统采用磁传感器。常见的磁传感器包括霍尔元件,磁敏电阻,磁敏二极管,电感,电子罗盘的磁场传感器等。通过查阅资料和大量的电感测试,发现10mH的电感式最为理想的磁传感器。能够得到较为规整的20Khz的正弦波,与磁场发生器产生的频率一致。而且电动势的大小和电感与路劲导线的距离呈规律性变化。3.2.2传感器信号处理电路由于电感直接采集到的信号只有几毫安电流,不利于单片机AD口直接采集,所以要通过电路对信号进行放大和检波处理。比赛场地选用20KHZ的交变电流作为电磁车的路劲导航信号,使用LC并联电路实现信号频选放大。根据电感谐振频率公式,10MH与6.8nf电容构成LC电路最为合适,电路如图3.3所示。

图3.2.1LC并联电路图3.3LC电路磁信号经过电感采集之后,需要对信号进行放大处理。通过对大量的运放芯片与运放电路测试之后,我们决定采用TL082双运放,能够将信号方法几千倍,能满足探测需求。图3.4信号检测与方法电路3.2.3传感器的布局设计在传感器的布局上系统设计采用两种方案,在小车制作初期采用双水平电感检测方案,根据第七届电磁组官方提供的(R-L)/(R+L)方案计算小车的偏移量,从而实现小车角度控制。采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域(如图3.3箭头所指)。同一个差值,会对应多个位置,不利于定位。另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。图3.5双电感定位不清区域在后期电感布局研究中,系统采用了4个电感一字排开的布局方式,每个电感的间距为8cm,覆盖范围为24cm。直接使用感应电动势的模拟量的精确数值,精确的计算导线与传感器正中心的距离,具体计算方法依照毕奥萨伐定理(3-1)这种方法计算出的小车偏移距离为连续变化的曲线,方便软件控制。而且使靠两边的电感与水平线成45°的角,便于传感器入弯时对信号的采集。图3.6疾速蜗牛传感器布局3.3驱动电路设计今年电磁组小车采用A车模,由于A车的电机功率有限,所以系统放弃了电路复杂的MOS管,采用电路设计简单的BTN7971作为电机驱动。由于电磁组是用电感作为传感器,前瞻收到了一定的限制,因此需要两片BTN7971来构成半H桥作为驱动电路用于电机反转来进行小车及时刹车与弯道减速。图3.7电机驱动电路3.4系统电源电路设计根据需要,小车一共存在5中电压,分别是7.2V,6V,±5V,3.3V。7.2V电池电压直接接到电机启动模块,6.2V为悬挂舵机供电,±5V为单片机、信号放大电路以及速度传感器供电,3.3V为液晶供电。所有供电部分电路都是严格依照芯片的生产公司提供的Typicalapplication部分设计的。在此各电路的原理图就不再重复引用了。

第四章智能车控制软件设计4.1软件控制思路软件控制程序实质就是人的思想在小车上的实现,并让其高速稳定的运行。对于飞思卡尔智能车来说软件控制主要为路径识别=>舵机控制=>速度控制。目的就是让小车在稳定的情况下高速通过所有赛道。按照系统方案采集电感的模拟量,判断赛道导线的位置,控制舵机打角,控制电机转速。4.2主程序总体框架程序的主体采用顺序结构。为了减少单片机的压力,在main函数中主要执行函数的初始化,按键和起跑线检测。其中核心控制程序全部放在中断中。流程图如下图4.1所示:图4.1主程序结构图4.3定位算法疾速蜗牛采用四个水平“一”字电感采集赛道信息。如图4.2所示:-24024图4.2传感器坐标四个传感器如图排布并建立坐标系,中心坐标为0,左右极限值为±24。先找到四个电感中的最大值Fmax,同时得到Fmax电感左右两个电感R和L。为了精确定位,我们设置了一个阀值T,一共可分为两个情况:(1)当|L值-R值|<T,即L值约等于R值,说明导线在Fmax正上,得出确切位置;(2)当|L值-R值|>T,说明导线在M和L或者M和R之间。针对第二种情况得出精确位置,我们找到剩下三个电感中的最大值Smax。并记录Fmax和Smax的横坐标Xm的值,分别为Fx和Sx。如果Fmax左右两个电感的L值-R值的值小于一定的阀值,则判断小车的偏移量就是Xm[Fx]。否则带入近视计算公式:(4.1)公式(4.1)中的D=Fmax-Smax,S为每个电感之间的间距。正负号取决于Smax电感在Fmax电感的左侧还是右侧,左侧取负号,右侧取正号。k是一个比例系数,通过观察数据到。实践测试,发现X的变化呈现连续稳定的线性变化,而且该公式很好的拟合了导线的位置,误差在5mm范围之内。

采集四个传感器的值并做加权平均滤波处理采集四个传感器的值并做加权平均滤波处理找出Fmax,同时找出L和R,并判断是否存在满足要求L和R判断是否满足|R值-L值|<Tx=Xm[Fm]x=±24图4.3定位流程图4.4基于位置式PID的方向控制PID控制是工业过程控制中历史最悠久,生命力最强的控制方式。这主要是因为这种控制方式具有直观、实现简单和鲁棒性能好等一系列的优点。PID控制主要有三部分组成,比例、积分、微分。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。偏差一旦产生,调节器立即产生控制作用使被控量朝着减小偏差的方向变化,控制作用的强弱取决于KP。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。为了消除稳态误差,引入积分控制。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。为了预测预测误差变化的趋势,引入微分的控制器,这样就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。ControllerCoControllerCoPlantReuY-图4.4PID控制原理图单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u:(4.2)其中,Kp、Ki、Kd分别称为比例系数、积分系数、微分系数。u接着被送到了执行机构,这样就获得了新的输出信号,这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。用矩形数值积分代替上式中的积分项,对导数项用后向差分逼近,得到数字PID控制器的基本算式(位置算式):(4.3)其中T是采样时间,、、为三个待调参数,在实际代码实现算法时,处理成以下形式:loca_PreU=Kp*loca_error+Ki*loca_PreIntegral+Kd*loca_derror(4.4)4.5基于增量式PID的速度控制速度控制部分是智能车除了舵机控制之外最为核心的内容。一个好的速度控制就是能十分准确的给出目标速度,电机对目标速度响应迅速,系统在干扰下速度依然稳定。对位置式PID稍作变化,得到PID的另一种形式———增量式PID:(4.5)在代码实现时,处理成:vl_PreU+=(Kp*d_error+Ki*error+Kd*dd_error)(4.6)系统根据编码器反馈回来的数值进行换算。当编码器反馈回来的速度没有达到目标速度,那么正转占空比自加,反之则自减。以至于小车速度能够快速达到自己设定的期望速度。代码中会考虑到不同路劲对应不同的速度,因此直道上设定一个较大的期望速度,让小车在直道上加速行驶,大弧度弯道和小S上设定中等的期望速度,大角度弯道运用刹车进行减速,使得小车在进弯时有更多的处理时间,以便顺利过弯。

第五章开发工具、调试说明程序的开发是在组委会提供的CodeWarriorIDE下进行的,包括源程序的编写、编译、链接以及最终生成可执行文件。5.1CodewarriorIDE的使用打开CodewarriorIDE,创建一个新工程,界面如图5.1所示。图5.1创建一个工程选择目标芯片型号以及芯片与电脑的连接方式,这里选择MC9S12XS128以及“TBDML”项,如图5.1图5.2选择目标芯片及连接方式选择程序编写所用语言,以及填写创建的工程名和保存路径,如图5.3所示。图5.3选择工程编写所用语言及工程保存路径接下来的以默认设置直道完成。完成之后,会出现工程文件管理窗口。5.2程序源代码的编辑、编译、链接与BDM调试在main.c中提示“/*putyourowncodehere*/”的地方输入源代码。完成之后,点击(make)按钮,完成编译与链接。编译好后,会出现“Errors&Warnings”窗口,其中会显示程序中错误和警告信息,表示错误,表示警告。在排除所有错误之后,工程就能顺利编译。编译完成以后,在用户所建立工程的bin文件夹下自动生成“*.abs.s19”文件,这个文件就是将被下载到单片机中的文件。在成功编译之后,选择Debug按钮,进入调试环境,即启动了Hiwave.exe。出现如下窗口,点击“确定”按钮,如图5.4所示。图5.4下载程序之后BDM会自动擦出芯片Flash,再下载新程序下载,完成之后就会出现BDM调试界面,如图5.5所示。图5.5BDM调试界面

第六章智能车技术参数说明名称参数车模质量(g)1500车模长度(mm)756车模宽度(mm)240车模高度(mm)170电路总功率(W)8.0电容总量(uF)1500传感器个数(个)7传感器种类电感、干簧管、编码器赛道检测精度(mm)4.0赛道检测频度(次/秒)200前轮距(mm)150后轮距(mm)168编码器精度(P/r)500

第七章总结本技术报告详细介绍了疾速蜗牛的设计思路与方案,其中涉及到车模的改装,传感器的制作,舵机打角控制策略以及速度控制策略。分析整个车模的系统,在车模硬件和软件上,即融合了往届的先进技术同时增加了我们的创新思想。在传感器的布局上,我们在准备比赛初期研究过双电感的使用,虽然控制算法简单,但是路径信号采集盲区太大,不适合高速行驶的小车。后来采用双排电感,这样的排布方式虽然能够很好的寻线,但是算法处理起来比较复杂,而且增加了前瞻的重量。最终敲定四个电感一字型排布,减轻了重量而且能够很好的适应各种赛道。在电路方面,采用模块化设计,特别是放大电路模块容易损坏,因此采用可插拔的接口方便电路的升级和维修。为了方便调试,小车增加了按键和显示屏,而且配合了参赛选手在赛场上能够临场发挥,增强小车的适应能力。重量与重心问题,在很大程度上影响了小车的行驶状态。为了做到小车尽量轻和重心尽量低,我们去除了小车上多余的器件,在能够通过路障的情况下尽量降低车模底盘高度,PCB板尽可能的贴近车模底部安装。电感支架采用市场上强度大,质量轻的碳素杆。在代码开发方面,我们主要使用C语言作为开发语言,利用比赛推荐的开发工具开发并调试程序。经过小组成员的不断讨论、改进,终于设计出一套比较合理的,稳定的程序。在整个程序控制部分,只开启了个1MS定时中断,控制步骤简单,容易调试,而且主要的控制程序的放在中断中,减小了单片机的运行压力。在经过三个月的备战中,学校和学院都给予我们大力的支持,在此感谢一直关注并支持我们飞思卡尔智能车比赛的所有领导与老师。同时感谢组委会能够组织这样一场精彩而有意思的比赛。大赛即将来领,回首我们备战的三个月,付出了心血,但收获了知识与快乐。疾速蜗牛作为我们辛勤汗水的结晶,凝聚了我们的心血与智慧,我们有信心在比赛中去的更加优异的成绩。参考文献孙同景,陈桂友Freescale9S12十六位单片机原理及嵌入式开发技术,北京-机械工业出版社,2008卓晴,黄开胜,邵贝贝学做智能车北京-北京航空航天大学出版社2007卓晴.基于电磁引导的智能车控制算法王威HCS12微控制器原理及应用北京-北京航空航天大学出版社2007谭浩强C++程序设计北京-清华大学出版社2004王威HCS12微控制器原理及应用北京-北京航空航天大学出版社2007新型PID控制及其应用2002年作者:陶永华主编潘松,黄继业现代数字电路基础教程北京-科学出版社2008第五届“飞思卡尔”杯全国大学生智能车大赛清华大学三角洲电磁组技术报告第六届“飞思卡尔”杯全国大学生智能车大赛杭州电子科技大学电磁组钱江一号技术报告第六届“飞思卡尔”杯全国大学生智能车大赛北京科技大学电磁二队技术报告

附录程序源代码#include"derivative.h"#include<stdio.h>#include<string.h>#include"OLED.h"#include"stdlib.h"#include"math.h"intSetSpeed=90;#defineSteercenter3540#defineSteerMin340#defineSteerMax340intzhiSpeed=70,wanSpeed=120;floatSteerP=0.3;floatSteerD=10;byteSwitch=0;////参数调整开关bytef=0;////传感器编号floatq=0;//计算曲率的floatoffset1=0;floatoffset2=0;/////////////***↓↓↓传感器的最大最小值intSmax[6]={1000,1000,1000,1000};intSmin[6]={5,5,5,5};intv0=0,v1=0,v2=0,v3=0,v4=0,v5=0,v6=0,v7=0,v8=0,v9=0,v10=0,v11,v12;floatXm[4]={-12,-4,4,12};//各个电感的相对坐标//****wordtime1=0,time2=0,time3=0;intad0[7]={0},ad1[7]={0},ad2[7]={0},ad3[7]={0};floatValue[6]={0};floatFMax_value=0;wordfMax_flag=0;floatSMax_value=0;wordsMax_flag=0;intk;//左右标志位floatxx=0;//路劲偏移距离floatLocal_PWM=0;floaterror,Derror,DDerror;floatx1,x2,x3;floatql[3];wordout_flag;voidSet_value();voidAngle_Control();voidSteerPID();voidshowLED();voidprintp(void(*PortToPut)(),char*ctrl,...);voiduart_putchar(unsignedcharch);/*******************设置总线频率64M**********************/voidSetBusCLK_64M(void){CLKSEL=0X00; PLLCTL_PLLON=1; SYNR=0xc0|0x07;REFDV=0x80|0x01;POSTDIV=0x00;//pllclock=2*osc*(1+SYNR)/(1+REFDV)=128MHz;_asm(nop);//BUSCLOCK=64M_asm(nop);while(!(CRGFLG_LOCK==1)); //whenpllissteady,thenuseit;CLKSEL_PLLSEL=1; //engagePLLtosystem;}/*************中断初始化:1MS**********************/voidPIT_init(void){//脉冲pt7初始化PACTL=0x40;//脉冲计数下降沿PACNT=0x0000;//PulseAccumulatorsCountRegisters(PACNTPITCFLMT_PITE=0;//定时中断通道0关PITCE_PCE0=1;//定时器通道0使能PITMTLD0=8-1;//8位定时器初值设定,8分频,在64MHzBusClock下,为8MHz。即0.125usPITLD0=8000-1;//16位定时器初值设定。PITTIME*0.125uS8000*0.125=1ms即1mS中断一次PITINTE_PINTE0=1;//定时器中断通道0中断使能PITCFLMT_PITE=1;//定时器通道0使能}voidADC_Init(void){ ATD0CTL0=0x07; ATD0CTL1=0xc0;//7:1-外部触发,65:00-12位精度,4:放电,3210:chATD0CTL2=0x40;//禁止外部触发,中断禁止ATD0CTL3=0xB0;//a右对齐无符号,每次转换6个序列,NoFIFO,Freeze模式下继续转ATD0CTL4=0xff;//765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]ATD0CTL5=0x30;//6:0特殊通道禁止,5:1连续转换,4:1多通道轮流采样ATD0DIEN=0x00;//禁止数字输?/禁止数字输入/*ATD0CTL1=0x00;//选择8为转换精度ATD0CTL2=0x40;//启动A/D,快速清零,无等待模式,禁止外部触发,中断禁止ATD0CTL3=0xF8;//;转换序列长度为4,NoFIFO,Freeze模式下继续转换ATD0CTL4=0x01;//20个时钟,ATDClock=[BusClock*0.5]/[PRS+1]=2MHz;PRS=5,divider=12ATD0CTL5=0x30;//6:0特殊通道禁止,5:1连续转换,4:1多通道轮流采样ATD0DIEN=0x00;//禁止数字输入*/}/*************中断初始化:1MS**********************/voidPIT_init(void){//脉冲pt7初始化PACTL=0x40;//脉冲计数下降沿PACNT=0x0000;//PulseAccumulatorsCountRegisters(PACNTPITCFLMT_PITE=0;//定时中断通道0关PITCE_PCE0=1;//定时器通道0使能PITMTLD0=8-1;//8位定时器初值设定,8分频,在64MHzBusClock下,为8MHz。即0.125usPITLD0=8000-1;//16位定时器初值设定。PITTIME*0.125uS8000*0.125=1ms即1mS中断一次PITINTE_PINTE0=1;//定时器中断通道0中断使能PITCFLMT_PITE=1;//定时器通道0使能}/**************************传感器信号采集******************/intReadATD(bytech){intad=0;while(!ATD0STAT0_SCF);switch(ch){default:case0:ad=ATD0DR0;break;case1:ad=ATD0DR1;break;case2:ad=ATD0DR2;break;case3:ad=ATD0DR3;break;case4:ad=ATD0DR4;break;case5:ad=ATD0DR5;break;case6:ad=ATD0DR6;break;case7:ad=ATD0DR7;break;} returnad;}voidgether(void){inti=0;ad0[0]=ReadATD(0);ad1[0]=ReadATD(1);ad2[0]=ReadATD(2);

温馨提示

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

评论

0/150

提交评论