28BYJ48型步进电机的控制方法

发布者:caoda143最新更新时间:2016-01-18 来源: eefocus关键字:28BYJ48型  步进电机  控制方法 手机看文章 扫描二维码
随时随地手机看文章
  前不久弄到一只28BYJ48型步进电机,没有资料,从网上查找,搜到一些资料,但按照网上介绍的程序实验,都没有成功。后来根据资料的原理部分,试着自己编写了一段程序,经过多次实验调试,终于成功了。

  哈哈,收获不小!!!

  步进电机是一种将电脉冲转化为角位移的执行设备。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。我们可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时我们可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

  28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V。当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A……),双(双相绕组通电)四拍(AB-BC-CD-DA-AB……),四相八拍(A-AB-B-BC-C-CD-D-DA-A……)。本例是使用四相八拍驱动方式实现的。

  下面是我写的C语言控制程序实现28BYJ48型步进电机正转五圈然后倒转五圈的效果:

//********************************************************************************
//*  标题:  步进电机正反转演示程序                                               *
//*  文件:  步进电机正反转演示.C                                                 *
//*  日期:  2011-3-13                                                            *
//*  环境:  使用自制单片机最小系统板测试通过                                     *
//********************************************************************************
//*  描述:  28BYJ-48步进电机正反转控制                                           *
//*  电机使用端口:P1.0、P1.1、P1.2、P1.3                                        *
//*  单双八拍工作方式:A-AB-B-BC-C-CD-D-DA                                       *
//********************************************************************************

#include
#include

//**********************正向旋转相序表*****************************
unsigned char code FFW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};

//**********************反向旋转相序表***************************** 

unsigned char code REV[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};

//***********************延时子程序******************************** 

void delay(unsigned int t)
                         
   unsigned int k;
   while(t--)
   {
     for(k=0; k<125; k++)
     {}
   }
}

 

//**********************步进电机正转****************************** 

void  motor_ffw(unsigned int n)
 {
   unsigned char i;
   unsigned int  j;
   for (j=0; j<8*64*n; j++)
    {
      for (i=0; i<8; i++)
        {
          P1 = FFW[i];
         delay(1);
         }
    }
 }

 

//*********************步进电机反转******************************** 

void  motor_rev(unsigned int n)
{
    unsigned char i;
  unsigned int  j;
  for (j=0; j<8*64*n; j++)
      {
        for (i=0; i<8; i++)
        {
          P1 = REV[i];
          delay(1);
        }
      }
 }

 

//*************************主程序*********************************
main()
  
   while(1)                    
   
       motor_ffw(5);          //电机正转5圈
       delay(1000);
       motor_rev(5);          //电机反转5圈
       delay(1000);

    }
 }

关键字:28BYJ48型  步进电机  控制方法 引用地址:28BYJ48型步进电机的控制方法

上一篇:关于单片机堆栈概念的一个有趣的解释
下一篇:学习单片机的8个步骤

推荐阅读最新更新时间:2024-03-16 14:44

新的步进电机控制器/驱动器简化步进电机系统设计
     现代步进 电机驱动 系统通常使用集成电路功率芯片驱动电机运转,有时可能还会集成一些简单的控制功能,像电流控制。有些较先进的控制芯片还集成一个状态机,对步进电机的步进顺序进行相应的控制。一般而言,步进时序和运动曲线是由一个外部微控制器或专用的ASIC逻辑电路控制的。如果需要控制多台电机,解决办法无非是给每台电机安装专用逻辑电路或者在微控制器上安装每台电机的控制软件。通过在一颗芯片上集成一个数字控制内核和驱动电路,意法半导体的新产品 L6470可简化多电机控制系统的设计。这款新IC采用电压控制模式,能够以1/128微步进管理用户设置的运动曲线,而且这些操作对主微控制器的负荷影响微乎其微。在采用该控制器的系统中,因为微控制
[工业控制]
基于ATMEGA48单片机的仪表步进电机的细分控制原理及应用
   仪表步进电机   步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机某相线圈加一脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变得非常简单。虽然步进电机已被广泛地应用,但步进电机并不像普通的直流电机、交流电机那样在常规下使用。它必须在双环形脉冲信号、功率驱动电路等组成控制系统下使用。   仪表步进电机属于步进电机中体积、功耗较小的类别,可以由单片机或专用芯片的引脚直接驱动,不需外接驱动器,因而在仪表中被用于指针的旋
