步进电机
大约 3 分钟
步进电机
功能说明
步进电机外设支持 4 引脚半步/全步驱动模式,可精确控制转速和方向。适用于精确定位、机械臂、3D 打印等场景。
支持的外设类型
| 类型 | type值 | 说明 |
|---|---|---|
| STEPPER_MOTOR | 42 | 步进电机(4引脚驱动) |
硬件接线
ULN2003 驱动板 + 28BYJ-48 步进电机
| 驱动板引脚 | ESP32 GPIO | 说明 |
|---|---|---|
| IN1 | GPIO 32 | A 相 |
| IN2 | GPIO 33 | B 相 |
| IN3 | GPIO 25 | C 相 |
| IN4 | GPIO 26 | D 相 |
| VCC | 5V | 电源(需外部供电) |
| GND | GND | 地 |
步进电机电流较大,建议使用外部 5V 电源,不要直接从 ESP32 取电。
配置方式
方式1:Web界面配置(推荐)
步进电机保存前重点核对驱动板 IN1-IN4 引脚顺序、步数和速度参数。
步骤1:进入外设管理页面
- 打开浏览器访问 ESP32 IP 地址
- 登录后点击左侧菜单 外设配置
步骤2:添加步进电机外设
点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID stepper1唯一标识符 名称 28BYJ-48步进电机显示名称 外设类型 步进电机 (type: 42) 4引脚驱动 引脚配置 32,33,25,26IN1-IN4对应GPIO 每转步数 204828BYJ-48半步模式 转速 10RPM(建议≤15) 半步驱动 true半步=更平滑 点击 保存
步骤3:验证配置
- 在外设列表中找到刚添加的外设
- 点击 启用 开关
- 使用控制面板测试旋转(输入步数)
⚠️ 重要:步进电机需外部5V电源,引脚顺序必须对应IN1-IN4
方式2:JSON配置文件导入
将以下配置添加到 data/config/peripherals.json 的 peripherals 数组中:
{
"id": "stepper1",
"name": "步进电机",
"type": 42,
"enabled": false,
"pins": [32, 33, 25, 26],
"params": {
"stepsPerRevolution": 2048,
"speed": 10,
"halfStep": true
}
}参数说明
| 参数 | 说明 |
|---|---|
| stepsPerRevolution | 每转步数(28BYJ-48 半步模式为 2048) |
| speed | 转速(RPM) |
| halfStep | 是否使用半步驱动(true=半步,false=全步) |
pins[0]-pins[3] 分别对应驱动板的 IN1-IN4
控制命令
通过 MQTT 或 Web 界面发送控制命令:
[{"id": "stepper1", "value": "2048"}]- 正值:正转指定步数
- 负值:反转指定步数
0:停止
与外设执行联动
Web界面配置步骤
创建步进电机控制规则
- 切换到 外设执行管理 标签
- 点击 新增规则 按钮
- 配置触发器(定时触发或事件触发)
- 添加步进电机动作:
- 动作类型:设置PWM(步进电机使用步数控制)
- 目标外设:stepper1
- 动作值:2048(正转一圈)或 -2048(反转一圈)
- 点击 保存
💡 提示:正值=正转,负值=反转,0=停止
JSON配置示例
定时旋转
{
"name": "定时旋转步进电机",
"enabled": true,
"triggers": [
{
"type": "timer",
"params": { "interval": 5000 }
}
],
"actions": [
{
"type": "gpio_write",
"params": {
"periphId": "stepper1",
"value": "512"
}
}
]
}按键触发旋转
{
"name": "按键控制步进电机",
"enabled": true,
"triggers": [
{
"type": "event",
"params": { "periphId": "btn1", "event": "pressed" }
}
],
"actions": [
{
"type": "gpio_write",
"params": {
"periphId": "stepper1",
"value": "2048"
}
}
]
}注意事项
- 供电要求:步进电机需独立 5V 电源,切勿从 ESP32 USB 口直接供电
- 发热问题:长时间锁定(保持通电)会导致驱动板和电机发热,不用时建议断电
- 步数精度:28BYJ-48 减速比为 1:64,实际每转步数约 2048(半步模式)
- 速度限制:速度过快会导致丢步,建议 RPM ≤ 15
- 引脚顺序:4 个引脚顺序必须与驱动板 IN1-IN4 对应,接反会导致电机振动不转
