第三章 传感器原理与校准:加速度计、陀螺仪、磁力计、气压计

各位同学,欢迎来到第三章。这一章我们聊聊飞控的“眼睛”和“耳朵”——传感器。

说实话,我见过太多新手调参时炸机,最后发现不是PID没调好,而是传感器数据本身就是错的。你想想看,飞控再聪明,拿到的是假数据,那不就是“盲人骑瞎马”吗?

所以,这一章我会把四个核心传感器的工作原理讲透,再手把手带你走完六面校准和磁力计校准的完整流程。嗯,这些都是我当年踩坑踩出来的经验。

传感器原理与校准 加速度计 陀螺仪 磁力计 气压计 测量比力(重力+运动) 输出:三轴加速度值 单位:m/s² 或 g 测量角速度(旋转) 输出:三轴角速度值 单位:°/s 或 rad/s 测量地磁场方向 输出:三轴磁场强度 单位:μT 或 Gauss 测量大气压强 输出:气压值/高度 单位:hPa 或 m 校准流程:六面校准 → 磁力计校准 → 数据验证

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

加速度计,说白了就是测量“比力”的传感器。它测的不是单纯的加速度,而是物体受到的合外力减去重力后的结果。

我打个比方:你把手机平放在桌上,加速度计读出来的是Z轴方向有1个g(约9.8m/s²)的加速度。为什么?因为桌面给了手机一个向上的支撑力,抵消了重力。这个支撑力就是“比力”。

在飞控里,加速度计有两个核心用途:

  • 姿态解算:通过重力在三个轴上的分量,算出飞行器的俯仰角和横滚角
  • 位置估计:对加速度积分得到速度,再积分得到位置(但漂移严重,需要融合其他传感器)

关键参数:

参数典型值说明
量程±2g / ±4g / ±8g / ±16g多旋翼一般选±4g或±8g
噪声密度100~300 μg/√Hz越低越好,影响悬停精度
零偏稳定性±10~50 mg校准后可以降到±1 mg以内

我的经验: 加速度计最怕振动。我遇到过一架四轴,悬停时高度一直在跳,查了半天发现是电机振动传到了飞控板。后来加了减震海绵,问题立刻解决。所以,飞控安装时一定要做好减震。

3.2 陀螺仪:感知旋转

陀螺仪测量的是角速度,也就是物体绕三个轴旋转的快慢。它的原理基于科里奥利效应——一个振动的质量块在旋转时会产生偏移,通过检测这个偏移就能算出角速度。

陀螺仪在飞控里的地位,怎么说呢?它是姿态控制的“灵魂”。没有陀螺仪,飞控根本不知道自己在转。加速度计只能给出静态姿态,而陀螺仪能给出动态的角速度变化。

但陀螺仪有个致命弱点——零偏漂移。你把它静止放着,它输出的角速度可能不是0,而是某个小值。这个小值积分久了,姿态误差就会越来越大。

注意: 陀螺仪的零偏会随温度变化。我曾在冬天室外试飞,飞控刚上电时陀螺仪零偏是0.5°/s,飞了5分钟后变成了1.2°/s。如果不做温度补偿,姿态解算会越来越偏。所以,很多飞控在启动时会做一段时间的静态零偏采集。

3.3 磁力计:电子罗盘

磁力计测量的是地磁场。它就像一个电子罗盘,能告诉你机头朝向哪里。但说实话,磁力计是四个传感器里最“娇气”的。

为什么?因为地磁场本身很弱(约0.5高斯),而电机、电调、甚至飞控板上的大电流走线都会产生强得多的干扰磁场。你想想看,一个0.5高斯的信号被淹没在几高斯的噪声里,想准确提取出来有多难。

磁力计的主要用途:

  • 航向角(偏航)修正:配合GPS提供绝对航向
  • 室内导航:没有GPS时,磁力计是唯一能提供绝对方向的手段

磁力计校准的核心思想:

理想情况下,磁力计在三维空间旋转时,三个轴的读数应该落在一个球面上。但由于硬磁干扰(固定偏移)和软磁干扰(椭圆变形),实际数据会偏离球面。校准的目的就是把这个球面“拉回”到标准球体。

3.4 气压计:测量高度

