1.2.3.6.4.5 STEPMOTOR(步进电机)
优质
小牛编辑
130浏览
2023-12-01
更新时间:2018-09-17 13:52:29
功能说明
步进电机驱动程序。步进电机是将电脉冲信号转变成角位移或线位移,在该实例中,我们会驱动一个5线4相的步进电机,驱动新派你用的是 ULN2003。
硬件资源
1.ESP32 开发板
2.步进电机模块
3.ULN2003 驱动模块
3.接线
ULN2003 驱动模块 IN1引脚接 ESP32 16 引脚
ULN2003 驱动模块 IN2引脚接 ESP32 17 引脚
ULN2003 驱动模块 IN3引脚接 ESP32 18 引脚
ULN2003 驱动模块 IN4引脚接 ESP32 19 引脚
ULN2003 驱动模块 VCC引脚接 ESP32 5V 引脚
ULN2003 驱动模块 GND引脚接 ESP32 GND 引脚
软件设计
在电机的控制上,我们使用AB->BC->CD->DA来控制正转,用DA->CD->BC->AB来控制反转。
驱动配置
开发板板级管脚配置(board.json) 示范:</span>
"stepmotor.d":{
"type":"GPIO",
"port":16,
"dir":0,
"pull":0
},
"stepmotor.c":{
"type":"GPIO",
"port":17,
"dir":0,
"pull":0
},
"stepmotor.b":{
"type":"GPIO",
"port":18,
"dir":0,
"pull":0
},
"stepmotor.a":{
"type":"GPIO",
"port":19,
"dir":0,
"pull":0
}
应用示例
- 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 stepmotor。
- 编写测试 index.js 文件。
var stepmotor = require('stepmotor');
var handle = new stepmotor('stepmotor.a','stepmotor.b','stepmotor.c','stepmotor.d');
var index = 0;
setInterval(function(){
handle.reversRun(index);
index = index + 1;
if(4 == index){
index = 0;
}
}, 1);
运行验证
更新代码后,能看到电机在反转。