使用Arduino和A4988步进驱动器模块控制NEMA 17步进电机
步进电机是一种直流电机,它可以步进方式工作,从监控摄像机到复杂的机器人,无处不在。步进电机提供精确控制,并可根据扭矩、每转步数和输入电压进行区分。在我们之前的文章中,我们使用Arduino控制28-BYJ48步进电机。28-BYJ48的扭矩比NEMA 14、NEMA17等其他步进电机的扭矩相对较低。
在本篇文章中,我们将使用Arduino Uno和A4988步进驱动器模块控制NEMA17步进电机。Nema17步进电机比28-BYJ48具有更高的扭矩和更高的工作电压。我们还将使用电位器来控制步进电机的方向,
所需的组件
● Arduino UNO开发板
● NEMA17步进电机
● A4988步进驱动器模块
● 47μf电容
● 电位器
NEMA17步进电机
NEMA17的操作类似于普通的步进电机。NEMA 17步进电机有一个1.7 x 1.7英寸的面板,它通常比较小的型号(如NEMA 14)具有更大的扭矩。该电机有六根引线,额定电压为12伏。它可以在较低的电压下运行,但扭矩会下降。步进电机不会旋转,NEMA17电机的步进角为1.8度。意味着它在每一步都前进1.8度。NEMA17的接线图如下。
如您所见,该电机采用单极六线布置。这些导线连接成两个分开的绕组。黑线、黄线、绿线是第一绕组的一部分,其中黑线是中心抽头,黄线和绿线是线圈末端电线,而红线、白线和蓝线是第二个绕组的一部分,其中白线是中心抽头,红线和蓝线是线圈末端电线。通常,中心抽头不接线。
NEMA17每转的步数
使用步进电机的步进角计算特定步进电机的每转的步数。本文中,NEMA 17步进角为1.8度。
每转的步数= 360 /步角
360 / 1.8 =每转200步
NEMA17的规格
● 额定电压:12V DC
● 步角:1.8度
● 相位数:4
● 电机长度:1.54英寸
● 4线,8英寸引线
● 每转200步,1.8度
● 工作温度:-10至40°C
● 单极保持扭矩:22.2盎司
A4988步进驱动器模块
步进驱动器模块控制步进电机的工作。步进驱动器通过各个相位将电流发送到步进电机。
A4988 Nema 17步进驱动器是一种微步进驱动器模块,用于控制双极步进电机。该驱动器模块具有内置转换器,这意味着我们可以使用控制器中很少的引脚来控制步进电机。
使用这个Nema 17电机驱动器模块,我们可以通过仅使用两个引脚来控制步进电机,即STEP和DIRECTION。STEP引脚用于控制步进,而DIRECTION引脚用于控制电机的方向。A4988驱动模块提供五种不同的步进分辨率:全步、半步、四分之一步、八分之一步和十六分之一步。您可以使用分辨率选择器引脚((MS1、MS2和MS3)选择不同的步进分辨率。
电路原理图
在上图中给出了用Arduino控制Nema 17步进电机的电路图。由于A4988模块具有内置转换器,这意味着我们只需要将步进和方向引脚连接到Arduino。步进引脚用于控制步骤,而方向引脚用于控制方向。步进电机使用12V电源供电,A4988模块通过Arduino供电。电位器用于控制电机的方向。
如果顺时针旋转电位器,则步进器将顺时针旋转,如果逆时针旋转电位器,则逆时针旋转。47μf电容用于保护电路板免受电压尖峰的影响。MS1、MS2和MS3引脚保持断开状态,这意味着驱动器将以全步模式运行。
代码说明
完整的代码在本文的末尾给出,在这里我们解释程序,以了解项目的工作过程。
首先,将步进电机库添加到Arduino IDE中。您可以从这里下载步进电机库。
之后定义NEMA 17的步骤数。正如我们计算的那样,NEMA 17每转的步数为200。
#include #define STEPS 200之后,指定驱动器模块所连接的引脚,并将电机接口类型定义为Type1,因为电机通过驱动器模块连接。
Stepper stepper(STEPS, 2, 3);#define motorInterfaceType 1接下来使用stepper.setSpeed函数设置步进电机的速度。NEMA 17的最大电机速度为4688 RPM,但如果我们运行速度超过1000 RPM,则扭矩会迅速下降。
void setup() { stepper.setSpeed(1000)现在在loop()函数中,我们将从A0引脚读取电位器值。在这个循环中,有两个函数,一个是potVal,另一个是Pval。如果当前值,即potVal高于前一个值,即Pval比顺时针方向移动十步,如果当前值小于先前值,则它将沿逆时针方向移动十步。
potVal = map(analogRead(A0),0,1024,0,500); if (potVal>Pval) stepper.step(10); if (potValPval = potVal;
现在将Arduino连接到您的笔记本电脑,使用Arduino IDE将代码上传到Arduino UNO板,选择Board和串口号,然后单击上传按钮。
现在您可以使用电位器控制Nema17步进电机的方向。如果您对此项目有任何疑问,欢迎在下面进行回复。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com