论文未排版格式示例_第1页
论文未排版格式示例_第2页
论文未排版格式示例_第3页
论文未排版格式示例_第4页
论文未排版格式示例_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、四驱智能模型车的速度控制系统摘要:随着汽车工业的加速发展,与汽车相关的研究也越来越受到人们的重视,而智能化汽车的发展也成为科研的新方向。目前国内外也组织举办了多届不同的智能小车竞赛,其中瑞萨智能车竞赛吸引了国内各高校的参加,本论文就是以瑞萨智能车(基于瑞萨MCU基板制作的循迹智能四驱车)竞赛参赛车为对象,运用红外传感器采集赛道信息,采用PWM技术实现电机的调速,并采取编码器进行速度采集反馈、PID控制算法对智能车的速度与角度进行闭环控制,使智能车能稳定、快速的在赛道上行驶且能应对不同的赛道(弯道、换道、直角弯道、上下坡道)。关键字:智能四驱车,瑞萨MCU板,红外传感器,PWM,编码器,闭环PI

2、D控制Four-wheel drive smart model car speed control system (with emphasis on programming)ABSTRACT:With the accelerated development of the automobile industry, car-related research more and more attention has been paid to the development of intelligent vehicles has also become the new direction of the

3、research. At home and abroad, organized a multi-session different smart car competition, which Renesas smart car contest attracted the participation of domestic universities, the paper is the Renesas smart car (based on the the Renesas MCU substrate made tracking intelligent four-wheel drive) contes

4、t competition car for the object, use infrared sensor acquisition track information, motor speed control using PWM technology, and take the encoder speed collecting feedback PID control algorithm for closed-loop control of the speed and angle of the smart car, the smart car stable, fast driving on t

5、he track and can respond to a different track (corners, change lanes, right-angle corners, up and down the ramp).Keywords: intelligent four-wheel, Renesas MCU plate, infrared sensors, PWM, encoder, closed-loop PID control目 录1 绪论1.1 智能小车的意义与现状 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不

6、断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。1机

7、器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVGauto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并做出判断和相应的执行动作。2该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,

8、只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库等基本功能,这几届的电子设计大赛智能小车又在向声控系统发展。比较出名的瑞萨智能小车更是走在前列。瑞萨智能车的竞速赛我校今年已经是第二次参加,本课题采用瑞萨公司的R8C-MCU芯片板,配合IDE软件编程实现智能车的自动化。1.2 本课题研究方向及主要内容智能车的制作分为三个部分,硬件机械部分、电路部分、软件程序部分,本课题在程序部分,研

9、究方向为智能车的速度的控制系统,具体分为智能车行驶时角度和速度的自动化控制,智能车循迹的传感器检测,基于编码器的速度反馈等,以应对不同赛道完成比赛。在程序的策略及具体编写过程中,始终以“竞速”这一准则为基本要求,再进一步优化,使得在速度最优时兼顾稳定及快速响应。在研究过程中,深刻体会自动控制的原理及具体实践,熟悉瑞萨R8C-MCU芯片板,了解嵌入式编程的基本方法。32 瑞萨智能车介绍2.1 瑞萨智能车的组成瑞萨智能车硬件部分,我们采用的是碳纤维板切割制作的车体,不锈钢制作的支架、轴承和车轮,在不影响功能的前提下尽量减轻各部分的重量。图2.1 智能车整体设计图2.2 支架零件及车轮结构电路部分为

10、电路小组同学自己绘制制作的四驱电路板,芯片板为R8C-MCU板。软件部分用IDE建立R8C工程进行编程并写入芯片板。图2.3 R8C IDE工程编程界面2.2 瑞萨智能车的赛道赛道由白、灰、黑三色组成,宽度为30CM图2.4 比赛赛道整体样式图2.5 赛道表面设计样式其中白色为反光材质,可发射传感器所发出的红外信号,从而使传感器能检测路面信息,即循线。黑色不反射信号,灰色为中间状态,可通过调节传感器灵敏度以检测或忽略灰色部分。赛道分为4类,分别为直道弯道、直角弯道、换道、上下坡道直道弯道:图2.6 直道弯道直角弯道:图2.7 直角弯道图2.8 直角弯道上下坡道图2.9 上下坡道图2.10 上下

