基于MC9S12XS128的双轮平衡车控制系统设计....doc

上传人:文库蛋蛋多 文档编号:2940646 上传时间:2023-03-05 格式:DOC 页数:33 大小:1.61MB
返回 下载 相关 举报
基于MC9S12XS128的双轮平衡车控制系统设计....doc_第1页
第1页 / 共33页
基于MC9S12XS128的双轮平衡车控制系统设计....doc_第2页
第2页 / 共33页
基于MC9S12XS128的双轮平衡车控制系统设计....doc_第3页
第3页 / 共33页
基于MC9S12XS128的双轮平衡车控制系统设计....doc_第4页
第4页 / 共33页
基于MC9S12XS128的双轮平衡车控制系统设计....doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《基于MC9S12XS128的双轮平衡车控制系统设计....doc》由会员分享,可在线阅读,更多相关《基于MC9S12XS128的双轮平衡车控制系统设计....doc(33页珍藏版)》请在三一办公上搜索。

1、南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系): 电子与电气工程学院 专 业: 电气工程及其自动化 学 生: 陈 明 指导教师: 高有堂 完成日期 2012 年 5 月 南阳理工学院本科生毕业设计(论文)基于MC9S12XS128的双轮平衡车控制系统设计 Based On MC9S12XS128 of the Two-wheeled Balancing Vehicle Control System Design 总计: 毕业设计(论文)27 页插 图 : 21 幅南 阳 理 工 学 院 本 科 毕 业 设 计(论文) 基于MC9S12XS128的双轮平衡车控制系统设计Based O

2、n MC9S12XS128 of the Two-wheeled Balancing Vehicle Control System Design 学 院(系): 电子与电气工程学院 专 业: 电气工程及其自动化 学 生 姓 名: 陈 明 学 号: 097108071 指 导 教 师(职称): 高有堂 (教授) 评 阅 教 师: 完 成 日 期: 2012.05 南阳理工学院 Nanyang Institute of Technology 基于MC9S12XS128的双轮平衡车控制系统设计电气工程及其自动化 陈明 摘要本文主要介绍了双轮平衡车的控制系统设计方案。采用MC9S12XS128作为核心

3、控制器,在此基础上增加了各种接口电路板组成整个硬件系统,包括单片机最小系统,直流驱动电机控制模块,电源管理模块,测速编码模块,人机交互等模块。软件调试部分依次对应硬件各模块进行程序设计,包括A/D模块,PWM模块,ECT模块,PID控制算法,人机交互控制等。完成车模的制作和软件设计后对整个控制系统进行调试,先阐述了调试的策略,再分别就现有调试工具条件下的软件和硬件调试进行了分析,对相应的调试方法做了基本的介绍。最后根据调试情况对整个系统做了修改,基本达到设计要求。 关键词 双轮平衡车;MC9S12XS128;模块设计;调试策略Based On MC9S12XS128 of the Two-wh

4、eeled Balancing Vehicle Control System Design Electrical Engineering and Automation Specialty CHEN Ming Abstract: This article mainly introduces the balance of the Two-wheeled balancing vehicle control system design scheme. The MC9S12XS128 as core controller, on the basis of interface circuit board

5、of increasing the hardware system, including single chip minimize system, dc motor control module, power management module, code modules speed, man-machine interaction module. Software debugging session in the corresponding module design program, including A/D module, PWM module, ECT module, PID con

6、trol algorithm, the man-machine interactive control, etc. Accomplish the production and the software design draw after the whole control system for debugging, first expounds the commissioning of the strategy, second,different debugging tools under the conditions of existing software and hardware deb

7、ugging are analyzed, the corresponding debugging method basic introduction. According to the situation of the whole system debugging have modified, basic to meet the design requirements. Key words: the Two-wheeled balancing vehicle; MC9S12XS128; MODULAR DESIGN ; Debugging strategy 目录1 引言11.1 双轮自平衡小车

