在本篇文章中,我们将介绍如何使用MSP430 LaunchPad开发板连接一个步进电机。 MSP-EXP430G2是德州仪器(TI)提供的开发工具,又名LaunchPad,用于学习和练习如何使用他们提供的微控制器。该开发板属于MSP430产品线,我们可以使用它对所有MSP430系列微控制器进行编程。如果您是MSP430的新手,请查看MSP430 LaunchPad的入门教程。
所需的材料
● MSP430 LaunchPad开发板
● 35BYJ46或28-BYJ48步进电机
● ULN2003驱动芯片
● 连接导线
● 面包板
步进电机
步进电机是一种无刷直流电机,可将电脉冲转换为不同的机械运动。步进电机的轴以不连续的步骤旋转。我们可以根据需要获得精确的步数和速度。
我们将使用市场上价格便宜的35BYJ46双极步进电机。它有6根电线,但也有5根电线的。步进电机有2个线圈。每个都有3根电线从中出来。在3根导线中,1根中心抽头,剩下2根导线直接与线圈连接。总共有4根信号线和2根中心抽头,用5-12V电源连接。
如果总共有5根电线从电机出来,则4根电线是信号线,1根电线中心抽到两个线圈。和下图一样。
要检查哪根导线是中心抽头或者哪根是信号线,您必须检查从电机出来的导线的电阻。因此,与中心抽头的电阻相比,连接同一根线圈的那些导线具有高电阻值。
在上图中,如果我们检查了蓝线和黄线的电阻值,它们之间的电阻大于黄线和红线或蓝线和红线之间的值。所以,红色线是中心抽头。
ULN2003步进电机驱动芯片
大多数步进电机只能在驱动模块的帮助下运行。这是因为控制器模块(在我们的情况下是MSP430)无法从其I / O引脚提供足够的电流以使电机运行。因此我们将使用像ULN2003模块这样的外部模块作为步进电机驱动。有许多类型的驱动模块,其中驱动模块的选择根据所用电机的类型而改变。所有驱动器模块的主要原理是为电动机提供足够的电流以使其运行。
在这个项目中,我们将使用ULN2003电机驱动器IC。 IC的引脚图如下:
我们使用4个输入端口和4个输出端口。
电路原理图
在上图中,步进电机的红线没有与IC的PIN5连接,该线必须连接到5V。步进电机的颜色代码可能与电路图中给出的颜色不同。因此,在检查正确的信号线后再连接导线。
我们将使用Energia IDE开发环境编写代码。它与Arduino IDE相同,易于使用。用于驱动步进器的示例代码也可以在Arduino IDE的示例菜单中找到。
代码和说明
在我们开始对MSP430进行编程之前,让我们了解一下程序内部的工作流程。我们将使用4步序列方法,因此将有四个步骤来执行一次完整的旋转。将A、B、C和D看作四个线圈。
在本篇文章中中,我们将编写MSP430步进电机代码。完整的程序可以在本文末尾处给出,下面将解释几段重要的代码。
步进电机每转的步数为32;因此我们在代码行中写入以下内容:
const int STEPS = 32;
接下来,您必须创建一个实例,在该实例中我们指定了连接步进电机的引脚。
Stepper myStepper (STEPS, 6, 7, 8, 9);
由于我们使用的是Stepper库,我们可以使用以下代码行设置电机的速度。对于35BYJ46步进电机,速度范围在0到200之间。
Mystepper.setSpeed(200);
现在,为了使电机向前移动一步,我们可以使用以下行。
myStepper.step(STEPS);
由于我们有32步和64作为齿轮比,我们需要移动2048(32 * 64 = 2048),以完成一次完整的旋转。现在,上传以下代码,然后根据您的需要更改前进的步数。
本篇文章使用的完整代码如下:
#include const int STEPS = 32; // change this to fit the number of steps per revolution // for your motor // initialize the stepper library on pins 6 through 9 or you can use any pins on MSP430: Stepper myStepper(STEPS, 6,7,8,9); void setup() { // set the speed at 200rpm or as you want: myStepper.setSpeed(200); } void loop() { myStepper.step(STEPS); } 本篇文章使用的完整代码如下:
上一篇:使用MSP430连接RTC模块(DS2321)制作数字时钟
下一篇:MSP430系列嵌入式实验教程---基础
推荐阅读最新更新时间:2024-10-30 09:38
设计资源 培训 开发板 精华推荐
- XILINX-SMT2-CABLE
- dualMotorDriver
- LTM4608AEY 2.7V 至 5.5Vin、1.2V 输出 DC/DC 稳压器在扩频操作中的典型应用电路
- 黄淮学院立创杯电子设计大赛/谢卓1001900A
- AM1DR-2409SH30Z 9V 1 瓦 DC-DC 转换器的典型应用
- 724MINI DTU
- 使用 MaxLinear, Inc 的 SP7606ER-L 的参考设计
- 用于 M24LR64-R 双接口 EEPROM 的 ANT4-M24LR-A、2 x 64 Kbit 多组天线参考设计板
- 使用 Analog Devices 的 ADL5373 的参考设计
- 使用 Analog Devices 的 REF192 的参考设计