11、坡道2.3 瑞萨智能车的行驶按照瑞萨智能车竞赛的规定,智能车的发车由一个挡板的关闭或开启来决定,当传感器检测到挡板时,智能车处于准备状态,一旦挡板弹开,车子马上开始行驶。智能车的行驶依赖于前瞻传感器的信号读取,根据读取的信号,通过程序来调整车子的速度与角度。在特殊赛道前,会有白色的小白线作为标志线,如直角弯道前图2.11 直角弯道标志线标志线为宽20mm间距30mm的两条白线组成,当传感器检测到标志线后,程序就进入直角弯模式,随后顺利行过弯道,换道标志线为左半或右半的双白线。3 智能车速度控制系统的实现3.1系统流程图系统的软件流程图如下所示:智能车上电后,首先对系统各部分的初始化,传感器、编

12、码器开始工作,系统定时器为1ms中断,编码器采样周期为10ms,初始化完毕后检测栅门是否开放,若开放则进入正常循线模式,根据传感器读取信号改变行驶状态。图3.1 系统流程图3.2 方案简介在组委会提供的二驱软件程序的基础上,我们对很多部分进行了修改,首先将初始化修改以适应四驱,对于传感器采集到得路面信息,我们采取设权值的方式来方便信号的分析,并且为了减少智能车可能误检信号的可能,用模糊控制配合PD控制相结合的方式来对舵机进行控制,使得智能车在调整角度时不会出现抖动,并且过弯姿态更加科学。基于“稳定”这一基本要求,换道与直角弯道采取检测到标志线就减速到预定过弯速度的方法,以达到最高的过弯成功率。

13、速度的控制根据速度反馈不同采取分段控制方式,在低速时以最快加速度行驶,在平稳速度时以PD控制行驶,在速度接近预定最大速度时进行适当减速以保持当前速度。所有的速度控制都会考虑当前舵机转角的角度进行设置,并且四个轮子的电机速度会根据计算得到的差速表来设置PWM值,以配合智能车整体转弯更流畅。43.3 电机的PWM控制PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。3.3.1 PWM原理在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。

14、冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形用傅立叶变换分析,则其低频段非常接近,仅在高频段略有差异。例如图3.2中a、b、c所示的三个窄脉冲形状不同,其中图3.2的a为矩形脉冲,图3.2的b为三角脉冲,图3.2的c为正弦半波脉冲,但它们的面积(即冲量)都等于1,那么,当它们分别加在具有惯性的同一环节上时,其输出响应基本相同。当窄脉冲变为如图3.2的d所示的单位脉冲函数时,环节的响应即为该环节的脉冲过渡函数。图3.2 形状不同而冲量相同的各种窄脉冲图3.3a的电路是一个具体的例子。图中为窄脉冲,其形状和面积分别如图3.2的a、b、c、d所示,为

15、电路的输入。该输入加在可以看成惯性环节的R-L电路上,设其电流为电路的输出。图3.3b给出了不同窄波时的响应波形。从波形可以看出,在的上升段,脉冲形状不同时的形状也略有不同,但其下降段几乎完全相同。脉冲越窄,各波形的差异也越小。如果周期性的施加上述脉冲,则响应也是周期性的。用傅立叶级数分解后将可看出,各在低频段的特性非常接近,仅在高频段有所不同2。5 图3.3 冲量相同的各种窄脉冲的响应波形3.3.2 电机PWM控制的实现根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为,幅值为U,由图3.4可求

16、得此时间内脉冲的等效直流电压为:图3.4 PWM脉冲,若令,即为占空比,则上式可化为: (U为脉冲幅值) 3-1若PWM脉冲为如图3.5所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即 (为矩形脉冲占空比) 3 - 2图3.5 周期性PWM矩形脉冲由式3 - 2可知,要改变等效直流电压的大小,可以通过改变脉冲幅值U和占空比来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比的大小实现等效直流电压在0U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。6 3.4 基于编码器的速度反馈3.4.1 编码器的原理编码器的工作原理及作用:

