北京科技大学二队技术报告_第1页
北京科技大学二队技术报告_第2页
北京科技大学二队技术报告_第3页
北京科技大学二队技术报告_第4页
北京科技大学二队技术报告_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技术报告学校北京科技大学队伍名称北京科技大学二队参赛队员林进鹏陈曦尚晓明带队教师牟世堂关于技术报告和研究论文使用授权的说明本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名带队教师签名引言首届“飞思卡尔“杯全国大学生智能汽车竞赛在清华大学的承办下终于落户中国,本届大赛采用邀请赛的方式,邀请了国内具有控制科学与工程学科博士授予点高校(含港澳)50余所,我们北京科技大学作为参赛方,有幸参加了此次“飞思卡尔智能汽车邀请赛”。这份技术报告中,我们小组通过对整体方案、电路、算法、调试、车辆参数的介绍,详尽地阐述了我们的思想和创意,具体表现在电路的创新设计,以及算法方面的独特想法,而对单片机具体参数的调试也让我们付出了艰辛的劳动。这份报告凝聚着我们的心血和智慧,是我们共同努力后的成果。在准备比赛的过程中,我们小组成员涉猎控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,这次磨练对我们的知识融合和实践动手能力的培养有极大的推动作用,在此首先要感谢清华大学,感谢他们将这项很有意义的科技竞赛引入中国;更要感谢北京科技大学相关学院对此次比赛的关注及投入,我们能有今天这样的成果离不开学院的大力支持及指导老师悉心的教导;还要感谢的是和我们一起协作的队员们,协助,互促,共勉使我们能够走到今天。目录引言1目录2第一章、智能车方案设计思路及实现方案简介411方案设计思路412实现方案简介5第二章、机械结构设计721传感器的设计安装822制动舵机传动机构设计824系统电路板的固定及连接9第三章、电路设计说明1031主控板的设计10311电源管理模块10312电机驱动模块11313控制模块11314接口模块1232传感器模块13321带有选频抗干扰能力的光电对管传感器13322采用A/D转换的光电对管传感器14第四章、HCS12控制软件主要理论、算法说明及代码设计说明1541主程序1642各种初始化程序1743PID调节程序1744寻线算法程序2045程序调试与车况参数检测方法(使用EEPROM)22第五章、开发工具、制作、安装、调试过程说明2351开发工具2352调试过程23第六章、模型车的主要技术参数说明2461智能车外形参数2462电路部分参数2463传感器的种类和个数2464除了车模原有的驱动电机、舵机之外伺服电机数量24结论25参考文献26附录27第一章、智能车方案设计思路及实现方案简介11方案设计思路图11、系统的总体控制框图电机与后轮光电编码器驱动电路伺服电机前轮键盘传感器S12本智能车控制系统采用由主办方提供的飞思卡尔16位微控制器MC9S12DG128作为唯一的核心控制单元,信号由安装在车前部的不同类型的光电传感器采集,将采集到的模拟信号或电平信号传入核心控制单元,核心控制单元对信号进行AD转换或电平判别处理后,由PWM发生模块发出四路PWM波,分别对转向舵机,直流电机,制动舵机进行控制,完成智能车的转向,前进,制动的功能。在智能车后轮上安有光电编码器,采集关于车轮转速的脉冲信号,经由核心控制单元进行增量式PID控制方法计算后自动调节输入到电机驱动模块的PWM波的占空比,从而控制小车速度。人机接口采用HD7279A数码管和键盘驱动显示芯片驱动8位数码管和44键盘,从而可与核心控制单元进行通信,实现人机交互。12实现方案简介传感器排布方面智能小车在行驶过程中,使用车头前端安装的十一个光电传感器采集路面信息,反馈给核心控制单元,由核心控制单元进行处理。根据小车实际行驶中对黑线反应的情况,我们经过仔细的研究讨论,决定采用十一个传感器圆弧的排布方案。其优势所在如下A11个传感器可以准确的判断出黑线在车前的位置;B圆弧型排布的小车在走弯道时在对黑线的方向判断方面有显著的优势;C美观大方。传感器信号的采集时,外侧我们采用了8路AD转换,将返回的电压值在核心控制器里进行二值化处理,判别传感器状态;中间3个传感器经过处理返回3路高低电平值,核心控制器可直接处理。我们在跑道上调试小车时发现采用十一个传感器圆弧的排布方案可以极大的提高寻线精度,直线时平稳高速,转弯时平缓流畅,可以保证小车不冲出跑道。速度控制方面我们采用光电编码器对驱动轮后轮的转速进行实时的检测,将反馈值提供给核心控制单元。核心控制单元根据光电编码器单位时间反馈的脉冲数,采用增量式PID调节控制方法,对直流电机的转速进行准确快速的调节,减小了由于电池或场地等原因造成的速度无规则变化。转向控制方面我们采用了一系列的控制算法,通过传感器反馈的路面信息,经过核心控制单元调用一系列算法进行计算,将计算结果赋给控制舵机的PWMDTYX,从而准确的控制舵机的转角。人机交互方面我们采用了HD7279A键盘数码管驱动显示接口芯片,通过串行通信的方式于核心控制单元进行通信,可以通过键盘输入一些必要的参数,也可以实现小车行驶过程中的一些参数的显示。第二章、机械结构设计在本次智能车邀请赛中,最主要的比赛内容是速度,而车辆的机械结构无疑是影响速度的一个关键因素,鉴于这个原因,我们小组在车辆机械方面的改进也作了很多的工作,并形成了下图所示的最后外形。图21外观俯视图我们在改造、调试机械部分的过程中,遵循着四个原则车身更轻、摩擦更小、转向更灵、变速更快。为实现这四个目标,我们设计了如下的机构。21传感器的设计安装为了实现减轻车身重量的目标,我们的传感器采用工作部分和控制部分集中安装的方法,保证传感器部分重量最小,以起到减轻车身的作用。同时,考虑到车辆行驶过程的稳定,我们采用11个传感器圆弧形的排布方法。中间的传感器向前伸出,保证有足够的前瞻性,两边的传感器以固定角度呈圆弧状排列,可以给单片机反馈回准确角度,提高舵机转向的灵活性和准确性。如何安装传感器也是机械机构要考虑的一个问题,因为如果传感器离车太近,则前瞻性会受到很大影响;而传感器若离车太远,机构不稳定,行走过程中产生振动,会影响传感器的工作状态,无法保证稳定、准确的信号反馈。综合考虑以上因素,我们通过实验确定了安装距离和方法。22制动舵机传动机构设计为了缩短跑完全程的时间,我们需要尽可能快的速度,但是如果速度失控,当车辆从直道进入曲率较大的弯道时,就有冲出赛道的危险,除了在程序上我们做了限制以外,机构上采用了加装制动伺服电机的方式保证车辆行驶的安全。图22制动舵机示意图223光电编码器的安装在本次智能车邀请赛的规则中,赛道长度、形状有严格的限制,而为了更快的跑完全程,我们希望能尽量提高车速,这样在弯道前及时减速就成了我们必须考虑的问题。通过安装光电编码器,我们能够知道车在每个时刻的速度,根据它的反馈,程序就可以迅速调整车速。24系统电路板的固定及连接在电路板的安装这部分,我们考虑到结构的稳定性,以及规则中对车辆尺寸的限制,最终决定采用高架、立体的搭接方法,用支架把主控板较高地固定在底盘上方,并在后桥制动舵机的上面安放了一个输入参数用的小键盘,这种布局可以保证车辆行驶稳定,同时,也可以比较方便的输入参数。第三章、电路设计说明本智能车系统的电路总体上分为逻辑控制电路和电机驱动电路两大部分。逻辑控制电路主要由核心控制器S12单片机和周围的寻线传感器,测速传感器组成。其对电压的稳定性有很高的要求;电机驱动电路要求的电流相对比较大,因此,二者在电路设计方面有很大的差别。硬件设计应在可靠的基础上尽量简单化,使其满足稳定工作的基本要求,电源管理模块要保证使整个系统供电充足并稳定;传感器部分保证信息采集准确有效;电机驱动部分则需在保证正常工作的情况下尽量减少对控制部分的干扰。同时还要保证在控制软件做改动时,硬件部分不需要作很大的改动就可以满足要求,即我们硬件的通用性。31主控板的设计311电源管理模块图31电源管理模块原理图电源由72V电池提供,分别经过以下途经对其它模块进行供电A、经过稳压芯片LM2940_50稳压后,输出5V电压以驱动单片机工作;B、经过稳压芯片LM2940_50稳压后,输出5V电压以对传感器供电;C、经过稳压芯片LM2940_50稳压后,输出5V电压对光码盘供电;D、经过稳压芯片LM2940_50稳压后,输出5V电压对键盘显示接口电路供电;E、接入MOSFET驱动模块,以对电机进行驱动;F、接入转向舵机与制动舵机,驱动舵机进行转向及制动工作。312电机驱动模块图32直流电机驱动模块原理图直流电机驱动采用大功率的MOSFET和继电器的组成驱动电路,单片机通过如图32中PWM引脚输入PWM波,以调节M1和M2口的输出电压之差,从而调节电机转速,并且在DIR_CONTROL口输入高低电平,通过使继电器换向,给电机反向电压,实现制动功能。在实际运用中发现使用反向电压制动,效果良好,但是对继电器的损耗比较大。313控制模块核心控制模块仅由MC9S12DG128B构成,将PORTA口与PORTB口作为普通信号的输入和输出,在实际中我们将PORTB口作为输入高低电平信号的光电传感器的信号输入口,而将AD口作为输入模拟信号的对管光电传感器的信号输入口。将PM口作为键盘显示电路的接口。引出PWM7和PWM5作为控制电机与舵机的PWM波输出口,PWM1、PWM3作为制动电机的接口。图33控制模块原理图314接口模块图34接口模块原理图接口模块的作用即外部设备单片机的接口,分别有电机接口,转向舵机接口,制动舵机接口,光电编码器接口,键盘显示模块接口,电源接口。32传感器模块作为智能车的“眼睛”,光电传感器感知地面情况的能力对小车行驶状态的影响很大,经过多次摸索、试验,我们终于设计出一套高效,可行的方案。我们采用两种传感器感知地面的情况一种是采用带有选频能力的输入高低电平的传感器,另一种是输出模拟电压的光电对管的传感器。这样做的原因是带有选频能力抗干扰较好的传感器相对于返回模拟量的传感器消耗能量比较大,在这样一个电量有限的情况下,尽量减小不必要的功耗是相当必要的。这款单片机拥有8路的AD转换口,我们使用了8路的简单对管电路返回8路模拟电压,使用单片机本身的A/D转换功能模块进行信号处理,再设定门限比较电平,将采集道的模拟信号进行二值化处理,从而判别黑线的位置。这样既做到了判别黑线,又达到了省电的目的。321带有选频抗干扰能力的光电对管传感器传感器电路如图36所示,在一个高频信号发生器的作用下,产生一路高低频交变的信号电流,然后通过一个三极管放大后供给两路LED灯发光,并用两个电位器分别控制LED灯的光强,最后用一个与信号发生器频率同步的接收管接收光信号,并反馈给单片机。在回路中,我们还添加了另一路LED发光二极管,用来实时检测传感器的工作情况。实际使用过程中,这种传感器对地面适应能力强,在一定程度上对外来的干扰光有较强的抗干扰能力。图35传感器电路原理图这种传感器定位能力强,在小车行驶过程中被用作夹住黑直线,由于它比较灵敏,当车稍稍偏离直线时,传感器可以快速将状态返回给单片机,以使单片机作出及时的反应,较快的调正小车行驶方向。322采用A/D转换的光电对管传感器传感器电路如图37所示,发射部分是由高亮的红色发光二极管和限流电阻串连组成,接收部分是由接收管和一个可调电阻组成,并配合有一个电容平滑输出,减小外界突然出现的强光干扰。这种传感器功耗比较小,电路简单,不易出现复杂问题。图36传感器电路原理图第四章、HCS12控制软件主要理论、算法说明及代码设计说明智能小车的控制软件采用模块化的程序结构。从结构上看,系统程序主要包括一个主体循环程序,增量式PID速度控制程序,中断服务程序,寻线控制算法程序,速度控制算法程序以及其他一些控制程序。涉及到的单片机硬件资源如表41所示。表41控制模块说明程序实现的功能使用的模块电机速度控制PWM发生模块舵机转角控制PWM发生模块PID反馈脉冲计数定时器模块,脉冲累加器传感器模拟电压处理A/D转换模块人机交互SCI串口通信光电传感器信号处理普通I/O端口调试信息记录EETS2K模块41主程序图41主程序流程图流程图如图41所示。系统首先对各种设备进行初始化,然后选择进入参数修改程序。参数设定完毕之后打开中断,最后循环执行位置速度控制程序。42各种初始化程序包括端口初始化函数,PID初始化函数,四路PWM发生初始化函数,计数器中断初始化函数,人机接口模块初始化函数,如图42。图42各模块初始化流程图43PID调节程序在连续控制系统中,按偏差的比例(P)、积分(I)、微分(D)进行控制的PID控制器获得了广的应用,它的结构简单,参数易于调整,适应性强,对I/O口初始化三路PWM初始化A/D模块初始化计数器初始化人机接口初始化输入参数,进主程序于那些控制模型不准,参数变化较大的被控对象,采用PID控制器往往能得到满意的控制效果。用计算机算法来代替模拟式PID控制的数字PID控制算法不断改进和完善,显著地扩展了它的功能。本例采用增量式数字PID程序以PWM方式来对直流电机进行调速。增量式数字PID调节的数学表达式。其中KP为比例常数,TI为积分时间常数,TD为微分时间常数,T为采样周期。公式1公式2对位置式算式加以变换,可以得到PID调节算法的另一种实用形式(增量算式)公式3,,可以得到一个方程,这个方程,经常用来PKAIPTB1KCDP在计算机上做逻辑运算。这种算法用来控制步进电机特别方便,对直流电机的控制也可以采用。如图43为增量式PID控制算法程序框图。ERSNSONUMBTRIGH120ZAZEUDTKATADPDIP21021211NNDNINPNNEETEU图43增量式数字PID控制程序流程图开始计算控制参数A,B,C设初值EK1EK20本次采样输入CK计算偏差值EKRCK计算控制量UKAEKBEK1CEK2码盘计算控制量UKAEKBEK1CEK2输出UKUK1为下一时刻作准备EK1EK2,EK1采样时刻到吗被控对象电机YN本车采用增量式PID算法的具体流程图如图44所示。图44PID算法流程图44寻线算法程序寻线算法程序是由一套基于求重心的算法演变而来的,这种算法的优点是能够根据传感器返回的状态值,得到车的重心偏离黑线的程度。通过一定的计算方法,计算出舵机应该转的角度,并且在一定程度上拥有抗拒微小干扰的能力。具体算法如下介绍。A将每个传感器进行加权处理,如图45所示。程序入口偏差计算设置调节死区增量式速度PID计算是否超过最大值输出最大值是否低于最小值输出最小值返回驱动电机占空比是否否是图45传感器取值分配图B当传感器检测到黑线时相应的传感器返回所在的权值,并计算偏离程度。其计算公式为DEPARTURE公式3ERSNSONUMBTRIGH图46传感器工作示意图例如图46所示,左侧权值为6和8的传感器在黑线上,此时计算偏离的程度为DEPARTURE86/27即此时车偏离的重度为7。C偏离程度和舵机转动角度所对应的PWM脉宽建立模型,拟合二者的函数关系曲线。在这里我们认为舵机转动的角度是和PWM脉宽成线性的正比关系,因此作出一次函数来唯一的确定舵机转动的角度是和脉宽的PWM关系。我们建立的一次函数方程为TURNANGLEPWMMIDDLEDEPARTREPWMHARF/10公式4其中TURNANGLE为舵机应转的角度10864202468101086420246810PWMMIDDLE为车轮摆正是舵机PWM脉宽应赋的PWMDTYX的值DEPARTURE为由传感器状态求得的偏离程度PWMHALF为舵机由中心摆到车轮允许的最大值PWMDTYX的变化值由此,我们求出了在不同的传感器状态下舵机应转的角度。45程序调试与车况参数检测方法(使用EEPROM)1为了准确的得到小车在行驶中的最大值,我们使用EEPROM来记录小车在行驶过程中的最大值和当时的传感器状态。2在进行A/D转换的调试时,我们不但用到了键盘实时观察A/D转换的结果,还使用EEPROM来记录A/D转换的结果值。3在小车冲出赛道的实验中,我们使用EEPROM来记录冲出赛道时的速度和当时的传感器状态。第五章、开发工具、制作、安装、调试过程说明51开发工具程序的开发是在组委会提供的CODEWARRIORIDE下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。CODEWARRIORFORS12是面向以HC1和S12为CPU的单片机嵌入式应用开发软件包。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。52调试过程我们使用的单片机的FLASH中预先下载了监控程序,由CODEWARRIOR生成的可执行文件就是在这个监控程序的引导下,由计算机的串口下载到单片机的FLASH中的。因为这种方法既方便快捷又安全可靠,所以我们选用了这种方法而放弃了用S12特有的BDM方法进行程序的调试。具体的操作方法如下从MC9SDG128开发板开始,将RS232232串口线接到PC的串口COM1上。使用WINDOWS下的超级终端通信软件执行“开始”|“程序”|“附件”|“通信”|“超级终端”命令。将COM1设置成9600波特率,8位、无效验位,1个停止位,不使用硬件流量控制。插上5V电源,按开发板上的复位按钮,在PC的超级终端上就会显示提示信息。在超级终端内键入E擦除单片机的FLASH,然后键入F将S19文件下载到单片机的FLASH内。这样,我们编写的程序就能在单片机中运行了。需要说明的是,开机后4秒钟后才会自动运行用户程序。第六章、模型车的主要技术参数说明61智能车外形参数车长39CM车宽20CM车高98CM车重1456KG62电路部分参数我们小组所改造的智能车采用一块比赛标准72V电池供电,电路中共有17个电容,容量总计95366法。当模型车全功率开动时,功耗约为50W。63传感器的种类和个数本车的传感器部分由两种传感器构成带有选频能力的传感器可以在一定程度上抗干扰(共3个),没有选频能力,使用的AD转换方式的传感器共8个。64除了车模原有的驱动电机、舵机之外伺服电机数量除了车模原有的驱动电机、舵机之外使用了2个伺服电机。结论自我们组队以来,每个成员都在课余时间尽自己最大的力量来解决问题优化方案开拓创新,我们不仅把在课堂上所学的理论知识化为实际,还在需要的方面大量的学习了新的理论知识,开拓了视野的同时提高了综合能力。这部小小的车子,从速度到转角,从参数设置到程序编排,从每一个细小的齿轮螺丝到总体的车身设计,无处不闪烁着队员们智慧的光彩我们在技术报告中详细的介绍了这部车子从概念的诞生到成长为一部成熟稳定的作品的全过程,主要包括我们的设计思路和制作过程,还有在修改方案时对各种方法优劣的对比取舍。经过几个月不懈的努力与反复计算试验,我们确定下了现在使用的传感器的排布方案,电路方案以及机械方面的细节工作。这是从许多套方案中精心比较后选取组合的,具有稳定高速准确等优点。对于二十号的比赛,我们有信心也有勇气拿出我们的实力与各高校的选手们一决高下。取得好的成绩固然是每个人最大的梦想,可是更为宝贵的是我们在这个过程中学到的知识,还有合理分工,团结合作,激流勇进的精神。这是我们大家共同努力的成果,成功将属于我们每个人参考文献1邵贝贝嵌入式实时操作系统LCOS第2版M北京清华大学出版社20042臧杰,阎岩汽车构造M北京机械工业出版社M20053安鹏,马伟S12单片机模块应用及程序调试J电子产品世界2006第211期1621634童诗白,华成英模拟电子技术基础M北京高等教育出版社20005沈长生常用电子元器件使用一读通M北京人民邮电出版社20046王厚枢传感器原理M北京航空工业出版社19877刘光斌等单片机系统实用抗干扰技术M北京人民邮电出版社20038宗光华机器人的创意设计与实践M北京北京航空航天大学出版社20049殷召生AVR单片机在直流伺服控制系统中的应用M北京工业设计计算机200210张伟等PROTELDXP高级应用M北京人民邮电出版社200211司利增汽车防滑控制研究ABS与ASRM北京人民交通出版社2003附录源程序MAINC/SMARTCARLABOFUSTBFILENAMEMAINCDESCRIPTIONTHEMAINFUNCTIONOFTHISPROJECTAUTHORCHENXIDATE20060729MODIFYDATEREMARKVERSION10/INCLUDE/COMMONDEFINESANDMACROS/INCLUDE/DERIVATIVEINFORMATION/INCLUDEINCLUDE“7279H“PRAGMALINK_INFODERIVATIVE“MC9S12DJ128B“/程序中使用到的宏定义/DEFINEDIR_GOPTM_PTM31/电机正转DEFINEDIR_BACKPTM_PTM30/电机反转DEFINELEFTBRAKEPWMDTY23130DEFINERIGHTBRAKEPWMDTY23175DEFINESTARTPWMDTY23154DEFINEMIDDLE300/AD二值化处理的门限值DEFINEPWM_TOTAL26/正中时的PWM与最偏是的PWM值的差DEFINEPWM_MIDDLE147/车正中时的PWMDTY67的植/传感器位置定义/B口3个传感器DEFINEMIDDLESTATEPORTB/B口最低3位输入STATICUCHARUCSENSORSTATE/AD采集的传感器状态STATICUINTUIAD_RESULT8/AD转换结果保存数组STATICUINTUIPULSESTATICUCHARUCDEPARTUREDEGREESTATICUCHARUCAD_PORT/AD口返回值STATICUINTUITURNANGLE/转向舵机转角STATICSIGNEDCHARSCDEPARTURE/有可能是小数,包括正负STATICSIGNEDCHARSCLASTDEPARTURE/纪录上一次偏离程度,有可能是小数,包括正负STATICUCHARSUM/传感器在黑线上的总个数STATICSIGNEDCHARTEMP/传感器的总权重STATICUINTUIMAXSPEED/速度最大值STATICUINTUIMINSPEED/速度最小值STATICUCHARBRAKEFLAGSTATICUCHAROUTFLAG/传感器在黑线上的标志,最后三位XXXXXLEFTFLAGMIDDLEFLAGRIGHTFLAGSTATICUCHARLASTOUTFLAG/记录上一个变量STATICUCHARTEMPPWMDTY67STATICUCHARABC/子函数定义/PID部分/定义PID参数DEFINEVV_KPVALUE3/比例DEFINEVV_KIVALUE40/积分DEFINEVV_KDVALUE3/微分DEFINEVV_MAX10000/返回的最大值,是PWM的周期值DEFINEVV_MIN0DEFINEVV_DEADLINE0X08/速度PID,设置死区范围TYPEDEFSTRUCTPID/定义数法核心数据SIGNEDINTVI_REF/速度PID,速度设定值SIGNEDINTVI_FEEDBACK/速度PID,速度反馈值SIGNEDLONGVI_PREERROR/速度PID,前一次,速度误差,VI_REFVI_FEEDBACKSIGNEDLONGVI_PREDERROR/速度PID,前一次,速度误差之差,D_ERRORPREDERRORUNSIGNEDINTV_KP/速度PID,KAKPUNSIGNEDINTV_KI/速度PID,KBKPT/TIUNSIGNEDINTV_KD/速度PID,SIGNEDLONGVL_PREU/电机控制输出值PIDPIDSPID/PIDCONTROLSTRUCTUREVOIDPIDINITVOIDSPIDVI_REF0/速度设定值SPIDVI_FEEDBACK0/速度反馈值SPIDVI_PREERROR0/前一次,速度误差,VI_REFVI_FEEDBACKSPIDVI_PREDERROR0/前一次,速度误差之差,D_ERRORPREDERRORSPIDV_KPVV_KPVALUESPIDV_KIVV_KIVALUESPIDV_KDVV_KDVALUESPIDVL_PREU0/电机控制输出值UNSIGNEDINTV_PIDCALCPIDPPSIGNEDLONGERROR,D_ERROR,DD_ERRORERRORSIGNEDLONGPPVI_REFPPVI_FEEDBACK/偏差计算D_ERRORERRORPPVI_PREERRORDD_ERRORD_ERRORPPVI_PREDERRORPPVI_PREERRORERROR/存储当前偏差PPVI_PREDERRORD_ERRORIFERRORVV_DEADLINE/设置调节死区ELSE/速度PID计算PPVL_PREUSIGNEDLONGPPV_KPD_ERRORPPV_KIERRORPPV_KDDD_ERRORIFPPVL_PREUVV_MAX/速度PID,防止调节最高溢出PPVL_PREUVV_MAXELSEIFPPVL_PREUVL_PREUVV_MINRETURNPPVL_PREU/返回预调节占空比/AD初始化函数/VOIDAD_INITVOID/AD初始化/AD结果数组初始化UIAD_RESULT00UIAD_RESULT10UIAD_RESULT20UIAD_RESULT30UIAD_RESULT40UIAD_RESULT50UIAD_RESULT60UIAD_RESULT70/控制寄存器2上电,标志位快速清零,查询方式不使用中断ATD0CTL2ATD0CTL2_ADPU_MASK|ATD0CTL2_AFFC_MASK/控制寄存器3转换序列长度为3,FIFO模式ATD0CTL3ATD0CTL3_S8C_MASK/ATD0CTL3_S2C_MASK|ATD0CTL3_S1C_MASK|ATD0CTL3_FIFO_MASK/控制寄存器410位AD,PRS0B001106,ADCLOCKFREQUENCY24/6/22MHZATD0CTL4/ATD0CTL4_SRES8_MASK|/ATD0CTL4_PRS2_MASK|ATD0CTL4_PRS1_MASK/控制寄存器5右对齐方式,连续转换模式,多通道采样模式ATD0CTL5ATD0CTL5_DJM_MASK|ATD0CTL5_SCAN_MASK|ATD0CTL5_MULT_MASKATD0DIEN0X00/禁止数字输入缓冲/AD转换函数,查询方式/VOIDAD_CONVERTVOIDIFATD0CTL2_ASCIE0/采用查询方式WHILEATD0STAT0_SCF/等待各通道转换结束UIAD_RESULT0ATD0DR0/读通道0的转换结果UIAD_RESULT1ATD0DR1/读通道1的转换结果UIAD_RESULT2ATD0DR2/读通道2的转换结果UIAD_RESULT3ATD0DR3/读通道3的转换结果UIAD_RESULT4ATD0DR4/读通道4的转换结果UIAD_RESULT5ATD0DR5/读通道5的转换结果UIAD_RESULT6ATD0DR6/读通道6的转换结果UIAD_RESULT7ATD0DR7/读通道7的转换结果UCHARSENSOR_STATEVOIDUCHARIAD_CONVERTFORI0IMIDDLEUCSENSORSTATE|10IIFSTATEBIIFUCAD_PORTIIFUCAD_PORTIFSCLASTDEPARTURE2/中间OUTFLAG0X02IFSCLASTDEPARTURE2/左边OUTFLAG0X01IFSCLASTDEPARTUREUIMAXSPEED100DIR_BACK/继电器反向刹车IFUIPULSE170IFUIPULSE500PWME_PWME50PTP_PTP51LEFTBRAKEELSEPWME_PWME51START/2ELSEIFPWMDTY67165PWME_PWME51LEFTBRAKE/3ELSEIFPWMDTY67129PWME_PWME51START/4ELSEIFPWMDTY67124PWME_PWME51RIGHTBRAKE/5ELSEIFPWMDTY67550PWME_PWME50PTP_PTP51RIGHTBRAKEELSEPWME_PWME51START/VOIDCAR_MACHINE_BRAKE/PWMDTY67173170165147130124121中间147/1/IFSCLASTDEPARTURE9IFUIPULSEUIMAXSPEED100PWME_PWME50PTP_PTP51LEFTBRAKEDELAY

温馨提示

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

评论

0/150

提交评论