基于光电传感器自动循迹小车设计_第1页
基于光电传感器自动循迹小车设计_第2页
基于光电传感器自动循迹小车设计_第3页
基于光电传感器自动循迹小车设计_第4页
基于光电传感器自动循迹小车设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

-.z.江西理工大学本科毕业设计(论文)题目:基于光电传感器的自动循迹小车设计学院:信息工程学院专业:电子信息工程班级:电信072学号:36学生:吴有帅指导教师:黄友文职称:副高摘要制作自动寻迹小车所涉及的专业知识包括控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科。为了使小车能够快速稳定的行驶,设计制作了小车控制系统。在整个小车控制系统中,如何准确地识别路径及实时地对智能车的速度和方向进行控制是整个控制系统的关键。由于此小车能够自动寻迹,加速,减速.故又被称作为智能车.本智能车控制系统设计以MC9S12*S128微控制器为核心,通过两排光电传感器检测小车的位置和运动方向来获取轨道信息,根据轨道信息判断出相应的轨道类型,并分配不同的速度给硬件电路加以控制,完成了在变负荷条件下对速度的快速稳定调节。红外对射传感器用于检测智能车的速度,以脉宽调制控制方式(PWM)控制电机和舵机以达到控制智能车的行驶速度和偏转方向。软件是在CodeWarrior5.0的环境下用C语言编写的,用PID控制算法调节驱动电机的转速和舵机的方向,完成对模型车运动速度和运动方向的闭环控制。智能车能够准确迅速地识别特定的轨道,并沿着引导线以较高的速度稳定行驶。整个智能车系统涉及车模机械结构的改装、传感器电路设计及控制算法等多个方面。经过多次反复的测试,最终确定了现有的智能车模型和各项控制参数。关键词:MC9S12*S128;PID;PWM;光电传感器;智能车ABSTRACTMakingautomatictracingcarinvolvedtheprofessionalknowledgeincludingcontrol,patternrecognition,sensingtechnology,automobileelectronics,electrical,computer,machineryandsoonmanysubjects.Accordingtothetechnicalrequirementsofthecontest,wedesigntheintelligentvehiclecontrolsystem.Intheentirecontrolsystemofthesmartcar,howtoaccuratelyidentifytheroadandreal-timecontrolthespeedanddirectionoftheSmartCaristhekeytothewholecontrolsystem.Becausethiscarcanautomatictracing,accelerate,slowingdown.SoitisalsoknownasintelligentcarthisintelligentvehiclecontrolsystemdesigntaketheMC9S12*S128microcontrollerasacore,e*aminescar'spositionandtheheadingthroughtworowofphotoelectricsensorsgainstheracecourseinformation,judgesthecorrespondingracecoursetypeaccordingtotheracecourseinformation,andassignedthedifferentspeedtocontrolforthehardwarecircuit,hascompletedinchangesundertheloadconditiontothespeedfaststableadjustment.Theinfraredcorrelationsensorusesine*aminingtheintelligentvehicle'sspeed,(PWM)controlstheelectricalmachineryandtheservobythepulse-durationmodulationcontrolmodeachievesthecontrolintelligencevehicle'smovingvelocityandthedeflectiondirection.ThesoftwareisundertheCodeWarrior5.0environmentwiththeClanguagecompilation,actuateselectricalmachinery'srotationalspeedandservo'sdirectionwiththePIDcontrolalgorithmadjustment,completestothemodelvehiclevelocityofmovementandtheheadingclosed-loopcontrol.Theintelligentvehiclecandistinguishthespecificracecourserapidlyaccurately,andalonginletlinebythehighspeedcontroltravel. Theentireintelligentvehiclesysteminvolvesthevehiclemoldmechanismthere-equipping,thesensorcircuitdesignandthecontrolalgorithmandsoonmanyaspects.Aftertherepeatedtest,hasdeterminedthee*istingintelligentvehiclemodelandeachcontrolledvariablefinallymanytimes.Keywords:MC9S12*S128;PID;PWM;photoelectricsensor;smartcar目录第一章绪论11.1引言11.2本文设计方案概述1总体设计1传感器设计方案2控制算法设计方案4HYPERLINK\l"_Toc295519303"第二章机械结构设计52.1前轮倾角的调整52.2齿轮传动机构调整52.3后轮差速机构调整62.4红外传感器的固定62.5小车重心的调整62.6齿轮啮合间隙的调整7第三章硬件电路的设计83.1系统硬件概述83.2电源模块的设计93.2.1LM2940供电电路103.2.2LM2596供电电路113.3电机驱动模块12模块介绍PAGEREF_Toc295519316\h12使用说明13电压电流测试结果143.4舵机控制模块153.5路径识别模块163.7单片机模块的设计183.8硬件电路部分总结18第四章软件系统设计PAGEREF_Toc295519323\h204.1智能车控制算法监测平台204.2主程序流程图204.3系统的模块化结构21HYPERLINK\l"_Toc295519327"时钟初始化21串口初始化224.3.3PWM初始化234.4中断处理流程254.5小车控制算法25舵机控制26速度控制27HYPERLINK\l"_Toc295519334"4.6坡道的处理294.7弯道策略分析29第五章开发与调试315.1软件开发环境介绍PAGEREF_Toc295519337\h315.2智能车整体调试345.2.1舵机调试345.2.2电机调试34HYPERLINK\l"_Toc295519341"5.2.3动静态调试34第六章结论366.1智能车的主要技术参数说明366.2总结366.3不足与展望36参考文献37致38HYPERLINK\l"_Toc295519348"附录139附录247附录360-.z.第一章绪论1.1引言思路及技术方案是一个工程项目的灵魂。因此,在设计和制作伊始对思路与方案的选择要非常的仔细,谨慎。作为一个快速的随动控制系统。结合智能车设计的实际情况以及前人对自动控制系统的设计经验。得出"简单、稳定、快速、智能"八字方针作为智能车方案设计的指导原则。智能车是一个快速的随动控制系统,其控制系统分为两个大的子控制系统,分别为:方向控制系统与速度控制系统。方向控制的作用就好比是驾驶员和他所控制的方向盘;速度控制系统的作用就好比是驾驶员和他脚下的油门与刹车。方向控制系统能使智能车沿着导引黑线行驶而不至偏移。速度控制能使智能车在直道上加速行驶而在入弯时刹车减速以尽量提高行驶速度和避免因入弯速度过快而造成的冲出跑道。本次制作的智能车是以光电传感器捕获路径信息的。经过数月的设计与调试,终于完成了这个作品。在设计与制作的过程中以稳定为前提进行软硬件优化设计与参数调整。经过分析认为在路径检测信息非常完备的条件下进行速度优化会对小车的性能有很大提高。由于小车在弯道与直道以及不同曲率半径的弧道的通过速度是不同的。经过研究对于小车的速度控制我们采取的闭环的速度优化控制,利用路径监测信息来给出不同路况下的速度设定值,使小车速度有了很大改善。本文第二章主要介绍系统的机械结构设计,第三章介绍智能车的硬件电路设计,第四章介绍系统软件的设计,第五章介绍完成智能车设计所需开发调试工具及调试过程,第六章对此次设计做出总结,并给出智能车的相关参数。1.2本文设计方案概述总体设计图1-1系统框架图如上图1-1所示,该智能小车系统主要分为以下三大块:(1)信息采集模块:在该模块主要是对智能车的所处位置进行采集,并将采集到的信息传送给MCU,其核心是光电传感器。(2)信息处理模块:信息处理模块包括信息处理和控制模块,其核心MCU,MCU接收到采集来的信号,对信号进行处理后作出判断,并发出控制信号。(3)执行模块:该模块包括了驱动电机和舵机,当接收到MCU的命令后便执行相应的操作,同时信息采集模块又采集到电机和舵机的状态信息,反馈给MCU。从而整个系统构成一个闭环系统,在运行过程中,系统自动调节而达到智能车快速稳定行使的目的。传感器设计方案方案一:采用CCD传感器来采集路面信息使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面,而且抗干扰能力强。但是对于本项目来说,使用CCD传感器也有其不足之处。首先使用CCD传感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。因为是以实现小车视觉为目的,实现起来工作量较大,相当繁琐。方案二:使用光电传感器来采集路面信息使用红外传感器最大的优点就是结构简明,实现方便,成本低廉,免去了繁复的图像处理工作,反应灵敏,响应时间低,便于近距离路面情况的检测。但红外传感器的缺点是,它所获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测范围有限,而且容易受到诸多扰动的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度位置的差异等都将对其产生干扰。方案三:采用电感与电容谐振来采集路面信息使用电感与电容谐振的优点是原理简单(通过电感产生的感应电动势与电感线圈所处位置的关系),价格便宜,体积相对较小,频率响应快。缺点是电磁干扰严重,电感线圈感应的信号很小需要相应的放大电路将信号放大,故传感器电路较复杂。在本次设计的跑道只有黑白两种颜色,小车只要能区分黑白两色就可以采集到准确的路面信息。经过综合考虑,在本项目中采用红外光电传感器作为信息采集元件。光电检测方案:1.光电传感器的选择对于智能车寻迹来说,路径检测的成败归功于光电传感器的选择与使用。目前,用于光电检测的传感器主要有可见光管、反射式红外光电管、激光管等。可见光管抗干扰能力差,容易受到外界光线影响,因此不能被用做路径检测。反射式红外光电管抗干扰能力强,对自然光和灯光变化的反应较小,并且电路也比较简单。激光管的抗干扰能力强,由于光线聚集故射程较远,但价格较红外光电管贵并且电路也较复杂。综合考虑,最后决定选择反射式红外光电管作为检测器件。2.驱动方式的选择反射式红外光电管一般有直流驱动和光电驱动两种不同的驱动方式。其中,直流驱动的特点是电路简单,但对外界光线的反应相对较大,不过通过在光电管上加套热缩管以及软件处理可以极大降低这种影响;光电驱动的特点是光电管具有更高的功率,探测距离相对较远,抗干扰能力也较强,不过电路复杂且难于控制。因此,我们采用了直流驱动的方式,并利用相应措施降低了外界光线的影响。3.光电管排布方式的选择方案一:15对光电管均匀分布于一排。由于跑道的宽度小于25cm,故光电管阵列之间不需要排的太开。因此我们选择光电管对的间隔为15mm,所以15对光电管排布下来的宽度只有大概21cm,符合规则要求。运用15对光电管的好处就是采集的跑道信息精度较高,信息比较连续,因此赛车跑起来不会出现明显的"抖”的现象;但是使用单排光电管阵列的前瞻性比较差,使得赛车不能进行比较提前的判断和控制,因此限制了智能车的速度,同时所有的传感器做成一排做出来的辅助板过大,不宜固定。方案二:15对光电管均匀分布于两排。将7对光电管均匀分布的阵列放在近排,8对光电管对均匀分布的阵列放在远排。近排的光电管阵列就架设在车的前端30-40mm;而远排的则架的较高并且伸出90-110mm。在这样的光电管阵列下,赛车的前瞻性得到了很好的提高,速度比单排光电阵列情况下高了较多。但是由于光电采集的精度不够,赛车即使在直线上行驶的时候,也容易出现"抖动”的现象,通过调整舵机控制的参数,使得赛车"抖动”的程度明显减少,而且速度也有一定的保证。综合考虑了以上两种方案并通过观察试验效果,我们选择了方案二中的光电管阵列排布。效果如图1-2所示。图1-2双排光电管阵列效果图控制算法设计方案方案一:比例控制这种控制方法就是在检测到车体偏离的信息时给小车一个预置的反向偏移量,让其回到跑道。比例算法简单有效,参数容易调整,算法实现简单,不需复杂的数字计算。在实际应用中,由于传感器的个数与布局的限制,其控制量的输出是一个离散值,不能对舵机进行精确的控制,容易引起舵机左右摇摆,造成小车行使过程中的振荡,而且其收敛速度也有限。方案二:PD控制PD控制在比例控制的基础上加入了微分控制,可以抑制振荡,加快收敛速度,调节适当的参数可以有效地解决方案一的不足。不过,P、D两个参数的设定较难,需要不断进行调试,凭经验来设定,因此其适应性较差。方案三:PID控制PID控制在PD控制的基础上加入了积分分控制,在阶跃信号的作用下,首先产生的是比例-微分作用,使调节作用加强,直到最后达到消除静养的效果。因此PID调节从动态,静态都有所改善。当然P、I、D三个参数的设定更难,也需要不断进行调试,凭经验来设定,因此其适应性不好,但是可以使被小车更稳定的行驶。由于跑道模型与相关参数已给定,即小车运行的环境基本上已经确定,可通过不断调试来获得最优的参数。因此我们选用的是PID算法来对舵机和速度进行控制。第二章机械结构设计在小车行驶过程中,判断小车制作的成功与否是根据小车运行的速度与小车在运行过程中的稳定性,而车辆的机械结构无疑是影响速度的一个关键因素。鉴于这个原因,在后续的工作中对小车的机械结构方面做了一些改进。2.1前轮倾角的调整调试中发现,在车模过弯时,转向舵机的负载会因为车轮转向角度增大而增大。为了尽可能降低转向舵机负载,对前轮的安装角度,即前轮定位进行调整。前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前束等4个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。主销后倾是指主销装在前轴,上端略向后倾斜的角度。它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中间位置上。由此,主销后倾角越大,车速越高,前轮稳定性也愈好。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时后倾的回正作用大,低速时内倾的回正作用大。前轮外倾角对汽车的转弯性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。前轮外倾角俗称"外八字”,如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个外八字角度,这个角度约在1°左右。所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力会自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。2.2齿轮传动机构调整电机轴与后轮轴之间的传动比为9:38(电机轴齿轮齿数为18,后轮轴传动轮齿数为76)。齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动-部分安装位置的不恰当,会大大增加电机驱动后轮的负载,从而影响到最终成绩。调整的原则是:两传动齿轮轴保持平行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,白白浪费动力;传动部分要轻松、顺畅,容易转动,不能有卡住或迟滞现象.判断齿轮传动是否调整好的一个依据是,听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大,传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,或者两齿轮轴不平行,电机负载加大。调整好的齿轮传动噪音小,并且不会有碰撞类的杂音。2.3后轮差速机构调整差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且还可以保证在轮胎抱死的情况下不会损害到电机。当车辆在正常的过弯行进中(假设:无转向不足亦无转向过度),此时4个轮子的转速(轮速)皆不相同,依序为:外侧前轮>外侧后轮>内侧前轮>内侧后轮。此次所使用车模配备的是后轮差速机构。差速器的特性是:阻力越大的一侧,驱动齿轮的转速越低;而阻力越小的一侧,驱动齿轮的转速越高以此次使用的后轮差速器为例,在过弯时,因外侧前轮轮胎所遇的阻力较小,轮速便较高;而内侧前轮轮胎所遇的阻力较大,轮速便较低。差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。好的差速机构,在电机不转的情况下,右轮向前转过的角度与左轮向后转过的角度之间误差很小,不会有迟滞或者过转动情况发生。2.4红外传感器的固定为了获取更多的前探距离,我们采用传感器前伸,在规定的范围内尽可能的获取更多的前探距离。但是前伸也带来了其他问题,如车在行驶过程中颠簸引起传感器的晃动。为此我们的固定支架采用了拧纹的形式,从硬件上减少外部环境对传感器的影响。除此之外,我们还把红外管放置与水平成一定倾角,进一步增加前探距离。然而并非倾角越大越好,倾角的增大会导致红外接收管接收到的光减少,背景与黑线之间的压差降低,影响路径的识别。我们使用55度的倾角配合上一定的高度取得了较好的效果。2.5小车重心的调整在智能车各部分零部件大体完成的时候,我们通过移动车上零部件的位置,对其重心进行了调整,通过大量的对比实验后发现:不论使重心偏左还是偏右,赛车在弯道较多的跑道上都会出现不同程度的滑移和转向不足。因此,重心应当尽量处在相对车模左右对称的中心平面内。另外,此次车模为四轮驱动,重心在车上的分布对车的动力影响不是很明显。通过实验发现:当赛车重心偏后时,由于前轮上所分配的载荷较轻,使赛车转向时前轮滑移,造成过弯时间变长。在华东区的比赛中我们也发现,此车模的重心偏高,若不对其进行改造,会造成过急弯时车轮离地,对抓地力造成很大影响,从而使车模过弯时间变长。综上考虑,根据赛车的实际情况调整车体重心,使其处于中心偏前优化其转向能力,使底盘离地1.3cm左右优化其过弯能力。2.6齿轮啮合间隙的调整车模电机传动轴和赛车分动器之间采用齿轮啮合传动,另外,光学编码器和分动器齿轮之间同样采用齿轮啮合,前后差速器中也存在多个齿轮副。齿轮啮合性能的好坏,直接影响电机的驱动效率。啮合齿轮的轮轴不平行,将直接导致齿轮间啮合平稳性不足,传动效率低,影响赛车速度的提升。啮合齿轮间隙过大,将导致打齿轮,过小则将导致电机驱动阻力增加,两者都不利于提高赛车的驱动性能。因此,对于啮合的齿轮,应当适当调整齿轮间隙和齿轮轴间的平行度,使齿轮啮合顺畅,噪声小。按照第四届部分报告中提到的思想,以放在平地上行驶时的声音作为判断齿轮啮合情况最为合适。对差速器,考虑到其性能对车轮运动有较大的影响,我们采用多个车模进行测试的方法,挑选出其中较好的差速器,并使用差速器油进行润滑,以获得较好的性能。第三章硬件电路的设计3.1系统硬件概述系统硬件框架图如图3-1所示:图3-1系统硬件框架图控制核心是飞思卡尔公司推出的MC9S12D系列的增强型16位64个管脚单片机MC9S12*S128这款芯片,片内资源丰富,包括PWM模块可设置成8路8位或者拼接成4路16位,2个10位8通道A/D转换器,8通道输入捕捉/输出比较定时器,2个异步串行通信接口SCI,1个同步串行通信接口SPI,1个1Mb/s的CAN总线模块,兼容CAN2.0A/B等等。利用片内资源结合具体模块的功能要求具体实现技术路线如下:(1)电源管理:核心板最小系统供电、传感器供电、舵机供电和直流电机供电。要求:(a)低压差,实现6.5V~7.2V电池到5V转换;(b)可提供足够电流输出,驱动发射光电管,并考虑一定的安全余量;(c)考虑芯片散热的问题,提供热关断、短路保护和安全操作保护等功能。(2)舵机控制:模块化模型舵机利用信号输入端的占空比不同调节转角,可以通过单片机芯片内置PWM模块配合编程实现。(3)直流电机驱动:采用PWM驱动。要求:(a)开断电流能力强,驱动功率大,质量可靠;(b)具有过流保护、欠压保护、热关断的能力,各种功能使用方便。结合集成功率芯片选择要求和直流电机运行参数,选用大功率电机驱动模块ZNCD-10433.2电源模块的设计电源是一个智能车系统得以运行的关键及动力所在。根据"硬件设计最简”的原则,需要完善电源设计方案。整个智能车的电源是由一块7.2V2000mAhNi-cd蓄电池提供,为了使智能车系统各部件能正常的工作,故需对7.2V2000mAhNi-cd蓄电池进行电压调节。其中,中央控制系统(最小系统)、路径识别的光电传感器和接收器电路、需要5V电压,伺服电机工作电压范围4.8V到6V根据多次调试决定使用5V电源给供电,直流电机可以使用7.2V2000mAhNi-cd蓄电池直接供电。电源供电部分关系到整个系统工作的稳定性,由于采用的是镍镉电池供电,内阻比较大,电机启动或者突然加速的瞬间,电池输出的电流很大,电池两端电压突然会降低。为了保证单片机和其他模块工作正常,所以在对电源供电的设计方面,要求电路工作效率高,输出电压稳定。而且随着车子在跑道上跑,随着电池电量的消耗,电池两端的电压也会慢慢降低,这就要求稳压芯片的选取要工作压差小。本系统所需电压有5V、7.2V,其中7.2V部分为电机驱动电压,可由电池直接提供;5V部分为路径识别模块,舵机控制模块,串口通信模块,单片机最小系统模块等。系统电源供电分配如图3-2所示:图3-2系统电源供电分配框图5V电源是整个智能车系统电源模块中电流需求最大的一个部分。要求大电流、低压差、低噪声等特性。在此将根据各种不同稳压芯片的特性选款符合此智能小车各个模块的工作要求。根据不同的工作原理可将电源分成两类:线性稳压电源、开关稳压电源。线性稳压电源:一般的线性稳压电源的输入电压与输出电压之间的电压差大,稳压电源内部的调整管上的损耗大,效率低。但近年来开发出各种低压差(LDO)的新型线性稳压器IC,效率也有较大的提高,线性稳压电源还有一个优点就是外围元件最少、输出噪声最小、静态电流最小,价格也便宜。开关稳压电源:开关稳压电源中有一个工作在开关状态的晶体管(一般是MOSFET),故称为开关电源开关管工作于饱和导通及截止两种状态,所以开关管管耗小并且与输入电压大小无关,相对于线性稳压电源一个明显的优点是工作效率高,一般可达80%~95%。稳压芯片选择:方案一:普通常用稳压芯片LM7805。优点:价格便宜。缺点:效率低,发热量大。压差大,外部供电要在7.5V以上才可以稳定稳压到5V方案二:开关稳压芯片LM2575/LM2596。优点:工作效率高,发热量小,输出电流大,约3A。工作电压可以低至6.5V。缺点:外围电路复杂,成本高,由于是开关稳压,稳压后的波纹大。方案三:低压差线性稳压芯片LM2940。优点:低压差,工作压差可以小于0.5V,在电池两端的电压降到5.5V还能稳定地输出5V的电压,电压波纹小,可以给单片机稳定的供电。外围电路简单,需要的滤波电容小。经过分析,最终决定设计两路5V稳压电路,其中一路采用LM2940稳压后独立为单片机供电,另外一路是为系统其他模块提供5V供电,采用了更大的输出电流的稳压芯片LM2596。LM2940供电电路LM2940是一个输出电压固定的低压差三端稳压器;输出电压5V;输出电流1A;输出电流1A时,最小输入输出电压差小于0.5V;最大输入电压26V;工作温度-40~+125℃其封装形式有标准的3脚直插TO-220与3脚表贴封装SOT-223两种。由于稳压芯片LM2940是属于LDO(低压差)线性稳压器,即使电池电压下降到5.5V也可以输出稳定的5V电压供给单片机保证单片机能正常的工作,使智能车能正常的行驶,同时LM2940输出的电压纹波也很小,这样干扰也大大减小,能减少单片机没必要的复位,符合单片机的供电要求。同时由于LM2940也能输出高达1A左右的电流,故让此电源同时给串口通信模块,测速测量模块等其他模块给予供电,达到电源的充分利用。LM2940供电电路如图3-3所示:图3-3LM2940供电电路LM2596供电电路LM2596开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有3.3V、5V、12V,可调版本可以输出1.2V~37V之间的各种电压。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。由于该器件只需4个外接元件,可以使用通用的标准电感,这更优化了LM2596的使用,极大地简化了开关电源电路的设计。其封装形式包括标准的5脚TO-220封装(DIP)和5脚TO-263表贴封装(SMD)。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80μA的待机电流,实现外部断电;具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。特点:3.3V、5V、12V的固定电压输出和可调电压输出可调输出电压范围1.2V~37V±4%输出线性好且负载可调节输出电流可高达3A输入电压可高达40V采用150KHz的内部振荡频率,属于第二代开关电压调节器,功耗小低功耗待机模式,IQ的典型值为80μATTL断电能力具有过热保护和限流保护功能封装形式:TO-220(T)和TO-263(S)外围电路简单,仅需4个外接元件,且使用容易购买的标准电感应用领域LM2596供电电路如图3-4所示:图3-4LM2596供电电路由于两排15对光电传感器与舵机的功耗太大,因此电源输出的电流要足够大才能满足这些负载的需求,由于LM2596的输出电流可达3A左右,通过大概计算符合我们的设计要求,故我们选用LM2596。上图为LM2596输出的5V电源给舵机供电的截图。3.3电机驱动模块本设计采用大功率电机驱动模块ZNCD-1043对电机进行驱动。3.3.1模块介绍ZNCD-1043大功率直流电机驱动板专为小型大功率直流电动机设计,具有内阻低,驱动电流大,和发热极低等特点,H桥电路,可使电机四象限运行,驱动电压范围为5.5-25V,能明显提高电动机的加速和制动效果。它内部同MC33886一样具备各种保护措施,该模块在驱动芯片与信号输入端之间加装了隔离电路,可有效保护单片机。如表3-1所示,以下为ZNCD-1043的具体参数。表3-1ZNCD-1043电机驱动模块具体参数通态内阻16毫欧驱动电流0-43安培工作电压5.5-25V工作频率0-25Khz驱动类型MOSFET板卡尺寸5.5*3.3cm3.3.2使用说明(1)引脚说明(a)ZNCD-1043的功率接口如图3-5所示:图3-5ZNCD-1043的功率接口其中电源正接DCIN,电源负接GND,电源电压不得超过10V;电机两端接OUT1和OUT2,电机的正反转与PWM输入相对应,该模块在OUT1,OUT2安装有谐波吸收电容。(b)ZNCD-1043的信号接口如图3-6所示:图3-6ZNCD-1043的信号接口其中IN1,IN2为PWM信号输入端,IN1对应OUT1,IN2对应OUT2;+5V和GND之间要加5V电源以给板上隔离电路供电。EE1,EE2为模块过流或短路报错输出信号,可不接。上图左侧EN为使能设置跳线,将3.3K电阻焊至上侧带圆点处为默认使能,焊至下侧则为默认不使能,上图右侧EN为单片机控制使能输入引脚,单片机输出高电平则模块使能,输出低电平则不能使用。(2)安装步骤首先用信号线将模块信号输入端子与5V电源与单片机PWM输出引脚接好,其次将电池和电机接线插入功率接口并用螺丝刀旋紧,注意电池与电池引线线径要足够粗以保证大电流顺利通过,最后输出相应PWM信号即可驱动电机。板上有四个3mm标准螺丝孔,可以方便的安装在平台或地盘上,注意安装时保证板背面良好的绝缘性和散热性。电压电流测试结果(1)启动波形,电源电压:8V,负载:纯阻性10欧姆,以下是波形,其中黄线为电压波形,紫色为电流波形如下图:图3-7ZNCD-1043启动时的电压电流波形(2)短路波形,电源电压:8V,负载阻抗0.5欧姆,以下是波形,其中黄线为负载电压波形,紫色为负载电流波形,蓝色为报错输出波形,可以看到模块短路情况下开始周期的关断输出以防止模块过热烧坏,并且在报错输出引脚输出高电平。ZNCD-1043短路时的电压电流波形如图3-8所示:图3-8ZNCD-1043短路时的电压电流波形3.4舵机控制模块舵机主要是用来控制智能车的运动方向,通过调节小车前轮转动的角度来改变小车运动方向的。智能车的角度控制是通过单片机输出PWM信号对舵机进行控制的,舵机内部有一个基准电路,能产生周期为20ms,宽度为1.5ms的基准信号,当PWM信号输入到舵机时,舵机内部产生一个直流偏置电压,此电压与电位器的电压比较,将获得电压差输出,最后,电压差的正负输出到电机驱动芯片决定舵机的正反转。因此,当单片机输出一定占空比的PWM光电时,舵机就会转动一定的角度。舵机的转角与PWM脉宽的关系如图3-9所示:图3-9舵机转角与PWM脉宽的关系3.5路径识别模块路径识别模块是智能车系统的关键模块之一,路径识别方案的好坏,直接关系到最终性能的优劣。我们组选择的是光电组。传感器的收发距离对于车子的前瞻性有着直接的影响。参考过往届光电组的设计报告,发觉大多数采用的传感器都是红外传感器,说明相对于超声波传感器等其他类型的传感器还是有一定优势的,所以我们重点放在红外传感器的设计和测试,选取了不同厂家不同型号的红外管来测试路径识别的性能。对于红外对管的选取和电路设计,我们作了几个方案论证。方案一:通过38K载波发射和一体接收头接收。优点:发射距离远,抗干扰能力强;缺点:接收方向范围过大(大于135度),不利于对道路黑线位置检测,硬件软件较复杂。方案二:一体化发射/接收管。优点:硬件电路简单,方便;缺点:可以收发距离太近。方案三:二极管形式发射接收管。优点:发射功率大,距离比一体化发射/接收管稍远;缺点:硬件电路稍复杂。最后经过分析比较,我们决定采用第三种方案。红外传感器作为智能车上的"眼睛”,对小车的路径识别起了决定性的作用。由于我们在机械设计的时候把红外传感器安装与水平方向有一定倾角,因此我们也必须增大发射的功率才能使接收管接收到更多发射回来的光。下图为反射式红外传感器电路原理图图3-10红外光电管检测电路上图为红外光电管检测电路主要用来获取路径信息,工作原理是左边的发光二极管通电产生光源,根据跑道黑白颜色的不同,黑色跑道吸收光线,白色跑道反射光线的不同,由于黑色跑道吸收全部的光线,而使右边的光敏三极管截止,使比较器LM339的同相输入端为高电平接近5V,通过比较器LM339使输出为1告知单片机MC9S12*S128,智能车现处在黑色位置上。白色跑道由于光线被反射使光敏三极管导通。从而使LM339同相输入端为低电平接近零伏,通过比较器LM339使输出为0告知单片机MC9S12*S128,智能车现处在白色位置上。这样智能车就可以时刻获取跑道的信息。3.6速度测量模块为了实现小车的智能化,必须利用传感器来采集跑道信息,再把车模运动的速度采集给单片机,进而实现智能调速,实现车模的智能化。以下是测量速度方案的比较与选择。方案一:利用霍尔传感器和磁钢测量速度:将霍尔传感器和磁钢分别安装在车架和车轴的适当位置,小车行驶时,每转动一圈,霍尔传感器产生开关信号,通过在单位时间对其计数可计算出车辆行驶的瞬时速度。优点:机械结构、电路较简单,成本较低;缺点:对于磁钢的安装工艺要求较高;方案二:采用光电编码器测量速度:利用安装第五个轮子,通过第五个轮的转动带动光电编码器转动,后轮每转一圈,光电编码器就会输出一定的光电数,通过计算在一定时间内编码器输出的光电数,就可以算出车子运行的速度。优点:精度高,安装简单;缺点:成本较高;通过比较,采用霍尔传感器测量速度,磁钢如果粘的不稳的话,车子速度太快磁钢容易脱落,整个速度测量系统将产生很大误差。而光电编码器的测量精度远远比霍尔传感器的精度高,而且采用光电编码器测量车子速度,电路简单,安装方便稳定,适合车模的机械结构,综合考虑后决定采用光电编码器来测量智能车的速度。速度传感器的工作原理:此次设计用到的速度传感器是光电编码器。它是一种集光、机、电为一体的数字化检测装置,它具有分辨率高、精度高、结构简单、体积小、使用可靠、易于维护、性价比高等优点。近10几年来,发展为一种成熟的多规格、高性能的系列工业化产品,在数控机床、机器人、雷达、光电经纬仪、地面指挥仪、高精度闭环调速系统、伺服系统等诸多领域中得到了广泛的应用。光电编码器可以定义为:一种通过光电转换,将输至轴上的机械、几何位移量转换成脉冲或数字量的传感器,它主要用于速度或位置(角度)的检测。典型的光电编码器由码盘(Disk)、检测光栅(Mask)、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。一般来说,根据光电编码器产生脉冲的方式不同,可以分为增量式、绝对式以及复合式三大类。按编码器运动部件的运动方式来分,可以分为旋转式和直线式两种。由于直线式运动可以借助机械连接转变为旋转式运动,反之亦然。因此,只有在那些结构形式和运动方式都有利于使用直线式光电编码器的场合才予使用。旋转式光电编码器容易做成全封闭型式,易于实现小型化,传感长度较长,具有较长的环境适用能力,因而在实际工业生产中得到广泛的应用,此次设计用到的就是旋转式光电编码器。也是目前应用最多的传感器。其工作原理是通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光栅和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与被测对象同速旋转,经发光二极管等电子元件组成的检测检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前被测对象的转速。3.7单片机模块的设计单片机模块主要负责道路的识别、获取智能车的速度、输出驱动电机的控制信号和算法的实现,通过串口驱动电路中的RS-232电平转换芯片,单片机可以利用异步通信协议与PC机通信。RS-232电平转换芯片可以实现TTL电平与RS-232电平之间的转换,然后再通过9芯串行口与PC进行串口通信。单片机及外围电路如图3-11所示:图3-11单片机MC9S12*S128及外围电路3.8硬件电路部分总结对于硬件电路部分,一定要做的足够稳定,这对于整个系统的稳定性占着至关重要的位置。而整个电路中,电源电路更加重要,特别是为单片机供电,一定要稳定。不让,当电机启动的瞬间,或者舵机打角的时候,电机和舵机拉去很大的电流,这样会使电池电压瞬时拉到一个低电压状态,很可能会造成单片机供电不稳,而使单片机复位。对于提高电源稳定性,并上几个电容当然是好的,但是电容的最大电容量有限制。在整个主板上,既有数字部分,又有模拟部分,所以,系统的稳定性与主板的电路布局布线也有很大关系。为提高整板的稳定性,自己设计电路,绘制PCB版图,然后通过三氯化铁腐蚀成板。在整个电路板的制作过程中,我们是先从总体上考虑电路布局,电路实现的功能,电路总体性能,然后再分模块绘图制作,最后通过排针排母,排线或者杜邦线连接在一起,整体构架稳定。第四章软件系统设计程序设计的基本原则是,首先考虑小车的稳定性,在此基础上,尽量提高小车的速度。智能小车的控制软件采用模块化的程序结构。从结构上看,系统程序主要包括一个主体循环程序,增量式PID速度控制程序,中断服务程序,循线控制算法程序,速度控制算法程序以及其他一些控制程序。作为此次设计所用到的处理器MC9S12*S128采用S12*V2CPU内核,可运行在40MHz总线频率上,带有错误校正功能(ECC)的、4KB至8KBDataFlash,用于实现数据或程序存储,可配置8、10或12位模数转换器(ADC),转换时间为3μs,支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协议模块,带有16位计数器、8通道定时器。这些卓越的性能,完全足够满足此次设计的要求。在本次制作中用到MC9S12*S128单片机硬件资源如表4-1所示。表4-1控制模块说明程序实现的功能使用的模块电机转速控制PWM模块舵机转角控制PWM模块PID反馈光电计数定时器模块,光电累加器人机交互SCI模块光电传感器信号处理普通I/O端口4.1智能车控制算法监测平台智能车的控制系统是一个时时控制系统,人的思维很难想象车在行进过程中所处的状态,因此针对*个控制算法,如果在测试中出现问题,很难确定具体出在哪个环节。这样,一个可以时时反映智能车运行状态的监测平台就显得非常必要了。监测平台可以将智能车的采集信息,控制算法计算得到的控制信息以及其他调试时的有用信息发送到PC端,用于观察、记录,以便反复分析、改进。监测平台工作流程如下:智能车采集信息、控制信息RS232PC端数据处理软件4.2主程序流程图本智能车控制系统软件设计程序的主流程是:先完成单片机初始化(包括I/O模块、PWM模块、计时器模块、定时中断模块初始化)之后,通过无限循环语句不断地重复执行路径检测程序、数据处理程序、控制算法程序、舵机输出及驱动电机输出程序。其中,定时中断用于检测小车当前速度,作为小车速度闭环控制的反馈信号。主程序流程图如图4-1所示。图4-1小车主程序流程图4.3系统的模块化结构为了体现程序的系统性和连贯性,智能小车的控制软件采用模块化的程序结构。各个模块有相应的数据接口,方便其它模块调用,这样,系统条理显得清晰。主要包括:系统初始化模块、路径数据采集模块、数据处理模块、起跑线识别模块,再有,为了系统调试方便,本系统还设计了串口调试模块等。4.3.1时钟初始化单片机的晶振是16MHz,MC9S12*S128在时钟初始化后可以通过锁相环将系统时钟系统时钟进行倍频,可以提高单片机的工作频率,从而提高单片机的运行速度。在安全允许范围内,我们使用锁相环超可倍频到48MHZ。这里就用到了一些寄存器中的*些位,倍频公式如下:(4-1)其中,OSCCLK_VALUE——系统的外部晶振;REFDV_VALUE——系统时钟分频系数SYNR_VALUE——倍频系数SYNR=SYNR_VALUE,REFDV=REFDV_VALUE,SYNR、REFDV就是寄存器中的对应位。voidCLK_init(void){ //锁相环24MSYNR=2;REFDV=1; //PLL=2*OSC*(SYNR+1)/(REFDV+1)while(!(CRGFLG&0*08)){}//等待锁相环稳定CLKSEL=CLKSEL_PLLSEL; //设置总线时钟为PLL/2}4.3.2串口初始化可以看到,不论8位、16位还是32位单片机的最小系统都是通过异步串行口与人沟通的。使用串行通信接口SCI(SerialCommunicationInterface)通信是计算机与人对话最传统、最基本的方法,异步通信接口也成为通用异步接受器/发送器UART(UniversalAsynchronousReceiver/Tansmitter)。为了便于调试,本系统利用串口通信接口SCI实现数据的传输。串口部分程序主要是初始化各寄存器,其中包括设置波特率、数据格式、接受发送功能使能、设置接受模式等。以下是与串口有关的几个初始化函数:/**********串口初始化*************************/voidSCIinit(void){ SCI1BD=208;//32M总线波特率9600SCI1CR1=0;SCI1CR2=0*2C;//只允许接收中断}/**********读串口******************************/unsignedcharSci1Read(){unsignedcharredata;while(SCI1SR1_RDRF!=1);redata=SCI1DRL;returnredata;}/**********写串口******************************/voidSci1Write(unsignedcharchSend){while(SCI1SR1_TC!=1);while(SCI1SR1_TDRE!=1);SCI1DRL=chSend;}4.3.3PWM初始化PWM(PulseWidthModulation)即脉宽调制,脉宽调制波是一种可用程序来控制波形占空比、周期、相位的波形。它在电动机驱动、D/A变换等场合有着广泛的应用。PWM模块特点:8个带周期占空比可程控的PWM独立通道4个可程控选择的时钟源每个PWM通道有专用的计数器PWM每个通道脉冲极性可以选择每个PWM通道可使能/禁止周期和占空比双缓冲每个通道有中心对齐和边缘对齐方式分辨率:8位(8通道),16位(4通道)带中断功能的紧急切断PWM在本系统中主要用于驱动两个伺服电机,一个是电机,另一个是舵机,而控制这两个电机的PWM信号是经过路径识别和系统决策后给出的,这样就能实现小车的循线跑。舵机的响应时间对于控制非常重要,一方面可以通过修改PWM周期获得。另一方面也可以通过机械方式,利用舵机的输出转矩余量,将角度进行放大,加快舵机的响应速度。而舵机的脉冲范围,它对应舵机旋转角度,在设置时一方面应考虑到舵机的极限位置;另一方面还要考虑到车模转向的极限。本设计中,通过测试找到了40度对应的脉冲宽度。PWM初始化程序流程图如图4-2所示:图4-2PWM初始化流程图具体程序如下:voidpwminitial(void){PWMCTL_CON01=1;//PWM01合并16btPWMPRCLK=0*20;//A=24M/1=24M,B=24/4=6MPWMSCLA=12;//SA=A/2/12=1MPWMSCLB=15

温馨提示

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

最新文档

评论

0/150

提交评论