17、它是一种将旋转位移转换成一串数字脉冲信号的旋转式传感器,这些脉冲能用来控制角位移,如果编码器与齿轮条或螺旋丝杠结合在一起,也可用于测量直线位移。编码器是把角位移或直线位移转换成电信号的一种装置。前者成为码盘,后者称码尺。按照读出方式编码器可以分为接触式和非接触式两种。接触式采用电刷输出,电刷接触导电区或绝缘区来表示代码的状态是“”还是“”;非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是“”还是“”。按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式

18、编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。7旋转增量式编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当停电后,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,不然,计数设备记忆的零点就会偏移,而且这种偏移的量是无从知道的,只有错误的生产结果出现后才能知道。解决的方法是增加参考点,编码器每经过参考点,将参考位置修正进计数设备的记忆位置。在参考点以前,是不能保证位置的准确性的。为此,在工控中就有每次操作先找参考点、开机找零等方法。这样

19、的编码器是由码盘的机械位置决定的,它不受停电、干扰的影响。8绝对编码器由机械位置决定的每个位置的唯一性,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。因为需要通过编码器取得当前的速度及智能车两点间大致位移,本智能车采用的是远征YZ30D增量式旋转编码器,旋转盘的周长为12.5cm,采样周期为10ms。3.4.2 编码器速度反馈的实现编码器采用减脉冲计数,初始值为最大值65535,采样周期为10ms,旋转盘每转一圈,脉冲数减少200,因此可以根据单位时间内脉冲数的变化求得瞬间速度,或者单位时间智能车的位移,从而完成速度的反馈。具体程序如下:void

20、intTRB( void )unsigned int i=0; cnt0+; cnt1+;count+;cnt2+;if(countSPEED_SAMPLE_TIME)count=0;i=tra*256+trapre;gl_uEncoder=uEncoderBuff-i;gl_lEncoderTotal+=gl_uEncoder; uEncoderBuff = i;3.5 智能车速度与角度的PID闭环控制3.5.1 PID算法控制的原理控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的

21、控制,称为PID控制。910实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟PID、数字PID及其参数整定方法。(1)模拟PID在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图3.6所示,系统由模拟PID调节器、执行机构及控制对象组成。 图3.6 模拟PID控制系统原理框图PID调节器是一种线性调节器,它根据给定值与实际输出值构成的控制偏差: = 3 - 3将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器。在实际应用中,常根据对象的特征和控制要

22、求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P调节器,PI调节器,PID调节器等。模拟PID调节器的控制规律为 3 - 4式中,为比例系数,为积分时间常数,为微分时间常数。简单的说,PID调节器各校正环节的作用是:(1)比例环节:即时成比例地反应控制系统的偏差信号,偏差一旦产生,调节器立即产生控制作用以减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加

23、快系统的动作速度,减少调节时间。由式3 - 4可得,模拟PID调节器的传递函数为 3 - 5由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。数字PID在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。为将模拟PID控制规律按式3 - 4离散化,我们把图3.6中、在第n次采样的数据分别用、表示,于是式(1.1)变为 := 3 6当采样周期T很小时可以用T近似代替,可用近似代替

24、,“积分”用“求和”近似代替,即可作如下近似 3 - 7 3 - 8这样,式3 4便可离散化以下差分方程 3 - 9上式中是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项,即 3 10第二项起积分控制作用,称为积分(I)项即 3 11第三项起微分控制作用,称为微分(D)项即 3 12这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合有:P控制: 3 13PI控制: 3 14PD控制: 3 15PID控制: 3 16式3 - 9的输出量为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式3 - 9又称为位置型PID算式。11由3 - 9可看出

