项目20 步进电机

项目20 步进电机#

1. 项目介绍:

步进电机定位准确,是工业机器人、3D打印机、大型车床等机械设备中最重要的部件。

在这个项目中,我们将使用ESP32控制ULN2003步进电机驱动板来驱动步进电机转动。

2. 项目元件:

Img

Img

Img

ESP32*1

面包板*1

ULN2003步进电机驱动板*1

Img

Img

Img

面包板专用电源模块*1

6节5号电池盒*1

步进电机*1

Img

Img

Img

公对母杜邦线若干

5号电池(自备)*6

USB 线*1

3. 项目知识:

Img

步进电机: 是由一系列电磁线圈控制的电机。它可以根据需要旋转精确的度数(或步数),允许你将它移动到一个精确的位置并保持该位置。它是通过在很短的时间内为电机内部的线圈供电来做到这一点的,但你必须一直为电机供电,以保持它在你想要的位置。有两种基本类型的步进电机,单极步进和双极步进。在本项目中,我们使用的是单极步进电机28-BYJ48。

Img

28BYJ-48步进电机工作原理:

步进电机主要由定子和转子组成,定子是固定不动的,如下图绕着A、B、C、D线圈组的部分,线圈组导通电就会产生磁场;转子就是转动的部分,如下图定子中间的部分,两极是永磁铁。

单步4节拍的转动原理:开始A组线圈导通,转子两极正对着A组线圈;接着A组线圈断开,B组线圈导通,转子就会顺时针转到B组线圈,转子转了一步;B断开,C导通,转子转到C组;C断开,D导通,转子转到D组;D组断开,A组导通,转子转到A组线圈。这样转子就转了半圈180度,接着再重复一次,B-C-D-A,转子转回到A组线圈,这样转子就转了一圈,总共转动了8步。如下图所示,这就是步进电机单节拍转动的原理A - B - C - D - A …。

如果想让步进电机逆时针转动,那只要把节拍顺序反过来就行,D - C - B - A - D …。

Img

半步8节拍转动原理:8节拍,采用的是单双拍的形式,A - AB - B - BC - C - CD - D - DA - A … ,这样运转一拍,转子只会转动半步,例如,A组线圈导通,转子转到正对着A组线圈;接着A和B组一起导通,这样产生的磁场最强的地方在AB组线圈中间,转子两极就会转到AB组线圈中间,也就是顺时针转了半步。

步进电机参数:

我们所提供的步进电机需要转动32步,转子才能转一圈,还经过了1:64的减速齿轮组带动输出轴,这样输出轴转动一圈需要:32 * 64 = 2048 步。

电压5V,4相步进电机 ,4节拍模式的步进角为11.25, 8节拍模式步进角为5.625, 减速比为1:64。

ULN2003步进电机驱动板: ULN2003型步进电机驱动器,将微弱信号转换为更强的控制信号,从而驱动步进电机。

下面的原理图显示了如何使用ULN2003步进电机驱动板接口将一个单极步进电机接到ESP32的引脚上,并显示了如何使用四个TIP120的接口。

Img

4. 项目接线图:

Img

5. 代码说明:

Img

初始化步进电机的管脚,步数和速度的设置。

Img

设置步进电机的移动步数,正负值与转动方向有关。

6. 项目代码:

你可以打开我们提供的代码,也可以自己编写代码,其如下:

  1. 从 “Img” 拖出 “Img”。

  2. 从 “ Img ” 拖出 “ Img ” 放入 “Img”,管脚1#为 15 ,管脚2#为 16 ,管脚3#为 17 ,管脚4# 18 ,设置步数为 100 ,设置转速为 200 。

Img

  1. 先从 “ Img ” 拖出 “ Img ” ,设置移动步数为 -2048 ;再从 “Img” 拖出 “Img”,设置延时为1000毫秒。

Img

  1. 复制代码块 “ Img ” 1 次,将 -2048 改成 2048 。

Img

完整代码:

Img

7. 项目现象:

代码上传成功后,外接电源,上电后,你会看到的现象是:ULN2003驱动模块上的D1,D2,D3,D4四个LED点亮,步进电机旋转,并保持此状态循环。

Img