[信息与通信]连大天驭队技术报告.doc

上传人:音乐台 文档编号:1967743 上传时间:2019-01-27 格式:DOC 页数:50 大小:791.10KB
返回 下载 相关 举报
[信息与通信]连大天驭队技术报告.doc_第1页
第1页 / 共50页
[信息与通信]连大天驭队技术报告.doc_第2页
第2页 / 共50页
[信息与通信]连大天驭队技术报告.doc_第3页
第3页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[信息与通信]连大天驭队技术报告.doc》由会员分享,可在线阅读,更多相关《[信息与通信]连大天驭队技术报告.doc(50页珍藏版)》请在三一文库上搜索。

1、第四届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告 学 校: 大连大学 队伍名称: 连大天驭 参赛队员: 唐飞云 王才华 杨峰 带队教师: 陈波 汪祖民关于技术报告和研究论文使用授权的说明本人完全了解第四届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。 参赛队员签名: 带队教师签名: 日 期: 目录第一章 引言11.1 智能车制作情况概述11.2内容安排1第二章 总体设计

2、思路3第三章 智能车机械安装及调整53.1 传感器的选择与布局53.2 舵机的安装63.3 测速传感器的安装。63.4 机械调整及其重心调整83.5 模型车主要技术参数9第四章 智能车硬件电路设计114.1电源模块:124.2 路径识别单元124.3 车速检测模块134.4电机系统驱动模块14第五章 软件设计175.1 路径的检测195.2 转角的控制195.3 车速的控制20第六章 总结23参考文献25附录A 程序代码27III第一章 引言1.1 智能车制作情况概述全国大学生智能汽车竞赛是一个涉及控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创意性比赛。该比赛让各参赛队伍

3、在同一平台公平竞技,体现了学校及学生的各方面综合能力,培养了在校大学生的动手能力及团队协作精神。经过几个月的努力,我们不断学习、总结前几届的比赛经验,同时参考各个学校优秀队伍的技术报告及各类专业书籍,在以前的基础上不断改进车模的硬件结构及不断创新和完善软件控制方案,最后,我们使用竞赛秘书处统一指定的竞赛车模套件,采用飞思卡尔半导体公司的16位微控制器MC9S12DG128B单片机作为核心控制单元,自主构思控制方案进行系统设计,完成了智能车的制作和调试。1.2内容安排本报告共分为五个部分:第一部分为总体设计思路(第二章);第二部分主要介绍了智能车机械设计与安装(第三章);第三部分主要介绍了智能车

4、硬件电路设计(第四章);第四部分为智能车软件设计部分(第五章);第五部分总结车模存在的问题和进一步解决的方向(第六章)。第二章 总体设计思路智能小车系统由HCS12微控制器、电源管理单元、路径识别电路、车速检测模块、舵机控制单元和直流驱动电机控制单元组成。本系统以飞思卡尔公司的16位微处理器MC9S12DG128B为控制核心,并采用CodeWarrior软件、超级串口调试软件及BDM作为调试工具。车模、电池部分由大赛组委会统一提供。小车主要包括硬件电路和软件控制两大部分,硬件电路我们力求在稳定检测的基础上提高前瞻距离,同时提高舵机响应速度,而软件控制我们主要研究信号采集,舵机算法,路径识别和电

5、机系统控制。路径检测模块:这个模块相当于“车的眼睛”,可以说路径检测的好坏直接影响你的控制策略和小车是否能稳定快速的按照规定完成赛道。现在常用的方案有CCD摄像头寻迹和光电传感器寻迹两种方案。我们采用红外检测方式,这种检测方式更容易处理检测数据,而且处理速度也快。测速模块:测速方法主要有霍尔集成传感器、断续式光电开关和编码器三种方法,考虑到测速精度及车模成本,我们主要采用断续式光电开关来采集速度信息。电机系统控制:电机是模型车的核心部件,分为舵机和驱动电机,可想而知对电机的控制非常重要,要做到足够精确。在舵机控制策略上我们采用模糊查表法来对舵机进行控制;而速度我们采用PID算法来控制,它能让模