25、,位置型控制算式不够方便,这是因为要累加偏差,不仅要占用较多的存储单元,而且不便于编写程序,为此对式3 - 9进行改进。根据式3 - 9不难看出u(n-1)的表达式,即 3 17将式3 - 9和式3 - 13相减,即得数字PID增量型控制算式为 3 18从上式可得数字PID位置型控制算式为 3 19式中:称为比例增益;称为积分系数;称为微分系数1。数字PID位置型示意图和数字PID增量型示意图分别如图3.7和3.8所示:图3.7 数字PID位置型控制示意图图3.8 数字PID增量型控制示意图(2)数字PID参数整定方法如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是

26、稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。两种常用的简易工程整定法

27、是扩充临界比例度法和经验法。(一)扩充临界比例度法这种方法适用于有自平衡特性的被控对象。使用这种方法整定数字调节器参数的步骤是:选择一个足够小的采样周期,具体地说就是选择采样周期为被控对象纯滞后时间的十分之一以下。用选定的采样周期使系统工作:工作时,去掉积分作用和微分作用,使调节器成为纯比例调节器,逐渐减小比例度()直至系统对阶跃输入的响应达到临界振荡状态,记下此时的临界比例度及系统的临界振荡周期。选择控制度:所谓控制度就是以模拟调节器为基准,将DDC的控制效果与模拟调节器的控制效果相比较。控制效果的评价函数通常用误差平方面积表示。控制度 3 20实际应用中并不需要计算出两个误差平方面积,控制

28、度仅表示控制效果的物理概念。通常,当控制度为1.05时,就可以认为DDC与模拟控制效果相当;当控制度为2.0时,DDC比模拟控制效果差。12根据选定的控制度,查表3.1求得T、的值1。表3.1 扩充临界比例度法整定参数控制度控制规律T1.05PI0.030.530.881.05PID0.0140.630.490.141.20PI0.050.490.911.20PID0.0430.0470.470.161.50PI0.140.420.991.50PID0.090.340.430.202.00PI0.220.361.052.00PID0.160.270.400.22(二)经验法经验法是靠工作人员的

29、经验及对工艺的熟悉程度,参考测量值跟踪与设定值曲线,来调整P、I、D三者参数的大小的,具体操作可按以下口诀进行:参数整定找最佳,从小到大顺序查;先是比例后积分,最后再把微分加;曲线振荡很频繁,比例度盘要放大;曲线漂浮绕大湾,比例度盘往小扳;曲线偏离回复慢,积分时间往下降;曲线波动周期长,积分时间再加长;曲线振荡频率快,先把微分降下来;动差大来波动慢,微分时间应加长。下面以PID调节器为例,具体说明经验法的整定步骤:让调节器参数积分系数=0,实际微分系数=0,控制系统投入闭环运行,由小到大改变比例系数,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。取比例系数为当前的值乘以0.8