8、的研究意义11.2 双轮自平衡小车的发展历程和现状11.2.1国外的研究成果21.2.2国内的研究成果21.3 本课题的研究内容和关键问题22 双轮平衡小车系统的总体概述32.1 系统组成32.2 系统各模块的主要功能32.3 系统的主要特点43 双轮平衡小车硬件电路设计43.1 整体电路设计43.2 单片机最小系统53.3 直流驱动电机控制电路63.4 电源模块电路设计63.5 测速编码电路设计73.5.1 陀螺仪电路83.5.2 编码器电路83.6 人机交互接口电路设计93.6.1CAN总线与LIN总线设计93.6.2通信接口设计103.6.3人机交互电路设计104 双轮平衡小车软件设计1

9、14.1 软件模块功能与框架114.1 A/D模块124.1.1A/D转换原理124.1.2A/D转换模块功能结构124.1.3A/D转换模块的编程步骤134.2 PWM模块134.2.1PWM的主要特点134.2.2PWM应用及初始化144.3 ECT模块144.4 PID控制算法154.4.1PID控制原理154.4.2 PID参数的整定164.5 人机交互164.5.1 LCD液晶显示164.5.2 矩阵键盘按键识别174.5.3 串口与上位机的通讯175 双轮平衡小车的系统调试185.1 调试策略185.1.1硬件调试185.1.2软件调试185.1.3综合调试185.2 串口调试18

10、5.2 监控调试205.3 无线调试215.3.1无限遥控开关215.3.2无线通信模块216 结论23参考文献24附录1:单片机最小系统原理图25附录2:单片机最小系统电路图26附录3:单片机最小系统PCB图26致谢27 1 引言 本章简要的介绍了两轮自平衡小车的起源与发展、研究意义以及国内外的研究现状,并依此提出了本论文研究的主要内容。1.1 双轮自平衡小车的研究意义双轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、绝对不稳定的系统,且因其运动环境复杂、运动学方程中的非完整约束,所以其控制任务也具有复杂性,需要在完成平衡控制的同时实现直立行走等任务因其既有理论意义又有实用价值

11、,双轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。双轮自平衡小车作为倒置系统的一种形式,是动力学理论和自动控制理论与技术相结合的研究项目,为科学理论的发展起到了指导作用。且由于结构简单、运动灵活以及适合在更小的空间里工作,有着一定的应用前景。1.2 双轮自平衡小车的发展历程和现状双轮自平衡小车的想法来自于倒立摆模型,摆只能在平面内运动,如果摆倒向左边,那么摆的底部就必须也向左面移动,以保持摆的竖直平衡,右边情况与左边类似。两轮自平衡小车的情况与倒立摆相似,也需要类似的运动来保持摆车架的竖直平衡。如图动态平衡原理所示:图1除此之外,在运动方面由于可以对两个轮子进行独立的控制,

12、两轮自平衡小车除了能完成平衡外,还可以完成直立行走的任务。1.2.1国外的研究成果 在两轮自平衡小车的研究上,国外的专家和爱好者们取得了一系列的成果,以下介绍国外几个比较先进的两轮自平衡小车13: 由瑞士联邦技术学院工业电子实验室的研究人员研制的名为JOE的基于倒立摆的小型自平衡两轮车模型,是由DSP芯片进行控制的。它由车架上方所附的的重物模拟实际车中的驾驶者。研究人员通过陀螺仪和光电编码器测量的数据,用线性状态反馈控制器来控制整个系统的平衡稳定。 由美国发明家DeanKamen开发的SEGWAYliT两轮个人交通工具则是一个更为实用、成熟以及商业化的两轮运载车的版本。它使用了五个陀螺仪和一个

13、收集其他角度传感器数据的集成器来保持自身的直立状态。小车只需其中的三个陀螺仪就可以控制整个系统的平衡,而另外的两个则是为安全可靠作为备用。1.2.2国内的研究成果我国在此方面的研究也取得了很大的成就: 中国科学技术大学研究出了自平衡两轮代步电动车,它是一种两轮式左右并行布置结构的具有自平衡系统的电动车。在车体内嵌入式CPU的控制下,采集平衡传感器以及速度、加速度传感器的数据,通过一定的控制算法,计算输出PWM信号控制两个伺服电机的转矩,使车体保持平衡并能够根据人体重心的偏移,自动前进、后退及转弯。 哈尔滨工程大学也有类似的双轮直立自平衡机器人,该系统采用两块Cygnal公司推出的C8051单片

