Crazepony开源四轴飞行器

飞行控制器——传感器

作者:nieyong

在《飞行控制器——主控MCU》一文的四轴的灵魂——飞控章节中已经提到,飞控是由传感器部分(即惯性导航模块,IMU)和控制部分MCU组成。这篇文章我们将重点讲讲传感器部分的知识。

四轴飞行器的传感器就是用来感知飞行器在空中的姿态和运动状态,这有个专有名词叫做运动感测追踪,英文Motion Tracking。在消费电子市场,运动感测技术主要有四种基础运动传感器,下面分别说明其进行运动感测追踪的原理。

加速器(G-sensors)

加速器可用来感测线性加速度与倾斜角度,单一或多轴加速器可感应结合线性与重力加速度的幅度与方向。含加速器的产品,可提供有限的运动感测功能。例如,含加速器的产品,可在固定方位,感应緃向至横向的移动,因此,加速器主要使用于与重力方向有关的感测产品中,可提供如将手机的緃向萤慕转换为横向等的简单功能。

陀螺仪(Gyros)

陀螺仪是利用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。

陀螺仪可感测一轴或多轴的旋转角速度,可精准感测自由空间中的复杂移动动作,因此,陀螺仪成为追踪物体移动方位与旋转动作的必要运动传感器。不像加速器与电子罗盘,陀螺仪不须借助任何如重力或磁场等的外在力量,能够自主性的发挥其功能。

更加详细的资料,参考MPU6050使用相关的篇章。

电子罗盘(E-Compasses)

电子罗盘也叫数字指南针,磁力计,是利用地磁场来定北极的一种方法。古代称为罗经,现代利用先进加工工艺生产的磁阻传感器为罗盘的数字化提供了有力的帮助。现在一般有用磁阻传感器和磁通门加工而成的电子罗盘。

电子罗盘可藉由地球的磁场来感测前进方向。运用电子罗盘的消费性电子产品应用,包含在手机的地图应用程序显示正确方向,或为导航应用程序提供前进方向数据。然而,电子设备或建筑材料的磁场干扰,比地球磁场来得强,导致电子罗盘传感器的输出值,较容易受到各种环境因素的影响,尤其在室内更是如此,因此,电子罗盘须要透过频繁的校正,才能维持前进方向数据的准确度。

压力传感器(Barometers)

压力传感器又叫做气压计,会藉由气压的变化来感测物体的相对与绝对高度,常被运用于与运动、健身、方位推测等应用有关的消费性产品中,例如,可感测使用者的移动层楼,调整地图信息。

微机电系统(MEMS)

微机电系统(MEMS, Micro-Electro-Mechanical System)是一种先进的制造技术平台。微机电系统是微米大小的机械系统,是以半导体制造技术为基础发展起来的。

在我们的四轴飞行器上用到的是传感MEMS分支。传感MEMS技术是指用微电子微机械加工出来的、用敏感元件如电容、压电、压阻、热电耦、谐振、隧道电流等来感受转换电信号的器件和系统。

我们使用的加速度陀螺仪MPU6050,电子罗盘HMC5883L都是微机电系统。

crazepony传感器

Crazepony使用传感器MPU6050,集成了3轴陀螺仪和3轴加速度传感器。

关于传感器的选型,在CamelGo的博客我和Crazepony的那点事儿(2)中有这么一段描述。

Crazepony采用的是最常用的MPU6050陀螺仪加速度计一体芯片,成本不超过20元,对小四轴来说,它的精度和性能绰绰有余了(当我听说教研室师兄用的一颗传感器裸片卖1W+时,我整个人都不好了..),MPU6050在这个价位里面几乎是占有绝对的性价比优势。首先,它将陀螺仪和加速计整合在一个片上,通过IIC总线给出六个维度的ADC值;其次,芯片本身提供一个“从”IIC接口,供用户接第三方的IIC器件,一般选择是接一个电子罗盘,如HMC5883L,构成一个9轴的输出的姿态模组,现在MPU9150已经丧心病狂的把电子罗盘功能也整合在片上了,但是要买60+元;最后,这颗芯片内部集成了一个DMP(Digital Motion Processor)处理器,这是最让我爱不释手夜不能寐的一个功能,直接硬件解算四元数,从某种程度上说解放了20%的主控资源

在crazepony上,MPU6050,HMC5883传感器之间的连接如下图所示。