2026-06-15 04:53:30 +08:00
2026-06-14 05:20:41 +08:00
2026-06-15 04:53:30 +08:00
2026-06-14 05:20:41 +08:00
2026-06-14 05:20:41 +08:00
2026-06-15 04:52:25 +08:00

ESP32 + IMU 采集与夹爪控制

本项目使用 MicroPython 在 ESP32 上读取 IMU 的 TTL 串口数据,并通过板载 CP2102 USB 串口将数据发送到电脑。

  • 注意观察esp32芯片型号参考资料可在ESP32-D0WDQ6.

  • 最新的接线图请参考 这个,与嵌入式组沟通。

  • 将电脑USB口与ESP32用线连起来时理论上ESP32板子将有5V及3.3V 供电,无需额外供电。

  • IMU 资料

  • ESP32 京东链接

  • IMU本身支持串口通信所以可以通过USB转TTL串口版办公室货架上有连电脑直接进行调试(借助串口调试助手可以参考这个IMU资料 链接)。可以在使用ESP32板通过串口通信前先使用USB转TTL串口版测试其功能是否正常。

  • 以下内容供参考,根据实际情况修改

硬件连接概览

IMU -> TTL UART -> ESP32 -> CP2102 -> USB -> 电脑

一、准备软件

  1. 安装 Thonny

  2. 使用支持数据传输的 Micro-USB 线连接 ESP32。

  3. 打开终端,查看 ESP32 对应的串口设备:

    ls /dev/ttyUSB*
    

    通常会看到:

    /dev/ttyUSB0
    
  4. 也可以使用以下命令确认 CP210x 设备:

    lsusb
    dmesg | tail
    
  5. 记住对应的串口设备,例如 /dev/ttyUSB0

如果当前用户没有串口访问权限,执行:

sudo usermod -aG dialout $USER

执行后注销并重新登录 Ubuntu使权限生效。也可以重新启动电脑。

二、安装 MicroPython 固件

打开 Thonny然后执行以下步骤

  1. 选择 工具 -> 选项 -> 解释器

  2. 解释器选择:

    MicroPython (ESP32)
    
  3. 端口选择 ESP32 对应的设备,例如 /dev/ttyUSB0

  4. 点击“安装或更新 MicroPython”。

  5. 目标端口选择对应的 /dev/ttyUSB0

  6. 芯片选择 ESP32

  7. 建议勾选“擦除闪存”。

  8. 点击安装。

如果提示无法连接:

  1. 按住 ESP32 上的 BOOT 按钮。
  2. 点击安装。
  3. 出现连接或写入进度后松开 BOOT

安装完成后Thonny 下方 Shell 中通常会显示:

MicroPython ...
>>>

三、上传 main.py

ESP32 端程序位于:

main.py

在 Thonny 中:

  1. 选择 文件 -> 打开
  2. 打开仓库中的 main.py
  3. 选择 文件 -> 另存为
  4. 选择保存到“MicroPython设备”。
  5. 将文件名填写为 main.py

保存后Thonny 左侧“MicroPython设备”中应能看到

/main.py

ESP32 启动时会依次自动执行:

boot.py
main.py

因此,程序必须准确命名为 main.py

四、连接 IMU

TTL 串口

IMU ESP32
VCC 按模块要求连接 3.3V 或 5V
GND GND
TX GPIO16
RX GPIO17
IMU VCC -> ESP32 3.3V/5V
IMU GND -> ESP32 GND
IMU TX  -> ESP32 GPIO16
IMU RX  -> ESP32 GPIO17

ESP32 GPIO 不能承受 5V。连接前必须确认 IMU 的 TTL 信号电平兼容 3.3V。

四路数字输入

输入 ESP32
DIN1 GPIO25
DIN2 GPIO26
DIN3 GPIO27
DIN4 GPIO32
信号地 GND

数字输入电压不能超过 3.3V

五、重新上电运行

上传完成后:

  1. 关闭 Thonny或者点击 Thonny 的“停止/断开”。
  2. 按一下 ESP32 的 EN/RESET 按钮。
  3. 也可以拔掉 USB 后重新连接。

以后每次 ESP32 上电时,都会自动运行 main.py

IMU -> TTL -> ESP32 -> CP2102 -> USB -> 电脑

六、电脑接收数据

电脑端程序位于:

pc_reader.py

安装 Python 串口依赖:

python3 -m pip install pyserial

如果 Ubuntu 提示当前 Python 环境由系统管理,建议使用虚拟环境:

python3 -m venv .venv
source .venv/bin/activate
pip install pyserial

运行程序:

python3 pc_reader.py /dev/ttyUSB0

/dev/ttyUSB0 替换为 ESP32 的实际串口设备。

正常输出类似:

#       1  200.0Hz DIN=[1, 1, 0, 1] DOUT=[0, 0] ACC=[...] GYRO=[...] ANGLE=[...]

电脑接收程序使用 230400 波特率。

运行 pc_reader.py 前必须断开 Thonny否则串口可能被 Thonny 占用。

七、夹爪控制命令

运行 pc_reader.py 后,可以输入以下命令并按回车:

命令 操作
o 打开夹爪
c 闭合夹爪
s 停止,两路控制输出均释放

ESP32 使用以下管脚控制外部驱动电路:

功能 ESP32
控制输出1 GPIO18
控制输出2 GPIO19

ESP32 GPIO 只能输出 3.3V,不能直接连接 12V 工业控制信号。必须使用光耦隔离模块、晶体管或其他合适的电平转换和驱动电路。

项目文件

.
|-- README.md
|-- main.py
`-- pc_reader.py
Description
No description provided
Readme 8.7 MiB
Languages
Python 100%