14、机和人机交互的上位机作为控制核心。车体倾斜角度检测采用AD公司推出的双轴加速度传感器ADXL202及反射式红外线距离传感器。利用PWM技术动态控制两台直流电机的转速。上位机与机器人间的数据通信采用迅通生产的PTR2000超小型超低功耗高速无线收发MODEM。人机交互界面采用240*128图形液晶点阵、方向摇杆及按键。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了该系统的平衡控制。1.3 本课题的研究内容和关键问题 研究内容包括:第一,赛用智能赛车系统的总体设计,围绕智能赛车系统要求,从而确定了控制系统的硬件设计和软件设计方案。第二,机械结构的调整与完成,对双轮平衡车车模进行了结

15、构改造,完成了定位参数的优化、车辆重心位置的调整、转向舵机的力臂的改造以及齿轮传动机构的调整等。第三,控制系统的硬件设计与完成,从电源模块设计开始,完成速度倾角测量模块、驱动控制模块及串口模块等的设计。第四,控制系统软件的设计及实现,从单片机的功能入手完成系统各个模块的设计,根据所选用的硬件,完成车模信息的算法和车体的控制算法6。设计的重点是如何控制实现小车的平衡,以及在平衡下实现平衡运动。小车本身是不稳定的,在运动中需要利用传感器检测当前的姿态,反馈到单片机控制电机转速来实现平衡。控制采用PID控制,核心内容是PID控制参数的整定。实现小车的平衡,控制是关键。由于各个参数难以确定(重心位置,

16、回转半径,电机运转时的作用力和摩擦系数等等),因此在设计PID控制时各个系数难以确定,PID控制器的参数整定是整个调试的核心内容。这就需要不断的改变参数观察小车运行效果,再回头去调整各个参数。2 双轮平衡小车系统的总体概述本科题来源于飞思卡尔智能车比赛,采用飞思卡尔16位微控制器MC9S12XS128作为核心模块,通过分析建立数学模型、电机驱动电路以及编写相应软件,制作一个能够完成自主平衡的双轮平衡车。2.1 系统组成 智能车系统的功能模块主要包括:控制核心(MCU)模块、电源管理模块、电机驱动模块、速度检测模块及调试辅助模块。每个模块都包括硬件和软件两部分。硬件为系统工作提供硬件实体,软件为

17、系统提供各种算法。设计系统包括:第一是双轮平衡车的机械结构设计,由两轮自平衡小车的机械结构搭建工作平台、承载硬件电路。其中包括车身上支架、下平台等;第二是硬件电路设计,涵盖包括电源、嵌入式微控制器、传感器、电机和控制电路、数据通信的综合系统;第三是平衡控制器模块,要求自平衡、数据采集、手动控制装置等;第四是双轮平衡车的软件设计及调试控制,按既定要求写出控制程序,解决运动状态下如何保持车体系统平衡的问题14。2.2 系统各模块的主要功能该系统主要实现3个部分:第一是小车的硬件设计,一个好的硬件构架可以减少不必要的调试麻烦;第二是平衡信号检测处理,要求传感器检测系统要能快速检测到倾斜信号,保证小车

18、静止平衡和倾斜情况之后的调节能力;第三是单片机通过对检测到的信号进行分析处理,通过相应的C语言程序来实现。功能模块包括:传感器部分,三轴加速度传感器和陀螺仪等。为电机控制提供准确的速度方向反馈。电源部分,可靠的电源管理模块。控制MCU部分,最小系统模块和PWM电机驱动模块。使用单片机MC9S12XS128,完成采集信号的处理和控制信号的输出。调试部分,方便进行速度方向数据修正7。2.3 系统的主要特点l 系统采用单片机MC9S12XS128B作为MCU,该系统单片机可靠性高,抗干扰能力强,工作频率最高达到25MHZ,从而保障了系统的实时性。l 系统具有调试辅助模块,红外遥控装置使得小车调试更为