6、型车在行驶过程中更稳和更快。 模型车的整个制作和安装过程遵循尽可能地减轻车子重量和合理安装各个模块这两个宗旨。我们小车系统主要由路径识别模块、MCU模块、直流伺服电机驱动模块和车速检测模块、电源模块这五部分组成,在电路板的设计上,我们利用Protel DXP进行PCB设计,在确定方案绝对可行的情况后去电路板制作工厂制作了电路板,大大减少了模型车的制作和调试周期,而且,电路板的稳定性也有了大大的提高,并且使使车体结构紧凑又牢固而且外形美观。第三章 智能车机械安装及调整第三章 智能车机械安装及调整3.1 传感器的选择与布局寻迹传感器用来检测道路的信息,相当于人的眼睛,其前瞻和检测精度决定了小车的过

7、弯性能和速度。在前期,我们开始试验用激光管来代替传统的光电管,由于激光管对其驱动电路要求比较精确,且管的排布、高度和角度的确定都比较麻烦,加上时间比较紧迫,所以我们最后就采用红外光电传感器寻迹方案,即路径识别电路由一系列发光二极管、接收三极管组成,由于赛道中存在轨迹指示黑线,落在黑线区域内的光电二极管接收到的反射光线强度与白色的赛道不同,由此判断行车的方向。该方案中,要考虑到光电传感器的排列方法、个数、彼此之间的间隔和控制算法。在排布方式上我们选择了一字形排布方式。本系统单排非均匀分布,中间密两边疏,提高检测的连续性,利于算法控制,其位置如图3.1所示。图3.1 传感器位置分布这种排布方式可以

8、比较准确的确定黑线的位置,并有效的解决了相邻管的干扰问题,可以提高其支架的高度,进而提高其前瞻。由于对车身长度的限制及发射接收管的限制,我们光电架高度14.5cm,前瞻能达到21cm左右,这样可以让系统对赛道信息提前获取并较快较好地做出决策,从而使舵机能提前响应,更容易弯道提前转弯,走出最优的路径。3.2 舵机的安装组委会规定采用的舵机的工作速度为0.16s/60度,对于对快速性要求极高的智能小车来说,是影响其速度的一个重要因素,舵机采用的是PWM脉冲控制,它的固定、转角范围的大小和控制策略使我们研究的重点。在其位置的固定方面:我们充分考虑到了小车整体的排布,采取内置的方式,这样可以有利于我们

9、调节小车的重心,通过其高度和力臂的长度的确定,我们可以弥补前瞻不足这一缺陷。但加大力臂后减小了舵机的转向范围,所以要使前轮转动相同的角度,舵机力臂加长后所需时间更短,响应更快。但如果舵机的力臂太长又会造成舵机的转向力矩太小,PWM信号与角度不能很好的一一对应,对于舵机的开环控制会带来很大的稳态误差。综合以上考虑,我们将转臂加长至3.0cm ,在力臂的材料选择上本着刚度较大的原则,这样避免转向时发生形变,其位置安装图片如图3.2。图3.2 舵机安装位置 在高度方面,我们将其架高了大约4cm,经试验证明,这样舵机高度和力臂长度的组合效果较好,可以使使舵机工作速度提高到0.04s/60度。在摆角范围

10、方面:经其位置、高度等参数确定,我们小车的舵机的摆角左极限-45度,右极限45度,可使小车最小能转出曲率半径为35cm的圆,而赛道最小曲率半径为50cm,这样足够可以使小车顺利过弯。3.3 测速传感器的安装。测速模块比较重要,特别对于采用PID控制电机转速方式的车。测速准确就有利于PID参数的确定。我们前一届的车模采用的是霍尔元件作为测速传感器,但这种方法的缺点很明显:由于磁场强度的不均匀,霍尔器件产生的电脉冲的形状也不规则,想对这些脉冲准确计数具有一定难度,而测速电机成本较高,考虑到这两个因素,我们采用了码盘测速。其原理为:光电反射式光电管利用红外线遇到障碍物放射的原理来测速,当红外光遇到障

11、碍物,例如齿轮的边沿,或者是有空的转盘的非孔部分时,红外光线放射回来,当遇到齿轮边沿间的空隙或转盘的空洞部分时,红外光没有反射光,利用红外光的间歇式反射,就可以得到一系列的方波信号,然后再对方波信号进行计数即可求的齿轮转过的齿数或转盘上转过的空数,进而求出车速。具体公式为: (公式1)为实际测得的脉冲数为大齿轮齿数 为小齿轮齿数(码盘齿数为24,采样周期为40ms,车轮周长为16.7cm)这种方式比较准确,其驱动电路也比较简单,价格也比较便宜。其安装如图3.3所示 图3.3 测速模块安装位置3.4 机械调整及其重心调整比赛组委会提供的车模,后轮采用滚珠式差速器,它在实现差速的过程中会影响后轮的

