介绍
本页面介绍了Betaflight固件中的传感器系统。传感器系统负责收集和处理来自各种硬件传感器的数据,从而向飞行控制器提供有关其姿态、运动、位置和电源状态的信息。传感器数据是飞行稳定、导航功能和状态报告的基础。
Betaflight的传感器系统包括:
- 陀螺仪系统——测量角速度(旋转速率)
- 加速度计系统- 测量线性加速度
- 磁力计(罗盘)系统- 提供航向信息
- 气压计系统——测量大气压力以估算海拔高度
- GPS系统——提供位置、速度和海拔信息
- 电池监控系统- 跟踪电压和电流
有关传感器在飞行控制算法中的使用详情,请参阅飞行控制系统。
传感器系统架构

Betaflight中的每个传感器子系统都遵循一个共同的模式:
- 初始化- 在启动期间调用,用于配置传感器硬件
- 更新- 定期调用以从传感器读取新数据
- 处理——数据过滤、校准和处理
- 集成——飞行控制系统如何使用处理后的数据
传感器数据流管道

传感器初始化
Betaflight 使用级联初始化系统来初始化传感器:

初始化过程中的关键函数:
sensorsPreInit()- 执行初步设置,例如引脚配置sensorsAutodetect()- 检测并初始化可用传感器- 各个传感器初始化函数(例如
gyroInit(),,accInit()等等)
检测到的传感器信息存储在一个全局数组中detectedSensors[],固件会引用该数组来检查传感器是否可用。
陀螺仪系统
陀螺仪是 Betaflight 中最关键的传感器,它提供角速度测量,这对飞行稳定至关重要。
陀螺仪处理流程

陀螺仪主要部件
-
数据结构:
-
<

最低0.47元/天 解锁文章
3417

被折叠的 条评论
为什么被折叠?