气压计的原理很简单:大气压强随高度增加而降低。通过测量气压,就能估算出高度变化。

但这里有个坑——气压受温度影响很大。你从室内飞到室外,温度变化几度,气压计读数可能就漂了好几米。所以,气压计通常只用于相对高度测量,而不是绝对高度。

在飞控里,气压计和加速度计、GPS一起融合,才能得到稳定的高度估计。单独用气压计,悬停高度会像“呼吸”一样上下波动。

我的建议: 气压计一定要用海绵或泡沫盖住,避免阳光直射和风直接吹到传感器上。我曾经试过不加海绵,飞控在阳光下暴晒5分钟,气压计温度升高了10°C,高度读数漂了8米——这还怎么飞?

3.5 六面校准流程

六面校准,也叫加速度计校准。目的是消除加速度计的零偏和尺度误差。

原理很简单:把飞控分别朝六个方向(上、下、左、右、前、后)静止放置,每个方向采集一组数据。理论上,每个方向只有一个轴感受到1g的重力,其他轴为0。实际读数与理论值的偏差,就是我们需要补偿的参数。

具体步骤:

  1. 将飞控水平放置(Z轴向上),采集100个样本取平均
  2. 将飞控倒置(Z轴向下),采集100个样本取平均
  3. 将飞控左侧朝上(X轴向上),采集100个样本取平均
  4. 将飞控右侧朝上(X轴向下),采集100个样本取平均
  5. 将飞控前侧朝上(Y轴向上),采集100个样本取平均
  6. 将飞控后侧朝上(Y轴向下),采集100个样本取平均

采集完成后,飞控会自动计算出三轴的零偏和尺度因子。校准完成后,你可以把飞控随意旋转,看看三个轴的读数平方和是否接近1g²。

我曾经踩过的坑: 六面校准最怕“没放平”。你以为是水平放置,其实有5°的倾斜,那校准出来的参数就是错的。我的习惯是:用水平仪或手机上的水平校准App,先把放置面调平,再放飞控。另外,校准过程中不要触碰飞控,等数据稳定了再采集。

3.6 磁力计校准流程

磁力计校准比加速度计麻烦一些。它需要你在三维空间里旋转飞控,让传感器“看到”各个方向的磁场。

标准流程:

  1. 找一个空旷的地方,远离金属物体和高压线
  2. 将飞控上电,进入磁力计校准模式
  3. 手持飞控,在空中画“8”字,或者做全方位的旋转
  4. 确保飞控的每个面都朝向各个方向
  5. 采集足够多的数据点(一般要求覆盖整个球面)
  6. 飞控自动计算硬磁偏移和软磁补偿矩阵

校准完成后,你可以检查一下:把飞控水平旋转一圈,磁力计的航向角应该平滑变化,没有突变或卡顿。

校准质量判断:

好的校准结果:硬磁偏移量在±100以内(相对值),软磁补偿矩阵接近单位矩阵。如果偏移量很大(比如超过500),说明飞控附近有强磁干扰源,需要排查。

我的经验: 磁力计校准最好在每次飞行前做一次。尤其是换了电池、拆装了机臂之后,磁场环境可能已经变了。另外,校准时机身不要带电池,因为电池本身也有微弱磁性。嗯,这个细节很多人不知道。

3.7 传感器数据验证

校准完了,怎么知道校准得好不好?我一般会做三个验证:

  • 静态验证:把飞控静止放置,观察各传感器读数是否稳定。加速度计三个轴读数平方和应该在0.98~1.02g²之间。
  • 动态验证:用手拿着飞控快速旋转,观察陀螺仪读数是否灵敏,磁力计航向是否平滑。
  • 温度验证:有条件的话,把飞控从室内拿到室外(温差10°C以上),观察传感器零偏的变化量。

如果发现某个传感器数据异常,不要急着飞。先检查硬件连接,再重新校准。我曾经有一架飞机,磁力计数据总是跳变,最后发现是飞控旁边的一颗螺丝钉带磁性——换掉螺丝后一切正常。

好了,这一章的内容就到这里。传感器是飞控的基础,基础不牢,地动山摇。下一章我们会把这些传感器数据融合起来,得到稳定的姿态估计。到时候你就知道,为什么校准这么重要了。


公众号:蓝海资料掘金营,微信deep3321