步进电机正反转程序

发布者:SecretWhisper最新更新时间:2015-12-23 来源: eefocus关键字:步进电机  正反转程序 手机看文章 扫描二维码
随时随地手机看文章

#include        //51芯片管脚定义头文件
#include   //内部包含延时函数 _nop_();
#define uchar unsigned char
#define uint  unsigned int
uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};  //四相八拍正转编码
uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};  ////四相八拍反转编码
sbit  K1   = P3^2;       //正转
sbit  K2   = P3^3;       //反转
sbit  K3   = P3^4;       //停止
sbit  BEEP = P3^6;       //蜂鸣器
/********************************************************/
/*                                                 
/* 延时t毫秒
/* 11.0592MHz时钟,延时约1ms                                    
/*                                                     
/********************************************************/
void delay(uint t)
{                          
   uint k;
   while(t--)
   {
     for(k=0; k<125; k++)
     { }
   }
}

/**********************************************************/
void delayB(uchar x)    //x*0.14MS
 {
   uchar i;
   while(x--)
   {
     for (i=0; i<13; i++)
     { }
   }
 }

/**********************************************************/
void beep()
 {
   uchar i;
   for (i=0;i<100;i++)
    {
     delayB(4);
     BEEP=!BEEP;                 //BEEP取反
    }
     BEEP=1;                    //关闭蜂鸣器
 }

/********************************************************/
/*
/*步进电机正转
/*
/********************************************************/
void  motor_ffw()
 {
   uchar i;
   uint  j;
   for (j=0; j<8; j++)         //转1*n圈
    {
     if(K3==0)
        {break;}                //退出此循环程序
      for (i=0; i<8; i++)       //一个周期转45度
        {
          P1 = FFW[i];          //取数据
          delay(2);            //调节转速
        }
    }
 }

/********************************************************/
/*
/*步进电机反转
/*
/********************************************************/
void  motor_rev()
{
     uchar i;
  uint  j;
  for (j=0; j<8; j++)       //转1×n圈
      {
     if(K3==0)
         {break;}               //退出此循环程序
        for (i=0; i<8; i++)     //一个周期转45度
        {
          P1 = REV[i];          //取数据
          delay(2);            //调节转速
        }
      }
 }

/********************************************************
*                                                      
*  主程序                                              
*                                                     
*********************************************************/

