Cortex 飞控
cortex
ESP32, 飞控/无人机
2/5
已发布
项目简介
ESP32-S3 flight controller for DIY quadcopters: real-time PID stabilization, DShot ESCs, nRF24 radio, telemetry downlink
Cortex 是一个面向 DIY 四轴无人机的专业级开源飞控系统,基于 ESP32-S3 微控制器开发,旨在为无人机爱好者提供一套高性能、可定制、低延迟的飞行控制解决方案。该项目与配套的发射机控制器 Synapse 协同工作,通过 nRF24L01 无线模块接收摇杆指令,并利用 MPU6050 陀螺仪/加速度计进行姿态感知,结合 PID 控制算法实现实时姿态稳定与飞行机动执行。
标签
项目特点
🚁 **实时姿态稳定**:滚转/俯仰采用PD控制器,偏航采用PI+速率前馈控制,响应灵敏
⚡ **原生DSHOT电调控制**:通过ESP32 RMT硬件实现DSHOT600协议
📡 **无线通信**:nRF24L01无线模块,低延迟指令接收
🎯 **MPU6050集成**:硬件DLPF滤波和软件校准,姿态感知准确
📺 **OLED遥测显示**:实时显示姿态、油门、电机输出、微调等飞行数据
📤 **无线电遥测下行**:通过nRF24 ACK载荷发送遥测数据到遥控器
📊 **INA219电流/电压监测**:监测总线电压、电流和功率
🌡️ **BMP280气压计**:提供气压和高度数据
💾 **黑盒日志记录**:飞行数据写入microSD卡,支持增量文件名
📐 **高度保持**:LiDAR+加速度计融合,PID高度控制
🧭 **航向锁定**:陀螺仪+磁力计融合,摇杆居中时锁定航向
🔒 **安全特性**:解锁序列、油门限制、硬件初始化检查
🧵 **双核设计**:飞行循环在核心1,无线和辅助任务在核心0
🏗️ **模块化架构**:适配器、模型、控制器、任务分层设计
⚙️ **PlatformIO集成**:现代化构建系统,依赖管理
技术规格
| 主控芯片 | ESP32-S3 (推荐16MB Flash, 8MB PSRAM) |
|---|---|
| 姿态传感器 | MPU6050 (6轴陀螺仪/加速度计) |
| 无线模块 | nRF24L01 (SPI接口) |
| 电调协议 | DShot600 (通过ESP32 RMT) |
| 显示 | SSD1306 OLED 128x64 (I2C) |
| 气压计 | BMP280 (I2C, 可选) |
| 电流/电压监测 | INA219 (I2C, 可选) |
| 测距传感器 | TF-Luna LiDAR (UART, 可选) |
| GPS | 支持UART GPS模块 (可选) |
| 磁力计 | QMC5883L (I2C, 可选) |
| 存储 | microSD卡 (SD_MMC 1-bit模式) |
| 电池 | 3S LiPo (11.1V) |
| 飞行控制频率 | ~1 kHz (核心1) |
| 无线通信频率 | 1000 Hz (核心0) |
| 辅助传感器频率 | ~100 Hz (核心0) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32-S3-DevKitC-1 | 1 | — | 16MB Flash, 8MB PSRAM推荐 |
| 4-in-1 ESC | 1 | — | 支持DShot600 |
| 3S LiPo | 1 | — | 11.1V |
| MPU6050 | 1 | — | I2C接口 |
| nRF24L01 | 1 | — | SPI接口 |
| SSD1306 OLED 128x64 | 1 | — | I2C接口 |
| 无刷电机 | 4 | — | 与电调匹配 |
| BMP280 | 1 | — | 可选,I2C接口 |
| INA219 | 1 | — | 可选,I2C接口 |
| TF-Luna LiDAR | 1 | — | 可选,UART接口 |
| 支持UART的GPS模块 | 1 | — | 可选 |
| QMC5883L | 1 | — | 可选,I2C接口 |
| microSD卡 | 1 | — | 用于黑盒日志 |
| 四轴飞行器机架 | 1 | — | X型布局 |
| 对应尺寸螺旋桨 | 4 | — | 与电机匹配 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 4/5
⚪ 动手与操作: 4/5
⚪ 狂热与坚持: 4/5
⚪ 创造与创新: 3/5
所需技能
🔧 **动手能力**:需要焊接电子元件、组装四轴飞行器机架、连接各种传感器和模块,具备一定的机械组装能力
💻 **编程能力**:需要掌握C/C++编程,熟悉PlatformIO开发环境,理解FreeRTOS多任务编程,了解PID控制算法
⚡ **电子电路**:需要理解I2C、SPI、UART等通信协议,了解DSHOT电调协议,掌握基本的电路连接和调试技能
适用场景
DIY四轴飞行器爱好者,希望构建专业级飞控系统
无人机技术学习和研究,深入了解飞控算法和硬件设计
开源飞控项目二次开发,定制特定功能的飞行控制器
无人机竞赛或航拍应用,需要高性能和可定制的飞控方案