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** | |
|---|---|
| **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姿态估计、位置估计等算法的实现和调参
**扩展模块开发**:利用热插拔模块系统开发自定义外设