第1章:加速度计原理
各位同学好,我是老张。做飞控硬件有些年头了。今天咱们聊聊加速度计。
加速度计这东西,说白了就是测量物体运动加速度的传感器。在飞控系统里,它就像飞机的内耳前庭,感知着每一个方向的运动变化。我刚开始接触飞控时,总觉得加速度计不就是测个加速度嘛,有啥难的?后来踩了不少坑才明白——选型、标定、滤波,每一步都有门道。
MEMS加速度计工作原理
MEMS加速度计,全称是微机电系统加速度计。它把机械结构做到硅片上,尺寸只有几毫米。目前主流的有两种:电容式和压阻式。
电容式加速度计
电容式的工作原理,我习惯用一个比喻来解释:
想象一个弹簧挂着的小球。小球两边各有一块固定极板。当加速度作用时,小球会偏移,两边的电容值一个变大、一个变小。测出这个差值,就能算出加速度。
实际芯片里,这个「小球」是硅材料的可动质量块,「弹簧」是硅悬臂梁。整个结构密封在真空腔里,减少空气阻尼。
电容式的优点很明显:灵敏度高、温漂小、功耗低。我做过一个项目,用ADI的ADXL345做倾角测量,静态噪声只有0.1mg左右,非常稳。
但电容式也有个缺点——它需要交流激励信号。你想想看,电容本身不产生电压,得给它加个载波才能读出变化。这就对电路设计提出了要求。
核心参数:电容式加速度计的灵敏度通常在 10~100 fF/g 之间。1fF是10的负15次方法拉,非常小。所以PCB布局时,走线寄生电容必须严格控制。
压阻式加速度计
压阻式就直白多了。它利用硅的压阻效应——硅材料受力时电阻率会变化。
结构上,也是在硅片上做出悬臂梁和质量块。梁上扩散出四个压敏电阻,接成惠斯通电桥。加速度使质量块运动,梁弯曲,电阻值变化,电桥输出差分电压。
压阻式的优势是:直流响应好,可以测静态加速度(比如重力)。而且输出是电压信号,处理起来简单,不需要交流激励。
不过,压阻式温漂比较大。我记得有一次做高温测试,80°C环境下输出漂了将近5%。后来不得不做温度补偿。
我的经验:如果你做的是消费级产品,选电容式更合适。如果是工业级、需要测静态倾角,压阻式加温度补偿也是个好选择。
测量范围与灵敏度
这两个参数,选型时一定要一起看。
测量范围,单位是g(重力加速度)。常见的档位有:±2g、±4g、±8g、±16g。飞控里,多旋翼一般用±2g或±4g就够了。固定翼做特技飞行,可能需要±8g。
灵敏度,单位是LSB/g或mV/g。它决定了你能分辨多小的加速度变化。
举个例子:
某加速度计参数:
- 测量范围:±2g
- 分辨率:16位
- 灵敏度:16384 LSB/g
计算最小可分辨加速度:
1g / 16384 ≈ 0.061 mg
0.061mg什么概念?相当于你站在地面上,高度变化3厘米,重力变化就这么多。所以飞控做高度融合时,加速度计的分辨率很关键。
但要注意,测量范围和灵敏度是矛盾的。同一个传感器,量程越大,灵敏度越低。你想想看,16位ADC总共就65536个码值,分给±16g,每个g分到的码值自然就少了。
避坑指南:我曾经选了一款±16g的加速度计做四轴飞控,结果悬停时噪声大得离谱。后来才发现,±16g下灵敏度只有±2g的1/8,小信号都被噪声淹没了。所以,量程够用就行,别贪大。
零偏与标度因数
这两个是加速度计最重要的误差项。
零偏:没有加速度输入时,传感器的输出值。理想情况应该是0,但实际总有偏差。单位是mg或m/s²。
零偏的来源很多:制造公差、封装应力、温度变化。我见过最夸张的,某国产芯片零偏出厂就有±50mg,根本没法直接用。
标度因数:也叫灵敏度误差。它描述的是实际输出与理论输出的比例偏差。单位是ppm或百分比。
举个例子:
| 参数 | 理想值 | 实际值 | 误差 |
|---|---|---|---|
| 零偏 | 0 mg | +12.3 mg | 12.3 mg |
| 标度因数 | 16384 LSB/g | 16312 LSB/g | -0.44% |
这两个误差怎么处理?
我的做法是:
- 上电后静止采集1000个数据,取平均作为零偏
- 做六位置标定,解算出标度因数
- 把补偿参数存到Flash里
嗯,这里要注意:零偏会随温度变化。如果产品工作温度范围宽,建议做温度补偿。我一般用二阶多项式拟合,效果还不错。
加速度计在飞控中的作用
飞控里,加速度计主要有两个用途:姿态解算和振动监测。
姿态解算
这是加速度计最核心的应用。通过测量重力在三个轴上的分量,可以算出俯仰角和横滚角。
公式很简单:
俯仰角 θ = atan2(-Ax, sqrt(Ay² + Az²))
横滚角 φ = atan2(Ay, Az)
但实际用起来,问题就来了——加速度计测的是「比力」,不是纯重力。飞行器机动时,运动加速度会叠加进去,导致姿态计算错误。
所以,飞控里通常用加速度计+陀螺仪做互补滤波或卡尔曼滤波。加速度计提供长期稳定的参考,陀螺仪提供短期动态响应。
关键点:加速度计只能修正俯仰和横滚,不能修正偏航。因为偏航轴与重力方向平行,加速度计感知不到。所以偏航修正要靠磁力计。
振动监测
这个功能很多人会忽略。其实,加速度计是飞控系统最好的「健康监测器」。
电机转动时会产生振动。正常振动频率和幅值是有规律的。如果某个电机轴承坏了、桨叶不平衡了,振动特征会明显变化。
我做过一个项目,在飞控里加了个振动监测模块:
- 实时采集加速度计数据
- 做FFT变换,提取振动频谱
- 与预设阈值比较
- 超限时报警或自动降落
有一次测试,四轴飞行到第3分钟时,2号电机振动幅值突然增大3倍。系统立即触发保护,自动降落。检查发现,电机轴承已经磨损严重。如果没有振动监测,很可能空中解体。
我的建议:做飞控产品时,一定要把加速度计的振动监测功能做进去。它不费多少算力,但能救命。
知识体系总览
下面这张图,是我梳理的加速度计知识框架。你可以对照着看,心里有个谱。
好了,这一章的内容就到这里。加速度计的原理、参数、应用,我都结合自己的经验讲了一遍。下一章咱们聊陀螺仪,那又是另一个有意思的话题。
公众号:蓝海资料掘金营,微信deep3321