Arduino ULN2003驱动模块+28BYJ-48步进电机

  • 步进电机,由于其独特的设计,可以没有任何反馈机制而控制到一个高度的准确性。一个步进电机的轴,安装有一系列的磁铁,是由一系列的电磁线圈控制,这些线圈按一个特定的序列排列正负极,尤其是向前或向后移动一小“步”。
  • 有两种类型的步进电机,单极型和双极型晶体管,而且知道你正在使用哪种类型是非常重要的。每种电机,都有一个不同的电路。示例代码将控制两种电机。看看单极性和双极性电机的原理图,和关于如何连接你的电机的信息。
  • 在这个例子中,轴是一个完整的旋转顺时针旋转,通过Arduino Stepper库来控制步进电机的步进数目。无论是单极或双极电机,均由数字引脚8,9,10,和11控制步进。
  • 如果你正在使用一个单极型步进电机,Arduino或genuino开发板将会连接到一个U2004达林顿管阵列。

硬件要求

  • Arduino UNO板
  • 步进电机
  • U2004 达林顿管阵列 (如果用单极型电机)
  • 杜邦线
  • 外置电源(5V-12V)

ULN2003驱动模块

Arduino ULN2003驱动模块+28BYJ-48步进电机_第1张图片
ULN2003步进电机驱动板作用是更简单的用Arduino控制28BYJ-48步进电机。驱动板的电机供电接口可以连接到Arduino的GND和5V取电,但是不推荐这种方法,推荐用独立的5-12伏1安培的电源或电池组取电。“IN1~IN4”连接arduino的4个数字口(在代码里进行相应的设置)。

28BYJ-48步进电机

Arduino ULN2003驱动模块+28BYJ-48步进电机_第2张图片

28BYJ-48步进电机的齿轮减速比为64:1,转速约15转/分钟,一些软件采用某些手段和高电压电源(如12伏直流)也能达到约25转/分钟的转速。
4步控制信号序列:11.25度/步,32步旋转一周。
8步控制信号序列:5.625度/步, 64步旋转一周。

正常情况下,4步模式下旋转一周将用:32(步/周)X64(齿轮比) = 2048 步。

接线

步进电机 Arduino UNO
IN1 8
IN2 9
IN3 10
IN4 11
VCC VCC
IGBD GND

程序:

//使用arduino IDE自带的Stepper.h库文件
#include 

// 这里设置步进电机旋转一圈是多少步
#define STEPS 100

//设置步进电机的步数和引脚(就是注意点2里面说的驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS, 8, 10, 9, 11);

void setup()
{
  // 设置电机的转速:每分钟为90步
  stepper.setSpeed(90);
  // 初始化串口,用于调试输出信息
  Serial.begin(9600);
}

void loop()
{
    // 顺时针旋转一周
    Serial.println("shun");
    stepper.step(2048); //4步模式下旋转一周用2048 步。
    delay(500);

    // 逆时针旋转半周
    Serial.println("ni");
    stepper.step(-1024); //4步模式下旋转一周用2048 步。
    delay(500);
}


拓展知识(转):

1.什么是步进电机?

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

2.步进电机分哪几种?

步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)
永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;
反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;
混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。

3.什么是保持转矩(HOLDING TORQUE)?

保持转矩(HOLDING TORQUE)是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如, 当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。

4.什么是DETENT TORQUE?

DETENT TORQUE 是指步进电机没有通电的情况下,定子锁住转子的力矩。DETENT TORQUE 在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。

5.步进电机精度为多少?是否累积?

一般步进电机的精度为步进角的3-5%,且不累积。

6.步进电机的外表温度允许达到多少?

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

7.为什么步进电机的力矩会随转速的升高而下降?

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

8.为什么步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声?

步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启 动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

9.如何克服两相混合式步进电机在低速运转时的振动和噪声?

步进电机低速转动时振动和噪声大是其固有的缺点,一般可采用以下方案来克服:
A.如步进电机正好工作在共振区,可通过改变减速比等机械传动避开共振区;
B.采用带有细分功能的驱动器,这是最常用的、最简便的方法;
C.换成步距角更小的步进电机,如三相或五相步进电机;
D.换成交流伺服电机,几乎可以完全克服震动和噪声,但成本较高;
E.在电机轴上加磁性阻尼器,市场上已有这种产品,但机械结构改变较大。

10.细分驱动器的细分数是否能代表精度?

步进电机的细分技术实质上是一种电子阻尼技术(请参考有关文献),其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。比如对于步进角为1.8°的两相混合式步进电机,如果细分驱动器的细分数设置为4,那么电机的运转分辨率为每个脉冲0.45°,电机的精度能否达到或接近0.45°,还取决于细分驱动器的细分电流控制精度等其它因素。不同厂家的细分驱动器精度可能差别很大;细分数越大精度越难控制。

11.四相混合式步进电机与驱动器的串联接法和并联接法有什么区别?

四相混合式步进电机一般由两相驱动器来驱动,因此,连接时可以采用串联接法或并联接法将四相电机接成两相使用。串联接法一般在电机转速较的场合使用,此时需要的驱动器输出电流为电机相电流的0.7倍,因而电机发热小;并联接法一般在电机转速较高的场合使用(又称高速接法),所需要的驱动器输出电流为 电机相电流的1.4倍,因而电机发热较大。

12.如何确定步进电机驱动器的直流供电电源?

A.电压的确定
混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电电压为12~48VDC),电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快,那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输入电压,否则可能损坏驱动器。
B.电流的确定供电电源电流一般根据驱动器的输出相电流I来确定。如果采用线性电源,电源电流一般可取I的1.1~1.3倍;如果采用开关电源,电源电流一般可取I 的1.5~2.0倍。

13.混合式步进电机驱动器的脱机信号FREE一般在什么情况下使用?

当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。在有些自动化设备中,如果在驱动器不断电的情况下要求直接转动电机轴(手动方式),就可以将FREE信号置低,使电机脱机,进行手动操作或调节。手动完成后,再将FREE信号置高,以继续自动控制。

14.如果用简单的方法调整两相步进电机通电后的转动方向?

只需将电机与驱动器接线的A+和A-(或者B+和B-)对调即可。

你可能感兴趣的:(Arduino,stm创客教育,Maker)