树莓派驱动步进电机

文章目录[隐藏]

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

一、接线

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

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

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

树莓派4B GPIO口如图所示

远离树莓派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()

版权声明:本文为CSDN博主「杜沐清」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42337765/article/details/122424152

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

一、接线

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

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

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

树莓派4B GPIO口如图所示

远离树莓派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()

版权声明:本文为CSDN博主「杜沐清」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42337765/article/details/122424152

生成海报
点赞 0

杜沐清

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

电脑不识别STM32的USB虚拟串口

电脑不识别STM32的USB虚拟串口 现象 板子和电脑联调的时候发现,USB线插入板子以后电脑不识别虚拟串口,通过禁用设备再启用,可以正常工作。也可以按一下复位键才能识别。 以前似乎没有这个问题&#

ESP32开发之旅——AS608指纹识别模块

ESP32开发之旅——AS608指纹识别模块) 前言 本文中,您将了解到如何使用ESP32调用AS608指纹识别模块。需要注意的是,本文中的ESP32是使用Micro Python进行开发的,(同时

利用K210获取传感器数值

介绍 技术支持网站: Maixpy文档简介: MaixPy 文档简介 - Sipeed Wiki 01Studio社区: 01Studio社区 - Powered by Discuz! K21