📜  Arduino-步进电机

📅  最后修改于: 2020-11-05 03:45:37             🧑  作者: Mango


步进电动机或步进电动机是无刷同步电动机,它将完整的旋转分为多个步进。与无刷直流电动机不同,无刷直流电动机在施加固定的直流电压时会连续旋转,而步进电动机则以离散的步进角旋转。

因此,步进电机每转的步数为12、24、72、144、180和200,因此,步进角度为每步30、15、5、2.5、2和1.8度。步进电机可以有或没有反馈进行控制。

想象一下遥控飞机上的电动机。电机在一个方向或另一个方向上非常快速地旋转。您可以根据提供给电机的功率来改变速度,但不能告诉螺旋桨停在特定位置。

现在想象一台打印机。打印机内部有很多运动部件,包括电动机。一种这样的电动机用作进纸,旋转的辊在墨水被打印时移动纸张。该马达需要能够将纸张移动一个确切的距离,以便能够打印下一行文本或下一行图像。

螺杆上还装有另一个马达,可以前后移动打印头。同样,该螺纹杆需要移动精确的数量才能连续打印一个字母。这是步进电机派上用场的地方。

步进电机

步进电机如何工作?

常规的直流电动机仅沿方向旋转,而步进电动机可以按精确的增量旋转。

步进电机可以根据需要精确旋转度数(或步进)。这样就可以完全控制电动机,从而可以将其移动到确切位置并保持该位置。通过在很短的时间内为电动机内部的线圈供电来实现。缺点是必须一直给电动机供电,以使其保持在所需位置。

现在,您只需要知道要移动步进电机,就可以告诉它在一个方向或另一个方向上移动一定数量的步数,并告诉它在该方向上步进的速度。步进电机的种类繁多。此处描述的方法可用于推断如何使用本教程中未提及的其他电动机和驱动器。但是,始终建议您参考特定型号的电机和驱动器的数据表和指南。

内步进电机

所需组件

您将需要以下组件-

  • 1个Arduino UNO板
  • 1×小双极步进电机,如下图所示
  • 1×LM298驱动IC

LM298驱动IC

程序

按照电路图进行连接,如下图所示。

步进电机连接

草图

打开计算机上的Arduino IDE软件。使用Arduino语言进行编码将控制您的电路。通过单击“新建”打开一个新的草图文件。

草图

Arduino代码

/* Stepper Motor Control */

#include 
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(5);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500);
}

注意代码

该程序驱动单极或双极步进电机。电机连接到Arduino的数字引脚8-11。

结果

电机将在一个方向上旋转一圈,然后在另一个方向上旋转一圈。