第4章:传感器原理与选型:加速度计、陀螺仪、磁力计、GPS、气压计的工作原理与选型要点

各位同学,欢迎来到传感器专题。说实话,飞控算法再漂亮,传感器数据不准,一切都是白搭。我见过太多项目,算法调得天花乱坠,结果一上天就翻车,最后发现是传感器选型出了问题。今天咱们就把这几种核心传感器掰开揉碎了讲清楚。

4.1 加速度计:感知重力与运动

加速度计测量的是物体的加速度,包括重力加速度。说白了,它就是个弹簧秤的微缩版——内部有个质量块,运动时质量块会挤压电容板,通过电容变化算出加速度。

工作原理:MEMS加速度计利用差分电容原理。静止时,质量块在中间,上下电容相等。有加速度时,质量块偏移,电容差值与加速度成正比。

选型要点

  • 量程:多旋翼一般选±2g到±8g。我习惯用±4g,留点余量。
  • 噪声密度:越低越好,低于100 μg/√Hz算不错。
  • 零偏稳定性:影响悬停时的角度漂移,好的器件能做到±10 mg以内。
实战经验:我在做农业无人机时,遇到过振动导致加速度计数据严重污染的情况。后来加了低通滤波器,截止频率设在20Hz,效果立竿见影。记住,加速度计对振动极其敏感,安装时一定要用减震泡沫。

4.2 陀螺仪:角速度的守护者

陀螺仪测量的是角速度,也就是旋转的快慢。它基于科里奥利效应——一个振动的质量块在旋转时会产生垂直于振动方向的位移。

嗯,这里要注意:陀螺仪测的是角速度,不是角度。要得到角度,必须积分。而积分会累积误差,这就是为什么陀螺仪会有漂移。

选型要点

  • 量程:±250°/s到±2000°/s。普通飞控用±500°/s足够。
  • 零偏稳定性:这是核心指标。好的陀螺仪能做到5°/h以内,差一点的几十度每小时。
  • 带宽:至少100Hz,否则跟不上姿态变化。
避坑指南:我曾经选过一款便宜陀螺仪,零偏稳定性标称20°/h,实际用起来漂得离谱。后来换了ADI的器件,虽然贵了三倍,但再也没出过问题。陀螺仪的钱不能省。

4.3 磁力计:电子罗盘

磁力计测量地球磁场,用来确定航向。它本质上是个三维的磁阻传感器,通过测量磁场在三个轴上的分量,算出相对于磁北的方向。

为什么会这样?因为地球磁场本身很弱,只有0.5高斯左右,而电机产生的磁场能到几百高斯。所以磁力计最怕电磁干扰。

选型要点

  • 分辨率:至少0.1 μT,否则航向精度不够。
  • 量程:±8高斯以上,考虑到干扰,±16高斯更安全。
  • 更新率:100Hz以上,配合姿态解算。
校准方法:磁力计必须做硬铁和软铁校准。我一般让无人机在空中画8字,采集足够多的数据点,然后用椭球拟合算法算出偏差。不校准的话,航向误差能到30度以上。

4.4 GPS:位置与速度的基石

GPS提供经纬度、高度和速度信息。它通过测量卫星信号的传播时间来计算距离,至少需要4颗卫星才能定位。

说白了,GPS就是个高精度计时器。卫星上的原子钟精度极高,接收机通过比对信号到达时间算出距离。

选型要点

  • 定位精度:民用单点定位2-5米,RTK可以到厘米级。
  • 更新率:至少5Hz,10Hz更好。
  • 冷启动时间:小于30秒算合格。
  • 多星座支持:GPS+北斗+GLONASS,搜星更快。
GPS类型 精度 更新率 适用场景
普通GPS 2-5米 5-10Hz 航点飞行、返航
RTK GPS 2-5厘米 10-20Hz 精准农业、测绘
差分GPS 20-50厘米 5-10Hz 行业应用
个人建议:做消费级飞控,用Ublox M8N系列就够了。做工业级,直接上RTK。中间档的差分GPS性价比不高,我踩过这个坑。

4.5 气压计:高度感知

气压计通过测量大气压力来推算高度。气压随高度增加而降低,每升高100米,气压下降约12百帕。

但气压计有个致命弱点:对温度敏感,而且受风的影响很大。你想想看,无人机桨叶产生的气流会直接冲击气压计,导致高度读数剧烈跳动。

选型要点

  • 分辨率:0.1百帕以下,对应约1米高度变化。
  • 噪声:越低越好,好的器件能做到0.01百帕RMS。
  • 温度稳定性:内置温度补偿是必须的。
避坑指南:我曾经把气压计直接裸露安装,结果悬停时高度波动达到±5米。后来加了海绵罩,并且用导管引到机身侧面,波动降到了±0.5米。气压计的安装位置和防护措施,比选型本身更重要。

4.6 传感器融合:1+1>2

单个传感器都有缺陷,但组合起来就能互补。加速度计低频准、高频差;陀螺仪高频准、低频漂。两者互补,就是经典的互补滤波。

我常用的融合策略:

  1. 陀螺仪做姿态预测(高频更新)
  2. 加速度计和磁力计做观测修正(低频更新)
  3. GPS和气压计提供位置和高度约束
  4. 用卡尔曼滤波或互补滤波融合
// 互补滤波示例(简化版)
float angle = 0.9 * (angle + gyro * dt) + 0.1 * acc_angle;
// 陀螺仪占90%权重,加速度计占10%
// 高频时信任陀螺仪,低频时信任加速度计

嗯,这里要注意:互补滤波的系数不是固定的。我一般会根据飞行状态动态调整——剧烈机动时增加陀螺仪权重,悬停时增加加速度计权重。

4.7 选型总结

最后给大家一个选型清单,是我这些年总结出来的:

  • 入门级:MPU6050(加速度计+陀螺仪)+ HMC5883L(磁力计)+ MS5611(气压计)+ Ublox NEO-M8N(GPS)
  • 进阶级:ICM-20948(九轴)+ BMP390(气压计)+ Ublox F9P(RTK GPS)
  • 工业级:ADXL355(加速度计)+ ADXRS453(陀螺仪)+ RM3100(磁力计)+ SPL06-001(气压计)+ Trimble BD982(RTK GPS)
核心原则:传感器选型不是越贵越好,而是匹配你的应用场景。做玩具飞控,MPU6050足够了;做测绘无人机,必须上RTK和工业级IMU。记住,系统性能取决于最差的传感器,木桶效应在飞控领域同样适用。

好了,这一章的内容就到这里。传感器是飞控的感官,选对了,算法才能发挥威力。下一章我们讲姿态解算,到时候会用到今天讲的这些传感器数据。大家先把原理吃透,后面写代码才不慌。