5125|10

7219

帖子

192

TA的资源

五彩晶圆(高级)

楼主
 

【launchpad心得】课后练习十七之步进电机 [复制链接]

1. 步进电机简介

 

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为步距角,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A

       四相电机软件操作方式:

       AB-BC-CD-DA-AB 或者A-B-C-D-A 前者力矩大。

       上述表达式表示A相通电,其他都断电,然后B相通电,其他相都断电,AB的切换时间可以调整,即调整电机转速。

       反转如下D-C-B-A-D或者AD-DC-CB-BA-AD

       注意相序不能接错,否则不能正常转动

速度不能过高,否则不足以驱动电机转动

 

 

2.ULN2003

ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成

引脚介绍:

引脚1CPU脉冲输入端,端口对应一个信号输出端。

 引脚2CPU脉冲输入端。

 引脚3CPU脉冲输入端。

 引脚4CPU脉冲输入端。

 引脚5CPU脉冲输入端。

 引脚6CPU脉冲输入端。

 引脚7CPU脉冲输入端。

 引脚8:接地。

 引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。

引脚10:脉冲信号输出端,对应7脚信号输入端。

引脚11:脉冲信号输出端,对应6脚信号输入端。

 引脚12:脉冲信号输出端,对应5脚信号输入端。

 引脚13:脉冲信号输出端,对应4脚信号输入端。

 引脚14:脉冲信号输出端,对应3脚信号输入端。

 引脚15:脉冲信号输出端,对应2脚信号输入端。 

引脚16:脉冲信号输出端,对应1脚信号输入端。

 

3. 电路图

 

3. 测试图

 

 

课后练习十七之步进电机.pdf (357.63 KB, 下载次数: 474)

 

 

最新回复

P1OUT=F_Rotation; //输出对应的相 可以自行换成反转表格  详情 回复 发表于 2014-8-7 18:07
 
点赞 关注(1)

回复
举报

7219

帖子

192

TA的资源

五彩晶圆(高级)

沙发
 

例程

  1. /***********************************************
    **** LAUNCH PAD 学习之ULN2003驱动不进电机 ***
    **** MCU: MSP430 ***
    **** 作者: 常见泽 ***
    **** ***
    **** ***
    **** 2012.05.31.10:05 ***
    **** 实验现象:步进电机转动 ***
    **** P1.0 P1.1 P1.2 P1.3分别接ABCD ***
    **** ***
    ***********************************************/
    #include <msp430g2452.h>
    unsigned char F_Rotation[]={0x01,0x02,0x04,0x08};//正转表格

    void delay_1ms(void)
    {
    unsigned int i;
    for (i=0;i<1140;i++);
    }
    void delay_nms(unsigned int n)
    {
    unsigned int i=0;
    for (i=0;i<n;i++)
    delay_1ms();
    }


    void main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    P1DIR |= (BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7);// P1.0 output

    unsigned char i;

    while(1)
    {
    for(i=0;i<4;i++) //4相
    {
    P1OUT=F_Rotation; //输出对应的相 可以自行换成反转表格
    delay_nms(5); //改变这个参数可以调整电机转速
    }
    }
    }
复制代码

[ 本帖最后由 常见泽1 于 2012-6-13 14:06 编辑 ]

点评

LZ为什么我编译的有错误啊?P1Out  详情 回复 发表于 2014-8-7 18:05
你用的是默认时钟DCO 的 1MHZ的吗?你的1ms延时函数准确吗?  详情 回复 发表于 2012-6-13 20:55
 
 

回复

2057

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
P1OUT=B_Rotation; //输出对应的相 可以自行换成反转表格
--------------------
应该是:P1OUT = F_Rotation;
 
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

4
 

回复 板凳 IC爬虫 的帖子

是的 本来是有正反转的 后来只用到一个 删除错误了
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(高级)

5
 

回复 沙发 常见泽1 的帖子

你用的是默认时钟DCO 的 1MHZ的吗?你的1ms延时函数准确吗?

点评

不一定准 没测试过 也是用的别人的子程序 不过应该差不多 看的别人帖子里的  详情 回复 发表于 2012-6-14 08:40
 
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

6
 

回复 5楼 465055608 的帖子

不一定准 没测试过 也是用的别人的子程序 不过应该差不多 看的别人帖子里的
 
 
 

回复

280

帖子

0

TA的资源

一粒金砂(高级)

7
 
将 5v 和 12v的GND 都公用在1个GND  会不会有问题啊? 一旦12v出现接地故障 可能会烧毁单片机吧。

点评

不会啊,什么叫接地故障啊,接地就短路了.2003这边要地的. 你来个不共地的?  详情 回复 发表于 2013-6-5 20:28
嗯 借用的开发板上的 不是我设计的电路  详情 回复 发表于 2013-1-12 12:33
 
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

8
 

回复 7楼 flyword 的帖子

嗯  借用的开发板上的 不是我设计的电路
 
 
 

回复

4008

帖子

0

TA的资源

版主

9
 

回复 7楼 flyword 的帖子

不会啊,什么叫接地故障啊,接地就短路了.2003这边要地的.
你来个不共地的?
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

10
 

LZ为什么我编译的有错误啊?P1Out
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

11
 
P1OUT=F_Rotation; //输出对应的相 可以自行换成反转表格
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表