main()
 {
      uchar r,N=64;             //N 步进电机运转圈数
   while(1)
    { 
      if(K1==0)
   {
        beep();
  for(r=0;r          {
     motor_ffw();       //电机正转
      if(K3==0)
           {beep();break;}    //退出此循环程序
      }
      }
   else if(K2==0)
       {
     beep();
  for(r=0;r          {
        motor_rev();       //电机反转
     if(K3==0)
           {beep();break;}    //退出此循环程序
   }
       }
    else 
   P1 = 0xf0;
    }
 }

/********************************************************/        

关键字:步进电机  正反转程序 引用地址:步进电机正反转程序

上一篇:51单片机PID算法程序(二)位置式PID控制算法
下一篇:C51单片机模块化编程万年历设计

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

步进电机的基本原理及特性
步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。因此,步进电动机又称脉冲电动机。 步进电机相对于其它控制用途电机的最大区别是,它接收数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,它本身就是一个完成数字模式转化的执行元件。而且它可开环位置控制,输入一个脉冲信号就得到一个规定的位置增量,这样的所谓增量位置控制系统与传统的直流控制系统相比,其成本明显减低,几乎不必进行系统调整。步进电机的角位移量与输入的脉冲个数严格成正比,而且在时间上与脉冲同步。因而只要控制脉冲的数量、频率和电机绕组的相序
[嵌入式]
<font color='red'>步进电机</font>的基本原理及特性
基于PIC16C621A和A3955的步进电机驱动器设计
引言 步进电机广泛应用于对精度要求比较高的运动控制系统中,如机器人、打印机、软盘驱动器、绘图仪、机械阀门控制器等。目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。分散器件组成的环形脉冲分配器体积比较大,同时由于分散器件的延时,其可靠性大大降低;软件环形分配器要占用主机的运行时间,降低了速度;专用集成芯片环形脉冲分配器集成度高、可靠性好,但其适应性受到限制,同时开发周期长、需求费用较高。 步进电机控制 步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(VR)、永磁式步进
[单片机]
基于PIC16C621A和A3955的<font color='red'>步进电机</font>驱动器设计
步进电机的双极连接和单极连接驱动方法
从本文开始,将介绍两相双极步进电机和两相单极步进电机的驱动电路,以及两相双极步进电机和两相单极步进电机的驱动方法。首先介绍双极连接和单极连接。 步进电机:双极连接和单极连接 步进电机有双极连接型和单极连接型两种类型,每种都有其优缺点,因此需要了解它们的特点并根据应用需求来选用。 ■双极连接 双极连接的方法如图所示,采用电流在一个绕组中双向流动的驱动方式(双极驱动)。这种方式电机的结构比较简单,端子数也较少,但由于必须控制一个端子的极性,因此驱动电路较为复杂。不过,这种电机的绕组利用率好,并且可以进行精细的控制,因此可以获得很高的输出转矩。另外,还可以减小在线圈中产生的反电动势,所以可以使用耐压较低的电机驱动器。 ■单极连接
[嵌入式]
<font color='red'>步进电机</font>的双极连接和单极连接驱动方法
基于SoPC的步进电机设计
  步进电机是一种完全数字化的电动执行机构,从原理上说,其角位移与驱动脉冲的个数成正比,在正常情况下,步进电机具有使用简单、运动精确、连续运行无累积误差等特点,因而被广泛应用于各种位置控制系统中。当前由于仪器内部的机械系统日益复杂,其运动往往是多自由度的,因而通常需要利用多个步进电机的运动合成来实现系统的各种动作。例如,对图1所示的半自动生化分析仪的取样针移位系统,该系统的动作执行就是由两部分组成的:一是固定基座上的步进电机控制取样横臂进行垂直方向上的升降运动;二是滑块上的步进电机控制取样横臂进行水平方向上的旋转运动。这两个运动的合成实现了取样横臂的位置变换。      传统的步进电机多轴控制器是以微控制器(MCU)/微
[嵌入式]
51单片机控制步进电机和直流减速电机
51单片机控制步进电机和直流减速电机。 用这个电路图可以实现多个电机的联动,易于写程序控制。 使用多个L298驱动芯片,安全高效。 以下是正文: L298驱动芯片介绍: L298工作电压高达46V 总DC电流达4A 低饱和电压 L298具有过温保护功能 file:///C:/Users/HUAWEI/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png 接下来看看protues的仿真图。 按图示接法,驱动芯片的in口和out口电平状态完全对应一致。但不会有过大电流流过单片机。因此安全可靠。 驱动方法: 直流电机,直接电机的连线上,给予一高一低的两个电平即
[单片机]
51单片机控制<font color='red'>步进电机</font>和直流减速电机
步进电机控制器电路
步进电机控制器电路 Stepper Motor Controller I found this circuit in my files. I don't know where it came from, but it looks like I photocopied it from somewhere years ago. I have been told that it came from "The Robot Builder's Bonanza", by Gordan McComb. Anyway, I thought that it should be fairly useful, so I decided to po
[工业控制]
<font color='red'>步进电机</font>控制器电路
步进电机的基础知识
步进电机基础知识 每个电机都会转换功率。电动机将电能转化为运动。步进电机将电能转化为旋转。步进电机不仅可以将电能转化为旋转,而且可以非常精确地控制旋转的距离和速度。 步进电机之所以如此命名,是因为每个电脉冲都会使电机转动一步。步进电机由驱动器控制,驱动器将脉冲发送到电机中使其转动。电机转动的脉冲数等于馈入驱动器的脉冲数。电机将以等于这些相同脉冲频率的速率旋转。 步进电机非常容易控制。大多数驱动器正在寻找 5 伏脉冲,这恰好是大多数集成电路的电压电平。您只需要设计一个输出脉冲的电路或使用东方马达的脉冲发生器之一。 步进电机最显着的特点之一是它们能够非常准确地定位。稍后将对此进行深入介绍。步进电机并不完美,总会有一些小的不
[嵌入式]
<font color='red'>步进电机</font>的基础知识
基于MC56F8323的两相步进电机高速细分驱动模块
1 引言 步进电机定位准确且与数字电路接口连接非常方便,无需反馈就可实现准确的角位移,在数控机床等许多领域中得到了广泛应用。随着电子技术的发展,对步进电机细分控制技术的研究日趋深入,该技术不仅解决了步进电机步距角大的问题,提高了步进电机的分辨率,减弱或消除了步进电机的低频振动,而且也改善了电机的其他性能。从而使步进电机的应用范围进一步扩大,控制更加灵活。 2 步进电机细分驱动的基本原理 步进电机的细分功能采用数/模转换技术,用阶梯波驱动代替传统的方波驱动,使电机能以微步距“连续运动”。具体办法一般为:微处理器接收步进信号的输入,经内部识别处理后,查表得到电机的驱动电流大小。并将这个数值与当前步进电机的工作电流比较,满足条件电
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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