大家好,又见面了,我是你们的朋友全栈君。
之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。
所用硬件:步进电机及驱动器、STC89C52单片机、直流电源
1、硬件连接图
- 注意:上图为共阳极接法,实际连接参考总体线路连接。
- 驱动器信号端定义:
PUL :脉冲信号输入正。( CP )
PUL-:脉冲信号输入负。( CP- )
DIR :电机正、反转控制正。
DIR-:电机正、反转控制负。
EN :电机脱机控制正。
EN-:电机脱机控制负。
- 电机绕组连接
A :连接电机绕组A 相。
A-:连接电机绕组A-相。
B :连接电机绕组B 相。
B-:连接电机绕组B-相。
- 电源连接
VCC:电源正端“ ”
GND:电源负端“-”
注意:DC直流范围:9-32V。不可以超过此范围,否则会无法正常工作甚至损坏驱动器.
- 总体线路连接
输入信号共有三路,它们是:①步进脉冲信号PUL ,PUL-;②方向电平信 号DIR ,DIR-③脱机信号EN ,EN-。输入信号接口有两种接法,可根据 需要采用共阳极接法或共阴极接法。
在这里我采用的是共阴极接法:分别将 PUL-,DIR-,EN-连接到控制系统的地端(接入单片机地端); 脉冲输入信号通过PUL 接入单片机(代码中给的P2^6脚),方向信号通过DIR 接入单片机(代码中给的P2^4脚),使能信号通过EN 接 入(不接也可,代码中未接,置空)。按键连接见代码,分别用5个按键控制电机启动、反转、加速、减速、正反转。
注意:接线时请断开电源,电机接线需注意不要错相,相内相间短路, 以免损坏驱动器。
2、代码
参见链接:https://download.csdn.net/download/weixin_42670445/11978165
3、常见问题解答
- 控制信号高于5v一定要串联电阻,否则可能会烧坏驱动器控制接口电路。
- 接通电源后如果驱动器灯亮,但是无法控制电机旋转,考虑控制部分驱动能力不足或者驱动器所设置的驱动电流不够(我就遇到过这种情况,后来通过调高驱动器限制电流解决的此问题)。如果调高驱动电流步进电机仍无法转动,查看电路板上的按键有没有接对,程序中按键引脚可根据电路板设计的按键引脚连接自行改动。
- 判断步进电机四条线的定义:将任意两条线接在一起,用手旋转电机,如果有阻力,则两条线是同一相。用相同方法测试另外两条线是否是同一相。确定同相的两条线任意接入两相接口,如果旋转方向相反只需换相即可。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138032.html原文链接:https://javaforall.cn