将步进电机与PIC微控制器连接的方式

控制/MCU

1878人已加入

描述

在本教程中,我们将使用 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),才能完成一次旋转。现在,上传以下代码并更改编号。根据您的需要的步骤。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分