这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【换取手持数字示波器】+树莓派pico驱动步进电机

共1条 1/1 1 跳转至

【换取手持数字示波器】+树莓派pico驱动步进电机

专家
2024-03-31 23:37:39   被打赏 30 分(兑奖)     打赏

一、简介

     步进电机是将电脉冲信号转变为线位移或角位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为"步距角",它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

     步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。一般来说,步进电机需要配一个步进电机驱动器,步进电机驱动器可以将电脉冲转化为角位移的控制模块。本次使用28BJY-48步进电机,树莓派pico做为主控,采用MicroPython语言编程。

二、硬件连接

   28BJY-48属于四线五相步进电机,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度,驱动器相当于开关的组合单元。通过上位机的脉冲信号有顺序给电机相序通电使电机转动。使用杜邦线将pico与电机驱动板相连接,管脚接线如下:

电机驱动板的 + 引脚接Pico的VSYS

电机驱动板的 – 引脚接Pico的GND

电机驱动板的IN1引脚接Pico的GP18

电机驱动板的IN2引脚接Pico的GP19

电机驱动板的IN3引脚接Pico的GP20

电机驱动板的IN4引脚接Pico的GP21

三、编写程序

       这里使用Thonny 4.0.1来编写脚本程序。

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 = 2
 
# 四相八拍步进电机的顺序值
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()
 
# 以单步方式持续逆时针->顺时针->逆时针->顺时针旋转
while True:
    step_angle(90)
    utime.sleep_ms(delay)
    step_angle(-90)
    utime.sleep_ms(delay)

四、运行程序

        使用microUSB数据线与pico板相连接,然后在Thonny软件中,配置解释器。

配置入口.png然后选择对应的解释器型号与端口号

选择解释器型号与串口号.png将编写好的脚本程序保存到pico中,当然也是可以保存到电脑本地的,命名为run.py。

保存文件目录.png

然后运行,则可看到电机逆时针旋转一周后再顺时针旋转一周,如同雨刮刷一样。


11.gif

run.zip

电机旋转.zip




关键词: 换取手持数字示波器    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]