在本文中,我们将学习如何使用电位器和Arduino开发板实现步进电机控制。步进电机可用于软盘驱动器、平板扫描仪、计算机打印机、绘图仪、图像扫描仪、光盘驱动器、智能照明、相机镜头、数控机床以及最近的3D 打印机。
因此,在本文中,我们将学习有关步进电机及其应用的基础知识。我们还将步进电机与Arduino 连接。步进电机的运动和旋转方向由电位器控制。
什么是步进电机
步进电机是一种无刷直流电机,它将其整个圆周分成多个相等的步长。然后,只要根据扭矩和大小仔细选择电机的尺寸,就可以命令电机的位置移动并保持在其中一个步骤,而不需要任何位置传感器进行反馈(开环控制器)。速度。
步进电机的结构及工作原理
步进电机以其将一系列输入脉冲(通常是方波脉冲)转换为精确定义的轴位置增量的特性而闻名。每个脉冲使轴移动固定角度。
实际上,步进电机具有多个围绕中心齿轮状铁片排列的“齿状”电磁体。电磁体由外部驱动电路或微控制器供电。为了使电机轴旋转,首先向电磁体供电,电磁体通过磁力吸引齿轮的齿。当齿轮的齿与第一个电磁体对齐时,它们与下一个电磁体稍微偏移。这意味着当下一个螺线管打开且第一个螺线管关闭时,齿轮会稍微旋转以与下一个螺线管对齐。然后从那里重复该过程。每一次旋转都称为一个“步骤”,整数个步骤构成一次完整的旋转。这样,电机就可以旋转到精确的角度。
圆形排列的电磁铁分为几组,每组称为一个相,每组中电磁铁的数量相等。组数由步进电机的设计者选择。每组电磁铁与其他组电磁铁交错排列,形成均匀排列。例如,如果步进电机有两组,分别标识为A 或B,总共有10 个电磁体,则分组模式将为ABABABABAB。
同一组中的电磁铁全部一起通电。因此,相数较多的步进电机通常需要更多的电线(或引线)来控制电机。
所需组件
为了学习使用电位计和Arduino 控制步进电机,我们需要以下组件:
Arduino UNO开发板
ULN2003驱动芯片
10K电位器
步进电机28-BYJ48
面包板及连接线
电路连接图
下面是Arduino控制步进电机的电路图:
步进电机28-BYJ48 是一款采用5 引线线圈布置的单极电机。四个线圈必须按特定顺序通电。红线连接到+5V,其余四根线将被拉到地以触发相应的线圈。我们使用Arduino 板按特定顺序为这些线圈通电,并使电机执行所需的步数。
步进电机需要驱动芯片才能运行。原因是控制器需要更高的电流才能运行,但步进电机本身无法从其I/O 引脚提供足够的电流来运行电机。因此,采用ULN2003作为驱动模块,对电流进行放大。
步数
在将代码上传到Arduino板之前需要进行计步
在Arduino中,我们将按4步顺序操作电机,因此我们需要计算步幅角。
步幅角=5.625
Arduino 步骤序列=4
所需的步骤顺序=8
步距角=5.625*2=11.25
每转步数=360/步距角=360/11.25=每转32 步。
源代码/程序:
#include "Stepper.h" //包含头文件
#定义步骤64
步进器步进器(STEPS、8、10、9、11);
整数Pv=0;
intpotV=0;
串行.开始(9600);
步进器.setSpeed(200);
}
无效循环(){
potV=地图(analogRead(A0), 0, 1024, 0, 360);
如果(potV》Pv)
步进器.step(5);
if (potV《Pv)
步进器.step(-5);
Pv=potV;
串行.println(Pv);
}
编辑:hfy