控制算法设计说明_第1页
控制算法设计说明_第2页
控制算法设计说明_第3页
控制算法设计说明_第4页
控制算法设计说明_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、i第十二届“恩智浦杯”全国大学生智能汽车竞赛技术报告学校:辽宁工程技术大学队伍名称:IgdxphIgdxph参赛队员:陈曜 叶雨洁 曹杰带队教师:高姬王继强寧辽宁工程技木大学LIAONING TECHNICAL UNIVERSITY2摘要本文以第十二届全国大学生智能车竞赛为背景,介绍了基于电磁导航的智 能赛车控制系统软硬件结构和开发流程。 该系统以 Freescale 半导体公司 32 位 单片机kl26为核心控制器,使用IAR6.3程序编译器, 采用LC检测电路作为赛 道路径检测装置检测赛道导线激发的电磁波来引导小车行驶,通过增量式编码 器检测模型车的实时速度,配合控制器运行 PID 控制等

2、控制算法调节驱动电机 的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。 同时我们使用集成运放对采集到的电磁信号进行了放大,通过单片机内置的 AD 采样模块获得当前传感器在赛道上的位置信息。通过配合上位机软件最终确定 了现有的系统结构和各项控制参数。实验结果表明,该系统设计方案可使智能 车稳定可靠运行。关键字:kl26,PID控制,智能车,PID算法3舵机驱动模块 . 起跑线检测模块 人机交互模块 . 第三章 硬件电路设计 .目录第一章 引 言 .4 第二章 系统方案设计 .5.2.1 系统总体方案的设计2.2 系统总体方案设计图电磁传感器模块 .6.控制器模块 .6.电源管

3、理模块 .6.编码器测速模块 .7.7.错. 误!未定义书签。.7.8.3.1 单片机最小系统3.2 电源管理模块 .3.3 电磁传感器模块模块 . 103.3.1 电磁传感器的原理 .1.0.3.3.2 信号的检波放大 1.1.3.4 编码器接口 . 1243.5 舵机驱动模块 .133.6 电机驱动模块 .133.7 人机交互模块 . 15第四章 控制算法设计说明 .1.6.4.1 主要程序流程 . 164.2 赛道信息采集及处理 . 174.2.1 传感器数据滤波及可靠性处理 .1.74.2.2 位置偏差的获取 1.8.4.3 控制算法实现 . 204.3.1 PID 算法原理简介 .2

4、.04.3.2基于位置式 PID 的方向控制 .2.04.3.3 基于增量式 PID 和棒棒控制的速度控制 .2. 14.3.4 坡道处理 .错. 误!未定义书签。参考文献 .2.4.附录 A 部分程序代码 .2.5.第一章 引 言随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到 所有领域。智能车技术依托于智能控制,前景广阔且发展迅速。目前,掌握着 汽车工业关键技术的发达国家已经开发了许多智能车的实验平台和商品化的车 5辆辅助驾驶系统。有研究认为智能汽车作为一种全新的汽车概念和汽车产品, 在不久的将来会成为汽车生产和汽车市场的主流产品。6第二章 系统方案设计本章主要介绍了系统整

5、体方案的设计与组成,在后面的几个章节中将详细 介绍系统的机械结构设计,硬件电路设计,以及车辆控制算法等。2.1 系统总体方案的设计根据竞赛规则相关规定,智能车电磁组采用大赛组委会统一提供的B型车模或E车模加其他型号的车模组合的形式。在控制器的选择上我们采用飞思卡尔公 司生产的KL26乍为主控芯片,在IAR集成开发环境中进行控制算法调试。赛车通 过LC选频电路检测通电导线周围产生的稳定电磁信号,通过集成运放电路将小 信号放大,使得单片机的内部AD能够直接识别该信号并将模拟信号转换为数字 信号,单片机通过对数字型号的处理计算出小车的当前位置以及路径信息,发 出控制信号控制舵机使之按照正确的路径行驶

6、。在速度控制上,通过编码器采 集到脉冲信号并输入到单片机进行处理,得到车辆当前的速度信息,控制器综 合当前的打角,实时速度,计算出一个适合当前路径的行驶速度,并通过PID算法计算PW波的占空比提供控制信号控制电机驱动输出正确的等效电压来调节 电机转速使得小车达到控制器的给定速度。72.2系统总体方案设计图图2.2智能车总体结构图根据以上系统方案设计,智能车共包括:电磁传感器模块,KL26核心板,电源管理模块,编码器测速模块,舵机驱动模块,电机驱动模块按键、拨码 开关及液晶显示模块各模块的组成及作用如下: 电磁传感器模块电磁传感器模块共由三部分组成,LC选频电路、信号放大电路以及滤波电路。由于赛

