接線視頻
來源
https://www.basemu.com/a4988_pinout_and_how_to_use.html
注意要點
A4988既要12V外部供電,也要5V邏輯供電
我沒有Arduino,要自己給CNC SHIELD接線供電
接線說明
1處是電機使能,短接即可,低電平使能。
2處藍色是電機步進信號,輸入方波即可。黃色是旋轉方向
3處是邏輯電平,分別接上5V和GND
4處是插電機的地方
簡易程序
#coding: utf8
import RPi.GPIO as GPIO
import time
import sys
xStep=35
xDir=37
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(xStep, GPIO.OUT)
GPIO.setup(xDir, GPIO.OUT)
GPIO.output(xDir, 0)
while(1):
GPIO.output(xStep, 1)
time.sleep(0.003)
GPIO.output(xStep, 0)
time.sleep(0.003)
簡易程序也可以是這樣的
class StepMotor:
def __init__(self,stepPin,dirPin):
self.stepPin=stepPin
self.dirPin=dirPin
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(self.stepPin,GPIO.OUT)
GPIO.setup(self.dirPin,GPIO.OUT)
self.setDirF()
def setDirF(self):
GPIO.output(self.dirPin,1)
def setDirB(self):
GPIO.output(self.dirPin,0)
def run(self,speed=0.03,distance=0):
#speed=0.003快 0.03慢
times=distance*45 #這是由螺桿導程、步進電機步進角決定的
while(times>0):
GPIO.output(self.stepPin,0)
time.sleep(speed)
GPIO.output(self.stepPin,1)
time.sleep(speed)
times=times-1
步進電機不動,或者一會兒順時針動、一會兒逆時針動,並且伴隨着轟隆隆的噪聲
通常是由於缺相導致的。例如步進電機往CNC SHIELD上插時,引腳懸空沒接上。(╥╯^╰╥)
參看https://wenku.baidu.com/view/d49864311ed9ad51f11df203.html
步進電機很響,轉動正常但是有轟隆隆的噪聲
很可能是細分的緣故,對A4988來說弄個16細分會就比較安靜了。當然購買強大的驅動器來個256細分就更安靜