19、方便。l 系统硬件和软件都采用了模块化结构,这样可以按需求方便容易的增加和删减功能。l 系统采用数字PID控制器来控制驱动电机和伺服电机,PID控制器技术成熟,结构简单,参数容易调整,在工业中有着很广泛的应用。数字PID控制器具有非常强的灵活性,可以根据实验和经验在线调整参数,因此可以得到更好的控制性能15。综上所述,该控制系统在理论上和实践上具有一定的创新点。其功能完善,运行稳定可靠性高。3 双轮平衡小车硬件电路设计根据预设要求,设计车模控制系统的电路时,首先需要分析系统的输入、输出信号,然后由事先选定的核心控制嵌入式计算机(单片机)MC9S12XS128,逐步设计各个电路子模块,最后形成完

20、整的控制电路。3.1 整体电路设计系统的输入输出包括: (1) AD转换接口(至少4 路) l 陀螺仪:一路,测量陀螺仪输出电压。 l 加速度计:一路,测量加速度Z 轴输出电压。 l 辅助调试:(备用)1 到3 路,用于车模调试、设置作用。 (2) PWM 接口(4 路),控制左右两个电极双方向运行,需要四路PWM 接口。 (3) 定时器接口(2 路),测量两个电机转速,需要两个定时器脉冲输入端口。 (4) 通讯接口(备用) l SCI (UART):一路,用于程序下载和调试接口; l I2C :(备用)如果选择飞思卡尔公司的数字加速度计,可以通过 I2C 接口直接读取加速度值。 (5) IO

21、 接口(备用),4 到8 路输入输出,应用车模运行状态显示,功能设置等。 由I/O接口分布可将控制电路分为以下子模块:(1) 单片机最小系统:包括单片机,程序下载调试接口等; (2) 陀螺仪与加速度计:包括两个姿态传感器信号放大滤波电路; (3) 电机驱动:驱动两个电极运行电路; (4) 电源:电源电压转换、稳压、滤波电路; (5) 设置与调试:显示系统运行状态、速度设定、程序下载与监控3。 3.2 单片机最小系统本课题所使用的单片机为MC9S12XS128,是一款专门针对汽车电子市场的高性能16位单片机,具有速度快、功能强、成本低、功耗低等特点。其总线速度高达40MHz;包括128KB FL

22、ASH和8KB DATAFLASH用于实现程序和数据存储,均带有错误校正码(ECC);单片机最小系统如下图所示;可配置8位、10或12位的ADC,3微秒的转换时间;内嵌MACAN模块用于CAN节点应用,内嵌支持LIN协议的增强型SCI和SPI模块;是含有4通道16位计数器;出色的低功耗特性,带有中断唤醒功能的10,实现唤醒休眠系统的功能;8通道的PWM,异于实现电机的控制1。单片机的最小系统原理图见附录1,单片机最小系统电路图见附录2,单片机最小系统PCB图见附录3。 使用快速制板方法制作的最小单片机系统实物图如图2所示。图2 最小系统电路实物 图2显示的实际电路中,将外部所需要的各个端口通过

23、总线方式引出,通过统一的接口底板连接其他各子电路。3.3 直流驱动电机控制电路 由于车模具有两个后轮驱动电机,因此需要两组电机驱动桥电路。需要两篇电机驱动专用芯片组成电机驱动电路。同时为了提高电源的应用效率,驱动电机的 PWM 波形采用了单极性的驱动方式。也就是在一个PWM 周期内,施加在电机上的电压为一种电压,如图3,图4所示。 图3 单极性PWM 图4 双极性PWM因此每一路电机为了能够实现正反转,都需要两个PWM 信号。两个电机总共需要4 路PWM 信号10。具体的驱动电路如图5所示。图5 直流电动机驱动控制电路3.4 电源模块电路设计电源管理单元是系统硬件设计中的一个重要组成单元。根据

