如何使用电位器实现步进电机控制方案

电子说

1.2w人已加入

描述

在本篇文章中,我们将学习如何使用电位器和Arduino开发板实现步进电机控制。步进电机可用于软盘驱动器、平板扫描仪、计算机打印机、绘图仪、图像扫描仪、光盘驱动器、智能照明、相机镜头、CNC机器以及最近比较流行的3D打印机。

因此,在本文中我们将学习有关步进电机及其应用的基础知识。我们还将步进电机与Arduino进行连接。步进电机的运动和旋转方向将通过电位器控制。

什么是步进电机

步进电动机(stepper motor)是一种无刷直流电动机,它将完整的全周长分为多个相等的步长。然后可以命令电机的位置移动并保持在其中一个步进,而无需任何位置传感器进行反馈(开环控制器),只要在转矩和速度方面仔细选择适合电动机尺寸的电动机即可。

步进电机的构造和工作原理

步进电机以其特性而闻名,它将一系列输入脉冲(通常为方波脉冲)转换为轴位置中精确定义的增量。每个脉冲将轴移动固定角度。

3D打印机

实际上,步进电机具有多个“带齿”电磁铁,围绕中央齿轮状铁片排列。电磁铁由外部驱动器电路或微控制器供电。为了使电动机轴旋转,首先,给电磁铁供电,该电磁铁以磁性方式吸引齿轮的齿。当齿轮的齿与第一个电磁铁对齐时,它们与下一个电磁铁稍有偏移。这意味着当下一个电磁铁打开并且第一个电磁铁关闭时,齿轮会轻微旋转以与下一个电磁铁对齐。然后从该处开始重复该过程。这些旋转中的每一个都称为一个“步”,其中整数个步进行完整的旋转。这样,电动机可以旋转一个精确的角度。

电磁铁的圆形排列分为几组,每组称为一个相,每组中有相等数量的电磁铁。组数由步进电机的设计者选择。每组的电磁铁与其他组的电磁铁交错以形成均匀的布置图案。例如,如果步进电动机具有两个组,分别标识为A或B,总共有十个电磁铁,则分组模式将为ABABABABAB。

同一组中的电磁铁都一起通电。因此,具有更多相位的步进电动机通常具有更多的导线(或引线)来控制电动机。

所需的组件

为了学习使用电位器和Arduino控制步进电机,我们需要以下组件:

● Arduino UNO开发板

● ULN2003驱动芯片

● 10K电位器

● 步进电机28-BYJ48

● 面包板和连接线

电路连接图

以下是Arduino控制步进电机的电路图:

3D打印机

步进电动机28-BYJ48是一个具有5引线线圈布置的单极电动机。必须按特定顺序为四个线圈通电。红线连接到+ 5V电压,其余四根线将被拉到接地以触发相应的线圈。我们使用Arduino开发板以特定顺序为这些线圈通电,并使电动机执行所需的步数。

3D打印机

步进电机需要借助驱动器芯片才能进行操作。原因是控制器需要较高的电流才能运行,但是仅步进电机将无法从其I / O引脚提供足够的电流来使电机运行。因此使用ULN2003作为驱动模块,电流被放大了。

步数计算

在将代码上传到Arduino板上之前需要进行步数计算

在Arduino中,我们将以4步顺序操作电机,因此需要计算步幅角(Stride Angle)。

步幅角= 5.625°

Arduino步骤顺序= 4

所需步骤顺序= 8

步数角度= 5.625 * 2 = 11.25

每转的步数= 360 /步角= 360 / 11.25 =每转32步。

源代码/程序:

#include 《Stepper.h》 // Include the header file

#define STEPS 64

Stepper stepper(STEPS, 8, 10, 9, 11);

int Pv = 0;

int potV = 0;

void setup() {

Serial.begin(9600);

stepper.setSpeed(200);

}

void loop() {

potV = map(analogRead(A0),0,1024,0,360);

if (potV》Pv)

stepper.step(5);

if (potV《Pv)

stepper.step(-5);

Pv = potV;

Serial.println(Pv);

}

3D打印机

编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分