MPU6050、BNO055、BMI088三款IMU横评

2026-10-24 20:47:52 59阅读

玩双足、做平衡车、调机器狗的朋友,基本都绕不开一个问题:机器人的"小脑"选哪块。这里说的小脑就是IMU惯性测量单元,它负责告诉主控,机身现在歪了多少、转得多快。选错了,轻则姿态角漂到没法看,重则整机原地摔倒。我自己这几年焊过用过的IMU里,有三块绕不开的经典:十块钱的MPU6050、自带融合算法的BNO055、还有无人机圈常见的BMI088。三块价格差了十几倍,差别到底在哪,这篇一次说清楚。

MPU6050:十元级的入门老黄牛

GY-521 MPU6050六轴模块,蓝色小板,板载排针焊盘和丝印坐标轴

MPU6050是InvenSense的老牌六轴,这家厂商后来并入了TDK。芯片里是一个3轴陀螺仪加一个3轴加速度计,都是16位输出:陀螺量程±250到±2000度每秒分四档可调,加速度±2g到±16g也是四档,通信只走I2C,最高400kHz。

它最大的卖点是便宜、资料多。淘宝上最常见的GY-521蓝色小板,我10月24日查的价格是7到11块钱,还送一排针。片内有个DMP数字运动处理器,可以直接吐出融合后的四元数,不用自己写滤波——不过用过的都知道,官方DMP库又大又老,很多人宁可自己在主控上跑Mahony互补滤波。

缺点也要摆到台面上:零偏和温漂都不小,静止放着,角度会慢慢爬;官方数据手册里加速度噪声密度标的是400μg/√Hz,放在今天只能算入门水平。拿来做桌面摆件、入门平衡车练手完全没问题,想上高动态就吃力了。

BNO055:把姿态融合烧进芯片里

GY-BNO055九轴模块,板背面丝印标着型号和VIN、GND、SCL、SDA等引脚

如果你不想碰融合算法,博世的BNO055是另一条路。它是一颗9轴SiP系统级封装:14位加速度计,量程±2/4/8/16g;16位陀螺仪,量程±125到±2000度每秒;再加一个地磁计,X/Y轴±1300微特斯拉、Z轴±2500微特斯拉。封装里还塞了一颗Cortex-M0+,专门跑博世自家的BSX3.0融合算法。

也就是说,你发一条I2C读数命令,它直接把欧拉角、四元数、线性加速度、重力矢量都给你,连校准状态寄存器都能读。我最早做云台的时候用它,半天就出了稳定的航向角,那种省心,是自己拿MPU6050调参给不了的。代价是功耗,九轴全开100Hz输出时电流约12.3mA。

有件要紧事必须说清楚:博世官网现在给BNO055标了"不建议用于新设计",得捷的元器件页面上也挂着同样的提示。意思是官方后续主推BNO085等新系列,老型号的供货和支持会慢慢收缩。手里已有的模块照样用,新项目立项前建议多想一步。模块价格方面,GY-BNO055我10月24日在淘宝查到的是35到100元之间,分店铺和版本。

BMI088:无人机血统的高性能六轴

BMI088模块,蓝色板子上丝印BMI088V1.0,带IIC和SPI切换开关

第三块是博世BMI088,官方定位写得很直白:为无人机和机器人优化。它还是六轴组合,但每项指标都往上抬了一档:加速度计量程±3/6/12/24g,陀螺±125到±2000度每秒,同样16位。真正拉开差距的是噪声和温漂——加速度噪声密度175μg/√Hz,陀螺0.014°/s/√Hz;温度系数分别是±0.2mg/K和±0.015°/s/K,陀螺零偏不稳定性压到了每小时2度以内。

翻译成人话:MPU6050转一小时可能漂出去几十度,BMI088能稳在几度量级。它还给了SPI接口,I2C也保留,采样吞吐比纯I2C高一截,满负荷电流5.15mA,供电2.4到3.6V,工作温度-40到+85℃。穿越机飞控、对姿态要求苛刻的双足平台,很多都选它。代价就是价格:带恒温解算的达妙那块BMI088板子淘宝59元,普通转接模块79元上下——都是10月24日查的价,比GY-521贵了快十倍。

三块放一起比一比

项目MPU6050BNO055BMI088
厂商InvenSense(现属TDK)博世博世
轴数6轴9轴,含地磁6轴
陀螺量程±250~2000°/s±125~2000°/s±125~2000°/s
加速度量程±2~16g±2~16g±3~24g
姿态融合片内DMP出四元数直接出欧拉角和四元数无,需主控自己融合
接口I2CI2C/UARTSPI/I2C
加速度噪声密度400μg/√Hz官方未标该项175μg/√Hz
模块参考价(10月24日查)7~11元35~100元59~79元

到底怎么选,按场景说

静态平衡、入门练手、预算卡死,选MPU6050。它的资料最多,坑都被前人踩平了,烧一块也不心疼。不想写融合、要直接出角度、做云台或机器人头部姿态这类应用,BNO055仍然是最省事的选择,但记住它头上那个"不建议用于新设计"的标签,全新项目可以顺手看看BNO085。高动态、要跑自己的EKF、做穿越机或者剧烈运动平台,直接上BMI088,多花的钱买的是噪声和温漂,这两个指标到后期调参时,是拿钱都难换回来的。

最后提醒一句:不管选哪块,上机先做静态零偏标定,再谈滤波算法。传感器选得再好,标定偷懒,姿态照样飘。

本文由"硅基部落"小编整理,转载请注明出处。


作者:电机传感器师
链接:https://www.aiddithome.com/p/38eb7dcd20c4f.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
线比代码多
1楼 · 2026-10-24 20:48:51

价格对比很实用,7块和79块差了十倍,怪不得穿越机飞控清一色都用088

阿伟不emo
2楼 · 2026-10-24 20:48:50

之前做平衡车用的就是6050,静止放着角度确实会慢慢爬,看了这篇才知道是温漂的锅,我还以为是自己滤波代码写错了

胶佬憨憨
3楼 · 2026-10-24 20:48:50

BNO055不建议用于新设计这条太关键了,上个月差点直接在新项目里定它,看来得先去翻翻BNO085的规格书

只看不说话
4楼 · 2026-10-24 20:48:50

问一下,BMI088配STM32自己跑融合的话,SPI采样率一般设多少比较合适,500Hz够用吗