Files
Gripper_UMI/README.md
2026-06-14 05:20:41 +08:00

186 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ESP32 + IMU 采集与夹爪控制
本项目使用 MicroPython 在 ESP32 上读取 IMU 的 TTL 串口数据,并通过板载 CP2102 USB 串口将数据发送到电脑。
## 硬件连接概览
```text
IMU -> TTL UART -> ESP32 -> CP2102 -> USB -> 电脑
```
## 一、准备软件
1. 安装 [Thonny](https://thonny.org/)。
2. 使用支持数据传输的 Micro-USB 线连接 ESP32。
3. 打开 Windows 设备管理器,确认出现类似设备:
```text
Silicon Labs CP210x USB to UART Bridge (COM5)
```
4. 记住对应的 `COM` 端口,例如 `COM5`。
## 二、安装 MicroPython 固件
打开 Thonny然后执行以下步骤
1. 选择 `工具 -> 选项 -> 解释器`。
2. 解释器选择:
```text
MicroPython (ESP32)
```
3. 端口选择 ESP32 对应的 `COM` 端口。
4. 点击“安装或更新 MicroPython”。
5. 目标端口选择对应的 `COM` 端口。
6. 芯片选择 `ESP32`。
7. 建议勾选“擦除闪存”。
8. 点击安装。
如果提示无法连接:
1. 按住 ESP32 上的 `BOOT` 按钮。
2. 点击安装。
3. 出现连接或写入进度后松开 `BOOT`。
安装完成后Thonny 下方 Shell 中通常会显示:
```text
MicroPython ...
>>>
```
## 三、上传 main.py
ESP32 端程序位于:
[main.py](./main.py)
在 Thonny 中:
1. 选择 `文件 -> 打开`。
2. 打开仓库中的 `main.py`。
3. 选择 `文件 -> 另存为`。
4. 选择保存到“MicroPython设备”。
5. 将文件名填写为 `main.py`。
保存后Thonny 左侧“MicroPython设备”中应能看到
```text
/main.py
```
ESP32 启动时会依次自动执行:
```text
boot.py
main.py
```
因此,程序必须准确命名为 `main.py`。
## 四、连接 IMU
### TTL 串口
| IMU | ESP32 |
|---|---|
| VCC | 按模块要求连接 3.3V 或 5V |
| GND | GND |
| TX | GPIO16 |
| RX | GPIO17 |
```text
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`
```text
IMU -> TTL -> ESP32 -> CP2102 -> USB -> 电脑
```
## 六、电脑接收数据
电脑端程序位于:
[pc_reader.py](./pc_reader.py)
安装 Python 串口依赖:
```powershell
pip install pyserial
```
运行程序:
```powershell
python pc_reader.py COM5
```
将 `COM5` 替换为 ESP32 的实际串口号。
正常输出类似:
```text
# 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 工业控制信号。必须使用光耦隔离模块、晶体管或其他合适的电平转换和驱动电路。
## 项目文件
```text
.
|-- README.md
|-- main.py
`-- pc_reader.py
```