12、动力传递,因此应适当的调整两片轴承的压力以满足后轮驱动和差速的要求。我们在调车的过程,小车在其跑的过程中发出吱吱的响声且其实际的转速与给的值不同,经过反复的实验,调整两片轴承的压力和在滚珠上擦拭机油,最终使我们小车的后轮调整到满意的状态。按照常规,车辆底盘高度越低,车辆重心越低,后轮抓地力越好,前轮转向越敏感。当然在放低底盘的同时,我们也尽量降低小车的重心并使其尽量接近小车的中心,这样使小车更稳定。车的近照如图2.4所示图3.4模型车整体形貌3.5 模型车主要技术参数表3.1模型车主要技术参数项目参数路径检测方法(赛题组)光电组车模几何尺寸(长、宽、高)(毫米)390 mm,230 mm,18

13、0mm车模轴距/轮距(毫米)198mm,137mm车模平均电流(匀速行驶)(毫安)1200mA电路电容总量(微法)800uF传感器种类及个数红外传感器15对新增加伺服电机个数1个赛道信息检测空间精度(毫米)2.5mm赛道信息检测频率(次/秒)2kHz主要集成电路种类/数量MC33886/2个,IRF9530/1个,LM2940/2个车模重量(带有电池)(千克)115kg9 第四章 智能车硬件电路设计第四章 智能车硬件电路设计我们智能车的硬件设计采用模块化的设计方法,分为控制芯片MC9S12DG128B,电源模块、路径识别模块、车速检测模块、舵机和直流驱动电机驱动模块,其中除车速检测模块外,其他

14、模块放在一个主电路板上。由于时间关系我们直接采用的别的学校做的开发板,所以在这里我们就不做叙述了。系统框架图如图所示图4.1 系统框架图4.1电源模块:小车需要7.2v供电电源 ,5v电源,6.2v电源,其中5v为路径检测模块和单片机供电,6.2v为舵机供电。由于比赛组委会规定我们采用7.2v分压的方式来得到5v、6.2v。在稳压电路的选择上我们本着稳定和准确的原则。经过查阅资料和实际试验比较,5v电路我们选择lm2940芯片,其稳压效果好,但容易发热,考虑到实际供电的需要,我们在主电路中设计了两个5v电路分别对检测和单片机供电,这样一方面缓解了芯片发热,另一方面也解决了电流不足的现象。其电路

15、如图4.2所示图4.2 5v稳压电路6.2v电路我们采用lm9530芯片,实验证明其输出电压准确,稳定。其电路图如图4.3所示图4.3 6.2v稳压电路4.2 路径识别单元这一部分我们采用红外检测方式,探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,当接收管接收到的反射光弱,那么其导通程度就小,压降就大;反之其压降就小。其单对管驱动电路图如图4.4所示。图4.4 路面信息检测原理图 此电路质量轻、灵敏度高,外围电路简单,但干扰较大,不能满足对前瞻的提高。我们采用14对光电管,将检测到的数据传到单片机的A/D口进行处理,以便确定黑线的位置,发出控制指令对速度和转角

16、进行控制。4.3 车速检测模块我们采用码盘测速,其外围的电路如图4.5所示图4.5 测速模块局部照片经我们试验比较,采用这种方式,测速较准确基本能够满足我们对PID调速的要求,只是对于码盘的固定比较麻烦,抗震性不好容易脱落。4.4电机系统驱动模块电机是模型车的核心部件,分为舵机和驱动电机。系统直流驱动电机:我们采用MC33886芯片作为电机的驱动元件。通过MC9S12DG128输出的PWM信号来控制直流驱动电机。而舵机我们采用6.2v电源为其提供供电,提供单片机出的PWM信号来控制舵机。由于舵机外围电路简单我们这里就详细介绍一下电机的外围电路。首先我们采用的MC33886芯片接口简单易用,内部

17、具有过流保护电路,能够提供比较大的驱动电流,在实际应用时芯片在工作一段时间后就会出现发热现象,所以我们就采用两片MC33886同时为电机提供驱动电流,这样不仅缓解芯片发热的情况,而且增强了电机驱动能力,同时由于实际中会出现非均流问题使驱动电路不稳定而且也增加了主电路的功耗,这是我们以后要解决的问题其外围电路图如4.6图4.6 电机外围电路车的硬件板包括两个部分,主板和测速板,考虑到减轻车子的重量和重心的调整,主板我们采用pcb制板,首先按照我们主电路画出电路图,其如图所示图4.7 主电路的电路图再根据我们对车的布局的规划,最终确定板的尺寸和各个模块在板的位置。完成PCB板制作,将其发到制板厂,

