我是非常新的3D打印,因为有一个需要我控制步进电机的X,Y和Z轴。我有两个步进电机和一个微型步进驱动器(CW-5045),当然还有带有扩展板的树莓皮3。
我希望Z轴移动为3D打印机点击所需的按钮。按钮是为给定的位置移动Z轴上下。我想有2-3个按钮,可以移动25个微层,50个微层和100个微层。(我不确定是微层还是微米)。
下面提到的代码是一个,我试过,但步进电机正在制造一些噪音,但我没有看到任何运动在轴心。
我尝试过这样的参考资料:setup leadshine DM860 bipolar driver motor on raspberry pi
我知道我可以使用外部打印机控制器,如Octoprint和其他,但该项目还处于初期阶段,因为我没有所有的设备。所以我想从步进电机开始。
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
CW = 1 # Clockwise Rotation
CCW = 0 # Counterclockwise Rotation
SPR = 200 # Steps per Revolution (360 / 1.8)
GPIO.setup(21,GPIO.OUT)
GPIO.setup(20,GPIO.OUT)
GPIO.output(21,False)
microStep = 0
step_count = SPR
delay = .0208
GPIO.output(20, GPIO.HIGH)
while True:
for x in range(step_count):
GPIO.output(20, GPIO.HIGH)
sleep(delay)
GPIO.output(20, GPIO.LOW)
sleep(delay)
sleep(.5)
GPIO.output(20, GPIO.LOW)
for x in range(step_count):
GPIO.output(20, GPIO.HIGH)
sleep(delay)
GPIO.output(20, GPIO.LOW)
sleep(delay)
microStep = microStep + 1
print(microStep)
GPIO.cleanup()我想我错过了控制马达的速度。我想通过给出所需的位置值来精确地控制电机,而不仅仅是从上到下运行的电机。
发布于 2019-10-23 10:50:54
在树莓π论坛成员之一的帮助下,这个问题已经解决了。
作为我这样的人的未来参考,
import RPi.GPIO as GPIO
import time
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(21,GPIO.OUT) # direction
GPIO.setup(20,GPIO.OUT) # step
step_count = 72727 # number of step to run change this to change where it stops
delay = 0.001
# drive motor clockwise number of steps set by step count
GPIO.output(21, GPIO.HIGH)
print (" Drive CW ", step_count ,"steps")
for x in range(step_count):
GPIO.output(20, GPIO.HIGH)
sleep(delay)
GPIO.output(20, GPIO.LOW)
sleep(delay)
# stop motor for 5 seconds
print (" Stop")
sleep(5)
input("Press Enter to continue...")
# drive motor counter clockwise number of steps set by step count
print (" Drive CCW ", step_count ,"steps")
GPIO.output(21, GPIO.LOW)
for x in range(step_count):
GPIO.output(20, GPIO.HIGH)
sleep(delay)
GPIO.output(20, GPIO.LOW)
sleep(delay)
# end of program
print (" End program")
GPIO.cleanup()step_count将根据计算而改变(取决于运动角度和一圈移动距离的计数)。
Peace
https://stackoverflow.com/questions/58265831
复制相似问题