给运动和姿态测量选加速度计陀螺和 IMU
一个加速度计和一个陀螺仪,各自以自己的方式"撒谎",而一颗 IMU 给出的有用读数,来自把它们合起来、让两边的谎互相抵消。陀螺仪能干净地跟踪转动一两秒,然后就开始漂;加速度计靠重力守住一个长期参考,却在每一次磕碰和电机振动里跳动。两者单独都给不出一个诚实的姿态。姿态本来就是个相对量,一个相对重力或相对磁北的角度,而运动检测的功夫,大多在那个把两个有缺陷的信号融成一个、让系统在下一毫秒和下一小时都能信的融合上。
这个定调,在翻开数据手册之前就决定了买什么。一个只数步、或只检测一下磕碰的设计,要一个裸加速度计、别无他物。一个必须知道自己朝向哪里的设计,面对的是另一个问题:多少融合在自己的处理器上跑,多少买成器件里已经做好的。轴数,三轴、六轴还是九轴,以及融合在哪里发生,是几乎每一颗运动器件底下的两个决定。
六轴的中间地带
多数设计的起点是一颗六轴器件:一个三轴加速度计加一个三轴陀螺仪挤在一个封装里,报出六个原始数,把融合留给读它的那一方。它带着恢复一个完整姿态所需的一切,只要主机或一个软件库去做那个融合。六轴是一个设计默认守着的,除非有明确理由把它往下推到裸加速度计、或往上推到带磁力计的九轴,所以它是开始一轮选型的合理起点。
MPU-6050 是很多工程师最先碰到的那颗。它便宜、到处都有文档、在业余无人机和手势项目里有一段长历史。它板上带一个小小的数字运动处理器,能跑一些融合和手势检测而不烦主机,它的寄存器映射被抄得太广,几乎每一款微控制器都有现成的例程。它的年纪在噪声、在偏置随温度漂移多少上,确实输给更新的硅,所以精密设计往往越过它。但对学习、对样机、对那些容得下一两度误差的应用,它仍是最顺手的第一选择,而它的低价让抽屉里备一颗成了便宜的保险。
对一个要靠电池跑好几年、还得对运动保持警觉的产品,电流消耗压过原始性能。LSM6DSO 用很低的常开功耗,加上一个可配置的 FIFO 缓冲采样、好让主机睡觉、只在一个预设事件触发时才唤醒,来回应这件事。它还带一个小小的机器学习核和一组有限状态机,在器件内部就识别像走步或手腕翻转这样的模式,而主机一直黑着。这份在传感器上的智能,是同一颗电芯上"几天"和"几个月"寿命之间的差别,也是它出现在健身手环和资产追踪器里的原因。

当运动本身就是产品
当运动本身就是产品,一个相机云台或一把被追踪的手术工具,噪声和偏置稳定性就比成本更要紧。ICM-42688-P 坐在高性能的那一端,噪声密度低到以微 g 每根号赫兹计,偏置稳定性也紧,能让一个融合后的姿态在设备静止时不爬。那个静止态漂移,也就是什么都没动时朝向游走得多快,正是分开"一条稳稳水平的地平线"和"一条在一分钟里慢慢倾过去的地平线"的那个数,而它很少和首页上的标称量程排在一起。
当一个加速度计就够了
很大一部分运动活儿根本不需要陀螺仪。数步、检测敲击、运动唤醒,都是加速度计一个人的活,没有转动要积分、没有漂移要追。这里的选择落在功耗、以及一颗器件能自己识别哪些事件上,因为把那份负担从主机卸下来,是这些器件存在的一半理由。
ADXL345 是那颗经典数字加速度计,服役多年,内置敲击和自由落体检测,会拉起一个中断、好让主机从不必去轮询数据流。它走 I²C 或 SPI,量程可选到十六 g,进过太多产品,以至于它的脾气都被记录下来、绕过去了。它今天的吸引力,是做一个已知量、排在性能的最后一句话之前,是一个设计想要"五年后还订得到、行为还一样"的东西时伸手去拿的那颗。
LIS3DH 覆盖那个填满可穿戴和手持设备的低功耗三轴情形,量程可选、内置一个能读几路辅助模拟通道的 ADC、电流低到不至于毁掉一个紧的功耗预算。它是这一组里那匹稳的劳力,可靠多于亮眼,落在任何一个设计想要倾角、活动量或一个摇晃手势、又不想要太多周边仪式的地方。
当全部的意义就是睡到有东西动为止,ADXL362 在守候运动时只喝几百纳安的电,少到能给整个电池设备当唤醒门。它把处理器和射频按在深睡里,自己守着,只在真实运动越过一个预设阈值时才唤醒系统。那个角色,一颗小小的器件按着一个饿得多的系统睡觉,正是一个远端传感节点靠单颗小电芯能撑好几年而不是几周的原因,也是一个值得在设备几乎一辈子都在等待的场合照搬的套路。
为什么姿态是难的那部分
姿态之所以比器件让它看上去的更难,是因为 IMU 里每一个传感器都以一种别的传感器得去补的方式失效。陀螺仪报的是一个转动速率,从它恢复一个角度意味着把这个速率沿时间积分,而积分会把每一个小偏置和噪声样本连同真实运动一起累加,所以一个只靠陀螺的角度在几秒内就走开,每秒零点几度会在一分钟里长成几十度。加速度计靠感知重力给出一个绝对的倾角参考,可它分不清重力和设备自身的加速度,所以一个急动作或旁边一台电机会把读数甩偏、直到扰动平息。在一颗九轴器件里,磁力计靠感知磁北钉住另外两个在竖直轴附近守不住的朝向,可它会把一只扬声器磁体或一个钢支架的磁场,读得和地球的一样痛快。融合就是把这三个掺起来的数学,一个互补滤波器或卡尔曼滤波器,短期信陀螺、长期信加速度计和磁力计,而这一掺的质量,决定了输出是稳的还是没用的。在它底下,坐着没有哪页营销材料会开篇就讲的那些步骤:校准每个传感器的偏置和标度、把三者对齐到同一套坐标轴、并补偿温度,因为一个随温度变化的偏置,会喂给积分器一个稳定的误差、看起来活像一个缓慢的转动。还有些招数能帮忙,比如一个零速更新,在检测到设备静止时把累积的漂移清掉,但它们是包在器件外面的软件,不是一颗更好的传感器自己就带来的东西。这些步骤被跳过时,器件可以很出色,而姿态依旧很差。

