A4988和CNC SHIELD使用方法 步進電機


接線視頻

點這看視頻

來源

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細分就更安靜


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM