使用MSP430G2 LaunchPad开发板连接步进电机的方法

2019-10-23来源: eefocus关键字:MSP430G2  LaunchPad  步进电机

在本篇文章中,我们将介绍如何使用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看作四个线圈。

步骤序号

通电的引脚

通电的线圈

第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);



由于我们使用的是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);

}



本篇文章使用的完整代码如下:


关键字:MSP430G2  LaunchPad  步进电机 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic478060.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:使用MSP430连接RTC模块(DS2321)制作数字时钟
下一篇:MSP430系列嵌入式实验教程---基础

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430G2553与MSP430F5336系列单片机总结[4]——比较器B的使用
比较器B是什么,顾名思义,它其实就是用来比较模拟电压+输入端和-输入端的电压大小,然后设置输出信号CBOUT的值的,如果 + 端电压高于 - 端电压,则CBOUT置高,否则置低。主要的控制寄存器有CBCTL0,CBCTL1,CBCTL2,CBCTL3,CBINT,CBIV,在MSP430G2553中没有比较器B,但是F5336中有,所以接下来的代码全都是F5336的比较器B使用程序:1.比较器B输入通道CB0接外部模拟输入信号,并且引至比较器+输入端,内部参考电压发生器利用共享电压源产生2.0V参考电压。最后当CB0输入模拟信号电压高于2.0V时,CBOUT输出高电平,当CB0输入模拟信号电压低于2.0V时,输出低电平
发表于 2019-11-06
MSP430G2553使用CCS8.0编程注意点总结
本文总结了在利用MSP430G2553做实验时的一些通用错误及注意点,用的软件为CCS8.0,供大家借鉴,具体工程不再给出,若有相似问题或本文有错误,可留言,我尽量回复。文末附有MSP430的用户手册、数据手册、学习笔记及《从零开启大学生电子设计之路》电子版及相关例程的下载地址,我也会尽量持续总结并更新。【错误1】:在“UART_Global.h“中已经定义全局变量“extern unsigned int CHANGE_MODE;”,然而编译时仍然出现错误,错误提示为:error #10234-D: unresolved symbols remain。【解决】:经过在网上查找并对比相关例程发现,在“.h”文件中定义后,仍需在相应
发表于 2019-10-30
使用MSP430G2 LaunchPad开发板驱动伺服电机的方法
在本篇文章中,我们将主要介绍一些有关伺服电机的基础知识以及如何将伺服电机与MSP430G2 LaunchPad开发板进行连接。 MSP-EXP430G2是德州仪器提供的开发工具,也称为LaunchPad,用于学习和实践如何使用其微控制器。该开发板属于MSP430产品线类别,我们可以对所有MSP430系列微控制器进行编程。伺服电机和PWM在详细讨论之前,首先我们应该了解伺服电机。伺服电机包含了直流电机、位置控制系统和转动机构。伺服电机在现代世界有很多应用,因此它们有不同的形状和尺寸。我们将在本篇文章中使用的是SG90伺服电机,它是最流行且最便宜的电机之一。 SG90是一款180度伺服器。所以用这个伺服我们可以将轴从0-180度定位
发表于 2019-10-23
使用MSP430G2 LaunchPad开发板驱动伺服电机的方法
使用MSP430G2单片机的PWM模块控制LED指示灯的亮度
本篇文章是MSP430G2 LaunchPad系列教程的一部分,我们正在学习使用德州仪器的MSP430G2 LaunchPad开发板。到目前为止,我们已经学习了开发板的基础知识,并介绍了如何读取模拟电压以及使用MSP430G2进行连接LCD等。现在我们继续了解MSP430G2单片机中的PWM模块。我们将通过改变电位器来控制LED的亮度,因此,将电位器连接到MSP430的模拟引脚,然后读取其模拟电压,因此建议在继续学习之前先了解ADC的文章。什么是PWM信号?脉宽调制(PWM)是控制电路中最常用的数字信号。该信号以预定的时间和速度设置为高电平(3.3v)和低电平(0v)。信号保持高电平的时间称为“开启时间”,信号保持低电平的时间称为
发表于 2019-10-22
使用MSP430G2单片机的PWM模块控制LED指示灯的亮度
使用MSP430G2 LaunchPad开发板连接LCD液晶显示屏的方法
本篇文章是我们学习使用Energia IDE开发环境编程MSP430G2 LaunchPad的教程系列中的第三篇教程。在上一篇教程中,我们学习了如何控制MSP430G2 LaunchPad开发板上的数字输入和输出引脚。在本教程中,我们将学习如何将LCD与开发板连接,以便我们可以显示一些有用的信息。我们在这个项目中使用的LCD是最常用的16×2点阵式液晶显示器,也就是所谓的字符显示器。我们大多数人都会通过公共PCO或其他电子项目来接触到这一点。像这样的显示对于我们将来的教程中显示数据和其他调试信息将非常方便。由于提供了库,将该LCD与MSP430连接起来非常简单。所以让我们开始学习吧!所需材料●    德州仪器
发表于 2019-10-22
使用MSP430G2 LaunchPad开发板连接LCD液晶显示屏的方法
【msp430 launchpad、RF模块】调制、解码无线信号
用到的硬件调制无线信号原理是自己调制高低电平输入到RF发射模块。代码中的0、1代表高低电平,由分析真实的门控信号得来。参见bladeRF:自己调制无线门控钥匙信号 。解码无线信号原理是上升沿触发解码中断,然后判断同步位,再接收数据位。代码中的判断同步位的起始高电平部分有点问题,果断注释掉,直接利用起始位高电平后的低电平来判断同步位。 解码效果: 
发表于 2019-10-28
【msp430 launchpad、RF模块】调制、解码无线信号
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved