树莓派 PWM 控制步进

重要的事情写在最前面:

注意:驱动器的控制端口的电平是否兼容3.3V,因为树莓派的脉冲信号高电平是3.3V。如不匹配则需电平转化器

 接线图,参考树莓派——步进电机+驱动器 篇 - 简书 (jianshu.com)

 简单示例一下

#! /usr/bin/python
# ! -*- coding: utf-8 -*-
# @Author : ***
# @File : motor_control.py 
# @Time : 2021/11/27 16:52

import RPi.GPIO as GPIO
import time

pul = 26
dir = 19
ena = 13
motor_forward = GPIO.HIGH
motor_back = GPIO.LOW


def init_pin():
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    # 设置PUL,DIR,ENA 端口模式为输出
    GPIO.setup(pul,GPIO.OUT)
    GPIO.setup(dir, GPIO.OUT)
    GPIO.setup(ena, GPIO.OUT)
    print('初始化')
    GPIO.setup(ena, GPIO.LOW)


def motor(speed,direction):
    # 电机1 pwm 实例化 并设置速度
    pwm_motor = GPIO.PWM(pul, speed)
    # 设置初始占空比
    pwm_motor.start(50)
    # 设置方向
    GPIO.setup(dir, direction)
    # 打开使能端口
    GPIO.setup(ena, GPIO.HIGH)


if __name__ == '__main__':
    init_pin()
    motor(speed=1000,direction=motor_forward)
    time.sleep(10)
    # 停止,通过使能端,也可以重新设置pwm
    GPIO.setup(ena, GPIO.LOW)
    print('电机停止')

注:

1、若果多的电机运动模式相同,可以设置统一的PWM,然后使用ENA使能来开启关闭单个电机

下一篇,研究一下电机pwm和电机速度的关系

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值