MiniFly 飞控固件
minifly-fc
无人机
4/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** | STM32F411CEUx (Cortex-M4F, 96 MHz) |
|---|---|
| **Flash** | 512 KB (8 sectors) |
| **SRAM** | 128 KB |
| **IMU** | MPU6500 (I2C1, 6-axis, ±16g/±2000dps) |
| **磁力计** | AK8963 (I2C1, via MPU bypass) |
| **气压计** | BMP280 / SPL06 (I2C1, 自动检测) |
| **无线电** | nRF24L01 (USART2, 1Mbaud, DMA TX) |
| **USB** | USB OTG FS (CDC虚拟串口) |
| **扩展接口** | I2C3, SPI2, USART1 |
| **电机布局** | X-Quad (4路PWM: TIM2_CH1/3, TIM4_CH1/2) |
| **姿态更新率** | 250 Hz |
| **控制频率** | 500 Hz |
| **传感器采样** | 1 kHz |
| **RTOS** | FreeRTOS (CMSIS-RTOS v2, 10 tasks) |
| **构建系统** | CMake + Ninja + GCC |
项目资源
搜索资源
物料清单 (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 | — | 可选 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 3/5
🔵 数理与计算: 4/5
🔵 动手与操作: 4/5
🔵 狂热与坚持: 4/5
🔵 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要焊接QFN封装MCU和传感器,组装四轴飞行器机架,调试硬件接口
💻 **编程能力**:需要C语言嵌入式开发经验,理解FreeRTOS任务调度、CMake构建系统、STM32 HAL库
⚡ **电子电路**:需要理解I2C/SPI/USART通信协议、PWM电机控制、电源管理、ADC检测
适用场景
**学习四轴飞行器飞控原理**:从传感器融合到PID控制的完整实现
**嵌入式系统进阶学习**:现代工具链(CMake+HAL+FreeRTOS)的实战项目
**MiniFly飞行器改造**:为现有MiniFly硬件升级固件
**飞控算法研究**:级联PID、Mahony姿态估计、位置估计等算法的实现和调参
**扩展模块开发**:利用热插拔模块系统开发自定义外设