步进电机学习(1)-基础知识

步进电机学习(1)

步进电机控制

1 步进电机型号:
14HS13-0804S-PG19

2 PLC型号:
DM542T(雷塞)

3 GPIO图(1,2靠边缘)
在这里插入图片描述
4 步进电机需要驱动器,实现稳定的脉冲,自己写pwm估计比较难,而且树莓派的电流也不够大。

5 步进电机驱动器
1.信号输入端
PUL+:脉冲信号输入正。5V
PUL-:脉冲信号输入负。(绿色线->蓝色线)
DIR+:电机正、反转控制正。5V
DIR-:电机正、反转控制负。(红色线->白色线)
EN+:电机脱机控制正。可以不接。
EN-:电机脱机控制负。

2.电机线连接段
A+:连接电机绕组A+相。
A-:连接电机绕组A-相。
B+:连接电机绕组B+相。
B-:连接电机绕组B-相。
电源接24V。

6 接线和程序
参考
https://www.jianshu.com/p/61769347f933
硬件设备
树莓派 * 1

57H76两相四线步进电机 * 1

DM542驱动器 * 1

36V DC开关电源

3.3V-5V电平转换(驱动器输入需要5V脉冲,树莓派可控管脚输出电压不够)

接线
接线如下所示:

驱动器接线.png
驱动器采用共阳极接法,树莓派5V管脚电平转换放大后接入驱动器PUL+,DIR+,ENA+。PUL-与26连接控制脉冲信号,, DIR+与19连接控制电机方向,ENA+与13连接控制电机使能,电位为1时电机被禁止,不受脉冲影响(树莓派BCM编码)

步进电机红绿黄蓝接线分别接驱动器的 A+ A- B+ B-
根据电机型号不同,接法也不同。只要找到两组同相,分别接 A+ A- B+ B-即可。
步进电机短接判断是否同相:将任意两条电机的接线短接,转动电机,有阻力时两根线为同相

rpi-pins-40-0.png
代码实现
方法1:while循环 + time.sleep
步进电机的驱动很多文章使用while循环来控制电位高低,从而把握脉冲

import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(19,GPIO.OUT)
GPIO.setup(26,GPIO.OUT)
GPIO.output(19,False)
n=0
while True:
n=n+1
time.sleep(0.0001)
GPIO.output(26,False)
time.sleep(0.0001)
GPIO.output(26,True)
print(n)
if n==10000:
break
方法2:采用pwm
更为推荐的做法是用GPIO的pwm功能
控制更为精准

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(19, GPIO.OUT)
GPIO.setup(26, GPIO.OUT)
GPIO.setup(19, 0)
p = GPIO.PWM(26, 1000)

while True:
p.start(100)
time.sleep(1)
p.ChangeDutyCycle(50)
p.ChangeFrequency(1000)
time.sleep(10)
p.stop()
time.sleep(10)

作者:IT女神_
链接:https://www.jianshu.com/p/61769347f933
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发布了7 篇原创文章 · 获赞 1 · 访问量 296

猜你喜欢

转载自blog.csdn.net/weixin_43103295/article/details/103939961