24、系统各部分正常工作的需要,本系统输出电压值分为1.8伏、3.3伏和5伏三个档。根据各部分正常工作的需要,系统电源管理单元采用主委会提供的7.2V 2000mAh Ni-cd蓄电池进行电压调节9。其主要用于以下三个方面: 1 采用稳压芯片MIC5205将电源电压稳压到5V后,给单片机系统电路、路径识别的光电传感器电路、车速检测的旋转编码器电路和驱动芯片。2 经过一个二极管降至6.5V左右后供给转向伺服电机。3 为了能够稳定的给车模提供稳定足够的电量,我们采用LM1117/LM1117I800mA稳压器,其固定输出电压为1.5V、1.8V、2.5V、3.3V、5.0V和可调版本的电压精度为1。固定

25、电压为1.2V的输出电压精度为2。1A输出电流时仅为 1.2V。设计电源模块电路如图6所示图6 电源模块电路3.5 测速编码电路设计3.5.1 陀螺仪电路车模倾角传感器电路主要是将陀螺仪信号进行放大滤波。由于加速度传感器采用是低g值的传感器MMA7260 ,它的输出信号很大,不需要再进行放大。如下图7所示,将陀螺仪的输出信号放大了 10 倍左右,并将零点偏置电压调整到工作电源的一半(1.65V)左右。放大倍数需要根据选取的传感器输出灵敏度设计,可以选择5至10倍范围都可以满足车模控制需要。 图7 陀螺仪加速传感器电路3.5.2 编码器电路 本课题所使用编码器是一种将旋转位移转换成一串数字脉冲信

26、号的旋转式传感器,先将位移转换成周期性的电信号,编码器产生电信号后由数控制置、控制系统等来处理,转变成计数脉冲,这些脉冲能用来控制角位移。编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当不供电时,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,会造成零点偏移。解决的方法是增加参考点,编码器每经过参考点,将参考位置修正进计数设备的记忆位置。这样的编码器是由码盘的机械位置决定的,它不受停电、干扰的影响。 图8 速度传感器电路通过编码器电路提供的脉冲信号,反馈至MCU对控制系统进行模糊控制,从而实现

27、对平衡小车倾角、速度的检测。3.6 人机交互接口电路设计在整个系统的调试过程中,通过人机交互模块可以显示智能车在寻求平衡过程中的一些相关信息和工作单数,以及带便相应参数应对不同的情况。3.6.1CAN总线与LIN总线设计TJA1041高速CAN收发器通过接头与MC9S12XS128的CAN总线引脚相连。考虑到CAN总线的不常使用,和功耗比较大4,所以系统不但设计了这2种总线接口,为了方便又设计了J-CAN-SELECT接头和J-LIN-Selector接头。当使用CAN总线时,用跳线帽把J-CAN-SELECT接头选通,当使用LIN总线时,用跳线帽把J-LIN-SELECT接头选通。CAN总线

28、原理图(LIN总线原理图略)如图9所示。图9 CAN总线原理图3.6.2通信接口设计单片机与PC机之间的异步通信模式,将单片机看成另外一个PC机,只需3根线:发送线,接收线和固定公地线。由于MC9S12XS 128内部集成有2个串口控制器,可以选用其中一个作为RS 232串口使用,另外一个作为485总线的控制器。单片机内部TTL电平与RS 232信号电平之间的电平转换选用MAXIM公司的MAX 232芯片11。串口和485接口原理图如图10、11所示。 图10 串口与458接口原理图 图11 USB转串口原理图 其中PS1为对应的单片机上串行控制接口0的发送端,PS0为接口0的接收端。另外为了

29、方便应用,设计了USB转串口电路,原理图如图5所示。由于MC9S12XS128内部只集成有2个SCI控制器,所以USB转串口,串口,LIN,485四种通信接口需要公用2个SCI控制模块:串口与USB转串口公用SCI0,485与LIN公用SCI1。USB协议转换成串口通信协议选用PL2303芯片。3.6.3人机交互电路设计根据输入和输出接口对比,确定了人机交互电路的设计方案,如下图12:图12 人机交互接口电路4 双轮平衡小车软件设计 判断车模是否能够正常达到设计要求,需要通过软件编写来完成。软件编写主要任务包括: (1)建立软件工程,分配各模块功能并考虑实时调试; (2)编写单片机软件程序框架