18、完成主板的制作。15第五章 软件设计本系统控制软件采用大赛提供的CodeWarrior软件及BDM作为调试工具,程序代码使用C语言编写。本程序设计由以下几个模块组成:单片机初始化模块,实时路径检测模块,舵机模糊控制模块,驱动电机控制模块,中断速度采集模块。(1)单片机的初始化模块包括:I/O模块、PWM模块、AD模块、计时器模块、定时中断模块初始化、超频模块。(2)实时路径检测模块:前排光电传感器检测黑线,将返回信号输入单片机的输入端口,程序不间断地读入输入端口的信号,通过判断语句,得出合适的PWM信号控制舵机转向。(3)舵机控制模块,驱动电机控制模块:通过直接输出PWM信号控制。舵机的控制采

19、用模糊算法控制,驱动电机采用PID闭环控制。系统软件流程图如图5.1所示:YN定时结束定时器中断使能单片机初始化 开始开始启动定时器扫描并初始化跑道参数路面信息采集和分析速度和方向控制N 图5.1 系统软件流程图控制系统中,对被控对象的检测是一个非常重要的关键环节。在反馈控制系统中,控制器总是通过比较检测量和给定量来计算控制量,因此,检测环节对整个控制系统的质量起到至关重要的作用。为保证小车一直沿着黑色引导线快速行驶,系统主要的控制对象是小车的转向和车速。即应使小车在直道上以最快的速度行驶。在进入弯道的时刻尽快减速,且角度的转向要适合弯道的曲率,确保小车平滑地转弯。从弯道进入直道时,小车的舵机

20、要转向至中间,速度应该立即得到提升。为实现上述控制思想,我们要尽可能的提高路径检测的精度,并采用不同的控制方法来控制小车的转角和速度。5.1 路径的检测我们采用模拟量对黑线的位置定位。由于各环境下光电管的值不一样,即使在同一条件下不同光电管的值也不一样,为了解决这个问题,我们在比赛前先对光电管进行标定,找到它们各自对黑线的敏感程度,将这个过程的每个光电管的最大最小值存下来,用最大值减去最小值得到每个传感器在赛道上的输出范围,小车行使过程中,将每个传感器输出的信号减去最小值,再除以该传感器的输出范围即可得到其相对输出值, 然后找到其中最大的那个值,就说明该光电管下面的黑线比例最大。我们给这个比例

21、一个设定值,当任一光电管所得的比例大于该值时表示该管检测到的是黑线,通过计算查模糊表就确定了黑线的位置,具体公式如下式所示: ( 公式2)为所占黑线的百分比。5.2 转角的控制对于舵机的控制,我们采用的是模糊算法控制,与舵机PD算法相类似,因为这样可以让舵机根据偏差变化率的变化提前做出反映,在偏差大时加快响应,偏差小时防止超调。为此,我们抓住他的最终核心思想,省略繁杂的模糊化,推理及反模糊,直接根据人的开车经验对其值进行设定调试,让舵机在控制周期内转到理想最大值。这样最大的优势在于它便于调试,执行速度快。为获取较大的变化率,我们每隔10次控制对舵机值进行一次修正,使舵机值更加准确快速。智能车模

22、糊控制器的输入量是黑线的实际位置与小车中心点的偏差以及偏差的变化量,当偏差为负大而偏差变化为正时,说明系统偏差已有减小的趋势,所以为了尽快消除偏差并且不产生超调,应取正中或正小的控制量。从表5.1中可以看出,当偏差为负大而偏差变化为正小时,控制量的变化为正中;若偏差变化量为正大时,控制量不宜增加太多,否则会产生超调,因此这时控制量变化取正小。当偏差为负中时,控制量的变化应尽快消除偏差,并且不至于引起超调,基于这种原则,当偏差变化为正大时,控制量的增量可以取为零。 当偏差为负小时,系统接近稳态,若偏差变化为负时,选取控制量变化为正中,以抑制偏差往负方向变化;若偏差变化为正时,系统本身有趋势消除偏