7、道上漆包线中通过的是20KHZ的变化电压,经过计算我们选择10mH工字电感和6.8nF的校正电容作为LC选频电路的器件。LC选频网络的 输出电压幅值大约在 20到100mV左右,因此需要对信号进行放大,综合比较 了 LMV358 INA128, OPA2350等器件之后我们最终选择了 OPA2350乍为放大 电路的运放芯片。滤波电路我们选择了二倍压整流电路加RC滤波的方式,实验表明该滤波电路具有较好的滤波效果。控制器模块我们选择组委会规定可以使用的飞思卡尔公司生产的kl26作为主控芯片,它具有丰富的片上资源,较高的主频,芯片稳定性高。完全能够满足智能 车调试过程中的各种需要。电源管理模块智能车

8、主控板上根据不同模块需求,需将电池电压转换为3.3V,5.0V以及 12V电压为各个模块供电,我们选择了 AMS1117-3.3,AMS1117-等器件为模块提 供电压。干黄首K核心板电础传感誥模诙舗品品示按块红外收垃按块8编码器测速模块为了实现速度闭环控制,我们采用了采用 200线编码器采集实时速度。并 使用了单片机内部的正交解码模块进行脉冲计数,实现实时速度解算与控制。 舵机驱动模块我们采用了组委会规定的 SD-5数字舵机作为方向控制执行器。SD-5具有 工作频率高,反映速度快的特性。人机交互模块人机交互模块包括:液晶显示,按键和拨码开关。在智能车参数调整过 程中,通过液晶上显示数据,按键

