在本教程中,我们将使用 MSP430 连接步进电机。MSP-EXP430G2 是德州仪器提供的开发工具,又名 LaunchPad,用于学习和练习如何使用其微控制器。该板属于 MSP430 超值系列类别,我们可以在其中对所有 MSP430 系列微控制器进行编程。
步进电机:
步进电机是一种无刷直流电机,可将电脉冲转换为不同的机械运动。步进电机的轴以离散的步进旋转。我们可以根据需要获得精确的步骤和速度。
我们将使用市场上便宜的35BYJ46双极步进电机。它有 6根电线,但也带有 5 根电线。我们的步进电机中有2个线圈。每个都有 3 根电线从中出来。在 3 根电线中,1 根是中心抽头,因此,其余 2 根电线直接与线圈连接。我们总共有 4 根信号线和 2 根中心抽头线,它们与 5-12V 电源连接。
如果电机总共有 5 根电线出来,则 4 根是信号线,1 根是两个线圈的中心抽头。喜欢这个。
要检查哪根电线居中抽头或哪根是信号线,您必须检查从电机出来的电线的电阻。因此,与中心抽头的电阻相比,与同一线圈连接的那些导线具有很高的电阻值。
在上图中,如果我们检查了蓝色和黄色电线的电阻值,并且它们之间的电阻大于黄色和红色或蓝色和红色之间的值。所以,红色是居中的丝线。
ULN2003 步进电机驱动器:
大多数步进电机只能在驱动器模块的帮助下运行。这是因为控制器模块(在我们的例子中为MSP)将无法从其I / O引脚提供足够的电流供电机运行。因此,我们将使用ULN2003模块等外部模块作为步进电机驱动器。驱动器模块有多种类型,其中一种的额定值将根据所用电机的类型而变化。所有驱动器模块的主要原理是源出/吸收足够的电流以使电机运行。
在本项目中,我们将使用ULN2003电机驱动器IC。IC的引脚图如下:
如果 IC,我们将使用 4 个输入端口和 4 个输出端口。
所需材料:
MSP430
35BYJ46 或28-BYJ48 步进电机
ULN2003 集成电路
电线
面包板
电路图:
在上图中,步进器的红线未与IC的PIN5连接。它必须与5V连接。步进电机的颜色代码可能与电路图中给出的颜色不同。因此,在检查正确的信号线后连接电线。
我们将使用Energia IDE编写代码。它与Arduino IDE相同,易于使用。驱动步进器的示例代码也可以在Arduino IDE的示例菜单中找到。
代码和工作说明:
在我们开始使用 MSP430 进行编程之前,让我们了解程序内部实际应该发生的情况。我们将使用 4 步序列方法,因此我们将执行四个步骤来进行一次完整的旋转。将 A、B、C 和 D 视为四个线圈。
步 | 引脚通电 | 线圈通电 |
步骤 1 | 6 和 7 | A 和 B |
步骤 2 | 7 和 8 | B 和 C |
步骤 3 | 8 和 9 | C 和 D |
步骤 4 | 9 和 6 | D 和 A |
在本教程中,我们将编写MSP430步进电机代码。完整的程序可以在教程的末尾找到,下面解释了几个重要的行。
我们的步进电机每转的步数计算为 32;因此,我们输入如下行所示
const int STEPS = 32;
接下来,您必须创建实例,在其中指定已连接步进电机的引脚。
Stepper myStepper (STEPS, 6, 7, 8, 9);
由于我们使用的是步进库,因此可以使用以下行设置电机的速度。35BYJ46步进电机的速度范围在0到200之间。
Mystepper.setSpeed(200);
现在,为了使电机移动一步,我们可以使用以下行。
myStepper.step(STEPS);
由于我们有 32 个步骤和 64 作为齿轮比,我们需要移动 2048 (32*64=2048),才能完成一次旋转。现在,上传以下代码并更改编号。根据您的需要的步骤。