23、差,所以控制量变化可以选为零。上述选取控制量变化的原则是:当偏差很大或大时,选择控制量以尽快消除偏差为主;而当偏差较小时,选择控制量要注意超调,以系统稳定性为主要出发点。偏差为正时与偏差为负时向类同,相应符号都要变化,不在赘述。表5.1 模糊规则表U ECNBNMNSZOPSPMPBESNBPBPBPBPBPMZOZONMPBPBPBPMPMZOZONSPBPMPMPSZONSNMZOPMPMPSZONSNMNMPSPSPSZONMNMNMNBPMZOZOZONMNBNBNBPBZONSNBNBNBNBNB5.3 车速的控制对于车速的控制,我们采用的是PID闭环控制。PID 控制是工程实际中应

24、用最为广泛的调节器控制规律,因其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。PID的控制结构图如图5.2所示。 图5.2 PID的控制结构图 代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器计算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量。 (公式3)其中,其中,分别称为比例系数、积分系数、微分系数。接着被送到了执行机构,这样就获得了新的输出信号。这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。运用PID 控制的关键是调整三个比例系数,即参数整定。PID 控制器参数整定的方法很多,概括起来有两大

25、类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。 一般来说,增大比例系数能够减小上升时间,并减小稳态误差,但不能消除。增大积分系数能够消除稳态误差,但会使瞬时响应变差。增大微分系数能够增强系统的稳定特性,减小超调,并且改善瞬时响应。PID算法有两种基本类型,即增量型PID算法与位置型PID算法。在本系统中,我们采用的是增量型PID,其与位置型PID算法相比,具有以下优点:增量型算法不需要做累加,增量的确定仅与最近几次偏差采样值有关,计算精度对控制量的计

26、算影响较小,而位置型算法要用到过去偏差的累加值,容易产生大的累加误差;增量型算法得出的是控制量的增量,而位置型算法的输出是控制量的全量输出,误动作影响大;采用增量型算法,易于实现手动到自动的无冲击切换。增量型PID算法的具体公式如下: (公式4)在实际应用中,采样的反馈值,即为脉冲累加器中的PACN32中的脉冲数,预设门限值在参数整定时根据实际情况调节,输出值并不能直接用来控制电机,需要将其转换为控制PWM占空比,然后用增大或减小PWM占空比的方法来实现对电机的加减速的控制。换句话说,在求偏差量时,实际上用的是每40ms电机转过的齿轮数和实际期望电机转过的齿轮数,通过二者的差值,再乘以相应的系

27、数,即KP、KI、KD的协调控制,计算出相应的PWM占空比,实际上用的是PWMDTY的值。PID的三个参数尤为重要,一组好的参数值对速度的控制是非常关键的。通过串口发送接收数据,再用MATLAB进行仿真,经过大量的实验后,我们得到了适合本系统的较为合适的一组参数。XIX第六章 总结在这次飞思卡尔智能车的制作过程中遇到了很多问题,这些问题是我们在平时的学习中学习不到的。我们都在遇到问题再到自己解决问题这个过程中,学到了很多东西,最重要的学习到了许多的学习方法。经过几个月的不懈努力,我们完成了小汽车的设计和制作,在这个过程中,每个人都品尝到了奋斗的艰辛、失败的痛苦,同时又收获了外人无法拥有和品尝的

28、那份欣喜和愉悦。这次比赛带给自己的不仅仅只是机遇,更有一种多学科、多方面能力的锤炼。由此,参赛组全体成员衷心感谢竞赛组委会老师和参赛组指导老师所做的不懈努力与无私奉献。但是,在品尝这次竞赛取得某种成功的喜悦时,也看到了自身存在的很多不足:(1)前瞻不足,由于舵机响应较慢,制约速度的最大因素就是前瞻性,由于采用的是普通的发射接收管,很难满足准确定位的要求导从而致舵机控制会出现不连续。对与路径检测,可以考虑采用前瞻远,抗干扰强的激光管或采用更好的信号处理方法。(2)测速精度不高,当速度达到一定值后,测速将有脉冲丢失的现象造成错误控制。测速应采用编码器,从而加快采样时间,提高对速度的控制精度。(3)