带上磁力计
加一个磁力计就成了九轴器件,一个设计在需要一个不漂移的朝向、一个不会慢慢偏离真北的罗盘时会伸手去拿它。ICM-20948 把九个轴都装进一个封装,带一个能在板上跑融合的数字运动处理器,不过为了那份掌控,很多团队仍然在主机或一个库里做融合。无论哪种,这颗器件都要求团队去处理一个干净朝向所需要的硬磁和软磁校准,也就是把设备自身里的钢和磁体的磁场摸清、好把它们减掉,而这一步正是团队最爱低估的那一步,一个跳过它的九轴设计,最后并不比六轴强。
把融合买成现成的
另一条路是把融合交给传感器自己,于是主机读到一个做好的姿态、从不碰一个滤波器。它让出一些灵活和一点成本,换回融合做好本来要花的那几周调试。对一个手边没有信号处理专家的团队,这一笔交换常常就是一颗器件被选中的全部理由。
BNO055 在一个内部微控制器上跑传感器融合,直接以四元数或欧拉角输出姿态,于是主机要一个朝向、就得到一个,而不必实现任何滤波。它把三个传感器和融合折进一颗器件,把一个难的固件问题坍缩成一个选型决定。这正是把它送进一大批机器人和 AR 项目的吸引力,在那里团队宁愿把时间花在应用上而不是滤波器上,而它甚至在后台跑自己的校准、报出每个传感器当前校得多好、让固件知道什么时候该信这个朝向。
BNO085 把这个想法推得更远,融合更强、姿态精度更高,还带一个为 AR 和头显调好的旋转矢量输出、以及向手势识别迈出的一步。它是那个"姿态质量本身就是要求、而板级工夫是要省下来的东西"时的选择,在那里略高的器件成本,会用一份从来不必去写、不必去调的固件挣回来。
在完全原始和完全融合之间,坐着 BMI270,一颗为可穿戴调好的低功耗六轴器件,带片上手势、计步和活动识别。它自己做一部分解读,足以省下主机为每个样本醒来,又不号称交付一个做好的九轴朝向。它合身于那些功耗是硬上限、所需运动功能是一份已知固定清单的手表和手环设计,所以为一份对得上那张清单的片上智能付钱,是花得值的钱。
所以同样的物理信号,会以跨度很大的状态抵达系统,从六路原始流到一个干净的四元数,而合适的层级取决于一个团队能造出什么、又付得起什么。买融合不是一条该羞于走的捷径,它是一笔灵活与成本对工程时间的真实交换,而在一个紧的排期上,它常常是对的那一笔。
让用途决定器件
器件的问题跟在融合的问题后面,不是反过来。先定这个设计是从原始轴自己喂滤波器、还是从货架上拿一个做好的姿态,先定它活在一颗纽扣电池上还是市电上,候选就迅速少下去。这三类传感器每一类都好买、又都好读错,而这正是一个"器件优先"的选型一头撞进去的陷阱,挑了页面上噪声最低的那颗,然后发现姿态依旧在漂,因为它下游的一切都没调过。
把那些原始传感器变成一个守得住的朝向的,是包在它们外面的融合和校准,远在这三者中任何单独一颗的标称规格之外。
相关信息

- 2026.06.04 给设备做声音采集和振动监测

- 2026.06.04 把流量和液位测准的传感方案

- 2026.06.04 无接触地把位置和角度测出来

- 2026.06.04 在联网设备里感知温湿度、气体与空气质量