30、,建立软件编译、下载、调试的环境; (3)实现并测试各个子模块的功能正确性; (3)逐步完成车模闭环控制,整定各个待定参数; (4)进行车模整体运行性能测试与提高。 本系统控制软件采用飞思卡尔公司CodeWarrior集成开发环境(CodeWarrior for 56800/E Di gital Signal Controllers,目前版本v5.9)及BDM作为调试工具,此外,厂家提供的编程环境支持C语言和汇编语言的程序设计,以及C语言与汇编语言的混合编程,大大方便了用户的程序设计,提高了系统开发效率。本系统程序代码使用C语言编写17。4.1 软件模块功能与框架程序设计由以下几个模块组成:单

31、片机初始化模块,舵机控制模块,驱动电机控制模块,中断速度采集模块,速度模糊控制模块。其中初始化模块又包括:I/O模块、PWM模块、AD模块、计时器模块、定时中断模块初始化16。软件实现的主要功能包括有:(1) 通过MC9S12XS128的A/D转换模块实现模数转换,对车模的运行状态进行检测;(2) 实现MCU对控制系统的PID算法实现模糊控制,车模运行控制包括:直立控制、速度控制、方向控制;(3) 通过PWM模块的调试,输出PWM信号实现车模运行流程控制:程序初始化、车模启动与结束;(4) 通过ECT模块将数据反馈到MCU,检测车速,调节平衡;(5) I/D模块中,通过系统界面,实现状态显示、

32、上位机监控、参数设定等; 得出如下图13为主程序框架图:图13 主程序框架图4.1 A/D模块4.1.1A/D转换原理模拟信号依次通过抽样和保持(S/H )电路和模拟转换器(A/D )后转换为数字格式。抽样和保持电路以均匀间隔对模拟信号进行抽样,并且在每个抽样运算后在足够的时间内保持抽样值恒定,以保证输出值可以被A/D 转换器精确转换。下一步是通过模数转换器将抽样和保持电路的输出转换为数字形式。模数转换器的输出通常表示为二进制编码的形式5。4.1.2A/D转换模块功能结构课题所使用的MC9S12XS128中A/D转换共有两个方块,每个方块各有8 个输入通道,使用时以标头ATD 0或ATD 1标

33、识。其功能结构图如下图14所示,这个功能模块被虚线划分成为图示所示的虚线所隔离的三个部分:IP总线接口、转换模式控制/ 寄存器列表,自定义模拟量。IP总线接口负责该模块与总线的连接,实现 A/D 模块和通用 I/O 的目的,还起到分频的作用;转换模式控制寄存器列表中有控制该模块的所有的寄存器,执行左右对齐运行和连续扫描。自定义模拟量负责实现模拟量到数字量的转换。包括了执行一次简单转换所需的模拟量和数字量。 图14 功能结构框图4.1.3A/D转换模块的编程步骤要让ATD开始转换工作,必须经过以下三个步骤: 1.将ADPU置 1,使ATD启动;2. 按照要求对转换为数、扫描方式、采样时间、时钟频

34、率及标志检查等方式进行设置;3.发出启动命令;如果上电默认状态即能满足工作要求,那么只要将ADPU置 1,然后通过控制寄存器发出转换命令,即可实现转换。4.2 PWM模块PWM 调制波有8 个输出通道,每一个输出通道都可以独立的进行输出。每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。每一个PWM 输出通道都能调制出占空比从0100%变化的波形。4.2.1PWM的主要特点 1、 它有8 个独立的输出通道,并且通过编程可控制其输出波形的周期。2、 每一个输出通道都有一个精确的计数器。 3、 每一个通道的PWM 输出使能都可以由编程来控制。4、 PW

