跳转到内容

机器人与无人机 ​

ESP32 的 Wi-Fi 和 BLE 让它很适合做可以手机或网页遥控的机器人:小车、机械臂、四足、桌面伙伴。它的双核性能也足以运行 PID 控制、舵机驱动和传感器融合。适合想做动手项目的创客和学生。

这是什么玩法 ​

方向说明
遥控小车两轮或四轮,电机驱动板加手机 / 网页遥控
舵机机械臂多舵机联动,用网页滑块或预设动作控制
桌面伙伴带屏幕表情、舵机动作和语音,见 语音与 AI
无人机ESP-Drone,一款基于 ESP32 系列的开源小型四轴
ROS 机器人micro-ROS 让 ESP32 作为 ROS 2 的微控制器节点

典型硬件 ​

  • 主控:ESP32-DevKitC、ESP32-S3-DevKitC-1、XIAO ESP32-S3 都可。
  • 电机驱动:TB6612、L298N 或 DRV8833,舵机驱动板如 PCA9685。
  • 传感器:IMU(MPU6050、BMI270 等)、超声波、ToF 测距、编码器。
  • 电源:锂电池加稳压模块,舵机和电机要与逻辑电路分开供电或加足够去耦。
  • 套件:M5Stack 的 Atom 系列与 Dial 可以当控制器或遥控器。

软件与项目 ​

  • ESP-Drone:乐鑫开源的小型无人机方案,基于 Crazyflie 的飞控思路,支持用手机 App 或游戏手柄控制。具体支持的芯片和硬件版本请看官方仓库。
  • micro-ROS:把 ESP32 接入 ROS 2 的微控制器框架,据官方资料支持 ESP-IDF 平台;适合已经在用 ROS 2 的人。
  • ESPHome:不想写固件时,用 servo、stepper、output 等组件快速做出可联动的机械装置。
  • Arduino-ESP32 配合 ESP32Servo 库、AccelStepper 库;无线通信可参考 无线协议 里的 ESP-NOW,适合做低延迟遥控。
  • Rust 与 MicroPython 在机器人领域也有爱好者。

入门路径 ​

  1. 先做一台 Wi-Fi 遥控小车:ESP32 加电机驱动板,网页上放方向按钮。
  2. 加入 IMU 或编码器,尝试闭环控制,如保持直线或速度。
  3. 做一只机械臂,用 PCA9685 驱动多个舵机,先在网页里手动调每个舵机。
  4. 学 ESP-NOW,把一块 ESP32 当作遥控器,延迟比 Wi-Fi 更低。
  5. 想飞:先在模拟或固定支架上调 PID,再小范围飞行。

进阶方向 ​

  • 平衡车:需要 IMU 与 PID 调参,是控制理论入门好项目。
  • 四足和双足:舵机数量多,要处理电流和结构设计。
  • 视觉:加摄像头做循线、颜色追踪,见 摄像头与视觉。
  • ROS 2 集成:用 micro-ROS 发布里程计、接收速度指令。
  • 桌面机器人:配屏幕表情和 AI 对话。

注意事项 ​

电源与运动部件

影响范围:舵机、电机堵转时电流很大,供电不足会导致 ESP32 复位或烧毁稳压器;锂电池短路有起火风险;无人机的螺旋桨可能伤人。

前置条件:

  • 电机、舵机电源与 ESP32 电源分路或使用足够容量的 BEC / 稳压器,并在电源端并联大电容。
  • 所有电池带保护板,不要使用鼓包电池。
  • 调试无人机时务必拆桨,首次飞行选择空旷场地,并注意当地对无人机的管理规定。
  • 舵机要先限位,避免结构受力过大。

回退:断电后检查接线;烧毁的稳压器或驱动板需更换;ESP32 烧坏则更换开发板。

  • 引脚:部分 GPIO 在启动时有特殊用途,驱动电机的引脚在上电瞬间可能抖动,要加下拉电阻。
  • 无线干扰:Wi-Fi 与电机噪声可能互相影响,布线要分开。
  • 无人机相关遥控的功率和频段需符合当地无线电法规。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。