基于pid控制实现路径自动识别的赛车_第1页
基于pid控制实现路径自动识别的赛车_第2页
基于pid控制实现路径自动识别的赛车_第3页
基于pid控制实现路径自动识别的赛车_第4页
基于pid控制实现路径自动识别的赛车_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技术报告附录B基于PID控制实现路径自动识别的赛车注学校杭州电子科技大学队伍名称疾风参赛队员刘伟张思恩马必略带队教师高明煜关于技术报告和研究论文使用授权的说明本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名带队教师签名日期摘要本系统设计以MC68S912DG128微控制器为核心,通过多个红外光电传感器检测模型车的运动位置和运动方向,霍尔传感器检测模型车的速度,运用PWM技术调节驱动电机的转速和舵机的方向,同时用PID控制算法,完成对模型车运动速度和运动方向的闭环控制。实验结果表明,系统设计方案可行。关键词单片机红外光电传感器霍尔传感器PWMPIDABSTRACTTHESYSTEMISBASEDONTHEMICROCONTROLLERUNITMC68S912DG128THEMICROCONTROLLERADJUSTSTHEMODELCARSMOVINGPOSITIONANDDIRECTIONBYSOMEINFRAREDPHOTOELECTRICITYSENSORSANDUSETHEHALLSENSORMEASURETHECARSMOVINGSPEEDANDITUSESPWMTECHNIQUEADJUSTINGTHEROTATESPEEDOFDRIVINGELECTROMOTORANDDIRECTIONOFSTEERINGELECTROMOTORINTHESAMETIMEITUSESPIDCONTROLLINGARITHMETICACCOMPLISLINGCLOSEDLOOPCONTROLOFMODELCARSTHEMOVINGSPEEDANDDIRCCTIONTHERESULTOFEXPERIMENTINDICATETHATTHEDESIGNSCHEMEOFSYSTEMISDOABLEKEYWORDSMICROCONTROLLERINFRAREDPHOTOELECTRICITYSENSORHALLSENSORPWMPID目录摘要IABSTRACTII第一章引言1第二章方案的选择与论证321电动机驱动调速模块322路径识别模块323车轮检速模324车速控制方法425小结4第三章系统的具体设计与实现531系统硬件设计5311MCU模块5312路径识别模块设计7313电机驱动模块设计9314测速模块设计11315电源模块设计1232系统的软件设计13321主程序13322路径计算14323舵机控制16324速度控制16325突发情况判断21第四章调试与测试结果2241调试软件2242红外传感器测试2243霍尔传感器测试2244舵机测试2245车速测试2346刹车测试2347实际跑道测试2346模型车的主要技术参数说明24第五章结论25参考文献26附录AI附录BXVIII第一章引言本次车模竞赛要求赛制作一辆以MC68S912DG128微控制器为核心,能够自主识别路线的模型车,在专门设计的跑道上自动识别道路行驶,以最短的时间跑完全程。系统的设计需要尽可能做到电路简洁、对路径地识别达到一定的准确度,对舵机和驱动电机的控制足够精确。具体研究内容主要有1路径识别路径识别模块是模型车系统的关键模块之一,路径识别方案的好坏,直接关系到最终性能的优劣。现在常用的方案有采用CCD摄像头寻迹方案和光电传感器寻迹方案。用CCD摄像头寻迹虽然可以更远更早地感知赛道的变化,但是信号处理比较复杂,占用的资源比较多,处理的速度也比较慢。相对而言光电传感器寻迹的方案更常用,所谓光电传感器寻迹方案,即路径识别电路由一系列发光二极管、接收二极管组成,由于赛道中存在轨迹指示黑线,落在黑线区域内的光电二极管接收到的反射光线强度与白色的赛道不同,由此判断行车的方向。该方案中,光电传感器的排列方法、个数、彼此之间的间隔都与控制方法密切相关,在不受到外部因素影响的前提下,能够感知前方的距离越远,行驶效率越高,由于光电传感器电路板不可能伸出车体太远,因此可以调整了光电传感器电路板与地面的夹角,使光电传感器可以感知更远一点的赛道情况。2电机控制系统1234电机是模型车的核心部件,分为舵机和驱动电机,所以对电机的控制非常重要,要做到足够精确,其中驱动电机的速度控制最为重要。在八十年代以前,电机的调速系统主要是以线性电路为核心的模拟调节控制系统,用的是分立元件。进入八十年代中期,随着技术的发展,模拟调节器向紧凑型方向发展,调速装置力求标准化,系列化。进入八十年代后期,随着计算机技术尤其是单片机技术的发展,直流调速装置出现了以微处理器微核心的数字调速器产品,到九十年代在国外发达国家已取代模拟调节装置成为主流产品。用单片机来调节电机的速度有个非常好的优点是灵活性,由软件来实现控制方案不同的控制方案只要改变软件,而无需改变硬件就能实现。至于控制算法,数字PID控制算法是工业控制中最常用的,对大多数控制对象,均可以达到满意的控制效果。利用数字PID控制算法来控制直流伺服驱动电机的速度是一个可行的方法。它能使模型车在行驶过程中更稳和更快。模型车的整个制作和安装过程遵循尽可能地减轻车子重量和合理安装各个模块这两个宗旨。整个系统主要由路径识别模块、MCU模块、直流伺服电机驱动模块和车速检测模块这四部分组成,所以硬件电路板也分成这四块来制作和安装。在电路板的设计上,我们利用PROTELDXP进行PCB设计,并且采用热转印的方式制作腐蚀电路板,大大减少了模型车的制作和调试周期,此外,腐蚀的电路板也便于固定安装,使车体结构紧凑又牢固而且外形美观。本文内容的安排如下所示第一章引言本章主要介绍了模型车系统主要技术的发展状况,概述了车子的制作情况。第二章方案的选择与论证本章对系统硬件模块方案和软件控制方法进行了选择与论证。第三章系统设计与实现本章对选定的系统方案从硬件和软件这两个方面对各个模块作了详细的介绍。第四章调试与测试结果本章主要介绍了模型车在实际场地上的调试、测试和结果。第二章方案的选择与论证根据竞赛要求,该模型车系统由电源模块、车速检测模块、直流电机驱动模块、路径识别模块、单片机模块等组成。对其中几个模块的实现,分别有以下一些不同的设计方案21电动机驱动调速模块方案一采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案二采用PWM。这样可以直接利用单片机来输出PWM波,使用方便,还保证了可以简单地实现转速和方向的控制,可靠性高是一种广泛采用的直流电机调速技术。基于上述理论分析,拟选择方案二。22路径识别模块探测路面黑线的大致原理是光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接收到的反射光强弱判断是否偏离黑线。方案采用CCD摄像头寻迹。该方案的优点是可以更远更早地感知赛道的变化,信号数据量较大,大量占用CPU资源,还需要占用很大的存储空间,处理速度慢是摄像头方案的难点之一。方案二固定脉冲调制的反射式红外发射接收器。考虑到环境光干扰主要是直流分量,如果采用带有固定交流分量的调制信号,则可大幅度减少外界干扰;另外,红外发射管的最大工作电流取决于平均电流,如果使用占空比小的调制信号,在平均电流不变的情况下,瞬时电流可以很大50100MA,这样也大大提高了信噪比。基于上述考虑,拟采用方案二。23车轮检速模方案采用霍尔集成传感器。该器件内部由三片霍尔金属相组成,当磁钢正对金属板时,由于霍尔效应,金属板发生横向导通,因此可以在车轮上安装磁钢、而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行车速测量。方案二根据滚轮鼠标的工作原理,采用断续式光电开关。由于该开关是沟槽结构,可以将其置于固定轴上,再在车轮上均匀地固定多个遮光条。让其恰好通过沟槽,产生一个个脉冲。通过脉冲的计数,对速度进行测量。以上两种都是比较可行的转速测量方案。尤其是霍尔元件,在工业上得到广泛采用,电路简单,能够稳定的输出方波信号,可通过单机中断I/O口直接进行测量,因此拟采用方案一。24车速控制方法方案一采用开环控制方法。控制装置与受控对象(电机)之间只有顺向作用而无反向联系,每次给一个速度期望值,对应有一个实际速度输出,方法简单,容易实现。系统的控制精度完全取决于电机的特性,。开环控制的缺点是抗扰动能力差,当有扰动作用时都将使被控量偏离给定值,直接影响系统的控制精度。方案二采用闭环控制方法。把系统的输出量(实际车速)反馈到输入端与输入量(速度的期望值)相减得到偏差,再由偏差产生一个控制量去消除偏差,如PID算法。这种控制方法使输出量也参与了控制,相对复杂。但是它能有效地抑制内部和外部各种形式的干扰,对干扰不甚敏感。因此可以对元件的精密度的要求有所降低。基于以上分析,拟采用方案二。25小结经过上述方案比较,最终决定了方案如下电动机驱动与调速模块采用PWM电机驱动。车轮检速模块采用霍尔集成片。路径识别模块采用固定频率调制的红外反射式发射接收器。车速控制方法闭环控制方法(PID)。第三章系统的具体设计与实现系统总体设计方案的硬件实现框图如图31所示。硬件电路设计采用模块化设计,由简单的接口互相连接,便于安装和调试。单片机系统红外传感器PWM舵机PWM电机驱动电池电源PWM速度反馈红外信号M图31系统总体结构框图MCU通过检测模型车头部八对传感器的输出信号,来计算黑线所处的位置、偏移速度和偏移量,测速模块向MCU发送测速中断,根据中断时间测出车轮转速,MCU再根据当前的黑线位置及车速对电机进行控制。电池提供电源模块和电机驱动模块电力。31系统硬件设计311MCU模块为了减轻车模整体重量,降低重心,并且便于电路板的固定安装,单片机部分电路板形状根据车体实际情况进行了重新设计,但电路完全按照组委会提供的核心S12的电路板基本电路进行设计,在其中放置了舵机控制、红外探头、霍尔测速、电机控速、串口等接口,另外安装了8只红色LED指示灯,方便调试。舵机直接由单片机产生的PWM信号控制,无需外加驱动电路。整个模块的电路如图32所示MISO1/PW0K43C2T5678ADRB9XQELGNFVH_YJUPLKDXVRESTUFMO图32MCU模块电路图I/O资源分配如图33图33I/O资源分配图312路径识别模块设计经过不断的调试改进,最终确定了较为合适的红外探头尺寸和探头对数,即消除了盲区又增加了探测宽度。如图34图34红外传感器布局图DS1TX234V5KR6P78MCU_PW图35红外信号发射电路20M28M110MPWMPWM04PWM71电机驱动电机驱动红外传感器舵机PORTBPB07LED指示灯ATD0T7ATD红外传感器PJ7PORTJ霍尔传感器红外信号发射电路如图35,采用普通的红外发射管,调制信号由单片机的PWM发生器提供10K调制信号,驱动所有发射管总电流约100毫安,为了减轻三极管负荷,通过两只PNP三极管分别驱动两组红外发射管,每组四只,电路工作时三极管处于开关状态,8550放大倍数约为100,为了使其工作在饱和状态,VT1和VT2基极电阻选取51K。由于每只发射管的参数都有一定差异,且发射管的发射功率、照射范围等都有所不同,所以每只发射管都采用一只1K的精调电位器进行发射功率的细微调节,以确保接收电路送回的模拟电压信号能尽量保持一致,从而简化算法,加快计算速度,确保稳定。1KR50K64Q2NPVCSO3I87UBLMD图36红外信号检测放大电路红外信号的检测放大电路如图36,由红外接收管检测红外信号,由运放LM258放大。根据数据手册提供的频响参数如图37,LM258对10K的信号最大增益约为35DB。由于红外信号比较微弱,为了得到较大的增益,选R51K,R6100K故AVR5R6/R51011放大倍数约为101倍。为了尽量简化电路,减轻车体重量,加强电路的可靠性,电路中都使用无源滤波器。红外接收管接收到的信号由CI2和RI2高通滤波后输入运放的同相输入端,然后经过运放放大,再由R20和C2低通滤波滤除10KHZ的调制信号,输出直流电压,最后由单片机的内置AD对其进行采样,从而得到所接收到的红外信号强度。PWM驱动和接收放大波形如图38。由于要求传感器能以较高的速度探测轨道变化,所以低通滤波器不能选取太大的电容,接收到的信号比较微弱图中幅度非实际比例,放大之后经过一阶无源低通,得到一个带锯齿波交流分量的直流电压,这个交流分量可以从软件上进行滤波,只要幅度不大于轨道黑线的变化,就不会对判断造成影响。图37LM258频率相应曲线驱动红外发射电路的PWM波形红外探头接收到的波形放大滤波后的波形图38红外信号分析波形图313电机驱动模块设计为了提高赛车在赛道行驶时的稳定性,防止赛车速度过块冲出赛道,必须增加赛车的快速刹车功能。由于竞赛规则不允许改造轮轴,因此采用电机反向制动的方式进行刹车,从而要求电路具有极性转换功能,为此采用H桥电路结构,并用IRF9540PMOS和IRFZ44NNMOS作为桥臂开关,在输出端加LC滤波器,平滑电机驱动波形,驱动电路如图39所示72VDRIVEABT180534MCU_PWKRULFAOTQIZN96图39H桥电机驱动电路电机的速度由单片机产生的PWM占空比决定。PWM控制信号和电机驱动电流示意图如310,红色箭头T0T1为电机正转电流方向,绿色箭头T2T3为电机反转电流方向。PWM4PWM0MT0T1T2T3TTT3T0T1T2反转正转图310H桥驱动示意图314测速模块设计按照霍尔期间的功能可以分为霍尔线性器件和霍尔开关器件。本电路采用霍尔开关器件A44E对车速进行测量。根据车模的轮轴结构,设计了如图311的测速方式。在轮轴的齿轮盘上均等的安装了四颗磁钢,传感器信号引脚接单片机外部中断口PJ7。霍尔传感器在无磁场靠近时信号引脚保持高电平,当磁钢接近它时,传感器输出低电平,触发单片机中断进行计数。因此车轮每转动一圈就可以进行四次车速测量,速度更新快,便于PID准确的进行计算,达到稳定控制速度的目的。磁钢霍尔传感器转向5VTOMCUPORTJ7图311测速模块机械结构图315电源模块设计标准车模使用72V2000MAHNICD蓄电池,但整个系统其中,单片机系统、路径识别的光电传感器和接收器电路、车速传感器电路需要5V电压,舵机伺服电机工作电压6V,所以单独设计了供电模块如图312,提供各个模块所需要的正常工作电压。电池电源模块红外传感器微处理器霍尔传感器舵机主伺服电机电机驱动5V5V5V6V72V图312系统供电结构图由于系统采用72V电池供电,线性稳压器一般要求3V以上的压差才能正常的输出稳定的电压,所以我们最终选取了只需少量外围元件的集成开关电源LM2576。开关电源的特点具有电源效率高,电压调整能力强,调整迅速的特点,而且无需使用散热片,减轻了车体重量。LM2576ADJ经电位器调整输出稳定的6V电压,再经过一只肖特基二极管IN581940V/1A和一只整流二极管IN4001100V/1A降压,输出5V电压。设计电路如图313。470UFC2DIN5819HLV63KRSEBO/GUTMADJP图313系统供电原理图LM2576ADJ由上图RP5和R8组成的反馈网络调整输出电压,当R82K且RP597K时,输出电压为6V,调整通过RP510K精调电位器实现。32系统的软件设计系统的软件采用模块化设计,具有较强的可读性,可移植性。程序使用C语言进行编写,极大的提高了编程效率,调试方便快捷。321主程序开始初始化车模状态计算PID控速舵机控制结束更新各中断输出的数据车模所需行驶速度计算图314主程序流程图整个程序的总体结构如图314,主程序的主要功能是对开机参数进行初始化,更新各个中断输出的数据,计算并转换成其他程序模块需要的数据格式,同时调度各个控制子程序对车模进行实时控制。322路径计算对车模的路径计算采用定时中断的方式,每隔1毫秒就对传感器进行一次采样,以确保车模在高速运行状态下能在足够短的时间内判断出轨道的变化,并及时刹车,防止车速过快冲出跑道。经过实际的测试,车模在运行时并不需要很高的精度,为了简化算法,加快计算速度,我们最终确定使用8对红外传感器对路径黑线进行探测,如图315,黑线位置用09表示,其中18表示各个探头的编号,0和9分别表示右边出轨。传感器部分输出模拟电压035V,通过MC68S912DG128片内的8路10位AD对其进行采样。白色反射面反射大部分的红外线,而黑色的反射面则吸收大部分红外线,根据实际测试,将传感器放置在白反射面上测得的电压约为17V,黑色反射面上为05V,AD测得的数据为100和350。当数据低于150时认为是黑线,高于300则认为是白色面。对于采样的数据主要有两个判断,如图316。因为竞赛规则允许出现交叉跑道,而且在起跑线有两条起跑黑线标记,探头将会探测到两个或两个以上符合黑线要求的数据,所以程序首先判断是否出现两条惑两条以上黑线,如果是则输出上次计算的黑线位置数据,车模将保持原有运行状态,顺利通过起跑线或交叉跑道而不受影响;其次是判断是否没有黑线,如果是则读取上次的黑线位置数据来确定出轨方向,数据为第八探头是右边出轨,数据为第一探头则是左边出轨。123456781234567812345678右左正常路径左边出轨右边出轨90图315路径计算示意图中断开始红外传感器信号A/D采样输出当前黑线位置数据中断返回数据异常转换为黑线数据有两条以上黑线没有黑线,上次黑线最左输出上次黑线位置数据输出左出轨数据输出右出轨数据是否是是否否图316路径计算流程图323舵机控制车模自带的舵机通过PWM来控制角度如图317,经过实际调试经验,我们将舵机设置为09十个档位。根据路径计算程序送出的数据,可以判断赛车当前所处的位置状态,根据这个状态给予相应的舵机控制量,使其转动到并保持相应角度。开始是否高速出轨调用位置数据左偏极限左转极限右转小角度调整是否是否返回图317舵机控制流程图324速度控制直流伺服电机控制系统的控制算法有很多,但工业控制中运用最广的是PID。PID控制是最早发展起来的控制策略之一,其算法简单、鲁棒性好、可靠性高,此外PID控制方案并不需要建立精确的受控对象的数学模型,而且采取PID控制策略的控制效果一般是比较令人满意的和成功的,所以PID一直以来被广泛用于工业控制。所谓PID控制就是比例、积分和微分控制。对于实际的物理系统,其被控对象通常都有储能元件存在,这就造成系统对输入作用的响应有一定的惯性。另外,在能量和信息传输等因素会引入一些时间上的滞后,往往导致系统的响应变差,甚至不稳定。因此,为了改善系统的调节品质,通常在系统中引入偏差的比例调节、积分调节和微分调节,以保证系统的快速性、提高控制精度和消除系统惯性的影响。这就形成了按偏差PID调节的系统,其控制结构如图所示。其控制规律为21TPDETUTKETTKPKP/TISKPTDS对象RSESUSYS图318PID控制系统框图式中控制量;UT系统的控制偏差;E比例增益;PK积分时间;IT微分时间;D系统给定的希望达到的速度值;RS电机的转速。Y在单片机控制系统中,使用的是数字式PID控制器,数字式PID控制器通常又分为增量式和位置PID控制算法,系统采用增量式PID。由于单片机控制的是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(21)中的积分和微分项需要进行离散化处理。离散化后301KDPJITUKKEEKE增量式PID运算的输出增量为相邻两次采样时刻所计算的位置值之差,即41UK由式(33)可知510112KDPJITUKKEEKE所以61212DPITEKEKEKU式中K时刻的速度给定量与速度反馈量的偏差K时刻的输出控制量图319是根据公式6的基于PID算法的速度控制器的子程序流程图开始采样XK,YK计算偏差EK更新EK1计算TEK/TI计算EKTEK/TI计算2EK计算TD/T2EK更新EK1计算EKTEK/TITD/T2EK计算UK计算UK输出UK并更新UK1图319基于PID算法的速度控制器的子程序流程图但是,上述这种PID是一种理想的PID控制器,其实际控制效果并不理想。尤其是在直流伺服电机的启动、停止或大幅度改变给定值R(S)时,由于在短时间内产生很大的偏差,往往会产生严重的积分饱和现象,以致造成很大的超调和长时间的振荡。这是不能容忍的。为了克服这个缺点,本系统采用积分分离方法(PDPID)控制,即在被控制量开始跟踪时,取消积分作用;而当被控制量接近给定值时,才利用积分作用,以消除静差。首先,选择一个合适的作为PDPID算法的分界常数。一般来说此分界常数要比输出所允许的误差大510倍。然后在每次采样电机速度时计算偏差值ENK,根据偏差值与的大小比较来决定哪一种控制方式。所以对图作了一定的改进。PDPID控制程序框图如图319所示开始采样XK、YK计算EKXKYKPID|EK|PD输出UKNY图320PDPID控制程序框图在系统初始化程序中,应当设置好误差初始值ENKENK1ENK20,且控制初始值UNK10在图320的PID速度控制器的子程序中,关于KP、KIKPT/TI、KDKPTD/T等参数的整定可以采用解析法与经验法相结合的方法。先给三个参数一个初值,在具体调试时,可根据经验凑试法在上述理论值的基础上作微调,即先整定比例部分,再整定积分部分,然后再整定微分部分。325突发情况判断对于突发情况的判断,探头的偏移量和偏移速度计算对于车体行驶状态是非常重要的,该部分软件采取定时中断方式进行,如图321,定期的对测得的路径情况进行处理和判断,根据这个情况来对车体的运行速度进行限制。开始读取当前黑线位置数据比较当前和上次数据数据变化结束降低当前速度等级急剧变化刹车标志位置1是是否否图321突发情况判断流程图第四章调试与测试结果41调试软件软件调试使用CODEWARRIOR31,编程器使用BDM。42红外传感器测试将红外传感器正对白反射面,通过改变距离来观察传感器反馈的电压值,结果如表41。测试设备数字万用表CDM8045直尺精度1MM表41红外传感器测试参数白反射面距离CM15506575809096130180300反馈电压V2019181716151410080243霍尔传感器测试在主伺服电机空载加恒定电压对霍尔传感器输出的信号进行观察,测试结果如表42。测试设备稳压电源MPS3003L3数字万用表CDM8045低频示波器CA4094表42霍尔传感器测试电机电压V202530354045505560输出频率HZ5679111112514316718521744舵机测试舵机左右偏转角度分为10,20,30,45。30201045图41舵机旋转角度示意图45车速测试将车模放置于平直KT板面,测试距离10M,编写测试程序由单片机控制电机驱动电路输出最高电压来驱动主伺服电机,测试车模的最高行驶速度,测试结果如表43。测试设备秒表精度001S。表43最高车速测量测试次数12345678平均速度M/S25425725025324725525726025446刹车测试将车模放置于KT板面,测试程序控制车模运行到最高速度时进行刹车,并在刹车同时打开指示灯,对车模加载不同的反转电势时所需的刹车时间进行测量,测量结果如表44。测试设备秒表精度001S。表44刹车测试占空比PWM41020304050607080刹车时间S312254134075034085102113打滑否否否否否是是是经过测试最佳刹车占空比为50。47实际跑道测试为了更好的测试车模的实际性能,我们将2005年韩国车模赛的比赛跑道按照11的比例还原,并去处带坡度部分,对车模进行测试,结果如表45表45实际跑道测试测试次数1234567平均速度M/S1753173317341758176217171745174346模型车的主要技术参数说明模型车的主要技术参数说明如表46。表46模型车的主要技术参数传感器伺服电机赛道信息检测外形电路功耗电容总量名称数量名称数量精度频率长35CM舵机1宽22CM红外传感器8对主电机1高5CM重量700G平均功率43瓦1890UF霍尔传感器1只其他无28CM1KHZ第五章结论本文的研究对象是一辆以MC68S912DG128微控制器为核心,能够自主识别路线的模型车。在行驶过程中,微控制器通过多个红外光电传感器和霍尔传感器采集模型车的运动位置、运动方向和速度这些信息,然后迅速做出判断,输出PWM波控制驱动电机和舵机。在设计过程中,路径识别采用光电传感器寻迹这种方案。它由一系列发光二极管和接受二极管组成,根据路面的反射光线强度的不同来判断行车的方向。这种方案电路简单,信号处理快。直流电机控制由单片机的PWM信号来完成,驱动采用IRF9540PMOS和IRFZ44NNMOS作为桥臂开关的H桥电路结构,而软件则采用数字PID控制算法,它使模型车在行驶过程中更稳和更快。测试结果表明,系统设计方案是可行的。但是,由于时间限制,系统在PWM控制直流电机的算法方面,只采用了改进型的PID算法,对其他的高级算法,如自适应控制、模糊控制、模糊PID等方法还尚未设计,只能留待以后扩充。参考文献1于海生,潘松峰,于培人,吴贺荣微型计算机控制技术M清华大学出版社,20042邵贝贝单片机嵌入式应用的在线开发方法清华大学出版社M,20043赵亮,侯国锐单片机C语言编程与实例人民邮电出版社M,20034杨宁,胡学军单片机与控制技术北京航空航天大学出版社M,20055吕平宝直流电机智能型数模混合PWM调整速器的研究及应用青岛化工学院硕士学位论文D,20026何涛数字式直流电机调速系统的设计与分析青岛化工学院硕士学位论文。西安交通大学硕士学位论文D,20027韩俊淑,曾锐利,李长安PID算法在蓄电池充电控制系统中的应用J自动控制技术与应用10037241200509004804,20058刘远进,李昌玉,张明雄基于规则与优化方法相结合的PID整定J自动控制技术与应用10037241200503001903,20059MOTOROLA,INCMC9S12DT128BDEVICEUSERGUIDEV0109,200210MOTOROLA,INCPWM_8B8CBLOCKUSERGUIDEV0116,200211MOTOROLA,INCECT_16B8CBLOCKUSERGUIDEV0104,200212MOTOROLA,INCATD_10B8CBLOCKUSERGUIDEV0210,2002附录A车模源代码主程序INCLUDE/COMMONDEFINESANDMACROS/INCLUDE/DERIVATIVEINFORMATION/INCLUDE“HARDWAREH“INCLUDE“DELAY_MSH“INCLUDE“PRINTPH“PRAGMALINK_INFODERIVATIVE“MC9S12DG128B“UNSIGNEDCHARCHUNSIGNEDCHARI0,J0UNSIGNEDCHARLED_POS0UNSIGNEDINTSAMPLE110,0,0,0,0,0,0,0,5,0,0UNSIGNEDINTSAMPLE_TEMP60,0,0,0,0,0UNSIGNEDINTPOSITION0,POSITION_TEMP0,POSITION_TEMP20,DIRECTION1/黑线位置寄存器,探头偏移方向寄存器UNSIGNEDCHARGO_BACK0/刹车UNSIGNEDCHARSAFE_SPEED22/安全速度UNSIGNEDINTOUT_TIMER0UNSIGNEDCHARFIND_WAY1/寻路寄存器UNSIGNEDINTSPEED500UNSIGNEDINTSPEED_LEVEL0UNSIGNEDINTMS_TIMER0,MS_TIMER20,MS_LED_TIMER,MS_OUT_TIMER0,MS_SAMPLE_TIMER0/毫秒计数器UNSIGNEDINTDISTANCE0/POSITION偏移UNSIGNEDCHARSECOND_TIMER0UNSIGNEDCHARSPEED_TEST_STEP0,SPEED_CHECK0/测速度阶段UNSIGNEDCHARPRINT_MODE0/打印模式选择INTERRUPTVOIDSPEED_INTERRUPTSPEED_CHECK1SWITCHSPEED_TEST_STEPCASE1MS_TIMER0SPEED_TEST_STEP2BREAKCASE2SPEEDMS_TIMERSPEED_TEST_STEP0PIEJ0X00BREAK/SWITCHSHAKE_STEPCASE0SHAKE0BREAKCASE1SHAKESHAKEBREAK/PRINTP“DN“,TCNT/PORTB_BIT7PORTB_BIT7PIFJ_PIFJ71INTERRUPTVOIDSHAKE_TIMER_INTERRUPT/偏移量计算中断UNSIGNEDCHARI0IFPOSITION_TEMPPOSITIONIFPOSITIONPOSITION_TEMPDISTANCEPOSITIONPOSITION_TEMPDIRECTION2ELSEDISTANCEPOSITION_TEMPPOSITIONDIRECTION0IFSPEED_LEVEL18SPEED_LEVELSPEED_LEVEL1DISTANCE0IFSPEED_CHECK0SPEED70ELSESPEED_CHECK0/PORTB_BIT6PORTB_BIT6TFLG1_C0F1/中断标志位清零INTERRUPTVOIDDOWN_TIMER_INTERRUPTMS_TIMERMS_TIMER2MS_OUT_TIMERMS_LED_TIMERINFRARED_SAMPLESAMPLE/探头采样POSITIONDATA_PROCESSINGSAMPLE/探头数据处理MCFLG_MCZF1INTERRUPTVOIDUART_INTERRUPTCHSCI0DRLSWITCHCHCASEMPRINT_MODEPRINT_MODEBREAKCASEMPRINT_MODEPRINT_MODEBREAKPRINTP“MCCNTDN“,MCCNTCHSCI0DRLVOIDDATA_PRINTIFPRINT_MODEPRINTP“C0D,“,SAMPLE0PRINTP“C1D,“,SAMPLE1PRINTP“C2D,“,SAMPLE2PRINTP“C3D,“,SAMPLE3PRINTP“C4D,“,SAMPLE4PRINTP“C5D,“,SAMPLE5PRINTP“C6D,“,SAMPLE6PRINTP“C7D,“,SAMPLE7/PRINTP“POSITION_TEMP2D,“,POSITION_TEMP2PRINTP“POSITIONDN“,POSITIONELSEPRINTP“POSITIOND,“,POSITIONPRINTP“VOLTD,“,ATD0DR7PRINTP“SPEEDD,“,SPEEDPRINTP“SPEED_LEVELD,“,SPEED_LEVELPRINTP“DISTANCEDN“,DISTANCEVOIDLED_REFRESHIFMS_LED_TIMER20MS_LED_TIMER0SWITCHLED_POSCASE0PORTB0X7FBREAKCASE1PORTB0XBFBREAKCASE2PORTB0XDFBREAKCASE3PORTB0XEFBREAKCASE4PORTB0XF7BREAKCASE5PORTB0XFBBREAKCASE6PORTB0XFDBREAKIFLED_POS6LED_POSELSELED_POS0VOIDMAINVOIDPWM_INITCOM_INITAD_INITPORTJ_INTERRUPT_INITTIMER_INITPUCR_PUPAE0XFFDDRA0X00DDRB0XFFENABLEINTERRUPTSWHILE1/指示灯闪烁/IFMS_TIMER2500MS_TIMER20IFPORTA_BIT00DATA_PRINT/LED_REFRESHIFPORTB_BIT0IFGO_BACKPORTB0X00ELSEPORTB0XFF/方向控制/SWITCHPOSITIONCASE1DIR_CONTROL0MS_OUT_TIMER0IFMS_OUT_TIMER3000SPEED_LEVEL35IFMS_OUT_TIMER700IFMS_OUT_TIMER700IFSPEEDSAFE_SPEEDGO_BACK0SAFE_SPEED22/速度控制/IFSPEED_LEVELSPEEDSPEED_CONTROLGO_BACK,GO_BACK,SPEEDELSESPEED_CONTROL1,GO_BACK,SPEED/硬件配置程序INCLUDE/COMMONDEFINESANDMACROS/INCLUDE/DERIVATIVEINFORMATION/INCLUDE“DELAY_MSH“INCLUDE“PRINTPH“VOIDPWM_INITVOIDCOM_INITVOIDAD_INITVOIDDIR_CONTROLUNSIGNEDCHARDIRVOIDSPEED_CONTROLUNSIGNEDCHARSPEED,UNSIGNEDCHARGO_BACK,UNSIGNEDINTNONCE_SPEEDVOIDINFRARED_SAMPLEUNSIGNEDCHARSAMPLEUNSIGNEDINTDATA_PROCESSINGUNSIGNEDINTSAMPLEVOIDBATTERY_CHECKINCLUDE“HARDWAREH“VOIDPORTJ_INTERRUPT_INITPIEJ0X80DDRJ_DDRJ70VOIDTIMER_INIT/CHANNAL0/TIE_C0I1/计数中断使能TSCR20X05/系统时钟源选择,1,2,4,8,16,128TIOS_IOS01/计数方式选择TC00X000F/MOUDLESCOUNTDOWNTIMER/MCCTL0XC4/VECTORS0XFFCAMCCNT0X5BCC/LOADINITVALUE/0X5BCC1MS/0X2DE605MS/MCFLG_MCZF1中断标志位清零/TSCR1_TEN1/系统计数使能/TFLG1_C0F1/中断标志位清零VOIDCOM_INIT/串口初始化SCI0CR20X2C/INTERRUPTENABLESET/BAUDRATESET/SCI0BDH0X00SCI0BDL0X9CVOIDPWM_INITPWMPRCLK0X70/CLOCKCLOCKBUSPWMCLK0X93/CLOCKCLOCKSBPWMSCLA0X04PWMSCLB0X05/CLOCKSBCLOCKB/2PWMSCLBPWMPOL0XFF/CHANNEL7POLARITY1PWMPER7100/PWMDTY728/舵机转正PWMPER0100/PWMDTY0100/STARTSPEED0PWMPER4100PWMDTY4100PWMPER1255/PWMDTY1128/红外探头载波20KHZ调制PWME0X93/PWM7401ENABLEVOIDAD_INITATD0CTL2_ADPU1/电源使能ATD0CTL5ATD0CTL5/采样从第一路AD开始ATD0CTL5_DJM1/RIGHTMODEATD0CTL30X78/8CHANNAL/连续采样长度选择BIT6MSBBIT3LSBATD0CTL5_SCAN1/连续采样模式ATD0CTL5_MULT1/连续采样长度模式/ATD0STAT0_SCF连续采样完成标志位VOIDDIR_CONTROLUNSIGNEDCHARDIRIFDIR24PWMDTY477IFSPEED25PWMDTY478BREAKVOIDINFRARED_SAMPLEUNSIGNEDINTSAMPLEATD0CTL5ATD0CTL5DELAY50SAMPLE0ATD0DR4SAMPLE1ATD0DR6SAMPLE2ATD0DR7SAMPLE3ATD0DR5SAMPLE4ATD0DR1SAMPLE5ATD0DR0SAMPLE6ATD0DR3SAMPLE7ATD0DR2IFPORTA_BIT00IFATD0DR4300PORTB_BIT00ELSEPORTB_BIT01IFATD0DR6300PORTB_BIT10ELSEPORTB_BIT11IFATD0DR7300PORTB_BIT20ELSEPORTB_BIT21IFATD0DR5300PORTB_BIT30ELSEPORTB_BIT31IFATD0DR1300PORTB_BIT40ELSEPORTB_BIT41IFATD0DR0300PORTB_BIT50ELSEPORTB_BIT51IFATD0DR3300PORTB_BIT60ELSEPORTB_BIT61IFATD0DR2300PORTB_BIT70ELSEPORTB_BIT71UNSIGNEDINTDATA_PROCESSINGUNSIGNEDINTSAMPLE/数据处理子程序UNSIGNEDINTPOSITION0,TEMP0/位置寄存器UNSIGNEDINTDATA8/数据采样寄存器UNSIGNEDINTAVR0,DIV100,NORMAL20/探头平均值,差值上限,UNSIGNEDCHARI0,J0,N0FORI0I300IFDATA0250IFSAMPLE91POSITION0IFSAMPLE98POSITION9ELSEPOSITIONSAMPLE9IFDATA0650PORTB_BIT01ELSEPORTB_BIT00/附录B基于PID控制实现路径自动识别的赛车张思恩1,刘伟2,马必略3(杭州电子科技大学电子信息学院,浙江杭州310018)摘要介绍了一辆以单片机(MC68S912DG128)为控制核心,能够在专门设计的跑道上自动识别道路行驶的模型车。通过多个红外光电传感器检测小车的运动位置和运动方向,霍尔传感器检测小车的行驶速度,利用PWM技术控制小车的运动速度及运动方向。同时用PID控制算法,完成对模型车运动速度和运动方向的闭环控制。文中提出的按扩充响应法实现PID控制器的参数整定,缩短了系统的响应时间,提高了控制精度,在很大程度了改善了模型车的性能。该控制方法在测试中取得了很好的效果。关键词单片机红外传感器路径识别PWM控制PID中图分类号TP3文献标识码A关键词单片机红外传感器路径识别PWM控制PIDCONTROLFORTHEAUTOPATHDETECTINGMODELZHANGSIEN1,LIUWEI2,MABILVE3SCHOOLOFELECTRONICINFORMATION,HANGZHOUDIANZIUNIVERSITY,HANGZHOUZHEJIANG310018,CHINAABSTRACTINTHISPAPER,WEINTRODUCEAAUTOMODELWHICHISBASEDONCONTROLLERCENTERMC68S912DG128ITCANIDENTIFYORBITANDRUNAUTOMATICALLYONSPECIALLYDESIGNEDROUTESWEUSEMANYINFRAREDSENSORSTODETECTTHELOCATIONANDTRENDOFTHEVEHICLE,EMPLOYHALLSENSORSTOIDENTIFYTHESPEEDWEADOPTPWMSTRATEGYTOCONTROLTHESPEEDANDTHEDIRECTIONOFTHEMOVEMENT,WHILEUSETHEPIDCONTROLALGORITHMSTOCOMPLETETHECLOSEDLOOPCONTROLOFTHEAUTOMODELTHETECHNOLOGYOFTHEEXTENDEDRESPONSEMETHODDISCUSSEDINTHISPAPER,TOFULFILLTHEPARAMETERREQUESTOFTHEPIDCONTROLLER,SHORTENTHESYSTEMSRESPONSETIMEANDIMPROVETHEPRECISIONAPPARENTLY,ITDOESIMPROVEDTHEBEHAVIOROFTHEAUTOMODELTOALARGEEXTENT,ASCOMFIRMEDINTHETESTKEYWORDSMCUINFRAREDSENSORPATHDETECTINGPWMCONTROLPID0引言本模型车是根据第一届全国大学生智能汽车邀请赛的规则和要求,在组委会提供的标准汽车模型的基础上制作的。它以单片机为核心,通过车头多个红外光电传感器检测小车的运动位置和运动方向,利用PWM技术控制小车的运

温馨提示

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

评论

0/150

提交评论