35、M 输出波形的翻转控制可以通过编程来实现。5、 周期和脉宽可以被双缓冲。当通道关闭或PWM 计数器为0 时,改变周期和脉宽才起作用。6、 8 字节或16字节的通道协议。7、 有 4 个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。 8、 通过编程可以实现希望的时钟周期。9、 具有遇到紧急情况关闭程序的功能。 10、 每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。4.2.2PWM应用及初始化脉宽调制模块有8路独立的可设置周期和占空比的8位PWM通道,每个通道配有专门的计数器。该模块有4个时钟源,能分别控制8路信号。通过配置寄存器可设置PWM的使能与否、每个通道的

36、工作脉冲极性、每个通道输出的对齐方式、时钟源以及使用方式(八个8位通道还是四个16位通道)。在车模控制系统中,一共用到四路PWM输出来实现对电机的控制,由于8位的输出精度可以满足应用要求,所以分别用一路PWM输出用于控制电机的正转,一路PWM输出用于控制电机的反向制动,由于两个电机所以需要四路PWM信号。其初始化的步骤总结为:1、禁止PWM Disable PWM PWME=0 ; 2、选择时钟 Select clock (prescaler and scale) for the PWM PWMPRCLK ,PWMSCLA ,PWMSCLB ,PWMCLK;3、选择极性 Select pola

37、rity PWMPOL ;4、选择对齐模式 Select center or left aligned mode PWMCAE ;5、对占空比和周期编程Program duty cycle and period PWMDTYx,PWMPERx;6、使能PWM 通道 Enable used PWM channels PWME MCU。4.3 ECT模块ECT具有8个ICOC通道、4个8位或者2个16位的脉冲累加器(PAD通道,其OC部分与第6章的TIM模块相同,但IC及PAI部分与TIM模块有一定区别,其中4个IC通道与TIM模块相近,当相关引脚出现预定动作时,通过各自的捕捉寄存器TCn记录定时

38、器的值;另外四个IC通道,除了捕捉寄存器TCn,还各有一个缓冲器 TCnH,称为保持寄存器,可以在不产生中断的前提下,连续两次捕捉定时器的值。4个8位的PAl通道0-3与4个缓冲IC通道IC0-3相关联,并共享输入引脚PORTT0-3。每一个脉冲累加器通道都拥有一个缓冲器PACnH,也称为保持寄存器,可以在外部引脚出现预定动作时,保存它的累加值。两对8位的脉冲累加器还可以通过级联形成16位的脉冲累加器PACA、PACB。其运行模式为:停止:由于时钟停止,计时器和计数器均关闭。 冻结:计时器和计数器均保持运行,直到TSCR($06)的TSFRZ位被置1。 等待:计数器保持运行,直到TSCR($0

39、6)的TSWAI位被置1。 正常:计时器和计数器均保持运行,直到TSCR($06)的TEN 位和MCCTL($26)的MCEN位被分别清0。课题中利用通道7 输出比较中断产生脉冲周期,利用通道6、4 输出比较产生不同脉宽的波形,此方法产生的波形既可以改变周期同时也能够改变脉宽。从而对输入波形进行测量的同时产生一个输出波形。波形的脉宽可以在几微秒到数秒的范围内变化。工作模式为:通过一系列可供设置的控制寄存器和可供读写的数据寄存器对端口功能进行扩展,实现输入捕捉和输出波形产生两大功能。在车模控制系统中,ECT模块主要用来检测车速。通过输入捕捉功能来捕捉相邻脉冲信号的上升沿或下降沿的时间差即可方便计

40、算车速并反馈给MCU。4.4 PID控制算法车体控制算法是整个系统的核心,在经过对传感器信息的处理后,利用个陀螺仪和编码器采集的信息来控制和驱动电机的输出量,控制采用PID控制算法。4.4.1PID控制原理PID(比例、积分、微分)控制是一种建立在经典控制理论基础上,对过去、现在和未来信息进行估计的控制算法。PID控制策略其结构简单,稳定性好,可靠性高,并且易于实现。通过将理想输入与实际输出的误差信号送到PID控制器,控制器对误差信号分别进行比例(P)、积分(I)、微分(D)运算,其结果的加权和构成系统的控制信号。图15 单位反馈的PID控制原理框图比例环节的作用是按比例反应系统的偏差,系统一

41、旦出现了偏差,比例调节立即产生调节作用用以减少偏差。积分环节的主要作用是消除系统的稳态误差,其作用的强弱取决于积分时间常数界的大小。微分环节反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。4.4.2 PID参数的整定运用PID控制的关键是调整Kp,Ti和Td三个比例系数,Kp为比例系数,Ti不为积分时间常数,Td为微分时间常数,即参数整定。实际执行中,用试凑法进行参数整定12:1、整定比例部分,将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统静差小到允许范围,响应曲线己属满意,

42、那么只需比例控制即可,由此确定比例系数。2、如果在比例控制基础上系统静差不能满足设计要求,则加入积分环节,整定时首先置积分时间为很大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原值的0.8),然后减小积分时间,使得在保持系统良好动态的情况下,静差得到消除,在此过程中,可根据响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的控制过程,得到整定参数。3、若使用比例积分控制消除了静差,但动态过程经反复调整仍不能满意,则可加微分环节,构成比例、积分、微分控制器。在整定时,先置微分时间为零,在第二步整定基础上增大微分时间,同样地相应改变比例系数和微分时间,逐步试凑以获得满意的调节效果和控制

