8051 微控制器与步进电机的接口


在本节中,我们将了解如何将步进电机连接到英特尔8051 微控制器。在讨论接口技术之前,我们将了解什么是步进电机以及它们的工作原理。

步进电机

步进电机用于将电脉冲转换为机械运动。在某些磁盘驱动器、点阵打印机和其他一些不同的地方,都使用了步进电机。使用步进电机的主要优势在于位置控制。步进电机通常具有永磁转子,并被定子包围。

普通电机轴可以自由旋转,但步进电机轴以固定的可重复增量旋转。

步进电机的一些参数:

  • 步进角 - 步进角是指当一个脉冲作为定子的输入时,转子旋转的角度。此参数用于确定步进电机的位置。

  • 每转步数 - 这是完整旋转所需的步进角数。因此,公式为 360° / 步进角。

  • 每秒步数 - 此参数用于测量每秒覆盖的步数。

  • RPM - RPM 是每分钟转数。它测量旋转频率。通过此参数,我们可以测量一分钟内的旋转次数。

RPM、每转步数和每秒步数之间的关系如下所示:

Steps per Second = rpm x steps per revolution / 60

8051 微控制器与步进电机的接口

我们使用 8051 的 P0 端口连接步进电机。这里使用了 ULN2003。这基本上是一个高电压、大电流达林顿晶体管阵列。每个 ULN2003 都有七个 NPN 达林顿对。它可以提供高电压输出,并带有共阴极钳位二极管,用于切换感应负载。

单极性步进电机以三种模式工作。

  • 波驱动模式 - 在此模式下,一次只激励一个线圈。因此,所有四个线圈依次激励。此模式产生的转矩小于全步驱动模式。

下表显示了不同绕组中输入状态的顺序。

步数
绕组 A
绕组 B
绕组 C
绕组 D
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1
  • 全步驱动模式 - 在此模式下,同时激励两个线圈。此模式产生更大的转矩。这里的功耗也较高。

下表显示了不同绕组中输入状态的顺序。

步数
绕组 A
绕组 B
绕组 C
绕组 D
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1


  • 半步驱动模式 - 在此模式下,交替激励一个和两个线圈。首先激励一个线圈,然后激励两个线圈。这基本上是波和全步驱动模式的组合。它增加了电机的旋转角度。

下表显示了不同绕组中输入状态的顺序。

步数
绕组 A
绕组 B
绕组 C
绕组 D
1
1
0
0
0
2
1
1
0
0
3
0
1
0
0
4
0
1
1
0
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1


电路图如下:我们使用的是全步驱动模式。

示例

#include<reg51.h>
sbit LED_pin = P2^0; //set the LED pin as P2.0
void delay(int ms){
   unsigned int i, j;
   for(i = 0; i<ms; i++){ // Outer for loop for given milliseconds value
      for(j = 0; j< 1275; j++){
         //execute in each milliseconds;
       }
   }
}
void main(){
   int rot_angle[] = {0x0C,0x06,0x03,0x09};
   int i;
   while(1){
      //infinite loop for LED blinking
      for(i = 0; i<4; i++){
         P0 = rot_angle[i];
         delay(100);
      }
   }
}

更新于:2023-10-31

68K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告