29、机械结构改进不足,当小车提高到一定速度时,车的机械结构的影响就渐渐凸显,可以多花些时间在机械结构的改进上。(4)软件中还存在许多问题,可以进一步优化。参考文献1 卓晴,黄开胜,邵贝贝.学做智能车-挑战“飞思卡尔”杯M.北京:北京航空航天大学出版社,2007.3:1105.2 王威.HCS12微控制器原理及应用(第一版)M. 北京:北京航空航天大学出版社,2007.3 张乃尧,阎平凡.神经网络与模糊控制(第一版)M. 北京:清华大学出版社,1998.4 张伟Protel DXP高级应用M北京:人民邮电出版社,2002.5 胡寿松,自动控制原理M,北京:科学出版社,2001.6 谭浩强.C程序设计

30、(第三版)M.北京:清华大学出版,2007.附录A 程序代码int programone=0,programtwo=0,programthree=0,programfour=0,programfive=0;uint ad_atemp14;uint ad_dtemp15;uint pre_ad_temp14=0,0,0,0,0,0,0,0,0,0,0,0,0,0;uint ad_aaverage14=0,0,0,0,0,0,0,0,0,0,0,0,0,0;uint ad_ddtemp28;uint BL_num,pre_BL_num;int distance27=-13,-12,-11,-10,

31、-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13;#define gatewayhight 150#define gatewaylow 100int changetimes=0;int pre_pwm=4525;uint bl=0,blt=0,blf=0,ft=0,fk=0,oneplace=0,twoplace=0;int startoff=0;int ad_times=0;int outtimes=0;int timer_pid=0,timer_es=0,timer_spwm=0,timer_ad=0,timerk=0,t

32、imeri=0,timerj=0,getspwm100;int pre_cur_es=0,cur_es=0,next_es=0,pre_cur_ec=0,cur_ec=0,cur_ui=6,cur_uj=6;int nobl=0;int pre_straight_flag=0,straight_flag=0,sumstraight=0,straight_time=0,straight=0,pre_sflag=0,sflag=0;/*fuzzy*/int si,sj;int es=0,pre_es=0,pre_pre_es=0,ec=0,pre_ec=0,pre_pre_ec=0;int et1

33、11=0,0,0,0,0,0,0,0,0,0,0,et211=0,0,0,0,0,0,0,0,0,0,0,et311=0,0,0,0,0,0,0,0,0,0,0;int et411=0,0,0,0,0,0,0,0,0,0,0,et511=0,0,0,0,0,0,0,0,0,0,0;int x=0,y=0,z=0,q=0,p=0;int ui=6,uj=6;int spwm=4525;int l;int curspwm=4525;const int U1313= / int set=0;/*-feedback- */ uint feedbackspeed; uint curspeed; /*-P

34、ID- */ int kp,kd,ki; int SetPoint=0; int error=0; int l_error=0; int ll_error=0; /*=SCI=*/#define BUS_FREQUENCY 8000000#define BAUDRATE 115200#define SetSCIbaud4800 SCI0BDL = (unsigned char)(24000000UL)/4800 /16);#define SetSCIbaud9600 SCI0BDL = (unsigned char)(24000000UL)/9600 /16);#define SetSCIba

35、ud14400 SCI0BDL = (unsigned char)(24000000UL)/14400 /16);#define SetSCIbaud19200 SCI0BDL = (unsigned char)(24000000UL)/19200 /16);#define SetSCIbaud38400 SCI0BDL = (unsigned char)(24000000UL)/38400 /16);#define SetSCIbaud115200 SCI0BDL = (unsigned char)(48000000UL)/115200 /16);char tring=rn; /*=*/*=

36、stop judge=*/int r=0;int keep,flag=0;int crose_flag=0,crose_count=0,sumcrose=0,startflag=0,croseflag=0;int judge_one,judge_two,judge_three,judge_four,judge_five;int inflag=0,slowtimer=0,slowspeed=0;int angeltimes=0,angelflag=0;int five=0,four=0,eight=0,nine=0; /*pll_int*/void pll(void) SYNR=2; REFDV

37、=1; while(CRGFLG_LOCK = 0); CLKSEL=0x80; /*pwm_int*/void pwm_init(void) DDRP = 0xff; PWME = 0x00; PWMPRCLK = PWMPRCLK_PCKA1_MASK|PWMPRCLK_PCKA0_MASK|PWMPRCLK_PCKB1_MASK; PWMCLK=0x0; PWMPOL =PWMPOL_PPOL4_MASK|PWMPOL_PPOL5_MASK|PWMPOL_PPOL2_MASK|PWMPOL_PPOL3_MASK|PWMPOL_PPOL6_MASK|PWMPOL_PPOL7_MASK; PWMCAE=0x0; PWMCTL=PW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1