基于MC9S12XS128的二轮直立车设计与实现
2014-09-26龚晓辉薄祥岑
龚晓辉,薄祥岑
(中南大学 信息科学与工程学院,湖南 长沙 410083)
进入21世纪以来,随着我国城乡经济的高速发展,人们生活水平的提高,越来越多的人开始拥有私家车,这在一定程度上造成了日益严重的交通压力。为了解决这一问题,人们开始研究新的交通工具。与三轮车,四轮车等交通工具相比,两轮车具有的便于在狭窄空间运行,轻便灵活的车身以及易于存放管理的特点,成为近年来的一个研究热点,具有广泛的运用前景。鉴于此,本文以玩具车模(以下简称车模)为研究对象,以现代电路电子先进的SMT技术为依托,使用先进的控制理论,对两轮车进行了深入研究。
MC9S12XS128是飞思卡尔半导体公司推出的性价比较高的16位单片机。日本村田公司生产的测量角速度的传感器ENC-03RC价格低廉,配合三轴角度测量传感器MMA7361可以实现角度的测量。本文以MC9S12XS128为核心控制器,以ENC-03RC和MMA7361为主要传感器,采用先进PID算法,设计了直立速度控制器,实现了车模的直立运行。
1 系统总体方案设计
1.1 车模倾斜角度的测量
通过对倒立摆的研究可以发现,要实现车模的直立控制,需要克服车模的重力影响。要做到这一点,必须获得车模倾斜的角度以及角速度[1]。这样,当车模往后倾斜时,通过得到的角度与角速度 控制车模电机往后加速,当车模往前倾斜时,利用角度与角加速度的值使电机往前加速,从而保持车模在平衡点直立。
单独使用角度传感器MMA7361可以测量倾斜角度,再通过微分可以获得角速度,但是由于其存在一定的噪声,因此不适合用于直立控制。基于此,本文结合两种传感器,使用匹配滤波算法,实现角度与角速度的测量。匹配滤波算法的原理框图如图1所示。
图1 匹配滤波算法原理框图Fig.1 Structure diagram of the matching filter algorithm
1.2 车模的直立控制
由图1.1可知,通过匹配滤波算法实现了车模角度的平滑,由陀螺仪传感器得到了角加速度的值。车模的直立控制是通过角度负反馈控制,使其实现直立控制。使用比例控制,可以控制车模在平衡点直立[2]。但是要保证车模具有较强的抗干扰性,具有快速的响应速度,即当车模遇到干扰时能够快速稳定到平衡点,还需要用到微分控制,即加入车模的角加速度[3]。这样,使用角度的比例与微分控制可以实现车模快速地稳定在平衡点(车模实际模型待画)。直立控制的原理图如图2所示。
1.3 车模的速度控制
图2 车模直立控制原理图Fig.2 Block diagram of car upright control
为了解决陀螺仪传感器温漂以及传感器安装问题,可以通过加入速度控制来实现车模的平衡点稳定。通过车模的角度控制车模的直立是一个正反馈的过程而不是负反馈,这与其它常见的控制方式不同。其根本原因在于车模的重力方向与恢复到平衡点的力的方向是相反的。当车模快速向一个方向倾斜时,为了改变运动方向,即改变车模的倾斜角度,这时应该施加正反馈使电机加大力度,改变车模倾角,而不是减小电机控制量。所以速度反馈是一个正反馈。由于车模的执行机构是直流电机,通过控制电机实现对车模直立与速度控制,由电机拖动可知直流电机产生的力矩与电流的关系近似为
其中Ce为电机常数,φ为电势常数,Ia为电枢电流。
从式(1)可以将电机看作一个线性机构。这样直立控制与速度控制可以看作两个控制器线性叠加在一起,并且相互之间是可以近似看作无耦合的[4]。这时可以独立于直立控制,单独设计速度控制器。速度控制采用改进型PI控制器,图3表示了速度控制的原理框图:
图3 速度PI调节器原理框图Fig.3 Block diagram of speed PI regulator
车模直立运行的关键是直立控制与速度控制,基于陀螺仪与加速度计以及测速传感器可以实现。整个系统的原理框图如图4所示。
图4 系统的整体原理框图Fig.4 Block diagram of overall system
2 系统的硬件设计
系统硬件由主要由MC9S12XS128最小系统,电机驱动电路,速度传感器电路,陀螺仪与加速度计电路与调试电路等组成。测电机速度时采用单片机测速模块和计数器芯片CD4051B。电机驱动芯片采用集成驱动芯片BTS7960。调试电路使用PL2303芯片,将单片机中的信息传回到上位机。硬件系统框图如图5所示。
图5 系统整体硬件原理图Fig.5 The schematic of system hardware
3 系统的软件设计
3.1 数字PID算法
模拟PID的表达式如式(2)所示
将其数字化,为
到这一步已经求得数字位置式PID的表达式。本文设计的直立与速度控制器的核心思想是从数字位置式PID表达式来的,下面说明软件的各个部分。
3.2 软件各部分实现
系统的软件部分主要由传感器信号滤波处理,匹配滤波算法,直立控制算法以及速度控制算法组成。信号的采样在中断函数中处理。为了减轻噪声干扰,在程序采取了中位值,平均值等几种算法结合的方式。匹配滤波算法用于获得车模的倾角与角加速度。直立控制算法用于获得车模直立控制量。速度控制算法使用PI算法实现车模的静止运行。
4 实验应用
本文的车模直立行走算法实现了基本功能。但是存在很多参数需要调整,首先在使用AD采样得到陀螺仪与加速度计信号值后,要减去静态值,然后需要加速度参数与陀螺仪参数进行归一化处理,得到实际的角度。同时,在匹配滤波算法中存在比例因子GTA需要调试。而且,在直立控制与速度控制中分别存在P参数,D参数,以及速度P参数,速度I参数。这些参数需要不断调试才能得到一个较好的效果。本文经过长期测试,得到了一定的效果,图6表示匹配滤波算法算得的车模角度。
图6 匹配滤波算法效果图Fig.6 Result of matching filter algorithm
图7 车模速度为0时的效果图Fig.7 Case of speed is zero
在该图中可以看到,蓝色的线毛刺较多,而另外那条线明显平滑,没有噪声,而且也很好地跟踪到了加速度计传回的角度,说明达到了预期的效果。运用本文提出的直立速度控制算法,得到车模直立运行的效果,图7中设定车模速度为0,立在原地的效果图。
5 结束语
文中基于加速度传感器MMA7361与陀螺仪传感器ENC03-RC设计与实现了二轮直立车的速度与直立控制方案。实验证明,整个系统具有较强的抗干扰能力与较快的动态响应特性,二轮直立车可以很好地实现直立运行。
[1]桑英军,范媛媛,徐才千.单级倒立摆控制方法研究[J].控制工程,2010,17(6):743-746.
SANG Ying-jun,FAN Yuan-yuan,XU Cai-qian.Control methods study of single inverted-pendulum system[J].Control Engineering of China,2010,17(6):743-746
[2]夏朝辉,孟飞,周鑫,等.一级直线倒立摆PID复合控制研究[J].城市建设理论研究,2012(13):1-4.
XIA Chao-hui,MENG Fei,ZHOU Xin,et al.A single inverted pendulum PID control research[J].ChengShi Jianshe LiLun Yan Jiu,2012(13):1-4
[3]张阳.MC9S12XS单片机原理及嵌入式系统开发[M].北京:电子工业出版社,2011:50-63.
[4]晏永红.PID控制器仿真研究[J].价值工程,2011(30):152-155.
YAN Yong-hong.Simulation of PID controller[J].Value Engineering,2011(30):152-155.
[5]陶永华.PID控制器仿真研究[M].北京:机械工业出版社,2003:100-102.
[6]赵建伟,阮晓钢.两轮直立式自平衡移动机器人的控制系统设计[J].北京工业大学学报,2009,35(1):100-106.
ZHAO Jian-wei,RUAN Xiao-gang.The Design of dual-wheel uprightself-balance motion robotcontrol[J].Journalof Beijing University of Technology,2009,35(1):100-106.