欢迎光临
我们一直在努力

步进电机28BYJ-48及驱动板 示例教程 适用于Arduino平台

1. 产品图片

2. 产品购买地址点我购买

3. 产品概述
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

4. 产品参数
一般电机是连续转动的,而步进电机之所以被称为步进电机也就是说它是一步一步走的电机,英文名叫stepper。

步进电机的特点:
1:步进电机每次能转动的最小角度叫做步距角。
2:每当步进电机接收到一个驱动信号后,步进电机将按照一定的方向转动一个固定的角度。
3:通过控制脉冲的个数来精确的控制步进电机的角位移量,通过控制脉冲的频率来控制电机转动的速度及加速度,从而达到调速的目的。
4:步进电机按照相数不同分为单相、双相、多相三种,励磁方式分为1相励磁方式和2相励磁方式。

特别说明:5.625为四相八拍方式下的步距角,11.25为四相单四拍(5.6252),22.5位四相双四拍(5.6254),阶梯状。
步进电机,减速比:1:64(电机内部转64圈,外部轴转一圈360度,),电机内部步距角5.625度,外部轴步距角5.625/64=0.087890625度。也就是说你给一个脉冲,电机外部轴转动0.087890625度,那么电机内部转一圈需要360/5.625=64步,外部轴转一圈需要:64*64=4096步。(四相八拍)。
通俗的讲:

步距角x减速比(64步)=360度(步进64步,即转动了360度)
四相单四拍控制信号序列:360度/(5.6252)=32(转一圈的步数)。
四相八拍控制信号序列:360度/5.625(外部转一圈的角度)=64(转一圈的步数)。
那么单四相模式下旋转一周,就是步/周x减速比(64)=32步
64减速比=2048步。

#define STEPS 100;

这里设置的就是每一圈需要的步数,即电机内部转一圈的步数,官方示例为一个电机内部步距角为3.6度的步进电机,即360/3.6=100步。28BYJ-48以四相八拍的方式是64步走一圈,以四相单四拍的方式是32步一圈。即修改如下,例:

#define STEPS 32;

1相励磁方式:即A-B-C-D每相依次通电。当A相通电时,由于NS相吸引的原因,转子上离A相最近的磁极转动到A相位置,然 后B相通电,离B相最近的转子磁极转到B相位置,然后C相D相依次通电,这样转子就一步一步的转动起来通过ABCD依次通电就可以实现转子不停的转动。

该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得较慢,为方便观察,可在输出轴处粘上一片小纸板。

步进电机驱动板是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。我们本次使用ULN2003驱动板来驱动。

驱动板参数:
1、工作电压DC 4-12V
2、工作电流≤500mA
3、适用于2 相5 线步进电机
4、带工作指示灯,方便客户观察工作状态。同时也可以用于板子自测,5-12V 处通 上电源后,将电源的正极分别去接IN1-IN4 对应的指示灯会亮,表明板子是好的。
4、ULN2003 最高工作电压可以达到DC30V,如果客户需要接24V等步进电机,需要将板子上的限流电阻加大,以免烧坏工作指示灯。

5. 使用方式
步进电机拿到手后先观察现需,电机上的12345针脚,对应着接线端子的42135。
确认线序时候可以参考下面的图片,颜色不重要,关键是顺序。
同样,经过测试,如果接线端子的是45123,可以将程序内的引脚顺序改成Stepper stepper(STEPS, 10, 8, 9, 11);这样就不用动接线端子了。
注:引脚排列方式有可能有多种。目前测试下来还有一种是Stepper stepper(STEPS, 9,11, 10, 8);总共有24种,可以自行尝试。

6. 接线方式

7. 示例程序

//中贝斯特UltiRobot步进电机和驱动板示例教程
//程序效果:步进电机按照设定的转速和步数,顺时针旋转一圈,逆时针旋转半圈。
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com

//使用arduino IDE自带的Stepper.h库文件
#include<Stepper.h>
// 这里设置步进电机旋转一圈是多少步(可以根据步进电机实际进行修改,28BYJ-48 八拍为64步,单四拍为32步)。
//根据您的步进电机参数修改。
#define STEPS 64
//设置步进电机的步数和引脚(就是注意点2里面说的驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS, 8, 9, 10, 11);
void setup()
{
// 以每分钟转速设置电机速度,此功能不会使电机转动,只是设置调用step()时的速度。
stepper.setSpeed(90);
// 初始化串口,用于调试输出信息
Serial.begin(9600);
}
void loop()
{
// 步进电机外部轴顺时针旋转一周,2048步
Serial.println("shun");
stepper.step(2048); //4步模式下旋转一周用2048 步。8拍模式下旋转一周用4096步。
delay(500);
// 步进电机外部轴逆时针旋转半周,1024步
Serial.println("ni");
stepper.step(-1024); //4步模式下旋转一周用2048 步。8拍模式下旋转一周用4096步
delay(500);
}

8. 相关资料
百度网盘:点我下载

未经允许不得转载:Arduino-Maker » 步进电机28BYJ-48及驱动板 示例教程 适用于Arduino平台

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 3

评论前必须登录!

 

  1. #2

    1.#include STEPS= 100 编译显示 expected filename
    2.把上一条改为int STEPS=100;按照这个程序,怎么只有正转,反方向转一点

    hello20181年前 (2018-07-19)
    • 请按照示例程序上,进行测试,顺时针一圈,逆时针半圈。如果不是这样,说明您的线序有问题。

      ZBST技术&售后12个月前 (08-06)
  2. #1

    我拿到手里的步进电机的接线端子,相对于步进电机的12345步进电机侧的顺序为34521……
    Stepper stepper(STEPS, 8, 9, 10, 11); 改为 Stepper stepper(STEPS, 8, 10, 9, 11); 就可以实现顺时针转一圈逆时针转半圈了。至于为什么这样,有什么规律还得多想想~~~

    honest_cat_20193个月前 (04-12)

线上商城

中贝斯特创客空间蘑菇云创客教育