栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

树莓派驱动步进电机

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派驱动步进电机

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

一、接线

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()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702387.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号