论坛风格切换切换到宽版
  • 5441阅读
  • 10回复

求教:uln2003和uln2003a有什么差别? [复制链接]

上一主题 下一主题
离线d76man
 
发帖
859
只看楼主 倒序阅读 0楼 发表于: 2006-03-02
同题目.............
想做个2051带步进电机的小试验,手头只有后者,不知道能否代用.........
性能和接脚顺序有何差异?
离线BG1OMS
发帖
33
只看该作者 1楼 发表于: 2006-03-02
应该是一样用的吧,可能是什么地方加了点东西就成a了,网上搜搜手册吧
离线BG7JUN
发帖
889
只看该作者 2楼 发表于: 2006-03-02
可能电压、电流不同吧。应该一样用,不就是几个三极管吗。
离线d76man
发帖
859
只看该作者 3楼 发表于: 2006-03-02
手里只有1块2003a........打算用来拖动步进电机........
看接口是7线出,估计只能用来带动1个5线电机了.....
离线BG5FAC
发帖
1409
只看该作者 4楼 发表于: 2006-03-06
'
同题目.............
想做个2051带步进电机的小试验,手头只有后者,不知道能否代用.........
性能和接脚顺序有何差异? [表情]
'

应该一样啊,带a的只是不带的改进型,性能比不带的好点!
离线d76man
发帖
859
只看该作者 5楼 发表于: 2006-03-06
谢谢!
已经了解到了,感谢指点
离线stan
发帖
69
只看该作者 6楼 发表于: 2006-03-07
只有500ma的电流输出,带的电机电流不能太大。。。
离线d76man
发帖
859
只看该作者 7楼 发表于: 2006-03-07
今天下午我那个小板子搭接完毕,烧录了一片2051,上电后电机仅仅是前后颤动。。。。没有直接启动运行。
正在查找原因。。。。。。做过这个实验的朋友也指点一下好吗?
程序如下:

/*
* stepper.c
* sweeping stepper's rotor cw and cww 400 steps
* copyright (c) 1999 by w.sirichote
*/

#include c:\mc51\8051io.h /* include i/o header file */
#include c:\mc51\8051reg.h

register unsigned char j,flag1,temp;
register unsigned int cw_n,ccw_n;

unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}
#define n 400

/* flag1 mask byte
  0x01 run cw()
  0x02 run ccw()
*/

main()

{
flag1=0;
serinit(9600);
disable(); /* no need timer interrupt */
cw_n = n;   /* initial step number for cw */
flag1 |=0x01; /* initial enable cw() */

while(1){
{
  tick_wait(); /* wait for 10ms elapsed */

  energize();   /* round-robin execution the following tasks every 10ms */
  cw();
  ccw();
}
    }

}

cw(){
    if((flag1&0x01)!=0)
    {
    cw_n--;     /* decrement cw step number */
    if (cw_n !=0)
      j++;       /* if not zero increment index j */
      else
      {flag1&=~0x01; /* disable cw() execution */
      ccw_n = n;   /* reload step number to ccw counter */
      flag1 |=0x02; /* enable cww() execution */
      }
    }
     
}

ccw(){
    if((flag1&0x02)!=0)
    {
    ccw_n--;     /* decremnet ccw step number */
    if (ccw_n !=0)
      j--;       /* if not zero decrement index j */
      else
      {flag1&=~0x02; /* disable ccw() executon */
      cw_n = n;   /* reload step number to cw counter */
      flag1 |=0x01; /* enable cw() execution */
      }
    }
     
}

tick_wait(){   /* cputick was replaced by simpler asm code 10ms wait */

  asm" jnb tcon.5,*";   /* wait for tf0 set */
  asm" clr tcon.5";   /* clear tf0 for further set */
  asm" orl th0,#$dc";   /* reload th0 with $dc, tl0 = 0 */
}

energize(){

  p1 = step[(j&0x07)]; /* only step 0-7 needed */
}
离线d76man
发帖
859
只看该作者 8楼 发表于: 2006-03-08
我的小试验板
这**********终于能上传图片了。。。。让各位看看啊
离线d76man
发帖
859
只看该作者 9楼 发表于: 2006-03-09
又找到一个程序,先暂存在这里
用得到的朋友也来试验一下哦
可惜是89c51的。。。。。
有相关的中文注解,做调试实验能用到啊!
附件: 51步进电机.txt (0 K) 下载次数:231
离线bd2ld
发帖
319
只看该作者 10楼 发表于: 2006-03-10
步进电机相序不对