[单片机]
基于ATMEGA48单片机的仪表<font color='red'>步进电机</font>的细分控制原理及应用
装入CPLD/FPGA的步进电机运动控制器与驱动器
本设计实例进一步拓展了以前将步进电机驱动器集成到CPLD中的设计(参考文献1)。本实例不仅集成了驱动器,而且还集成了一个简单的单轴步进电机运动控制器。根据CPLD大小,可以将多个运动控制器设计到单一设备中。例如,单轴运动控制器采用68%或63%的可用宏单元设计到Xilinx XC95108中。运动控制器以确定的速度与时间曲线顺时针或逆时针旋转步进电机指定的步数。运动开始时,控制器对电机加速,直到其达到巡航速度,然后减速直到停止(图1)。 控制器可将电机速度调节到16 个值,V=VMAX×speed/16, 其中速度值为0到16的整数。在加速阶段,速度从1到16升高,在巡航阶段,速度保持在16,最后,在减速阶段,速度下降到1
[嵌入式]
单片机+ULN2003A步进电机控制系统(正反转+加减速)
51单片机步进电机的正反转。加减速控制 电路原理图如下: 仿真原理图如下 单片机源程序如下: #include reg52.h #include stdio.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit RS = P2^4;//1602数据/命令选择端(H:数据寄存器L:指令寄存器) sbit RW = P2^5;//1602读/写选择端 sbit E = P2^6;//1602使能信号端 sbit key1=P3^0;//用户按键 sbit key2=P3^1; sbit key3=P3^
[单片机]
单片机+ULN2003A<font color='red'>步进电机</font>控制系统(正反转+加减速)
STM32开源闭环步进电机源程序
单片机源程序如下: /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __STM32F0xx_HAL_CONF_H #define __STM32F0xx_HAL_CONF_H #ifdef __cplusplus extern C { #endif #include main.h /* Exported types ------------------------------------------------------------*/ /* Exported constants -----
[单片机]
单片机控制的步进电机自动定位系统
1 概述 步进电机自动定位系统的主要特点是能实现精确移位、精确定位、无积累误差。它一般应用于难度较大、要求精度高的绘图机或数控机床等系统中。单片机控制步进电机自动定位系统的主要优点是: ⑴用软件代替由硬件电路组成的步进电机控制器,不仅简化了线路,降低了成本,而且提高了系统的可靠性。 ⑵为改善步进电机以低于极限启动频率恒速运行时,运行时间过长的缺点,进行加减速控制;步进电机从低速不失步地加速启动,达到高速恒速运行;在将达到目标位置时,步进电机减速运行,最后准确的停在目标位置上,而不会发生过冲现象。这就要求单片机控制的步机电机有加减速控制过程。 ⑶微机通过RS232串口实现对单片机的多机通讯,能实时远距离监控由步进电机驱动的工作台
[单片机]
单片机控制的<font color='red'>步进电机</font>自动定位系统
步进电机的主要特点
在我们的生活中,每个物品都有它一定的特点,比如空调,它能在炎热的夏天给您带来凉爽的感觉,能在寒冷的冬天给您带来温暖的感觉,那么步进电机也是一样的,也是有一些特点,下面小编为大家讲解一下步进电机的特点。 特点 • 准确位置控制 步进电机以一个固定的步距角转动,就像时钟内的秒针。这个角度称为基本步距角。鸣志提供两种基本步距角来作为标准电机:基本步距角为1.8°的两相步进电机和基本步距角为1.2°的三相步进电机。 • 简单的脉冲信号控制 需高精度定位的系统如下所示。控制器发出的脉冲信号可以准确地控制步进电机的转动角度和速度。 什么是脉冲信号? 脉冲信号是一个电压反复在ON 和OFF 之间改变的电信号。 每个ON/OFF 周期
[嵌入式]
<font color='red'>步进电机</font>的主要特点
基于PLC S7-200与步进电机的运动控制
PLC S7-200与步进电机的运动控制   步进电机的运行要有一电子装置进行驱动,这种装置就是步进电机驱动器,它是把控制系统发出的脉冲信号,加以放大以驱动步进电机。步进电机的转速与脉冲信号的频率成正比,控制步进电机脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位。
[嵌入式]
基于PLC S7-200与<font color='red'>步进电机</font>的运动控制
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved