MiniFly 飞控固件

minifly-fc

无人机 ⭐⭐⭐⭐☆ (4/5) 🧩 软硬件结合 已发布
bfmhno3 0 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

STM32F411CEUx上运行的完整四轴飞行器飞控,含级联PID控制。


一款运行在STM32F411CEUx(Cortex-M4F,96 MHz)上的完整四轴飞行器飞控,采用级联PID控制、传感器融合、无线电/USB遥测以及支持热插拔的扩展模块系统。最初基于正点原子MiniFly开源项目(2017),现已全面重构以适应现代工具链并提升可维护性。

标签

项目特点

**级联PID控制**:角度环+角速度环级联,支持位置/速度PID和自动悬停推力
**Mahony姿态估计**:基于四元数的姿态解算,支持INAV风格位置估计
**多传感器融合**:MPU6500 IMU (1kHz)、AK8963磁力计、BMP280/SPL06气压计自动检测
**双通信链路**:nRF24L01无线电 (1Mbaud DMA TX) + USB CDC虚拟串口
**ATKP二进制协议**:支持遥测和命令传输,双源RC输入(无线电+WiFi)
**热插拔扩展模块**:WS2812灯环、PMW3901光流、VL53L0X/VL53L1X激光测距、WiFi摄像头
**安全机制**:IWDG看门狗、异常检测、飞行锁定、链路丢失自动降落、低电量报警
**现代工具链**:CMake + Ninja构建,FreeRTOS多任务调度(10个任务)
**分层架构**:清晰的App/Control/Services/Platform/BSP层次,易于维护和扩展

技术规格

**MCU**
**Flash**
**SRAM**
**IMU**
**磁力计**
**气压计**
**无线电**
**USB**
**扩展接口**
**电机布局**
**姿态更新率**
**控制频率**
**传感器采样**
**RTOS**
**构建系统**

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
STM32F411CEUx 1 UFQFPN48封装
MPU6500 1 6轴加速度+陀螺仪
AK8963 1 3轴磁力计,通过MPU旁路
BMP280 或 SPL06 1 自动检测
nRF24L01 1 2.4GHz无线模块
空心杯电机 4 8520或类似规格
40mm或类似 4 正反桨各2
1S LiPo (3.7V) 1 260mAh或更大
WS2812灯环 1 12-LED RGB
PMW3901光流传感器 1 可选
VL53L0X/VL53L1X激光测距 1 可选
WiFi摄像头模块 1 可选

所需工具

工具用途是否必需
STM32CubeMX 初始化HAL配置和引脚 ✅ 是
CMake + Ninja 构建系统 ✅ 是
GCC ARM工具链 编译固件 ✅ 是
ST-Link调试器 烧录和调试 ✅ 是
焊台 焊接电路板 ✅ 是
示波器/逻辑分析仪 调试通信协议 ▢ 推荐
3D打印机 打印机架和结构件 ▢ 推荐

能力画像

记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新

所需技能

🔧 **动手能力**:需要焊接QFN封装MCU和传感器,组装四轴飞行器机架,调试硬件接口 💻 **编程能力**:需要C语言嵌入式开发经验,理解FreeRTOS任务调度、CMake构建系统、STM32 HAL库 ⚡ **电子电路**:需要理解I2C/SPI/USART通信协议、PWM电机控制、电源管理、ADC检测

适用场景

**学习四轴飞行器飞控原理**:从传感器融合到PID控制的完整实现
**嵌入式系统进阶学习**:现代工具链(CMake+HAL+FreeRTOS)的实战项目
**MiniFly飞行器改造**:为现有MiniFly硬件升级固件
**飞控算法研究**:级联PID、Mahony姿态估计、位置估计等算法的实现和调参
**扩展模块开发**:利用热插拔模块系统开发自定义外设