9、和拨码开关修改参数,省去了反复下载程 序的过程,为调试节省了大量的时间。9RJO2T:dx二TXDyECHO J怎PTKOKDPTEECMPTE1TOM3VPTEJVCC-3PTE4SrTAkjiPTE5FTA11PTE4mrPTEPTA3-SPTE-IPTAIJ:PTOPTAI4PTEE0FTAIJmuS*TAiJPTE 12iPTAIt;詢LDP買TA国USBC-_D5JPTASvoim.svPTAJfRUQPTMJLDOO-JPlPTAiSADCOMlFTAJADC1-W1PTJWADCl_D(M-lPTAJADCL.DtPJFTA2AIKDM3FTA1ADCOP*池屈A0C&JJM3N

10、CVBEFHPTE2SVREFLPTE2ADCC.PTEMAKLPTE*JUKI.PTE24 &ACL. DimiTEER号畑AL 占常MJALCi 飞BLOB22FTA25PTDIAmiMPTDL5PTAi?PTOL2PTA2APTD13PTASihIWPTA2BPTDUPT3IPTPTBOPTMPTB3PTWPTE:PTD?FTB5PUNPTSUPTOdPT37PTD2PT3i3P7D3PTESPTDOPTBEPTDLFTE11PTCL1FTB1&FTC19FTB17PTCLfl-PTBlfiPTC17FTOWPTCL4PTEiaPTCL5PTB21PTC12PTB2DPTCL3PTB23

11、PTCIOFTB22PTCLliPTCIPTPTCDFTCSFTC5PTC*PTC2PTb PTC斗PTC5icr3;LJXDCRST丨二,KBTKE2第三章硬件电路设计3.1单片机最小系统我们选择飞思卡尔公司生产的kl26作为智能车的主控芯片,该芯片是基于ARM Cortex-M4系列32位单片机,具有丰富的片上资源,完全能够满足智能车 的控制需求。UI图3-1单片机最小系统板接口电路E3J516?一1147EQJROW勺畑ALj V彌呛Bk 3-103.2电源管理模块智能小车使用组委会提供的7.2V 2000mAhNi-cd电池作为小车的唯一的能 量来源提供了 7.2V的电压输出。根据不同

12、的模块供电需求,主控板上还需要3.3V 电源和5.0V电源。其中单片机和传感器对供电电压的要求较高,因此我们采用 了低压差线性稳压器件TPS7333作为单片机和传感器的供电电源。其他接口电 路采用AMS1117为个模块提供所需的3.3V和5.0V电源。此外,MOS区动芯片HIP4082还需要12V供电电源,此部分将在后面小节提到。各供电模块原理图如图4-2所示图3-2电源管理模块113.3 电磁传感器模块电磁传感器是小车最重要的模块之一,传感器性能的好坏直接影响到信号 的采集精度以及小车的控制性能。因此在智能车设计过程中,我们着重对传感 器模块进行了研究。根据组委会的规定,电磁组赛场信号是基于

13、频率为20KHz,电流为100mA勺交变电压产生的磁场信号。智能车通过检测该磁场信号获取当前赛道信息。在 传感器模块的研究过程中,我们测试了大量的电感,发现只有10mH的电感能够得到较为规整的正弦波。频率和赛道电源频率一致,且随著电感距通电导线距 离的增加幅值逐渐衰减。3.3.1 电磁传感器的原理根据电磁学我们知道,导线中通过不均匀变化的电流将会在导线周围产生 不均匀变化的磁场。在导线中通过按正选规律变化的电流将会在导线周围产生 按正选规律变化的磁场。由电磁感应定律我们知道,导线切割磁感线将会在导 线两端产生感应电动势。正是利用这样的原理我们将电感放在通电导线的周围, 导线产生的变化的磁感线将

14、会切割电感的线圈,从而在电感两端产生感应电动 势,通过检测该感应电动势的变化规律我们可以知道电感于导线的位置关系。 但是空间中充满了各种电磁信号,它们切割电感线圈产生微弱的电动势将会对 有用信息产生干扰。如图4-3-1所示,利用LC选频电路(带通电路)可以有效 的解决这一问题。122TTVLC图3-3-1 LC并联谐振电路图中感应电动势,R0为等效电阻,L是感应电感的电感值,C为谐振电容电路的谐振频率为:已知感应电动势的频率为? = 20KHz,感应电感的值L = 10 mH,可以计算 出谐振电容的容值为C = 6.33 X 10- 9F,通常在市场上可以买的到的标称电容 与上述值最接近的值为

15、6.8Nf,为此我们试验了及中容值在6.8nF的电容,最后 发现6.8nF矫正电容对信号具有较好的选频滤波作用。3.3.2信号的检波放大通过并联谐振电路产生的感应电动势幅值在 20mV-100mV左右,不能直接送 到单片机的AD 口进行模数转换,因此需要将信号进行放大。官方给出的放大电 路采用三极管进行放大,但是用三极管进行放大有一个不可避免的缺点就是温 漂大,因此我们放弃了使用三极管放大的方案。经过多次试验,我们选定 OPA2350作为放大电路的运放芯片,OPA2350,具有低电压漂移,高通频带, 轨到轨的输入输出特性,完全能够满足放大电路的设计需要。由于OPA2350是单电源运放,因此我们

16、在同相端加了 VCC/2的基准电压,保证了能够进行全波 放大,同时我们在个输入输出端增加了隔直电容抑制共模信号。从放大器输出 的信号为峰峰值在3V左右的正弦信号,如果直接进行电压采样,将会增加软件 电躊示意图I13滤波的工作量,因此我们设计了二倍压整流电路和 RC滤波电路,使得将要送入 采样的信号为较为稳定的直流信号,幅值与电感距通电导线的距离成比例。为 了获得更大的电压摆幅,倍压整流电路中的二极管我们选用了肖特基二极管 SS14,这类二极管的开启电压约为0.2V小于一般的硅二极管的开启电压(约 0.7V)。最终方案确定如图3-3-2所示。图3-3-2信号检测方法模块3.4编码器接口我们使用欧

17、姆龙公司生产的 E6A2-CW3, 500线增量式旋转编码器,该编码 器可输出AB两路正交信号,正转时 A相超前B相90,反转时B相超前A相 90 ,通过正交解码可以测得正反转及实时速度。编码器接口如图4-4所示。如图P7142201L1N582 ICM5.5VCap Foil220ul-A GND图3-4编码器接口电路3.5舵机驱动模块根据组委会要求,B车模只能使用SD-5数字舵机,SD-5的工作电压不超过 5.5V,工作电流约800mA左右,普通的线性稳压电源仅能提供约 500mA左右的 电流,因此我们选用了开关电源模块 LM2596乍为舵机的供电电源。原理图及舵 机接口电路如图4-5所示

18、。3.6电机驱动模块B车模使用的RS-540电机相比于C车模的电机具有功率大,负载能力强的 特点,同时也使得电机的工作电流较高,这就对电机驱动提出了比较高的要求, 在以前的方案中我们使用过集成的电机驱动芯片BTS7970作为电机驱动芯片,但是在车模行驶过程中由于设定速度的改变需要频繁的正反转以控制速度,电V1NMlJN5821 订CiNOFFFBi|(TNUIABC11 Cl;1.M2596S-ADJ.N0PF1O.luFR16MA-I0KJnduclcrA GND15机反接制动过程中会使芯片发热,温度过高时会导致芯片启动过热保护从而停 止运行。针对此种不足,我们设计了由四片NMO组成的全桥驱

19、动,使用HIP4082 作为MOS区动芯片控制MOSff的导通与关断。HIP4082是集成的MOS区动专用芯 片,采用自举升压电路为上下桥臂的开通的关断提供电压,具有可调节的死区 时间控制。由于HIP4082的工作电压为10-15V,而电池只能提供7.2V的电压, 因此需要对电池电压进行直流升压,用以HIP4082的供电。我们采用MC34063作为升压芯片为HIP4082供电,MC34063勺最大输出电流为500mA完全能够满 足HIP4082的工作要求。由于12V电压只是用于驱动HIP4082,并没有直接加载 到电机两端,因此并没有违反组委会关于电机供电电压的规定。MC3406:升压电路及M

20、O盖桥驱动电路如图3-6-1和图3-6-2所示。16图3-6-2 MOS全桥驱动电路173.7人机交互模块人机交互模块包括按键,拨码开关以及液晶显示,在智能车参数调试过程中 合理利用人机交互模块可以为调试节约大量时间。按键电路,拨码开关电路及 液晶显示接口如图4-7-1,图4-7-2,图4-7-3所示。图3-7-1按键接口电路图3-7-2拨码开关接口电路GNT图3-7-3液晶显示接口18第四章 控制算法设计说明4.1 主要程序流程智能车控制算法是智能车设计的核心,好的控制算法能让智能车快速稳定 的运行,控制算法中最主要的部分包括舵机的控制和速度的控制。单片机运行 需要对各模块寄存器进行初始化配

21、置,在进入主循环之前需要对单片机的时钟, IO 口,AD转换模块,FTM莫块,UART SPI, PIT等模块相应寄存器写入正确的 配置参数。进入主循环之后采集一次 AD值,对采集到的信息进行处理,调用舵 机和电机的PID运算,将结果写入到FTM相关输出寄存器中,通过改变 PWM勺 占空比来改变舵机和电机的控制参数。主要程序流程图方框图如图 4-1 所示。19图4-1程序流程图4.2赛道信息采集及处理在智能的控制中,赛道信息的采集及处理尤为关键。对于我们的电磁车而 言,所有的赛道信息都来自传感器支架上六个电感采集到的赛道信息,通过分 析每组数据之间的关系计算出小车与当前赛道的相对位置并根据赛道

22、信息发出 合适的控制信号控制舵机转向以及控制电机加减速。4.2.1传感器数据滤波及可靠性处理从放大器出来的电压信号经过倍压整流及 RC滤波电路直接送到单片机的模 拟量输入通道。虽然经过硬件滤波,但是输入电压的幅值还是存在一定的纹波。由于我们采用的 AD 采集精度为 12 位精度,模拟信号经过采样、保持、量化、 悴车20编码后转化为最大值为 4095 的数字信号,采样精度较高,得到的原始数据波动 较大。因此需要对数据进行软件滤波及归一化处理。为了保证采样的周期性, 我们将数据的采集放在了周期定时中断中进行,中断的定时时间为1ms每一次进中断都会调用一次原始数据采集函数我们对六个通道的电压值进行连

23、续采 样。舵机的控制周期为4ms因此,在舵机的一个控制周期中我们可以调用四次 上述数据处理程序,为了有效利用每一组数据,并且尽量真实的还原赛道信息, 我们对四组数据进行加权平均处理,越靠近舵机输出值更新时刻得数据权值越 大。这样处理后的数据,可有效的去除原始数据中的粗大误差,保留更多有效 信息,避免舵机误动作。4.2.2 位置偏差的获取舵机的打角动作根据偏差的大小而定,偏差越大,舵机打角越大。偏差的获 取与传感器的排布方案有关,水平电感有利于在知道跑直和防止十字窜道,斜 电感对弯道较为敏感能够及早发现急弯,但是由于十字弯道附近磁场的叠加与 抵消,造成了某个方向的磁场强度不对称,如果利用斜电感获

24、取的偏差权值较 大,则在十字弯道处小车容易窜道。针对我们传感器排布方案, 我们首先对小车相对于赛道的位置做出一定的判 断,大致分为知道,小S弯与急弯,直角弯道可以接处理成急弯。当1和3同时大于某个值的时候,我们判定车辆在直道上,否则车辆进入弯道。此时可通 过判断知道车辆应该左转还是右转,如果最大值为 0或4则判断进急弯,具体 的实现如下:if(AD165&AD365)if(abs(int16)(AD1-AD3)AD3)Direction_flag = 3;/ 向左偏转,偏差为负 else if(AD1AD4)Direction_flag = 3;if(AD0AD4)Direction_flag

25、 = 1; for(i=0;i5;i+)/ 找出当前传感器最大值 if(ADmaxADi-1) max=i;AD2-=10; max_value=ADmax; if(max_value =AD0) max=4; else max=0; max_old=max;else max_old=max; 根据不同的情况获取位置偏差 if(Stright_flag=1)position_error =ChaBiHe0*100;elseif(Direction_flag=1)position_error = (100 - AD2) + AD2*ChaBiHe0;else if(Direction_flag=

26、3)position_error = (AD2 - 100) + AD2*ChaBiHe0; else position_error = ChaBiHe0*100;if(max = 0)position_error = -(26000/(AD1+m0_L)-m1_L)*m2_L;if(max = 4)position_error = (26000/(AD3+m0_R)-m1_R)*m2_R;4.3 控制算法实现4.3.1 PID 算法原理简介PID(proportional-integral-derivative)控制是比例 - 积分 - 微分的简称。在生产过程自动控制的发展历程中, PID

27、控制是历史最悠久, 生命力最强的基本 控制方式。此后,随著科学技术的发展,特别是电子计算机的诞生和发展,涌 22现出许多先进控制策略,然而直到现在, PID 控制仍然得到广泛的应用,概括起 来该算法具有原理简单,使用方便,适应性强,鲁棒性强等优点。PID 调节器分为模拟式和控制式。前者采用运算放大器,阻容元器件等模拟 电路构成,早起使用广泛,随著微处理器的发展,采用单片型微型计算机的数 字式 PID 调节器引用越来越广泛。4.3.2 基于位置式 PID 的方向控制PID算法的应用非常灵活,在实际引用中,可以根据执行器的不同特性选择 增量式或位置式PID,由于舵机的输出特性,我们选择采用位置式的

28、 PD控制, 经过测试发现,具有良好的控制效果。具体实现如下:首先调用偏差获取函数,返回位置偏差Error_0 = Get_Position_Error();然后计算舵机输出量Increment_Angle = (Angle_P*(float)Error_0 + Angle_D*(float)(Error_0 - Error_1); Error_1 = Error_0;Angle = (uint16)(int16)(float)Steer_Middle_Value + Increment_Angle);对输出量进行限幅处理,防止舵机打角过大损坏舵机。if(Angle11350)Angle =

29、11350;if(Angle1500)Output_old=1500; if(Output_old=0)if(Output1300)Output=1300; pwm_out(PWM_PIN_PTA7,(uint16)Output); pwm_out(PWM_PIN_PTA6,0);else if(Output1300)Output=1300; pwm_out(PWM_PIN_PTA7,0); pwm_out(PWM_PIN_PTA6,(uint16)Output);编写速度控制子程序,将棒棒控制和 PID 控制相结合void Speed_control()static uint8 bangba

30、ng_flag=0;Ek0 = SET_SPEED - PULSE;24if(bangbang_flag=0) pwm_out(PWM_PIN_PTA7,1000); pwm_out(PWM_PIN_PTA6,0);if(Ek010)ban gba ng_flag=1; _if(Ek0-20)&(ban gba ng_flag=1) pwm_out(PWM_PIN_PTA7,0); pwm_out(PWM_PIN_PTA6,1000); Output_old = 0;else Moter_PID(SET_SPEED);护心卄码 /LJL_11L图5-3-2速度跟踪曲线434坡道处理为了防止智能

31、车在坡道的时候由于偏差的异常而产生跳坡的现象,我们通过电感信息的变化检测上坡,通过编码器记录车辆行驶的距离,控制车辆在坡道 上保持直线行驶。当所有电感的值大于某个值时开始计时,10个周期后仍然满足条件则说明车辆行驶到了坡道,此时减小舵机 PD值,并且采用1, 3电感计 算偏差,在实际控制中取得了不错的效果。25参考文献1邵贝贝.嵌入式实时操作系统LC/OS-H (第2版)M.北京清华大学出 版社2王晓明.电动机的单片机控制M 北京.北京航空航天大学出版社.20023康华光.电子技术基础模拟部分(第五版).M.北京:高等教育出版社.2008.1.4童诗白,华成英模拟电子技术基础M 北京. 高等教

32、育出版社 20005沈长生常用电子元器件使用一读通M 北京. 人民邮电出版社 20046宗光华机器人的创意设计与实践M 北京 . 北京航空航天大学出版社20047第五届“飞思卡尔”杯全国大学生智能车大赛清华大学三角洲电磁组技术 报告268第六届“飞思卡尔”杯全国大学生智能车大赛杭州电子科技大学电磁组钱 江一号技术报告9刘畅生,张耀进新型集成电路简明手册及典型应用J 西安电子科技大学版社, 2005附录 A A 部分程序代码void Init_ALL()sysinit();hw_adc_init(0);hw_adc_init(1);pwm_init(PWM_PIN_PTA6,PWM_FRE_DI

33、V_FACTOR_2,PWM_MODE_HIGH_ACTIVE);pwm_init(PWM_PIN_PTA7,PWM_FRE_DIV_FACTOR_2,PWM_MODE_HIGH_ACTIVE); /电机PWM输出频率16Khw_gpio_init(PORT_A,8,1,0);/4082 使能初始化,低电平有效pwm_init(PWM_PIN_PTA9,PWM_FRE_DIV_FACTOR_8,PWM_MODE_HIGH_ACTIVE);27初始化,用于与上位机通讯初始化,用于两车通讯用于干簧管电平输入/舵机PWM输出 频率300Hz pwm_out(PWM_PIN_PTA9,Steer_Mi

34、ddle_Value);FTM2_QUADnit(); /正交解码初始化,使用FTM2模块输入引脚A相A10B 相 A11hw_uart_init(UART_3,115200); /UART_3/hw_uart_init(UART_4,115200); /UART_4hw_pit_init(PIT0,periph_clk_khz*1); /PIT初始化hw_disable_pit_int(PIT0); /不使能 PIT 中断hw_pit_init(PIT2,periph_clk_khz*250); /PIT初始化hw_disable_pit_int(PIT2); /不使能 PIT 中断OLCD

35、_Init(); /LCD 初始化OLCD_CLR(); / 清屏Flash_init();/flash初始化hw_gpio_init(PORT_A,14,1,1);hw_gpio_init(PORT_A,15,1,1);hw_gpio_init(PORT_A,16,1,1);hw_gpio_init(PORT_A,17,1,1);hw_gpio_init(PORT_A,24,0,1);/hw_gpio_init(PORT_E,3,1,0); / 蜂鸣器hw_gpio_init(PORT_E,25,0,0);/SW_4hw_gpio_init(PORT_E,26,0,0);/SW_3hw_gp

36、io_init(PORT_E,27,0,0);/SW_2hw_gpio_init(PORT_E,28,0,0);/SW_1 / 拨码开关输入hw_gpio_init(PORT_D,8,0,0);/KB_1hw_gpio_init(PORT_D,9,0,0);/KB_2hw_gpio_init(PORT_D,10,0,0);/KB_3hw_gpio_init(PORT_D,11,0,0);/KB_4 / 按键电平输入OLCD_Display_Words(20,3,init);OLCD_Display_Words(60,3,.);OLCD_Display_Words(70,3,.);OLCD_Di

37、splay_Words(80,3,.);hw_gpio_set(PORT_E,3,1);28Delay_Sec(1);OLCD_Display_Words(90,3,.); hw_gpio_set(PORT_E,3,0);/ 蜂鸣器响一秒void PIT0_isr ()/PIT0 中断,每 5 毫秒进一次CLR_PIT0;Moter_PID_flag+;Call_num+;BUZZ_TIME+;Get_temp_AD();每一次进中断都采一次 AD,在舵机的控制周期中共采四次 AD,按权值计算出一个最终值。if(Call_num=4)和采AD使用同一个flag,保持一致性Call_num=0;Steer_PID();if(SET_SPEED_flag)/2 毫秒设定一

温馨提示

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

评论

0/150

提交评论