基于ARM9的自由摆平板控制系统设计
2012-08-15梁西银兰建平董秀娟马小倩
梁西银,兰建平,董秀娟,马小倩
(西北师范大学 物理与电子工程学院,甘肃 兰州730070)
本设计的重点在于通过加速度传感器MMA7455采集各关节处角度信息,并根据得到的角度值及任务要求控制步进电机的运转,完成自由摆臂末端平板姿态的调整,完成预定任务。通过MMA7455加速度传感器得到的是三轴加速度信息,而在实际控制过程中所需要的是角度信息,所以要用到三角函数完成加速度值到角度值的转换,其次实践证明MMA7455加速度传感器稳定性较差,需要通过滑动平均滤波算法对得到的三轴加速度值进行滤波处理,以达到精确控制的目的。而对于步进电机的精确控制则需要PID控制算法以去除控制过程中的抖动,达到自控系统“稳、准、快”的设计要求。综上所述,本系统中存在大量的数据运算及控制算法并且对实时性要求较高,因此选用主频高达400 MHz的S3C2440作为主控芯片,一方面能保证系统基本功能的实现,另一方面有助于系统中各种性能指标的提升。
1 硬件系统设计
本自由摆平板控制板采用S3C2440作为主控芯片,外接 Nor Flash AM29LV160DB、Nand Flash K9F1208及两块SDRAM HY57V561620构成嵌入式最小系统[1-4]。Nor Flash和Nand Flash同时存在的好处在于Nor Flash中存放BootLoader完成系统调试及NandFlash中程序的烧写,方便调试。系统设计了5个功能按键分别接到S3C2440 5 个外部中断引脚(EINT8、11、13、14、15),另外接 5 个 LED(GPH9、GPH10、GPF6、GPG1、GPB1)作为各类状态的指示信号。通过S3C2440 6个普通I/O口模拟两路IIC接口(GPF0~GPF5)分别接加速度传感器 1、2。4个 I/O(GPE11、12、13、GPG2)口接步进电机驱动器。如图1所示。
图1 自由摆平板控制板硬件示意图
2 软件系统设计
本系统软件设计相对较复杂,既要考虑系统基本功能的实现,又要考虑系统易于使用。从软件功能看,主程序主要完成键值处理、LED显示、调用相应任务子程序模块以及各个任务模块下相应算法的实现,系统主流程如图2所示。
图2 软件系统框图
2.1 加速度值到角度值的转换算法
本自由摆平板控制系统安装了两个加速度传感器MMA7455,即水平安装于平板底部的加速度传感器1与垂直安装在转轴处的加速度传感器2,两个加速度传感器安装位置不同,使用目的不同,因而对角度的转换方法也不同[5]。加速度传感器1主要用于在静态时对平板姿态的判定,因此采用加速度传感器以Z轴加速度值就可判断出平板静态时的姿态,如图3所示。由图可知Z轴所得加速度值只是重力沿平板法线方向的一个分量。故此可得:∠A=∠B=arcos(gz/g)
加速度传感器2主要用来动态测量摆杆摆角,为克服误差的引入,采用X、Y两个轴向的加速度值来测量摆角,测量原理如图4所示。由图 4 可知:θ=artan(gy/gx)。
2.2 步进电机的PID控制算法实现[6]
对于平板角度的调整是根据所采到的角度值和任务要求控制步进电机的转动来实现的。而如果根据角度偏差e(k)直接调整步进电机,则会带来抖动、超调等问题,故此考虑采用PID控制算法对步进电机进行调整。数字PID算法如式(1)所示:
化简得:
由式(2)可得,第k-1时刻PID调节的表达式为:
由式(2)、式(3)得:
式(4)即为本系统所使用的PID控制数学模型。
系统进入稳态后,偏差是很小的。如果偏差在一个很小的范围内波动,控制器读到这样微小的偏差计算后,将会输出一个微小的控制量,此时输出的控制值在一个很小的范围内不断改变自己的方向,频繁动作,从而发生抖动,这样不利于平板的精确控制,因此,当控制过程进入这种状态时,就进入系统设定的一个输出允许带 e0,即当采集到的偏差|e(k)|<e0时,不改变控制量,使步进电机的控制稳定进行。由式(4)可得步进电机PID控制算法流程如图5所示。
图5 步进电机PID控制算法流程图
2.3 平板旋转任务的实现
单摆一个摆动周期为2 s,步进电机旋转1°需要4个脉冲,故此任务中只需控制脉冲输出频率为720 Hz即可完成单摆摆动一个周期平板寻转一圈的要求。
2.4 硬币叠放任务实现
如图 6所示,将摆杆拉至一固定角度 α(α 在 45°~60°之间),系统通过平板底部角度传感器采集平板的倾角,根据PID算法控制步进电机将平板调至水平状态。将8枚硬币整齐叠放在平板中心位置,此时Z轴的加速度值等于1 g;放手后平板会略微倾斜,此时Z轴的加速度值小于1 g,因此可根据Z轴加速度值的大小判断松手时刻,与此同时通过转轴处的加速度传感器采集摆杆与垂直方向的夹角(即摆角 α),并控制步进电机偏转 α角度(即平板与摆杆垂直)。经受力分析可知,在平板与摆杆垂直状态时,各枚硬币X和Y方向所受合力均为0(即硬币处于平衡状态),硬币不会从平板滑落(对应多枚模式)。
2.5 激光笔照射任务实现[7]
假设单摆的初始位置在 56.3°(arctan(1/r)=56.3°)处,此时单摆的摆尖正指向A点处(若摆角摆于56.3°位置处则平板正好修正 90°),此时平板与单摆平行,若单摆顺时针转动角度θ(如图7所示),平板若要指向 A点,则需逆时针转动β角度,β和θ的计算关系如下(假设单摆与平板平行,最后减去90°就与题目要求一致):其中,α=θ-56.3°,β′=β-90°(平行修正为垂直),α 为单摆摆角,β′为平板最终调整角度(逆时针旋转为负角度,顺时针旋转为正角度)。
故可根 据式(5)生成 β′=f(α)的查找表,即根据摆角α查找出 β′。 该任务的程序流程图如图8所示。
图8 激光笔照射任务1流程图
激光笔照射任务2与上述基本原理相同,只不过任务2需要实时采集加速度传感器 1、2的值来调整平板姿态。
本设计从理论分析到元器件的选型,再到各个环节各类优化算法的使用,均保证了系统功能的实现和性能指标的提高。实验结果表明,该系统结构紧凑、稳定性好、控制准确,满足自控系统“稳、准、快”的设计要求,系统具有广阔的工业应用前景。
[1]肖成,罗坚,刘锰.基于 S3C2440的嵌入式智能小车控制系统设计[J].信息与电脑(理论版),2011(5):60-61.
[2]张自嘉,徐向明.基于 S3C2440和 AD9248的高速采集系统的设计[J].电子技术应用,2011,37(1):68-70.
[3]冯博琴.微型计算机原理与接口技术[M].北京:清华大学出版社,2006.
[4]邢博闻.加速度传感器在模型火箭定高分离中的应用[J].科技创新导报,2010(6):14-15,17.
[5]安福林.用于角度测量的加速度传感器输出信号的处理方法[J].军械工程学院学报,1994,6(3):212-216.
[6]卢亚平.基于 C语言的数字PID控制算法及实现[J].科技创新导报,2010(30):24-25.
[7]俞金寿,蒋慰孙.过程控制工程[M].北京:电子工业出版社,2007.