30、3,由小到大增加积分系数,同样让扰动信号作阶跃变化,直至求得满意的控制过程。积分系数保持不变,改变比例系数,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数增大一些,再调整积分系数,力求改善控制过程。如此反复试凑,直到找到满意的比例系数和积分系数为止。引入适当的实际微分系数和实际微分时间,此时可适当增大比例系数和积分系数。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。13PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可在10以上,I在(3、10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在(1、10)之间,I

31、在(0、5)之间,D在(0.1、1)之间,具体参数要在现场调试时进行修正。4 智能车控制程序具体实现4.1 角度控制具体实现角度控制结合PD控制及模糊控制,具体程序如下:void xunxian(void)int gl_sensorDistance8 = 65,45,25,0,0,-25,-45,-65;int sensorErr=0; int sensorErrD = 0;int sensorCnt=0;int i;unsigned char s; static int servoOffset = 0;int servoOffsetBase = 0;int absSensorErr = 0;

32、int servoOffsetMax = 0;static int sensorOutCnt = 0;s=sensor_inp(MASK3_4); /读取传感器信号与MASK3_4比较/MASK3_4 为 oooxooooif(s=0x08)sensorErrLast = 0;sensorErrNow = 0;angle=0;servoOffset = 0;langle=0;return;if (sensorErrLast = 35)s = s & 0x0f;else if (sensorErrLast = -35)s = s & 0xe8;for (i =0; i 8;i+) if (s &

33、 (1=29) | (sensorErr -sensorErrLast) 0)absSensorErr = sensorErrNow; elseabsSensorErr = -sensorErrNow; if (absSensorErr = 65)sensorOutCnt +;elsesensorOutCnt = 0; if (sensorErrNow = 65)if (sensorOutCnt 10)servoOffsetBase = 55;elseservoOffsetBase = 45;else if (sensorErrNow 10)servoOffsetBase = -55;else

34、servoOffsetBase = -45;elseservoOffsetBase = sensorErrD*8 +sensorErrNow/25; /PD控制语句 servoOffset += servoOffsetBase ; if (servoOffset servoOffsetMax) servoOffset = servoOffsetMax; else if (servoOffset 90)if (pattern = 11)motorPWM = 100;elsemotorPWM = 80;else if (SpeedNow 0)if(pattern = 23)motorPWM =50

35、;else if (angle -10)motorPWM = SetSpeed* 3/9 + SpeedNow/8 ;elsemotorPWM = SetSpeed* 4/9 + SpeedNow/10 ;else if (SpeedNow -10)motorPWM = 0;else if (SpeedNow 100)motorPWM = 100;if( motorPWM = 0)cInsideRDiff = gl_cSpeedDifference2angle;cInsideFDiff = gl_cSpeedDifference1angle; cOutsideRDiff = gl_cSpeed

36、Difference0angle; if(motorPWM 0)motor( motorPWM * cOutsideRDiff / 100,motorPWM * cInsideFDiff / 100 , motorPWM,motorPWM *cInsideRDiff / 100);elsemotor( motorPWM, motorPWM, motorPWM, motorPWM );else cInsideRDiff = gl_cSpeedDifference2-angle;cInsideFDiff = gl_cSpeedDifference1-angle; cOutsideRDiff = g

37、l_cSpeedDifference0-angle;if(motorPWM 0)motor(motorPWM * cInsideFDiff / 100 , motorPWM * cOutsideRDiff / 100,motorPWM * cInsideRDiff / 100,motorPWM );elsemotor( motorPWM, motorPWM, motorPWM, motorPWM ); void motor( int accele_l, int accele_r,int accele_fl,int accele_fr ) /由给定的四轮PWM值得到电机的电压值以控制电机转速 i

38、nt sw_data;sw_data = dipsw_get() + 5;/主板上的拨码开关,粗控速 accele_l = accele_l*0.79 *sw_data / 20; /由于电机之间存在差异,所以 accele_r = accele_r*0.85 *sw_data / 20;/ 四个电机的系数需要具体测 accele_fl = accele_fl*0.83 *sw_data / 20;/ 试得到 accele_fr = accele_fr*0.8 *sw_data / 20; /* Left Motor Control */ if( accele_l = 0 ) p2 &= 0x

39、fd; trdgrd0 = (long)( PWM_CYCLE - 1 ) * accele_l / 100; else p2 |= 0x02; trdgrd0 = (long)( PWM_CYCLE - 1 ) * ( -accele_l ) / 100; /* Right Motor Control */ if( accele_r = 0 ) p2 &= 0xf7; trdgrc1 = (long)( PWM_CYCLE - 1 ) * accele_r / 100; else p2 |= 0x08; trdgrc1 = (long)( PWM_CYCLE - 1 ) * ( -accel

40、e_r ) / 100; if( accele_fl = 0 ) p5 &= 0xfd; trcgrb = (long)( PWM_CYCLE - 1 ) * accele_fl / 100; else p5 |= 0x02; trcgrb = (long)( PWM_CYCLE - 1 ) * ( -accele_fl ) / 100; /* Right Motor Control */ if( accele_fr = 0 ) p5 &= 0xf7; trcgrd = (long)( PWM_CYCLE - 1 ) * accele_fr / 100; else p5 |= 0x08; trcgrd = (long)( PWM

温馨提示

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

最新文档

评论

0/150

提交评论