树莓派驱动步进电机

步进电机一般由电机、驱动器构成,树莓派连接驱动器控制电机。

一、接线

树莓派驱动步进电机_第1张图片

DIR+/- 用于控制方向,PUL+/- 用于控制转动;

正极 DIR+ 和 PUL+ 接到GPIO口,两个负极接到GPIO口或地线均可,控制的时候不使用。

实验中,DIR+ 接35口,PUL+ 接38口。

树莓派4B GPIO口如图所示

树莓派驱动步进电机_第2张图片

远离树莓派USB的一侧 是 1、2、3号口

二、驱动

DIR控制方向,使用高电平或低电平控制;

PUL控制转动,使用脉冲驱动。

三、代码

import RPi.GPIO as GPIO
import time
 
TERMINAL1 = 38 # PUL +
TERMINAL2 = 35 # DIR +
 
def setup():
    # 初始化
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(TERMINAL1, 0)
    GPIO.setup(TERMINAL2, 0)

def start(pulse_terminal):
    # 开启脉冲
    pulse_terminal.start(0)
    pulse_terminal.ChangeDutyCycle(50) # 设置脉冲带宽 0~100

def stop(pulse_terminal):
    # 停止脉冲
    pulse_terminal.stop()

def set_direction(direction=1):
    GPIO.output(TERMINAL2, direction) # 设置高低电平
 
if __name__ == '__main__':     # Program start from here
    setup()

    pulse_terminal = GPIO.PWM(TERMINAL1, 1000) # 脉冲带宽调制

    set_direction(1)
    start(pulse_terminal)
    time.sleep(3)
    stop(pulse_terminal)
    time.sleep(3)
    set_direction(0)
    start(pulse_terminal)
    time.sleep(3)

    GPIO.cleanup()

你可能感兴趣的:(嵌入式硬件,python,嵌入式硬件)