APP下载

两轮自平衡智能小车控制系统的设计与实现

2013-07-16张启秋蔡雄友叶骏辉刘海刚项华珍

关键词:飞思陀螺仪加速度计

张启秋,蔡雄友,叶骏辉,刘海刚,项华珍



两轮自平衡智能小车控制系统的设计与实现

张启秋,蔡雄友,叶骏辉,刘海刚,项华珍

(五邑大学 信息工程学院,广东 江门 529020)

设计了以飞思卡尔系列MC9S12XS128单片机为核心控制器,加速度计MMA7260、陀螺仪ENC03为角加速度和角度测量仪的两轮自平衡智能小车控制系统. 该系统通过对测量出的小车倾斜角度及角加速度进行计算和处理,实现了两轮直立小车的自平衡及小车的速度控制、方向控制和基于轨道的变速控制. 该智能小车在华南赛区飞思卡尔智能小车大赛电磁组获三等奖.

自平衡;速度控制;方向控制;变速

两轮自平衡车是一种动态平衡机器人,其两轮共轴、独立驱动、车身重心位于车轮轴上方,通过运动保持平衡,可不借助外力直立行走[1]. 近年来,两轮自平衡小车以行走灵活、便利、节能等特点在多个领域得到了较大的发展. 第七届“飞思卡尔”杯全国大学生智能车竞赛的电磁组比赛要求利用赛用C型小车双后轮驱动的特点实现两轮自平衡直立行走. 本文设计并制作了一台两轮小车,用飞思卡尔系列MC9S12XS128单片机作为核心控制器,MMA7260加速度计和ENC03陀螺仪为姿态敏感元件,实现两轮小车的自平衡. 根据设定速度与小车速度的偏差,控制电机的电压以实现速度控制,利用电磁感应线圈采集路径信息,根据路径的弯度控制小车直立角度实现变速控制,从而实现两轮直立车的寻迹变速方案.

1 系统组成

系统主要由飞思卡尔公司生产的16位双核微型处理器MC9S12XS 128、直立控制模块、速度控制模块、方向控制模块和变速模块等功能模块组成. 系统框图如图1所示. 对铺设在车道中心的铜线通交流电,使车道产生交变磁场,小车将通过寻迹该磁场行驶在车道上. 直立控制模块包含陀螺仪及加速度计,安装在小车的中心偏下位置,使小车在行驶过程中保持直立. 速度控制模块通过安装于左、右轮的编码器测速,与设定速度进行比较,控制小车按设定速度行驶. 方向控制模块通过安装于小车运动前方探测支架上的左、右两电磁传感器,控制两轮实现差速转弯,以控制运动方向. 变速模块利用左、右两电磁传感器测量的电压,进行一定的运算调节,通过控制小车倾角的大小来控制小车行进加速度的大小.

图1 系统总体框图

2 各个控制模块

2.1 直立控制模块

小车的直立控制是两轮车行走的基础. 它通过ENC03陀螺仪采集到的角速度,滤波后进行积分,得到的角度值作为脉冲宽度调制(PWM)的比例系数控制电机,实现两轮车的直立行驶[2]. 积分得到的角度值每隔若干时间与加速度计采集的角度值进行比较,用以消除陀螺仪积分误差和零偏量,从而使陀螺仪的积分值能很好地跟踪加速度计所测得的瞬时角度值[3].

如果角速度的积分间隔时间太长,则不能很好地反映车模的角度变化情况,如果时间太短则不能很好地消除陀螺仪的噪声影响. 分析积分数据后,发现积分时间在4 ms时的效果最好. 而陀螺仪的积分结果和加速度计进行比较的时间若太长,则不能很好地跟踪加速度计的值,若太短会带入加速度计的噪声. 通过分析陀螺仪的积分数据,确定比较时间在20 ms,陀螺仪的积分结果能很好地跟踪加速度计输出的角度值,同时输出数据平滑,能很好地反映车模的瞬时角度值.

2.2 速度控制模块

速度控制是在小车直立行驶的基础上,通过给小车一个设定速度,将编码器测得的实际速度与设定速度比较. 比较结果作为反馈量,控制PWM的输出, 使小车按设定速度行驶.

由于MC9S12XS128单片机只有一路脉冲计数器,因此采用分时测速的方法实现对小车左、右轮速度的测量. 利用3路2通道数字模拟开关CD4053芯片中的B通道,分别对2路编码器进行分时导通,从而实现分时测速. 如图2所示, 左轮、右轮速度从BY、BX输入,从BXY输出并加载到单片机的片内脉冲计数端(PT7脚),由MC9S12XS128的任一普通输入输出口控制CD4053的B脚来实现选择,当B=1时测量BY通道(左轮)轮速,当B=0时测量BX通道(右轮)轮速.

2.3 方向控制模块

小车运行方向采用差速控制,通过测量左、右两电磁感应线圈的电压数值,两者之和及两者之差分别加载到外轮和内轮的PWM输出,从而实现两轮小车的差速转弯,其示意图如图3所示.

图2 用CD4053实现分时测速电路图

图3 小车方向控制示意图

差速控制算法公式为:

左轮速=左轮速-(左传感-右传感)×比例常数

