电子制作天地网站欢迎您的光临,欢迎提出宝贵意见或建议。本站信息产业部备案: 粤ICP备05114582号
L297+L298步进电机驱动控制板
L297+L298 Stepper motor driver

时间:2012-3-7 20:31:09 来源:互联网 作者:不详 编辑: 【关闭


L297+L298步进电机驱动控制板,L297+L298 Stepper motor driver

关键字:L297,L298,步进电机驱动电路图

L297+L298步进电机驱动电路图L297+L298 Stepper motor driver
一、板子跳线器说明:所有跳线都在左边,则由单片机控制。
1、靠近光偶的短路冒打在CLK-555方向时有板上的555提供时钟给驱动器;打在CLK-CPU时右用户CPU提供时钟给驱动器。
2、JT5打在右边:297的HALF/FULL(全速/半速)脚接GND了 默认为FULL模式了;JT5打在左边:297的HALF/FULL脚空了 电机模式用户自己控制。
3、JT6打在右边:297的CW/CCW脚(方向)接GND了 默认为顺时针转动模式了;JT6打在左边:297的CW/CCW脚空了 电机正反转模式用户自己控制。
二、按键说明:
板子使用全新的L297作为控制芯片 L298作为驱动芯片 板载NE555时钟电路为L297提供CLK因此 该版在不需要外部控制的情况下就可以工作 板载3个控制按键
EN - 使能
CW - 反向旋转
HF - 半速旋转
通过按键就可以直接控制电机的正反转、全速/半速和使能。
三、基本功能描述:
通过光藕隔离之后将CLK CW HF EN四个基本控制端引出单片机等可以非常方便的控制电路的工作这个板子改进的地方比较多也方便研究使用。板子使用1N5822快速二极管作为续流器件 其速度要远远快于整流桥的 L298和电机能够提供更完善的有效的保护。模块供电+5V(L297和L298控制供电) +12V(根据电机最低4V最高16V)给电机供电。
电机输出接口包括: +12V  四相输出  GND(请根据您的电机连接)。
控制输入接口包括: GND  CLK  EN  CW  HF。
EN:高电平停止,低电平使能。
RET:高电平停止,低电平使能。
C/CW:高电平逆时针,低电平顺时针。
H/HD:高电平全速,低电平半速。
CLK:时钟脉冲。
需要特别说明的是:为了测试方便 在板子上设置了NE555构成的一个低频时钟源(使用时跳线冒打在CLK-555处),当您使用外部的时钟信号控制电机的转速时必须跳线冒打在CLK-CPU处 否则外部时钟是不会传到L297里面。
四、接口说明:
1、板子左上方小二接口(JT1) VCC接+5V、GND接电源地,次处为芯片L297和555芯片的工作电压;
2、板子左中方小八接口(MCU-IN)为光藕隔离的信号分别为:EN(使能)、RET(复位)、C/CW(正反控制)、H/FU(全速/半速)、CLK(时钟信号)   +5V(光藕工作电压) 注意:如果没有用CPU控制,小八接口(MCU-IN)的信号可以不接任何东西。
3、JT2为298的工作电压也是驱动电机的工作电压(接+12V)
注意:板子推荐的最高电机供电电压在4V~18V之间 最大工作电流不超过2A 否则L298的耗散功率会过大 导致发热严重 这种情况下通过风冷等措施 可以提高最大工作电流到2.5A左右。
4、OUT为电机的四相信号线 A B C D
 
相关程序:

// 控制线接到MCU的P1口 独立键盘的接口接到MCU的P2口。
// KEY0- 右运动一步; KEY1- 左运动一步;
// KEY2- 右运动200步; KEY3- 左运动200步
// KEY4- 右运动1000步;
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit en=P1^0;                  // 定义P1.0口
sbit rst=P1^1;                 // 定义P1.1口
sbit ccw=P1^2;                 // 定义P1.2口
sbit hf=P1^3;                  // 定义P1.3口
sbit clk=P1^4;                 // 定义P1.4口
sbit k1=P1^5;                  // 定义P1.5口
sbit k2=P1^6;                  // 定义P1.6口

void ShortDelay(void)
{ uchar x,y;
  for(x=0;x<5;x++)
     for(y=0;y<125;y++)
       _nop_();
  return;
}

void outclk(uint a)
{  uint i,j;
 while(a--)
    { en=1;                  // 定义P1.0口
      rst=1;                 // 定义P1.1口
      //if((k1&k2)!=0)         // K1,K2限位置判断
       // {
  clk=1;
         for(i=150;i>0;i--)    //200
         for(j=150;j>0;j--);    //200
         clk=0; 
       // }
     // else {rst=1;en=0;} 
    }  
}
uchar  key(void)
{uchar key_num;
   if( ( P2 & 0x3f) != 0x3f )        //判断按键
   {
       ShortDelay();                //消除抖动
       if( ( P2 & 0x3f ) != 0x3f )
    {
         
          switch ( P2 & 0x3f )             //将按键码转换成键值
          { 
             case  0x3e: return  key_num=01; 
             case  0x3d: return  key_num=02;
             case  0x3b: return  key_num=03;
             case  0x37: return  key_num=04;
             case  0x2f: return  key_num=05;
             case  0x1f: return  key_num=06;
             default :   return  key_num=00;
          }
    }
  
   }
   return key_num;
}

void main(void)
{ uchar b;
while(1)
 {
 
   b= key();
   switch(b)
      {                //4步走1CM设定走5Cm 半应该是200的为了调整误差所以少4步 (10CM为多8步)
        case 00:rst=1;break;//0
        case 01:ccw=1; outclk(1);break;//1    右运动1步
        case 02:ccw=0; outclk(1);break;//2    左运动1步
        case 03:ccw=1; outclk(200);break;//3   右运动1CM
        case 04:ccw=0; outclk(200);break;//4   左运动1CM
        case 05:ccw=1; outclk(1000);break;//5   右运动5CM
        //case 06:ccw=0; outclk(1000);break;//6  左运动5CM
        default:break;
   }
 }
}
实物图:
L297+L298步进电机驱动控制板L297+L298 Stepper motor driver

上一篇: 没有了 下一篇:自制的89C2051单片机学习板

◆相关文章◆
◆ 编辑推荐 ◆
用户:
更多评论
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。60个字以内
留言:
验证码:

免责声明:
●本站所有内容均来自网络,以学习为目的,如果侵犯了您的利益,请来信告知,立即删除,站长邮件为"diy+dzdiy.com",请将"+"变更为"@"
●电子制作存在风险,请注意人身安全,如果您在根据本站电路进行制作过程中发生伤害,本站不负任何责任。

版权所有:www.dzdiy.com ? 2001-2019 本站信息产业部备案: 粤ICP备05114582号