步进电机是无刷直流电机,可以以小角度旋转,这些角度称为步进。通常,步进电机使用200步来完成360度旋转,这意味着其每步旋转1.8度。步进电机用于许多需要精确旋转运动的设备,例如机器人,天线,硬盘驱动器等。我们可以通过给出适当的说明将步进电机旋转到任何特定角度。
步进电机基本上有两种类型:单极和双极。单极步进电动机通常有五根或六根电线,其中四根电线是四个定子线圈的一端,而所有四个线圈的另一端则绑在一起,代表第五根电线,这称为公共线(公共点)。通常,通过连接两个两个线圈的一端形成两条公共线,如下图所示。单极步进电机由于易于使用而非常普遍和流行。
在双极步进电机中,两组线圈中只有四根线,这意味着没有公共线。
步进电机由定子和转子组成。定子代表四个固定在转子周围的电磁线圈,转子代表旋转的永磁体。只要通过施加电流使线圈通电,就会产生电磁场,从而导致转子(永磁体)旋转。线圈应按特定顺序通电,以使转子旋转。基于此“顺序”,我们可以将单极步进电机的工作方法分为三种模式:波驱动模式,全步驱动模式和半步驱动模式。
波形驱动模式:在此模式下,一个线圈一次通电,所有四个线圈一个接一个地通电。与全步驱动模式相比,它产生的扭矩较小,但功耗较小。下表是使用微控制器产生这种模式的表格,这意味着我们需要以顺序方式将逻辑1赋予线圈。
脚步 |
一种 |
乙 |
C |
d |
1个 |
1个 |
0 |
0 |
0 |
2 |
0 |
1个 |
0 |
0 |
3 |
0 |
0 |
1个 |
0 |
4 |
0 |
0 |
0 |
1个 |
完全驱动模式:在这种情况下,两个线圈同时通电,从而产生高扭矩。功耗较高。我们需要将逻辑1同时分配给两个线圈,然后再分配给接下来的两个线圈,依此类推。
脚步 |
一种 |
乙 |
C |
d |
1个 |
1个 |
1个 |
0 |
0 |
2 |
0 |
1个 |
1个 |
0 |
3 |
0 |
0 |
1个 |
1个 |
4 |
1个 |
0 |
0 |
1个 |
半驱动模式:在此模式下,一个线圈和两个线圈交替通电,这意味着首先给一个线圈通电,然后向两个线圈通电,再向一个线圈通电,再向两个线圈通电,依此类推。这是全驱动和波动驱动模式的组合,用于增加电动机的角旋转。
脚步 |
一种 |
乙 |
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个 |
步进电机与8051单片机的接口
与8051的接口非常简单,我们只需要根据上表根据步进电机的运行模式将0和1分配给步进电机的四线即可。其余两根电线应连接到适当的12v电源(取决于步进电机)。在这里,我们使用了单极步进电机。我们已通过ULN2003A将线圈的两端连接到8051的端口2的前四个引脚。
8051没有提供足够的电流来驱动线圈,因此我们需要使用ULN2003A电流驱动器IC。 ULN2003A是七个NPN达林顿晶体管对的阵列。达林顿对通过连接两个双极晶体管来实现大电流放大而构建。在ULN2003A中,7引脚为输入引脚,7引脚为输出引脚,两个引脚分别用于Vcc(电源)和地。在这里,我们使用四个输入和四个输出引脚。我们还可以使用L293D IC代替ULN2003A进行电流放大。
您需要非常仔细地找出四根线圈线和两根普通线,否则电动机将无法旋转。您可以通过用万用表测量电阻来找出来,万用表不会显示两相线之间的任何读数。公共线和同一相中的另外两根线应显示相同的电阻,并且同一相中两个线圈的两个端点将显示出与公共点和一个端点之间的电阻相比两倍的电阻。
故障排除
如果您的电动机没有旋转或没有振动但没有旋转,则必须检查以下清单:
- 首先检查电路连接和代码。
- 如果电路和代码正常,则检查步进电机是否获得正确的电源电压(通常为12v),否则它只是振动而不旋转。
- 如果供电良好,则检查连接到ULN2003A的四个线圈端点。首先找到两个公共端点并将它们连接到12v,然后将其余四根电线连接到ULN2003A并尝试所有可能的组合,直到电动机启动。如果您无法正确连接它们,则电动机只会振动而不是旋转。
这是波形步进模式和全波形步进模式的代码,您可以轻松地为半波形模式计算PORT P2的值。