系列文章目录
常用MEMS传感器参数分析和应用介绍系列,分十二个章节讨论相关问题:
Outline:
第一章 MEMS惯性器件-加速度计误差分析
第二章 MEMS惯性器件-陀螺仪误差分析
第三章 国内工业和消费类厂商惯性器件IMU常见验证手段
第四章 MEMS磁力计与模块的误差分析
第五章 6-DOF与9-DOF模块工厂标定流程和选型闭坑
第六章 MEMS压力传感器的误差分析
第七章 运动类问题常用信号处理方法和常用算法
第八章 嵌入式边缘计算系统性能提高应用案例
第九章 云边端协同应用案例
第十章 机器学习和数据融合在边端应用案例
第十一章 聊一聊国内外开源生态
第十二章 让GPT们成为自己的得力助手
文章目录
- 系列文章目录
- 前言
- 第一章 MEMS惯性器件-加速度计误差分析
- 1.MEMS电容式加速度计原始数据怎么产生的
- 2.应用中重要MEMS加速度计参数和误差
- 3.MEMS 加速度计工厂标定
- 4.MEMS加速度计芯片和加速度计模组主要差别
- 5.加速度计模组的工厂标定
- 6地球重力和加速度测量原理
- 7.本章小节
- 参考资料
前言
微机电MEMS(Micro-Electro-Mechanical System)传感器系统的设计和微加工制造,都是围绕在微米甚至纳米级的微小尺寸进行的。其中MEMS传感器系统的设计涉及到芯片设计和仿真工作:比如芯片的三维结构设计和热电,流体,压阻,压电等物理场景的有限元分析等;微加工主要是定制基于不同物理原理的MEMS芯片的加工工艺流程直至量产。其学科发展分支参考如下所示7种类别。
目前国内外MEMS传感器设计和制造的企业有Bosch,ST,ADI,Invensense,TDK,Epson,上海矽睿,美泰,MEMSIC,歌尔等。常见MEMS传感器结构设计有:有电容式加速度计,热流式加速度计,(类)双音叉式陀螺仪,薄膜电容压力传感器,AMR MEMS磁力计等,其背后的物理原理有洛伦兹力,科利里奥力等。使用这些传感器在过程中要了解其原理,熟悉误差来源和各种参数,才能最大化发挥传感器感知性能并进行应用方案优化。
本系列文章主要关注现阶段国内外消费和工业领域MEMS传感器的应用场景碰到的问题:常用MEMS传感器参数和误差分析,标定流程和数据融合应用案例,开源生态的支持等。同时也会剖析MEMS传感器和模块选型, 过程中碰到的一些隐蔽问题。欢迎一起讨论!
第一章 MEMS惯性器件-加速度计误差分析
本章主要讨论电容式MEMS加速度计参数,误差来源和模块标定过程等。
1.MEMS电容式加速度计原始数据怎么产生的
1.1 MEMS电容式加速度计封装和结构
以Bosch AE设计的SMB360 dual-chip 堆叠方式为例:电容式加速度计的ASIC 和 MEMS分别位于两个独立的硅片上,这样的便于工厂生产时,按照需求以任意的方式组合不同的MEMS和ASIC,然后再用塑料材质进行封装。
其中MEMS部分结构设计,采用梳状结构。其原理是传感器本体的运动,会引起梳状结构位置相对变化,从而导致梳妆结构之间电容相应变化,电容的变化引起电信号的变化,通过AD转换,将三个轴的加速度信息通过电信号从MEMS 传感器中传递出来。
电容式加速度传感器,通常由于MEMS结构设计的原因,x/y轴 和 z轴数据质量略有差异(z轴稍差)。下图的设计是x/y轴的in plane设计方式:蓝色的震动块会由于水平方向上的加速度作用,和黄色部分结构发生相对位置变化,从而可以计算出x、y加速度信息。
下图为z轴的out of plane设计方式:右边蓝色部分是在左边对称结构基础上加的震动块,z轴方向的加速度会以类似跷跷板的作用使蓝色部分有上下位移的变化,从而计算出z轴加速度的信息。
1.2 MEMS 电容式加速度计信号链系统框图
以Bosch的经典产品BMI160为例,加速度计MEMS的原始电信号输出后,需要经过ADC转换,信号调理,寄存器操作等流程,最后信号通过片上数字串行接口输出,被MCU采集。
2.应用中重要MEMS加速度计参数和误差
在MEMS加速度计应用中需要关注很多参数,重要的参数有15个罗列如下。下图包含关系图中深色部分加速度计的参数最为常见,将逐个详细讨论。
2.1 Acceleration range
Range指加速度计能够感知的加速度范围。不同应用场景对于加速度计acceleration range的范围要求是有差异。慢速场景中,比如计算风机塔基沉降,物体静态倾角计算等要求的range较小,通常1-2g就可以;高速场景中,比如高速无人机,安全气囊,在应用场景中要求的range经常大于32g。
2.2 Sensitivity
加速度计本身对加速度物理量的感知会转换成电信号的输出,而灵敏度(sensitivity)的定义指加速度计输出电信号变化量与感知到相应输入加速度变化量的比值,即加速度计对一定范围内加速度变化的敏感程度。 灵敏度越高的加速度计对加速度的变化越敏感,输出电压变化也越大更容易测量,从而可以获得更加精确的测量值。
常见消费类和工业类产品,经常使用的是数字传感器。以Bosch BMA系列传感器为例(ST等其他传感器类似),sensitivity就定义为传感器输出信号经过ADC转换后,LSB(Least Significant Bit)和加速度测量值采用最小二乘法拟合的直线斜率,单位为LSB/g。其中LSB与ADC使用多少bit寄存器记录数据有关(resolution):resolution越高,range范围设定越小,传感器能感知到的加速度信号变化量越微小。sensor spec上的Sensitivity是在常温下计算的,下图为±1g范围内加速度计的电压输出变化:
以Bosch BMI160 sensitivity为例,传感器的range越小,对应的sensitivity就越高(注意下面spec此处的resolution指的是加速度计内部ADC的resolution)
2.3 Resolution
MEMS加速度计的resolution指基于机械结构的设计限制,加速度计能感知到最小的加速度物理量变化对应的电信号的大小。注意resolution量值不会低于传感器本身的噪声水平,模拟传感器和数字传感器的限制条件不同。
通常在读sensor spec时,不要混淆这三个概念: sensitivity, resolution, accuracy。有人会把这三个概念认为都是同一个含义-精度,但实际上是有差异的。对于Bosch BMA系列传感器,MEMS acc上面2.2和2.3小节已经讲了sensitivity,resolution的关系,而accuracy 含义为测量值和真实值的差异,有很多计算方法。对于MEMS加速度来说,在实验室中accuracy可以通过计算部分批次加速度计标准水平面平放时的3-sigma值,min/max from absolute 或者 min/max from avg来获取(考虑仪器误差,主要是寻找一个最近接真实值的benchmark作为参考)。
2.4 Zero-g offset(so called initial-error)
Zero-g offset 也叫零偏(注意不要和零偏稳定性概念混淆),通常是指室温25°C时,某一轴与重力方向垂直放置时该轴输出值相对于0的偏差。注意zero-g offset也会随着温度的变化而变化,对于温度范围比较大的应用的话,也需要关注zero-g offset over temperature参数。当在实验室测量传感器 zero-g offset时,可以采用转台(rate table或者叫gyro table)或者校准过的大理石平台(marble platform)来保证高精度的水平状态。
产生zero-g offset的原因主要有两点:一是由于MEMS sensor敏感的微机械结构老化导致,二是由于传感器供电电压变化导致电路产生的electrical offset drift导致。
2.5 Bias Instability
Bias Instability(零偏不稳定性)反应在常温下,加速度计上电后,其零偏随时间变化的情况,其单位为µg或者mg。
艾伦方差(Allan Deviation)是一种时域误差分析方法,用来分析信号的随机误差成分,而零偏不稳定性可以在艾伦方差斜率为S=0谷底区域的方差函数值求得。零偏不稳定性指标在陀螺仪上是重点,由于评估标准差异(国军标),国内还有零偏稳定性,10s/100s平滑等容易混淆的指标概念,所以Bias Instability会在下一个章节详细讲解。
2.6 VRW
加速度计衡量噪声水平的指标可以用VRW(Velocity Random Walk) 表示,VRW可以换算成加速度计噪声的标准差,也可以换算成噪声的功率谱密度。通常是通过Allan方差在1s时方差函数值求得,以ADIS16460 spec为例,单位m/s/√hr
2.7 Bandwidth
MEMS加速度的带宽(Bandwidth)描述外部机械震动输入时,加速度传感器相应采集到的输出信号频率范围。MEMS加速度计的电子敏感器件带宽通常大于1kHz,但是会受限于配置的数字低通滤波器的-3dB 截止频率。
MEMS传感器的数字低通滤波器带宽和数据采样率(Output Rate)都是可配置的,所以在应用中注意由于奈奎斯特采样定理,传感器的数据采样率要至少高于有用输入信号最高频率成分的两倍,输出信号才能较完整表征输入信号的幅频特性,不然会发生信号混叠。举例如下:
如果需要采集到的有用震动信号的最高频率成分是20Hz(可能会有其他高频noise), 可以这样配置滤波器带宽和采样率:
方法一: 如果Sensor的采样率是100Hz要求固定的,那使用40Hz或者更高cutoff的LPF,使得通过LPF的信号,能较完整还原输入的有用震动信号(还原过的有用信号幅值接近1.0,大于0.707)。
方法二: 如果Sensor的采样率可以配置,则配置成40Hz 采样率(不用加任何LPF),但这不是最佳选择。为了避免频率混叠,震动信号应先过滤波器使得输入的信号模拟量成为有限带宽信号,然后配置加速度计使得采样率大于有限带宽信号最高频率的两倍。
2.8 Noise
MEMS加速度计噪声定义为当传感器输入量固定时,输出量波动的量化值。其产生的根本原因是由于传感器内部分子布朗运动和电路放大器产生的噪声所致。噪声属于非确定性信号,MEMS传感器的噪声通常表现为高斯白噪声,用noise功率谱密度来定量衡量噪声水平,且在整个频域范围内功率谱密度为常数。加速度计datasheet上噪声参数为Spectral noise density,单位μg/√Hz(有时也使用RMS noise表示,即通过对目标带宽内噪声功率谱密度积分后开根号得到。spectral noise density和RMS noise可以互相转换);简单计算也可用峰峰值和RMS值来表示。下图是一个加速度计静止时采集400ms的数据,可以看到其数据统计服从正态分布。
2.9 Temperature coefficient - TCO and TCS
加速度计有两个重要的随温度变化指标,TCO和TCO。
2.9.1 Temperature coefficient of offset(TCO)
TCO反映加速度计零偏随温度的变化情况。
2.9.2 Temperature coefficient of sensitivity(TCS)
TCS反映加速度计sensitivity随温度的变化情况。
2.9.3 TCO vs TCS
TCO和TCS的计算方式如下:
2.9.4 The root cause of TCO/TCS
加速度计产生TCS的根本原因是由于MEMS材质各种耐受能力收到温度变化的影响,而TCO产生的根本原因在温度影响而产生的机械应力带来的MEMS结构微小形变。
2.10 Nonlinearity
在理想状况下,加速度计测量得到的电压值和加速度原始值之间是线性关系,其比值就是之前讲的灵敏度(sensitivity)。非线性度(Nonlinearity)指的是实际灵敏度(最佳线性拟合后的结果)与理想恒定的灵敏度之间的最大偏差,用相对于满量程范围(%FSR)或正负满量程(%FS)的百分比来表示(FSR = FS + FS)。参考2.2节的图,假设加速度计的range是±1g,在正满量程中非线性度用△out/FS 的百分比表示,△out在这里指+1g范围内拟合后的直线与实际输出最大的偏差。通常情况下,由于电容加速度计结构设计的对称性(symmetry),+1g或者-1g范围内计算NL结果是一致的。
2.11 Cross axis sensitivity
理想情况下加速度计的三个轴是理想正交的,两两相差是90度。由于实际生产时MEMS三轴间结构往往会存在误差不满足绝对正交,所以交叉轴灵敏度(cross axis sensitivity)指沿一个轴方向加速度信息耦合到其他轴的程度。比如加速度计水平放置,Z轴输出1g,但X轴输出10mg(理论是0g),那么X与Z轴的交叉灵敏度就是10ms/1g=1%
2.12 Alignment Error
对准误差(Alignment error)指的是加速度计封装时内部的sensor chip和外部的塑料封装之间的夹角误差,理想状况下sensor chip和外部封装之间的夹角误差为0,但生产会有微小误差。
2.13 Bias Repeatability
通常Bias repeatibility是零偏重复性,指在同样条件下及规定时间间隔内,加速度计多次上电重复测量加速度计零偏的一致程度,以多次测测量零偏样本的标准差来表示。
2.14 Consistency
一致性(consistency)指的是大量传感器指标的统计特性。传感器各种指标会指明参数是遵循1-sigma还是3-sigma原则,如果刚采购的传感器实测结果某项指标偏离datasheet的值,并且datasheet标榜是3-sigma,那么大概率该传感器datasheet不准确。
3.MEMS 加速度计工厂标定
MEMS加速度计在出厂之前,会进行每个芯片的Inline calibration。以Bosch 生产的MEMS 加速度计流程为例,Inline calibration 包含在Final testing过程中,在完成Final test的current consumption, EEPROM CRC check, register check, offset trimming 等各项检查后,进行芯片卷带包装并出货。
4.MEMS加速度计芯片和加速度计模组主要差别
尽管加速度计芯片出厂前做过Inline calibration,但是在客户使用的过程中会经历回流焊还有PCB alignment,这样会引入较大的零偏(zero-g offset),同时由于芯片出厂前没有做温度补偿(可能现在有些芯片做过温补),在做成加速度计模块后需要进行标定。加速度计模块 = 加速度计芯片+模块标定+算法+模块接口
5.加速度计模组的工厂标定
5.1 标定和检测使用的仪器设备
仪器 | 作用 |
---|---|
Gyro table(转台) | 提供高精度的姿态定位和固定角速度旋转 |
Oven(温箱) | 提供特定实验温度环境 |
Oven platform | 提供温箱中的水平台面 |
Marble platform | 提供室温的水平台面 |
Oven with Gyro table | 提供带转台的温箱 |
Shaker table(振动台) | 提供频率和幅度可配置的震动环境 |
5.2 标定流程和结果分析
加速度计模块的温度补偿和转台校准流程为:TC(temperature verification 温度补偿)->IC(Inertial verification 惯性标定)->IV(惯性验证)->TV(温度验证)。由于每个模块厂商的标准不同,具体流程和通过标准会有细微差异,主要补偿的手段是曲线拟合。
MEMS加速度计出厂没有经过温度标定。以曾经测过的BMI088为例,测试静止时在-40°C到85°C 温度范围内,未经过标定的加速度计最大会有超过20mg的误差波动。但经过模块标温度定流程后,在同样的温度范围,误差能缩小到2mg范围内。
5.3 报告讲解
下面是传感器X轴IV的报告。注意一般模块厂商的加速度计的标定是在±1g的范围内进行(把加速度计模块放在转台上,通过转台不同的角度进行±1g范围的变换),可以看出来在X轴保持水平方式情况下,在±1g范围内转动Y和Z轴,X轴的输出在5mg的标准范围之内。
下图是加速度计X轴的TV报告,注意温度验证是从-40°C到85°C,然后再从85°C再到-40°C的包含升温和降温的完整温度循环中进行,整个过程大概需要数个小时。
6地球重力和加速度测量原理
MEMS加速度计是惯性器件,测量的值是比力(specific force)或者叫做g-force,使用时需要进行矢量计算。
地球上的重力场分布是有差异的,可以参看NASA的网站mapp earth‘s gravity’相关描述。
7.本章小节
本章节围绕加速度计的误差分析,讲解了MEMS电容式加速度计数据产生的原理,参数含义,重点指标误差分析,到加速度计模块的标定过程和应用注意事项。
参考资料
https://kth.diva-portal.org/smash/get/diva2:1331704/FULLTEXT01.pdf
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-696.pdf
https://colab.research.google.com/drive/1NIAL2eObrStDnHxNeyH5Bnw6ASblauTA
https://github.com/Aceinna/gnss-ins-sim/blob/master/demo_allan.py
https://zhuanlan.zhihu.com/p/46927493
https://zhuanlan.zhihu.com/p/481835520
https://blog.csdn.net/nicole088/article/details/126892116
https://invensense.tdk.com/wp-content/uploads/2018/10/Effect-of-Gyroscope-and-Accelerometer-Datasheet-Parameters-on-Inertial-Navigation-Systems-Accuracy-Stefano-Zanella.pdf
https://ez.analog.com/mems/w/documents/4137/adis16460-datasheet-accelerometer-vrw
https://www.analog.com/cn/analog-dialogue/articles/choosing-the-most-suitable-mems-accelerometer-for-your-application-part-1.html
https://www.analog.com/cn/analog-dialogue/articles/choosing-the-most-suitable-accelerometer-for-your-application-part-2.html
https://wiki.analog.com/resources/eval/user-guides/inertial-mems/imu-overview
https://www.analog.com/en/education/education-library/videos/756529027001.html
https://www.murata.com/en-eu/support/faqs/sensor/inclinometer/char/0004
https://navview.blob.core.windows.net/web-resources/6020-1800-01%20OpenIMU330B_Rev_E.pdf?_t=1593183415710
https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi160/
https://www.st.com/resource/en/datasheet/lis3dhh.pdf
https://svs.gsfc.nasa.gov/cgi-bin/details.cgi?aid=11234&button=recent
Bosch/ST/TDK Aceinna training document
Sami Franssila. Introduction to Microfabrication 2th