步进电机(stepping motor)又称脉冲电机,它是一种感应电机,涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
什么是步进电机?
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的。同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
主要特征
步进马达只需要通过脉波信号的操作,即可简单实现高精度的定位,并使工作物在目标位置高精度地停止。步进马达是以基本步级角的角度为单位来进行定位。
实验用的28BYJ-48步进电机参数:
4步控制信号序列:11.25度/步,32步旋转一周。
4步模式下旋转一周将用:32(步/周)X64(齿轮比) = 2048 步。
实验用的步进马达一圈是2048
步,步进电机转一圈需要给其2048
个脉冲信号。那用2048
除以60
就可以做成一个类似秒针的效果了。
# 部署
OSEPP UNO的2-5
号引脚连到步进电机INA-IND
。
# 程序搭建
- oseppBlock 积木知识
步进电机模块积木。定义步进电机的名称,引脚和一些参数。一般不需要更改。
步进电机驱动积木。设定步进电机的转动步数,可以是任意整数。
步进电机转动速度积木。如需改变,请设定值在20
以内,超出这个范围步进电机无法启动。
- oseppBlock程序
- Arduino程序
#include <Stepper.h>
Stepper stepper1(2048, 2, 4, 3, 5); //定义步进电机的步数和引脚
void setup()
{
stepper1.setSpeed(10); //定义每分钟转速
}
void loop()
{
stepper1.step(-2048 / 60); //每次执行步数
delay(1000); //延时1000毫秒
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# 运行结果
代码上传后,步进电机就像时钟的秒针一样转动。
# 解析
由于60
不能被2048
整除,所以每走几圈就会有一秒的误差。
,每走4圈就差不多慢了一秒。
# 操作视频
← 电动马达-温控风扇 步进电机-自动感应门 →