ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

百元零件飞上天的ESP32开源无人机:ESP-Drone飞控实战指南

百元零件飞上天的ESP32开源无人机:ESP-Drone飞控实战指南

百元零件飞上天的ESP32开源无人机:ESP-Drone飞控实战指南

【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone

一块240MHz单核的ESP32-S2,带得动500Hz的飞控循环。ESP-Drone 是乐鑫基于 ESP32/ESP32-S 系列做的开源无人机项目:百元级零件、一套完整的飞控固件,手机 APP 或游戏手柄经 Wi-Fi 直接上手,自稳定、定高、定点三种模式开箱可用。

为什么值得做:百元硬件清单

  • ESP32-S2 主控(默认 240MHz 单核)+ 4 个微型无刷电机 + 3.7V 500mAh 锂电池
  • 六轴 IMU:MPU6050(加速度 ±2g 到 ±16g 可选量程,陀螺仪 ±250 到 ±2000°/s 四档)
  • MS5611 气压计:10–1300hPa,精度 ±2hPa,负责高度
  • 磁力计 HMC5883L + 螺旋桨 + 脚架
  • 加钱项:VL53L1X 激光测距(0–4m,±3%)与 PMW3901 光流(最高 3000dpi,64Hz),装上后定高/定点模式才完整
  • 软件是全套:飞控核心、驱动、上位机、APP 源码全开源,控制算法移植自 Crazyflie 项目(GPL-3.0)

它凭什么飞得稳:ESP32 上的传感器融合与串级 PID

多路感知交叉核对

姿态数据没有单一权威来源:陀螺仪反应快但会漂移,加速度计看重力方向但怕振动,MS5611 报高度,VL53L1X 在地面 3–4m 内给出精确距离,PMW3901 光流以 64Hz 输出水平位移。ESP-Drone 用扩展卡尔曼滤波器(EKF)给各路读数按可信度加权,互相校对,输出最终姿态与位置。另外 MPU6050 自带 DMP(数字运动处理器),直接吐出姿态四元数,把最重的解算工作从主控身上卸走。

每2毫秒纠一次姿

姿态环按 500Hz 跑:期望角度和当前角度求误差,比例项立刻拉回、微分项提前预判、积分项抹掉长期偏差,积分限幅防止饱和。输出经分配后落到 4 个电机的转速上,2ms 后重新采样再来一轮。位置环套在姿态环外面,构成串级结构,悬停才不发飘。

算法实现集中在 components/core/crazyflie/(估计器、控制器、500Hz stabilizer 循环),传感器驱动在 components/drivers/。

一天从零搭起来:从焊接到起飞的流程

  1. 按 docs/ 里的硬件参考装机身:装脚架、焊接 4 个电机、装螺旋桨(正反桨方向别装反),电池最后接。
  2. 装 ESP-IDF 的 release/v5.0 分支并加入 PATH。
  3. 克隆仓库并切到 S2 目标板:
git clone https://gitcode.com/GitHub_Trending/es/esp-drone cd esp-drone && idf.py set-target esp32s2
  1. 编译、烧录并打开串口监视:
idf.py build && idf.py flash monitor
  1. 手机或电脑经 Wi-Fi 用 cfclient 上位机连上,实时看传感器数据,在参数字段里调 PID。
  2. 校准:陀螺仪零偏(保持静止)、加速度计(按提示翻转机身)、磁力计(画 8 字)。
  3. 通电确认电机转向后先试自稳定,再依次解锁定高、定点模式。

翻车先看这里:4个高频故障对照表

现象原因处理
起飞时打转/无法起飞电机转向装反交换对应电机接线,或修改配置里的电机顺序
飞行中剧烈抖动PID 参数不当降低 Kp 或加大 Kd,小步幅重调
高度缓慢漂移气压计受温度影响启用高度融合或做温度补偿
定点悬停持续跑偏光流镜头脏污清洁 PMW3901 镜头,必要时重新校准

飞起来之后

想带学生讲嵌入式与 ROS 之外的控制闭环?这套代码就是现成教材。想往环境监测、温室巡检这类场景走,换个载荷就行。想玩编队?ESP-Drone 之间可以 Wi-Fi 组网。完整的飞控源码、驱动与中英文档都在这:https://gitcode.com/GitHub_Trending/es/esp-drone ,克隆下来,焊第一块板吧。

【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进