右轮速=右轮速+(左传感-右传感)×比例常数

2.4 变速模块

电磁两轮自平衡小车的变速是速度控制的一个难点. 小车在直立状态下的向前或向后的倾角大小直接影响直立时输出到电机电压的大小,因此通过控制小车的倾角来控制车子的加速度[4]. 实现的方法是先设定一个限制值作为加速与减速的分界线,将左右电磁传感器测量的电压之差和电压之和进行比例调节,得到左右传感归一差值, 再将归一差值与设定的限制值进行比较,若超过限制值则减速,直到小车运动方向与车道上的电磁定向铜线方向一致,反之加速前进. 此限制值的取得与跑道的弯度有关,若跑道弯道弯度小则限制值取值小,若跑道弯道弯度大则限制值取值大,本文取值为0.08. 具体程序算法流程如图4所示.

图4 小车变速算法流程图

图4中设定时间常数值是为了避免小车因一直加速导致车速太快而冲出跑道. 故设置定时加速,使车速在可控范围内. 时间常数值的大小可以根据赛道直道的长短和车模速度来设定,最佳方案是减速结束时进入弯道,取值为100 ms;小车在直道时的速度与时间关系示意图如图5所示.

变速函数实现程序如下:

#define CHANGESPEEDFUNCTION //打开变速数

#define ChanSpeedPmin -0.08 //用于判断是否在直道,数据试验测得

#define ChanSpeedPmax 0.08

#define AccExcursion 40 //加速度计的零偏

#define AcceTime 10 //加速时间限制

#define AcceP 15 //增加加速度的大小

#ifdef CHANGESPEEDFUNCTION

void ChangeSpeed(int DireL,int DireR){ //变速控制函数,此函数在中断中调用

float ScaleFactor=0;

ScaleFactor=(DireL-DireR)/(DireL+DireR); //左右控制变量

if((ScaleFactor>ChanSpeedPmin)&&(ScaleFactor

AngleExcursion=AccExcursion+AcceP; //更改加速度计的零偏值,即加速

DiretionSpeednum++;

if(AcceTime==DiretionSpeednum) { //加速时间到就减速

DiretionSpeednum=0;

AngleExcursion=AccExcursion-AcceP; //减速

}

}

else{

AngleExcursion=AccExcursion; //如果在弯道就正常控制,即两轮中心点为匀速

}

}

#endif

图5 直道时小车速度与时间的关系曲线

3 结束语

本文讨论了两轮自平衡小车控制系统的设计思想与实现方法,从系统中直立控制模块、速度控制模块、方向控制模块和变速模块等构成入手,对速度控制、方向控制和变速等模块等软硬件进行了分析,并给出了关键程序段. 通过测试以及飞思卡尔智能车比赛,证明本系统的设计是合理的,也大大提高了小车运行的速度. 开展对两轮自平衡车的深入研究对提高我国在该领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义.

[1] 王宜怀,曹金华. 嵌入式系统设计实战—基于飞思卡尔S12X微控制器[M]. 北京:北京航空航天大学,2011.

[2] 王良成,杨志民,胡聪聪,等. 两轮自平衡小车的设计与实现[J]. 实验室科学,2012,15(6): 52-55.

[3] 段旭东,魏衡华,陈星. 基于DSP的二轮小车-倒立摆系统[J]. 控制工程,2004, 11(6): 521-524.

[4] 刘金琨. 先进PID控制及其MATLAB仿真[M]. 北京:电子工业出版社,2003.

[责任编辑:韦 韬]

Design and Implementation of the Control System for Two-wheel Self-balancing Smart Cars

ZHANGQi-qiu, CAIXiong-you, YEJun-hui, LIUHai-gang, XIANGHua-zhen

(School of Information Engineering, Wuyi University, Jiangmen 529020, China)

A speed control system is designed for the two-wheel self-balancing smart vertical car. The system adopts Freescale MC9S12XS128 as the core controller, the accelerometer MMA7260 for measuring angle acceleration and the gyroscope ENC03 for measuring the tilt angle of the car. The control of self-balancing, speed, direction and speed changing following the orbit of the smart car is achieved by measuring and calculating the angle acceleration and the tilt angle of the car. The designed car got a third prize in the Electromagnetic Group in the South China District Freescale smart car competition.

self-balancing; speed control; direction control; regulating speed

1006-7302(2013)03-0057-04

TP242.6

A

2013-03-04

张启秋(1988—),男,广东茂名人,在读本科生,主要从事传感器及智能控制技术研究;刘海刚,高级实验师,通信作者,主要从事传感器技术及应用研究.

猜你喜欢

飞思陀螺仪加速度计
基于EMD的MEMS陀螺仪随机漂移分析方法
我国著名陀螺仪专家——林士谔
基于遗传算法的加速度计免转台标定方法
微机械陀螺仪概述和发展
飞思卡尔AC60锂电池管理系统设计
常温下硅微谐振加速度计零偏稳定性的提高
MEMS三轴陀螺仪中不匹配干扰抑制方法
高g值加速度计高冲击校准技术综述
四加速度计组合的测试方法研究
现代飞思1.6T:不再“软脚”