zoukankan      html  css  js  c++  java
  • 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细分就更安静

  • 相关阅读:
    JS自动化测试 单元测试之Qunit
    mybatis注解开发
    @Valid验证
    httpclient发邮件
    mysql慢查询配置(5.7)
    MySQL5.7.21解压版安装详细教程(转)
    spring注解@Import和@ImportResource
    关于properties文件的读取(Java/spring/springmvc/springboot)
    okclient2详细介绍
    @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
  • 原文地址:https://www.cnblogs.com/uestcman/p/10293464.html
Copyright © 2011-2022 走看看