43、参数。4.5 人机交互 人机交互中需要对各串口的调试进行编程,主要针对有数码管显示、矩阵键盘调试、上位机调试等。4.5.1 LCD液晶显示 为了更好的显示实时数据,在设计时使用LCD液晶显示屏,作为系统的显示模块,是人机交互界面的重要组成部分,看率到小车的睁着重量,设计时选用了较为轻质的LCD,型号为:DM1260B,它采用16交界口,其中VSS姐弟,VDD接5V电源,VO为液晶显示器对比调整端,接正电源是对比度最弱,接地时对比最高。使用时可通过一个20K的电位器调整对比度,RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。当RS和RW共同为低电平时可以写入指令或者显示地址,当

44、RS为低电平RW为高电平时可以读忙信号,当RS为高电平、RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。数码管显示电路采用共阴极使用两个锁存器74HC573分别接到PORTA口和PORTB口来实现。 4.5.2 矩阵键盘按键识别在MC9S12XS128单片机的I/O口设计44行列式键盘,采用程序扫描识别键号,当有按键按下时,其键号显示在共阴极LCD液晶显示屏上,其电路如下图5.4所示。在键盘的按键识别中通常采用“行扫描法”(逐行或列)扫描查询法。判断键盘中有无键按下时,将列线PT0PT3置为输出,将其中一条线置低电平其余3条线

45、输出高电平,然后检测行线的状态。只要有一行的电平为低,则表示键盘中有键被按下,而且闭合的键为被拉低的低电平行线与4根列线中低电平线相交叉的对应按键。若判断所有行线均为高电平,则键盘中无键按下。但是此种方法单片机需要通过不停的扫描查询,方可准确的检测到按键值。考虑到PP口有中断功能所以可将这4个口设置成中断的模式来获得按键值,本设计中是将拉高的4位通过一个与门接到单片机的带中断的引脚上,这样当任意键按下时就会产生低电平发生中断,这时单片机再进行按键判断,从而无需一直查询,减少了MCU的负荷量。图16 矩阵键盘原理图4.5.3 串口与上位机的通讯矩阵车模在进行动作的时候,有很多数据是实时的,这些数据都是进行调试的基础,如果用LCD来显示是不现实的,由于单片机已有串行接口,已经通过MAX232电平进行转换,因此可直接和计算机进行通讯。5 双轮平衡小车的系统调试系统调试分为硬件调试和软件调试两个部分。只有按照一定顺序操作才能保证系统真正达到设计要求。5.1 调试策略调试策略是保证软硬件正常工作所不可缺少的方法,它包括硬件调试和软件调试。5.1.1硬件调试硬件调试:根据设计的原理电路做好车模后,便进入硬件调试阶段。调试的主要工作是排除故障,其中包括设计错误和工艺性故障。调试的内容主要包括下面几个方面:l 脱机检

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号