ARM与MEMS器件的微惯性测量装置设计
2008-05-09 来源:单片机及嵌入式系统应用
在仿生推进机理的研究中,精确测量鱼类尾鳍拍动参数对于鱼类仿生推进机理研究及工程应用具有重要的意义;然而,目前研究者大多采用分析高速摄像机拍摄的图像获得参数的观测方法。这种方法受到环境与设备的限制,结果精确度较差。本设计是一种基于MEMS器件的生物运动微惯性测量装置。利用该装置实现了对SPC-III机器鱼尾鳍拍动参数的精确测量,为国内首次利用MEMS器件进行的活体鱼尾鳍拍动参数测量实验打下了基础,为机器鱼仿生推进设计理论提供支撑。
1 设计要求和系统结构
根据活体鱼类的生物特征和实验本身的特点,微惯性测量装置应该满足下列设计要求:体积小,质量轻,功耗低,采集频率和采集精度高,防水密封性能良好。为了实现这些需求,微惯性测量装置的硬件由两部分组成:①微处理器单元;②微惯性传感器单元。微处理器单元主要包括微处理器、A/D转换芯片和Flash。微处理器作为核心单元,通过SPIl口连接A/D转换芯片完成数据采集,通过SPIO口连接Flash完成数据存储,通过串口与上位机通信。微惯性传感器单元是由MEMS加速度计和MEMS陀螺所组成的,完成加速度与角速度的原始信息采集任务。采集的原始信息经过A/D转换处理后,写入Flash芯片中保存,或通过串口直接发送至上位机进行处理。系统原理简图如图l所示。
2 微处理器单元
2.1 LPC2129处理器
本装置既要求微处理器具有一定的处理能力又要求功耗低、体积小,所以选用Philips公司的LPC2129。LPC2129基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-SCPU,并带有16 KB片内SRAM和256KB嵌入的高速片内Flash存储器。LPC2129具有LQFP64的较小封装、极低的功耗、多个32位定时器、4路10位ADC、9个外部中断、最多可达46个GPIO等。
在LPC2129的软件设计上,未采用ARM上常用的uC/OS-II或uClinux操作系统,而是使用前后台式的定时中断结构。这种前后台式的定时中断结构更适于实时性要求很高的控制系统,可以保证控制回路延迟均在一个设计确定的范围内,并且各个模块问优先级关系十分明确,使用起来较为方便。
2.2 A/D转换采集芯片ADSl256
A/D转换芯片采用美国TI公司的24位串行模/数转换器ADSl256。其可提供高达23位的无噪声精度,数据速率最高可达30 ksps。ADSl256采用四线制SPI通信方式,与LPC2129的SPIl接口相连,可以灵活方便地进行通信。
ADS1256采用多通道循环采集的工作方式。在数据准备信号DRDY提示可以提取数据后,首先将当前的采集通道变为下一个采集通道,开始新的采集转换,然后再马上提取A/D转换寄存器中的数据(这时的数据其实是上一轮转换好的数据)。这种方式在实现提取数据的同时进行新数据的采集转换,是一种高效率的工作方式。
2.3 Flash芯片AT45DB041B
Flashl选用Atmel公司的可编程串行存取芯片AT45DB041B。主存储单元分为2048页,每页264字节;具有2个264字节静态随机存储器作为数据缓冲器。
AT45DB04lB与LPC2129的SPI0接口相连,采集的数据首先写入Flash的缓冲区2中,再将缓冲区里的数据写入Flash的主存页面进行保存,待离线的数据分析处理。
3 微惯性传感器单元
微惯性测量装置的MEMS传感器单元由微机械陀螺和微加速度计组成,可精确测量载体的一个轴向角速度信息和一个轴向加速度信息。
3.1 ADXRS300单角速度陀螺仪
ADXRS300是美国模拟器件公司生产的基于MEMS技术的角速度传感器。ADXRS300采用+5V电源供电,测量偏航角速度的范围是±300rad/s,灵敏度为5mV/(rad•s-1),零位输出电压为2.5V。通过外部电阻和电容可分别设定测量角速度的范围、带宽及零位输出电压。采用BGA-32封装技术,外围尺寸仅为7mm×7mm×3mm,重量仅0.5g。
设被测量的角速度为αv,单位为(°)/s;输出电压为Uo,单位为mV;灵敏度K为5mV/(°)•s-1,零位输出电压为2.5V,则有关系式:
3.2 ADXLl50单轴加速度计
ADXL150是美国模拟器件公司生产的基于MEMS技术的单轴微加速度传感器。ADXL150的主要性能特点:零位输出偏置电压为Us/2,测量范围为±50g,灵敏度系数为38mV/g,非线性度0.2%,零加速度漂移为0.2g;4~6V供电均可工作;功耗很低,静态电流只有1.8~3.5mA。
设被测量的加速度为av,单位为g;输出电压为Uo,单位为mV;灵敏度为K,单位为mV/g;电源电压为Vs,单位为mV,则有关系式:
4 速度、角度、位移的测量原理
角速度与加速度信息经过积分计算处理后,可以得到角度、速度、位移等信息,故该装置在可测量载体角速度与加速度信息的基础上,能够实现载体的多种运动状态信息的测量。
设采样周期为T,v(k)为kT时刻的速度,x(k)为kT时刻的位移,a(k)为kT时刻的加速度,a(k)为加速度的连续真值,则有下列求解速度的积分公式:
区间[kT,(k+1)T]内所包的面积。己知加速度在kT、(k+1)T时刻的采样值为a(k)和a(k+1)可以把加速度a(t)在时间区间[kT,(k+1)T]内所包围的形状近似为一矩形或梯形,采用梯形更精确一点,如图2所示。
因而上式可以近似为:
已知A/D采样周期为t,在某时刻T1时载体的角速度为w1,线加速度为a1,线速度为v1。经过一个采样周期t后,在T1+t时刻载体的角速度为w2,线加速度为a2,线速度为v2,在该采样周期t中载体转过的角度为α,载体的位移为s,则有:
通过积分计算即可得到载体的角度、速度、位移等信息。
5 应用
5.1 系统集成
微惯性测量装置由处理器单元模块和传感器单元模块组成。两模块通过板问总线连接,相错放置,以最大限度地利用空间,达到微小化的尺寸要求。装置采用7.2V锂电池供电。最终封装后的装置重量仅为25g。
采用NI公司的LabWindows/CVI软件开发了上位机数据处理软件。数据处理软件读取微惯性测量装置采集的速度信息,生成速度/角度,位移曲线,得到载体的摆角、振幅值。
5.2 SPC-III机器鱼尾鳍拍动参数测量实验
利用该微惯性测量装置对北京航空航天大学机器人研究所ITM实验室开发的SPC-III机器鱼进行了机器鱼尾鳍拍动参数的测量实验。微惯性测量装置安装于机器鱼尾鳍尾柄处,测量装置的采集频率设定为1kHz。SPC-III机器鱼以1Hz频率稳定拍动情况下,采集的数据经上位机数据处理软件处理,可得到SPC-III机器鱼的尾鳍拍动参数:拍动频率1Hz,摆角幅度41.70°,振幅97.368mm,最大角速度124.264(°)/s。角速度曲线如图3、图4所示。
由表1可知,测量数据与理论设计数值相差不大。造成误差的可能原因:陀螺与加速度计本身存在误差偏值,其中包括零位误差和动态误差等;机器鱼尾鳍拍动机构不是非常精密,存在偏差。
根据鱼类尾鳍推力的估算方法,估算得到SPC-III机器鱼以1 Hz频率拍动时尾鳍产生的平均推力为10 N,如表2所列。
SPC-III机器鱼采用的两关节并联机构尾鳍推进器可以产生几十牛的推力,实际推力与估算推力基本符合,初步验证了基于理想推进器理论和动量定理的尾鳍推力估算方法。在不具备水洞模型试验、CFD水动力计算仿真的条件下,利用该方法能够快速、简便地得到尾鳍推力的估计值,或反解尾鳍的运动参数。这种推力估算方法已经成功地运用于北京航空航天大学ITM实验室SPC系列机器鱼的设计和实验工作中。
结语
利用一种基于MEMS器件的微惯性测量装置,可进行SPC-III机器鱼尾鳍拍动参数的精确测量。微惯性测量装置体积小,质量轻,功耗低,可得到载体的加速度、角速度、速度、位移、角度等运动信息,可应用于生物运动测量、体育运动测量、人体健康监测等多种领域。