1、1摘要近年来,两轮自平衡机器人的研究取得了快速的发展,两轮自平衡小车的动力学系统是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。同时由于它具有体积小、运动灵活、零转弯半径等特点,必将会在军用和民用领域有着广泛的应用前景。本文主要介绍了基于FREESCALEMC9S12XS128单片机为控制核心的两轮自平衡小车系统,以验证经典的PID控制在动态平衡系统上的控制效果。在该系统上,姿态传感器采用MPU6050,单片机在采集到姿态数据后,采用KALMAN滤波器对得到的数据进行融合,并在此基础上分析不同滤波方法的效果。借助增量式PID控制PWM的输出和利用TB6612FNG控制电机的转
2、向以及转速,从而实现了小车的自平衡控制。关键词两轮自平衡系统;KALMAN滤波;数据融合;HCS12;MPU60502DESIGNANDIMPLEMENTATIONOFTWOWHEELEDSELFBALANCINGVEHICLEABSTRACTINRECENTLYYEARS,THERESEARCHOFTWOWHEELEDSELFBALANCINGROBOTHASMADEARAPIDDEVELOPMENT,THEDYNAMICSSYSTEMOFTWOWHEELEDSELFBALANCINGVEHICLEISAMULTIVARIABLE,NONLINEAR,STRONGCOUPLINGSYSTEM
3、,ANDALSO,ITSATYPICALDEVICESTOTESTAVARIETYOFCONTROLMETHODSBECAUSEOFITHASASMALL,FLEXIBLEMOVEMENTANDZEROTURNINGRADIUSITWILLHAVEAWIDERANGEOFAPPLICATIONSINMILITARYANDCIVILIANFIELDSINTHEARTICLE,ITDESCRIBESTHEFREESCALEMC9S12XS128MICROCONTROLLERBASEDCONTROLOFTWOWHEELEDSELFBALANCINGVEHICLESYSTEMTOVERIFYTHECL
4、ASSICPIDCONTROLSYSTEMINTHEDYNAMICBALANCEONTHISSYSTEM,ITUSEDMPU6050ASTHECARSTATESENSINGSYSTEM,ANDITUSEDTHEKALMANFILTERTOFUSETHEOBTAINEDANGLEDATA,ANDANALYZEDTHEEFFECTOFDIFFERENTFILTERINGMETHODSBASEDONTHISWITHINCREMENTALPIDCONTROLPWMOUTPUTANDUSETB6612FNGSTEERINGANDSPEEDCONTROLMOTORS,ENABLINGTHECARSSELF
5、BALANCECONTROLFINALLYKEYWORDSTWOWHEELEDSELFBALANCINGSYSTEMTHEKALMANFILTERHCS12MPU60503目录摘要1第1章绪论511两轮自平衡机器人概述512两轮自平衡机器人的发展513方案论证及选择614关键技术及目标7141姿态数据处理7142控制算法的实现8143目标8第2章两轮自平衡小车的原理921小车的直立控制922倾角与角速度的测量1323本章小结13第3章电路设计1431整体电路框图1432电源电路1533单片机最小系统16331S12单片机简介16332MC9S12XS128最小系统电路1634MPU605017
6、341MPU6050简介17342I2C通信1835电机驱动电路18351驱动芯片介绍18352驱动电路设计1936速度传感器电路20361光电编码器介绍2037无线遥控电路20371PT2262简介20372PT2262应用21438液晶显示电路22381LCD1602简介22382LCD1602电路2239车模控制电路全图23310本章小结25第4章系统软件设计2641控制算法介绍2642S12单片机初始化27421锁相环初始化27422PWM模块初始化27423串行通信初始化27424外部中断初始化2843PID控制的实现2844姿态数据处理28441角度计算函数28442滤波方法分析与
7、选择2845小车的运动控制3246无线遥控3247本章小结32第5章系统调试3451软件调试工具3452系统调试工具3453系统硬件电路调试3454姿态检测模块调试3455KALMAN滤波器参数的整定3656PID参数的整定3657本章小结37第6章总结3861总结与展望38参考文献40附录42附录一系统主控板42附录二系统核心源码435致谢46第1章绪论两轮自平衡系统最早可追溯到上世纪80年代,日本电气通信大学的山藤一雄教授提出的基于倒立摆原理的自动站立机器人的模型被认为是两轮自平衡小车的构思起源。本章主要介绍两轮自平衡小车的起源与发展、研究意义以及国内外的研究现状,并依此提出了本论文研究的
8、主要内容。11两轮自平衡机器人概述两轮自平衡小车是一种只有两个车轮且能在没有人为因素干预的条件下,能够自动保持的平衡的这样一个装置。自平衡小车系统的运作原理主要是飞机平衡的原理,也就是车辆本身的自动平衡能力1。自平衡小车系统通过陀螺仪和加速度计模块来检测小车的加速度以及角速度,MCU采集相关数据并进行运算,产生与当前系统姿态所适应的信号来驱动电机运动以达到平衡的效果。例如当系统向前倾时,经过姿态检测传感器检测出当前系统的姿态,MCU提取有关数据以后进行计算,驱动电机以一个合适的加速度向前运动,以此来使系统处于平衡状态。相反的,如果系统向后倾斜,那么小车将会以某个速度向后运动,保证小车处于直立状
9、态。虽然两轮自平衡系统提出的时间并不是很长,可是由于对两轮自平衡系统的研究有很重要的意义而得到了快速的发展。两轮自平衡小车的数学模型类似一阶倒立摆,它是一个典型多变量、存在严重非线性、非自治不稳定系统。这个系统是检验各种控制方法的理想平台。例如我们可以用经典的PID控制对其进行控制2,也可使用模糊控制理论对系统进行控制。另外两轮自平衡系统具有体积小、硬件易实现、运动灵活、零转弯半径等特点,这将会使其在未来得到广泛的应用。12两轮自平衡机器人的发展本世纪初,由于控制理论趋于完善,而且电子技术得到飞跃式的发展,实现两轮自平衡系统成为可能,于是该项技术迅速引起了研究机构和机器人爱好者极大地关注。出于
10、不同的应用与目的,不同设计方案和控制策略的自平衡系统相继诞生。在两轮自平衡系统的研究领域,国外的研究起步较国内早,国外已经有公司做出了非常成熟的产品,而且其技术己经达到了一个很高的水平,国内的研究相对较少。下面分别介绍国内外一些主要的两6轮自平衡系统的发展1SEGWAYHT2001年,美国的科学家KAMEN发明了一种新型的两轮交通工具“SEGWAY”3。这种交通工具节能环保、方便快捷以及更为实用,而且由于其体积较一般的交通工具要小很多,所以在解决交通拥堵方面具有得天独厚的优势。图121为SEGWAY公司生产的一种两轮自平衡电动车。SEGWAY的运作基本原理主要是建立在“动态稳定”的基本原理之上
11、的,它通过高精度的陀螺仪和其他角度传感器来检测车身的姿态,并通过高速的中央处理器发出指令,驱动电机以保持车身出于直立的平衡状态。2NBOT由美国科学家DAVIDPANDERSON研发的两轮自平衡机器人NBOT也是非常成功的应用例子。NBOT通过使用惯性传感器和电机编码器来实现系统的平衡。3UNIBOT2007年,UNIBOT诞生于加州大学圣地亚哥分校,UNIBOT是两轮自平衡系统的最新研究成果,采用了独轮自平衡机器人控制,结合了倒立摆和惯性系统的驱动方式。在UNIBOT这个系统中,采用了陀螺仪和加速度计作为姿态检测传感器,在车轮方向上利用电机驱动控制,在垂直于车轮方向上,利用不平衡体旋转来提供
12、补偿力矩。虽然目前只实现了倾角小范围控制,但具有很重要的指导意义4。国内在这方面的研究主要成果有台湾国立中央大学在2004年利用模糊控制实现了两轮自平衡小车的控制5。在2009年,北京工业大学电子工程与智能信息研究所研制出了“原人3号”机器人6,它是一种基于红外姿态检测的两轮自平衡机器人。通过设置机器人上部的红外传感器检测其与地面的距离,得出姿态信号,经过相应的处理之后,产生驱动信号。这种方法简单易行且有优良的控制效果。13方案论证及选择图121SEGWAY7由于两轮自平衡系统完美的综合了控制技术与电子技术知识,对加深所学的理论知识有很大的帮助。实现两轮自平衡系统的主要方式就是通过单片机采集姿
13、态传感器的数据来控制电机的运动。姿态传感器选用数字输出的六轴姿态传感器MPU6050。方案上的选择主要就是对MCU、电机驱动单元及控制算法的选择。首先,常见的单片机有8位的51单片机、8位的ATMEGA16单片机以及16位的FREESCALE单片机。那么两轮自平衡小车系统有三种方案可供选择。方案一,选用51单片机作为主控芯片。51单片机时目前发展最成熟的单片机,且型号众多、价格相对较低。可是由于其片内资源较少,而两轮自平衡小车系统需要A/D转换模块、PWM模块。如果选用51单片机的话,会增加外围电路的设计难度,而且由于51单片机的运行速度相对较慢,这将导致系统的整体性能不高。方案二,选用ATM
14、EGA16单片机作为两轮自平衡系统的主控芯片。虽然ATMEGA16单片机片内集成了A/D等资源,而且运算速度相比51单片机会快很多。但是由于ATMEGA16单片机只有32路I/O端口,若使用该单片机作为主控芯片,会导致I/O资源紧张。所以也不建议采用ATMEGA16作为主控芯片。方案三,使用FREESCALE的16位单片机S12XS128作为主控芯片。FREESCALE单片机运用在汽车控制方面有独特的优势,片内资源丰富、运算速度快、而且有非常丰富的I/O端口资源,便于两轮自平衡小车系统的扩展。因此,以FREESCALE的16位S12单片机作为两轮自平衡系统的主控芯片是极其合适的7。第二,在两轮
15、自平衡小车系统中,单机驱动单元影响着整个系统的性能。如果电机驱动单元效率高而且功率较大,那么整个系统的性能就得到了保障。常见的电机驱动芯片有L298N及东芝半导体公司的TB6612FNG等。本小车系统选用TB6612FNG芯片驱动电机8。TB6612FNG与L298N相比,除了具有L298N所具有的可以同时驱动两个直流电机之外,还有以下三个优势TB6612FNG所能提供的驱动电流比L298N更大。TB6612FNG的效率比L298N更高。TB6612FNG有很小的发热量。因此选择TB6612FNG作为电机驱动芯片是不错的选择。第三,两轮自平衡车属于本质不稳定系统,因此其实现的平衡是一种动态平衡
16、。在遇到外界干扰如何快速恢复,保持自平衡等问题是控制算法需要考虑的问题。传统的PID控制完全可以满足两轮自平衡车的控制系统要求。因此核心控制算法采用PID控制即可。综上所述,整个系统的实施方案就是以MPU6050来获得姿态参数,然后送给FREESCALES12单片机进行相关计算处理9,产生PWM信号。通过电机驱动芯片TB6612FNG驱动电机完成相应的控制要求,最终使小车能够直立。14关键技术及目标141姿态数据处理8两轮自平衡小车系统中,姿态数据的处理包括角度、角速度等数据的采集,数据的转换与计算以及相应的滤波处理。姿态数据的处理之于两轮自平衡小车系统犹如地基之于建筑。如果不能获得正确的姿态
17、数据,那么系统将不能达到期望的控制要求。而且在两轮自平衡小车系统中,对数据的准确性、实时性要求非常高。所以在两轮自平衡小车系统中,能够获取正确的、具有控制意义的姿态数据也就成功了一半。在得到姿态数据之后,由于得到的数据中包含了一些噪声,所以并不能直接用来控制小车。需要进行相应的滤波处理。常用的软件滤波手段主要有平均值滤波、互补滤波以及KALMAN滤波。其中,KALMAN滤波效果最好,可是原理较难,单片机运算时间较长。互补滤波实现比较容易,但是效果不及KALMAN滤波10。关于滤波的方法在后面的章节中将详细介绍。142控制算法的实现PID控制算法的实现又可以分为增量式PID和位置式PID。其中,
18、增量式PID和位置式PID相比,具有运算量小的特点,非常适合在单片机中实现。PID控制算法也可以做的很深很广,但是在两轮自平衡小车系统中,只需要简单入门算法即可承担控制任务。PID算法的实现根据增量式PID的表达式书写即可11。143目标本文主要介绍制作两轮自平衡小车系统的实现原理及方法,目标是(1)完成两轮自平衡小车的硬件设计与程序设计。(2)能够通过无线遥控器对小车的运动方式进行控制,并将其运动状态显示出来。(3)软件滤波的实现及结果分析,并分析KALMAN滤波与互补滤波的优劣势。(4)PID控制算法的实现。(5)检测PID的控制效果,并在理论上与其他控制方法进行对比分析。9第2章两轮自平
19、衡小车的原理本章主要介绍两轮自平衡小车系统的原理,结合相应的数学公式说明及简单的推导过程说明自平衡小车实现直立的原理及可操作性。21小车的直立控制在杂技表演里经常可以看到这样的表演,一个杂技演员可以用头或者身体的其他某个部位支起一个物体,并能使物体保持垂直于地面的状态。这也是两轮自平衡小车的最直观的体验,所以控制车模直立的直观经验来自于人们的生活经验。一个人通过练习可以让一支笔在手指尖上保持直立,不过这需要两个条件其一,手指可移动。其二,人眼可看到笔的运动趋势。其实,人眼、大脑和手构成了一个负反馈系统。同理,两轮自平衡小车系统的直立控制也是通过负反馈来实现的。由于小车的两个轮子有两个共轴电机连
20、接,所以小车只能在轮子滚动的方向上发生倾斜,那么这个时候只要控制车轮向与倾斜方向相同的方向运动,就可以抵消小车的倾斜趋势,也就可以使小车保持平衡了13,如图211所示。当车体发生倾斜时,为了确定车轮的运动方式,下面对小车的模型进行分析。两轮自平衡小车系统可以看作是一个底部可移动的单摆模型14,通过对比单摆系统的特性进行对比分析。我们都知道单摆能够稳定在竖直位置,其条件有两个(1)系统受到的回复力与位移相反;(2)系统受到的阻尼力与速度的方向相反。正是因为有了则两个力的存在,所以单摆才能稳定在平衡位置。同理,如果小车要像单摆那样能够保持平衡,那么小车也要满足上面的两个条件。下面分析一下小车处于直
21、立状态时的受力情况。如下图所示车体垂直车轮保持静止车体向左倾斜,车轮向左加速运行车体向右倾斜,车轮向右加速运行图211小车保持平衡示意图10图212小车受力分析通过分析可以发现,两轮自平衡小车之所以不能稳定在竖直方向上,是因为当小车偏离平衡位置时,小车受到的回复力与位移方向相同,而不是相反。因此,当小车偏离平衡位置时,小车会加速偏离平衡位置直到倒下。如果要通过控制是小车能够像单摆一样稳定在平衡位置,有两个办法可以达到目标(1)改变重力的方向。(2)施加另外一个力,使得小车的回复力与位移相反。显然,只有第二种办法可行。当小车偏离平衡位置时,控制小车向其倾斜的方向做加速运动,这样小车就会受到一个额
22、外的力,这个力与车轮的加速度方向相反,大小成正比。此时,小车所受到的回复力变为1SINCOSFMGMAMGMK21如果小车的加速度A与偏角成正比,比例为K1。当K1G时,那么回复力的方向便和位移的方向相反,小车就可保持平衡。此外,为了使能小车能够尽快的在垂直位置稳定,根据单摆的运动特性,还需要增加一个阻尼力。根据单摆的特性,增加的阻尼力大小应与偏角的速度成正比,方向相反。式21可以转换为12FMGMKMK22按照上面的控制方法,两轮小车能够稳定在竖直方向上。因此,可得到控制车轮加速度的控制算法12AKK23式中,为车模倾角;为角速度;K1、K2均为比例系数;K1、K2两个参数的作用如下图所示。
23、两项相加后作为车轮加速度的控制量。图213小车受力分析MMGSINMGSINFMGL11为了进一步确定比例系数K1、K2与小车稳定的关系,下面将通过对小车模型建模来确定其应满足的条件。在进行建模之前,设定以下假设条件假设小车的高度为L,质量为M,外力干扰引起车模产生的角加速度为XT。沿着垂直于小车地盘方向进行受力分析,可以得到小车倾角与车轮运动加速度AT以及外力干扰加速度XT之间的运动方程。通过分析可以发现,当车模静止时,系统的输入输出传递函数为21SHSGXSSL24此时系统具有两个极点PGSL。显然,一个极点位于S平面的右半平面。根据控制理论可知,此时的系统是不稳定。引入上面得到的加速度负
24、反馈控制后,得到新的系统如下图所示PS图213小车平衡控制的两个系数图214小车运动方程12此时系统的传递函数为2211SHSKKGXSSSLL25系统的两个极点为222142PKKLKGSL。系统稳定的条件是其两个极点都位于S平面的左半平面。因此,当12,0KGK时,小车能够在竖直方向上稳定。至此,可以得到要实现小车直立控制的条件有两个(1)能够准确的测量小车的倾角及角速度的大小。(2)可以控制小车的加速度。关于小车倾角及角速度的测量会在后面的章节中介绍。对小车加速度的控制实际上也是对电机的的运行状态进行控制。而电机的运行状态是与施加在电机上的电压相关的。通过对电机模型的简化,可以得到电机转
25、速与电压之间的关系,即电机模型可看成一个一阶惯性环节。11TTMTEKEUT26式中,E为电压;UT为单位阶跃函数;T1为惯性环节的时间常数;KM为电机转速常数。对应不同的电压时,电机的转速变化曲线如图所示E5VE4VE3VE2VE1V通过图中我们可以看到,电机的运行过程明显的分为两个阶段加速阶段和恒速阶段。通过控制电机运行过程中的加速阶段的加速度就可以控制小车保持平衡。而此时施加的电压大小等于上面计算的得到的加速度乘以一个比例系数的值。施加这样一个电压给电机,那么小车就可以保持平衡了15。/转速加速阶段恒速阶段T/MIN图215小车直立控制框图图216电机在不同电压下的速度曲线1322倾角与
26、角速度的测量倾角与角速度的测量是利用姿态传感器MPU6050得到的,将MPU6050安装好之后,当其敏感轴产生可测量的旋转时,相应轴的输出电压发生变化,经过MPU6050内部的16位AD转换器转换为数字量后,通过I2C总线输出,单片机直接采集相应的信号即可。在这里,需要采集一轴的加速度与角速度。将采集到的数据乘以相应的量纲过后,就得到了小车的倾角。23本章小结本章主要从原理上对两轮自平衡小车的直立控制方法进行了分析。其中最重要的就是能够准确的、快速的获得小车当前的角度与角速度。然后通过PID控制控制方法控制单片机PWM的输出来驱动电机运动,从而使小车能够自平衡。14第3章电路设计在了解了两轮自
27、平衡小车系统的原理之后,接下来的关键问题就是硬件的设计。合理的电路设计能够使小车系统更加的稳定可靠,也会使调试过程变的相对容易。本章将介绍两轮自平衡小车的电源电路、单片机最小系统、测速电路、MPU6050模块以及无线遥控电路。31整体电路框图在设计两轮自平衡小车系统之前,要先明确系统的输入量与输出量,并分配好I/O端口。这样才能有目的的设计硬件电路。在两轮自平衡系统中,系统的输入输出有(1)外部中断接口(3路)A测速左右两路,光电编码器B相脉冲输入。B无线遥控有效信号确认一路,无线遥控中断信号。(2)PWM接口(2路)A控制左右两个电机双向运行。(3)通讯接口(9路)ASCI(UART)三路,
28、用于串口通信,调试使用。BBDM六路,用于下载程序。(4)通用I/O接口AI2C两路,模拟I2C通信接口,用于与MPU6050通信。B无线遥控接收数据四路,用于接收无线遥控解码数据。CLCD1602接口十一路,其中8路用于1602数据线,三路用于1602控制线号线。D电机控制信号五路,一路用于电机运行状态信号STBY。另外四路用于电机转动方向控制。E方向判别两路,用于连接光电编码器B相脉冲,进行方向判断。可以看出,两轮自平衡小车系统用到的I/O资源是比较多的。MC9S12XS128具有丰富的I/O资源,能够满足系统要求,而且剩下的I/O资源还方便以后的拓展,比如加上超声波避障等功能。小车控制电
29、路整体框图如下15速度与方向检测INTERRUPT2I/O2电机驱动PWM2IN1/IN24电源5V12VMC9S12XS128控制算法车体直立车辆运行方向控制调试设置SCI3BDM3调试UART5V姿态传感器电机左电机右无线遥控INTERRUPT1I/O4速度脉冲信号I/O2图311小车整体电路图根据小车整体电路框图可知,控制电路分为以下几个模块(1)电源电路电源电压降压稳压与滤波。(2)单片机最小系统包括时钟电路、复位电路、BDM下载接口等。(3)电机驱动驱动两个电机的功率电路。(4)速度检测光电编码器检测电机的转速。(5)姿态数据采集电路(6)无线遥控PT2262/PT2272发码、解码
30、电路。下面分别介绍各模块电路的详细设计方法。32电源电路如果说单片机是两轮自平衡小车系统的大脑的话,那么电源无异于小车的心脏。电源系统设计的质量关系到整个系统的运行情况。只有一个稳定的电源,整个系统才能正常的工作。尤其是给单片机供电的电源,对电源质量的要求更高,如果电源波动很大,单片机就会出现复位的情况,由于电池的供电能力有限,所以当电机反向制动时,耗电非常大,这时电池电压就会被拉得很低,这时就要对单片机的供电进行保护。一种简单实用的方式就是用大电容给单片机储存电能,在电池电压拉低的短时间内给单片机提供电源,防止由于电压过低导致单片机复位。在两轮自平衡小车系统中,需要12V、5V两种电压大小的
31、电源。其中12V电压为电机的驱动电压,5V的电压是单片机以及姿态传感器、光栅编码器以及无线遥控模块的工作电压。整个系统的电源由一个大容量的12V锂电池提供,然后经过稳压芯片降压后得到5V的电压。用于产生5V电压的芯片选用常用的L7805三端稳压电压。使用L7805具有外围电路简单、价格便宜等优点。可是其内部功率损耗较大。5V的电源电路设计如下图16图321电源电路33单片机最小系统331S12单片机简介MC9S12XS128是FREESCALE公司推出的S12系列单片机中的一款增强型16位单片机。片内资源丰富,接口模块有SPI、SCI、IIC、A/D、PWM等常见模块,在汽车电子应用领域具有广
32、泛用途。MC9S12XS128单片机基于S12的CPU内核,可达到25MHZ的HCS12的25倍性能。S12X系列增加了172条额外指令,可以执行32位计算(共280条指令),总线频率最高可以达到40MHZ,改进了中断处理能力16。S12X系列的CPU采用复杂指令集CISC架构,集成了中断控制器,有丰富的寻址方式。中断有7个优先级并且内核支持优先级的调度,最多可有117个中断源,S12X可访问最多8M的全部存储空间包括片内和片外资源。MC9S12XS128单片机介绍主要特点有(1)CPU增强型16位HCS12CPU,片内总线时钟最高40MHZ;(2)片内资源8KBRAM、128KB程序闪存、2
33、KB数据闪存;(3)串行接口模块SCI、SPI;(4)脉宽调制模块PWM可设置成4路8位或者2路16位,逻辑时钟选择频率宽;(5)1个16路12位精度A/D转换器;(6)控制器局域网模块(CAN);(7)增强型捕捉定时器。MC9S12XS128单片机有112、80和64引脚3种封装形式。80PIN封装的单片机没有引出用于扩展方式的端口,仅引出了一个8路A/D接口。在本自平衡小车系统中,采用112引脚封装形式的单片机,这样便于以后功能的拓展。332MC9S12XS128最小系统电路本设计采用FREESCALE公司16位单片机MC9S12XS128为控制器,最小系统原理图如图33所示,主要包括单片
34、机供电、复位电路、时钟电路以及BDM接口电路。17图331HCS12最小系统34MPU6050341MPU6050简介MPU6050是全球首例6轴姿态传感器,而且其超小的封装在业界更是创下纪录。与MMA7260加速度计及ENC03陀螺仪相比,免除了组合陀螺仪与加速度计之间的轴差问题,同时也大大的降低了原件占用的空间,更利于模块化与小型化。MPU6050内部集成了3轴陀螺仪与3轴加速度计,内部拥有两个I2C端口,一个用于扩展其他的传感器,而另一个则作为MPU6050与MCU的通信端口。因此只需要两个端口就可以获取加速度与角速度等参数,能够节省I/O端口资源。MPU6050内部集成了6个16位的A
35、D转换器,输出加速度、角速度的数字量,通过I2C协议即可读取已经转换好的姿态数据,不用MCU在进行AD转换,减轻了MCU的运算负担17。另外,通过编程可以设置MPU6050内部加速度计与陀螺仪的量程。其中陀螺仪的量程可设为250、500、1000与2000/SEC几种方式。加速度计的量程有4种可选,分18别为2G、4G、8G和16G。342I2C通信I2C总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准18。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。虽然I2C通信具有很多优
36、点,可是对于是I2C通信的器件的读写必须严格的遵守I2C的工作时序,否则将不能成功的器件通信。MPU6050的I2C操作时序图如下图341I2C通信时序35电机驱动电路351驱动芯片介绍在两轮自平衡小车系统中,需要控制电机正反转与停止。因此对电机驱动单元的要求比较高。在本系统中,电机驱动芯片采用东芝半导体公司生产的TB6612FNG电机驱动芯片。TB6612FNG是一款新型驱动器件,它具有大电流MOSFETH桥结构,双通道电路输出,可同时驱动2个直流电机。它具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器
37、件。TB6612FNG的主要特点有(1)每通道输出最高12A的连续驱动电流,启动峰值电流达2A/32A连续脉冲/单脉冲;(2)4种电机控制模式正转/反转/制动/停止;(3)PWM支持频率高达100KHZ待机状态;19(4)片内低压检测电路与热停机保护电路;(5)工作温度2085;(6)SSOP24小型贴片封装;(7)外围电路简单,只需外接电源滤波电容。TB6612FNG芯片的封装图如下AO11AO12PGND13PGND14AO25AO26BO27BO28PGND29PGND210BO111BO112VM213VM314PWMB15BIN216BIN117GND18STBY19VCC20AIN
38、121AIN222PWMA23VM124TB6612FNG图351TB6612FNG引脚图其中,PWMA/PWMB为控制信号输入端;AO1/A02、B01/B02为2路电机控制输出端;STBY为正常工作/待机状态控制引脚;VM4515V和VCC2755V分别为电机驱动电压输入和逻辑电平输入端。TB6612FNG的逻辑真值表如下表所示输入输出AIN1/BIN1AIN2/BIN2PWMSTBYAO1/BO1AO2/BO2状态HHH/LHLL制动LHHHLH反转LHLHLL制动HLHHHL正转HLLHLL制动LLHHOFF停止H/LH/LH/LLOFF待机表351TB6612FNG控制真值表352驱
39、动电路设计下图所示为TB6612FNG与单片机组成的电机控制单元。单片机的通用I/O口输出作为AIN1/AIN2和BIN1/BIN2控制信号。STBY引脚作为控制电机运行或制动状态以及器件工作状态信号,也通过单片通用I/O口控制。PWMA、PWMB输入采用定时器输出硬件PWM脉冲,使得单片机CPU只在改变PWM占空比时参与运算,大大减轻了系统运算负担和20PWM软件编程开销。电路采用耐压值25V的10F电解电容和01F的电容进行电源滤波,使用功率MOSFET对VM和VCC提供电源反接保护。12345678P2HEADER812345678P1HEADER801UFC101UFC210UFC3A
40、O11AO12PGND13PGND14AO25AO26BO27BO28PGND29PGND210BO111BO112VM213VM314PWMB15BIN216BIN117GND18STBY19VCC20AIN121AIN222PWMA23VM124TB6612FNGU1GNDGNDVMVCCGNDAO1AO2BO2BO1GNDGNDGNDPWMAAIN2AIN1STBYBIN1BIN2PWMBGND图352TB6612FNG电路图36速度传感器电路361光电编码器介绍在本自平衡小车系统中,测速采用光电编码器进行测速19。光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量
41、的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。此外,为判断旋转方向,码盘还提供相位相差90的两路A、B相脉冲信号。该编码器单圈输出4200个脉冲,精度很高。37无线遥控电路371PT2262简介为了能够更好的控制小车,采用由PT2262构成的无线遥控方式控制小车的运动状态。PT2262/2272是一对带地址、数据编码功能的红外遥控发
42、射/接收芯片。其中发射芯片PT2262IR将载波振荡器、编码器和发射单元集成于一身,使发射电路变得非常简洁。接收芯片PT2272的数据输出位根据其后缀不同而不同,数据输出具有“暂存”和“锁21存”两种方式,方便用户使用。后缀为“M”为“暂存型”,后缀为“L”为“锁存型”,其数据输出又分为0、2、4、6不同的输出,在本系统中使用的是暂存型数据输出方式。PT2262IR发射芯片地址编码输入有“1”、“0”和“开路”三种状态,数据输入有“1”和“0”两种状态。由各地址、数据的不同接脚状态决定,编码从输出端DOUT输出,通过红外发射管发射出去。其编码时序波形如图2所示。DOUT输出的编码信号是调制在3
43、8KHZ载波上的,OSC1、OSC2外接的电阻决定载频频率,一般电阻可在430K470K之间选择即可。PT2272的暂存功能是指当发射信号消失时,PT2272的对应数据输出位即变为低电平。而锁存功能是指,当发射信号消失时,PT2272的数据输出端仍保持原来的状态,直到下次接收到新的信号输入。位“0”位“1”开路TEDOUT字组成同步头A3AA4字节12位地址同步位图371PT2262/PT2272通信时序图372PT2262应用图3是红外发射和接收的典型应用原理图,为了能正确解调出调制的编码信号,接收端需加一级前置放大级,保证输入PT2272的信号幅度足够大。PT2272各输出端通过各种接口即
44、可控制相应的负载。22Q22N3904Q12N3904100PFC1CAPD1LED01KR547KR41KR1470KR610KR310KR212Y1XTALS1SWPBGNDGNDTEOSI1OSI2DOUTVSSVDDA0A113VGNDGND5VGNDVTD0D3A0A5OSC1OSC2DINVDDQ3PHOTONPNGND编码器编码器5VGND输出图372PT2262/PT2272典型运用电路38液晶显示电路381LCD1602简介1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一
45、个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)20。1602具有对比度可调、内含复位电路、提供各种控制命令、有80字节显示数据存储器DDRAM、8个可由用户自定义的5X7的字符发生器CGRAM等特点。同时,微功耗、体积小、显示内容丰富、超薄轻巧。因此用1602来显示小车的运行速度是非常合适的。382LCD1602电路下图是LCD1602的典型应用电路图,图381LCD1602运用电路23LCD1602模块的读写
46、操作都是通过指令编程来实现的。1602内部有专用的清零、复位以及读写等指令,把这些指令写入相应的寄存器即可完成对应的操作。为了保证读写的正确性,对1602的读写操作均有相应的时序要求。其中1602的读写操作时序图如下图39车模控制电路全图综合前面各节设计的子电路,可以得到两轮自平衡小车的控制电路,电路全图如下图3821602操作时序2412345678910111213141516171819202122232425262728P2HEADER14X212345678MPU605012345678TB6612FNG12345678VINVOUTGND2C1C2C3C4GNDGNDGNDGNDG
47、ND12345678910111213141516171819202122232425262728P4HEADER14X2A12345678910111213141516171819202122232425262728P5HEADER14X2AVCC1GND3GND21GNDGND5V123456MOTOR1123456MOTOR212345678P7HEADER4X212345678P6HEADER4X25VGND5VGNDGNDGND5V5V12V12V5VGNDA2SCLA2SCLA0SDAA0SDAH6AXIANGH4AXIANGB7BXIANGB5BXIANGH4AXIANGB5BX
48、IANGH6AXIANGB7BXIANGA7AIN1A7AIN1A6AIN2A6AIN2A3BIN1A3BIN1A1BIN2A1BIN2A5STBYA5STBYP1PWMAP1PWMAP3PWMBP3PWMBGNDGNDB01B02A01A02B01B02A01A02GND1VCC2VO3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BGVCC15BGGND16LCD1602LCD1LCD16021KR1RPOTC5GND5VC6GND5V1234567P3无线5VH3VTGNDB0D0B2D1B4D2B6D3B0D0B2D1B4D2B6D3H3VT
49、T0DB0T1DB1T2DB2T3DB3T4DB4T5DB5T6DB6T7DB7T0DB0T1DB1T2DB2T3DB3T4DB4T5DB5T6DB6T7DB712345678P1MMA7361ENC03GND5VAD0GYROAD1ANGAD2XAD3YAD4Z33VAD0GYROAD1ANGAD2XAD3YAD4ZA4RSB3RWB1ENA4RSB3RWB1ENMC9S12XS128核心板电机接口无线遥控模块电源电路LCD1602电路电机驱动MPU6050MMA7361ENC03模块图391小车控制电路全图25310本章小结本章主要介绍了两轮自平衡小车的主要部分电路设计,电路的设计直接关系到系统的性能的好坏。在设计电路时,应充分考虑干扰的影响。在电源电路的设计时,输入输出都并接电容是为了增加电源的可靠性。在使用实时,输入端的电容容量可以适当的大一点,而输出端的电容则不能太大,在100UF以内为宜。输入端电容较大时,当切断电源之后,电容可以使电路缓慢断电,以减少对器件的冲击。26第4章系统软件设计在完成系统硬件的设计之后,接下来就是程序的编写。在这一章,主要介绍两轮自平衡小车系统的控制算法实现。41控制算法介绍在两轮自平衡小车系统中,
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。