树莓派 | 您所在的位置:网站首页 › 树莓派gpio输入5v › 树莓派 |
硬件设备
树莓派 * 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) |
CopyRight 2018-2019 实验室设备网 版权所有 |