0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在树莓派Pico上编程使用步进电机?

jf_zGNBEhbi 来源:趣无尽 2023-11-28 09:18 次阅读

步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机,每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比,因此,步进电动机又称脉冲电动机。

步进电机通常需要搭配一个步进电机驱动模块(也叫步进电机驱动器)来工作。步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度,驱动器相当于开关的组合单元。通过上位机的脉冲信号有顺序给电机相序通电使电机转动。

本文使用到的是 28BJY-48 型步进电机。

硬件连接

首先需要将步进电机和电机驱动板连起来,直接将电机的白色插头插入驱动板上的白色插槽(注意卡扣方向)即可。

再将驱动板和树莓派 Pico 连接起来,接线如下:
电机驱动板的 + 引脚接 Pico 的 VSYS。
电机驱动板的 – 引脚接 Pico 的 GND。
电机驱动板的 IN1 引脚接 Pico 的 GP18。
电机驱动板的 IN2 引脚接 Pico 的 GP19。
电机驱动板的 IN3 引脚接 Pico 的 GP20。
电机驱动板的 IN4 引脚接 Pico 的 GP21。

编程

将下面的代码保存在 Pico 的根目录,命名为 main.py。

from machine import Pin
import utime
 
# 步进驱动模块的引脚初始化
in1 = Pin(18,Pin.OUT)
in2 = Pin(19,Pin.OUT)
in3 = Pin(20,Pin.OUT)
in4 = Pin(21,Pin.OUT)
 
ROUND_VALUE = 509
delay = 1
 
# 四相八拍步进电机的顺序值
STEP_VALUE = [
    [0,0,0,1],
    [0,0,1,1],
    [0,0,1,0],
    [0,1,1,0],
    [0,1,0,0],
    [1,1,0,0],
    [1,0,0,0],
    [1,0,0,1],
]
 
# 重置引脚输出低电平
def reset():
    in1(0)
    in2(0)
    in3(0)
    in4(0)
 
# 单步顺时针转动,count 为步数值,可为负数(逆时针)
def step_run(count):
    direction = 1
    if count < 0:
        direction = -1
        count = -count
    for x in range(count):
        for bit in STEP_VALUE[::direction]:
            in1(bit[0])
            in2(bit[1])
            in3(bit[2])
            in4(bit[3])
            utime.sleep_ms(delay)
 
# 以指定角度顺时针转动,a 为角度值,可为负数(逆时针)
def step_angle(a):
    step_run(int(ROUND_VALUE * a / 360))
 
# 重置驱动板
reset()
 
# 逆时针转 90 度
step_angle(-90)
 
# 以单步方式持续顺时针转动
while True:
    step_run(1)

程序中定义了这款步进电机的驱动方式和参数。有两种方法驱动它:step_angle(角度) 或 step_run(步数)。

运行之后,可以看到步进电机先逆时针转动 90 度,再顺时钟持续运行下去。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    53

    文章

    8255

    浏览量

    146557
  • 电动机
    +关注

    关注

    75

    文章

    4112

    浏览量

    96550
  • 步进电机
    +关注

    关注

    150

    文章

    3113

    浏览量

    147569
  • 脉冲信号
    +关注

    关注

    6

    文章

    399

    浏览量

    37005
  • 树莓派
    +关注

    关注

    117

    文章

    1708

    浏览量

    105703

原文标题:在树莓派 Pico 上编程使用步进电机

文章出处:【微信号:趣无尽,微信公众号:趣无尽】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何在树莓Pico用PWM实现LED呼吸灯呢?

    树莓 Pico 的模拟-数字转换器只能以一种方式工作,它将模拟信号转换为微控制器可以理解的数字信号。
    发表于 10-07 17:46 1406次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b><b class='flag-5'>上</b>用PWM实现LED呼吸灯呢?

    树莓pico入门学习笔记(一)相关资料推荐

    树莓pico入门学习笔记选择自己熟悉的编程语言树莓pic
    发表于 07-01 09:28

    树莓pico如何入门?

    树莓pico如何入门?
    发表于 10-13 08:11

    怎么实现树莓Pico电机运动控制MicroPython+pioasm编程

    怎么实现树莓Pico电机运动控制MicroPython+pioasm编程
    发表于 10-27 06:37

    树莓Pico的相关资料推荐

    1月22日,树莓基金会最新发布一款低成本、高性能的微控制器开发板Raspberry Pi Pico,新产品相比普通树莓体积更小,售价仅4
    发表于 02-07 07:37

    微雪电子树莓步进电机驱动板|Stepper Motor HAT介绍

    专为树莓设计的步进电机驱动板,可控制两路步进电机,支持32细分。
    的头像 发表于 11-12 16:33 5498次阅读
    微雪电子<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>驱动板|Stepper Motor HAT介绍

    远程控制树莓3b的pi pico

    树莓pi pico树莓4相比差别很大,但是pi pico有一些特点是
    的头像 发表于 03-05 17:23 4000次阅读

    树莓pico入门学习笔记(一)

    树莓pico入门学习笔记选择自己熟悉的编程语言树莓pic
    发表于 12-17 18:42 21次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>pico</b>入门学习笔记(一)

    基于树莓pico的可编程游戏手柄设计

    方案介绍组件12x12x7.3mm 瞬时触觉按钮按钮树莓Pico通用 D1286464 OLED 显示屏操纵杆模块 PS210 欧姆电阻 组装将树莓
    发表于 12-26 15:10 0次下载

    树莓驱动步进电机

    步进电机一般由电机、驱动器构成,树莓连接驱动器控制电机。 一、接线 DIR+/- 用于控制方向
    发表于 03-20 14:40 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>驱动<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    树莓驱动步进电机

     闲了无聊,想用树莓驱动步进电机。 测试了两天终于OK了 下图是DM422C接步进电机
    发表于 03-21 14:26 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>驱动<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    树莓控制步进电机

    树莓控制步进电机 前言 设备 连接 源码 前言 测试步进电机 设备 名称 型号
    发表于 03-21 11:39 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>控制<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    树莓使用Python控制步进电机

    步进电机和普通电机最大的不同是步进电机可以更加精确地旋转,这个特性使得它们在各种树莓
    发表于 03-22 11:36 3次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>使用Python控制<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    树莓PICO pio使用

    树莓 Pico 小小的板子总是能让我们发现一些惊喜。其所使用的RP2040芯片还具备8个可编程I/O(PIO)状态机,用于自定义外围设
    的头像 发表于 10-18 15:17 1702次阅读

    何在树莓Pico使用红外线接收模块?

    树莓 Pico 使用红外线接收模块(HX1838 型),我们采用开源的 pico_ir 库。
    的头像 发表于 11-30 09:08 2246次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b><b class='flag-5'>上</b>使用红外线接收模块?