tag 标签: uln2803

相关博文
  • 热度 22
    2013-7-21 15:21
    6917 次阅读|
    2 个评论
    这段时间是在用STM32来控制台达的伺服驱动器,用到了ULN2803。因为是公司项目,图纸和代码都不方便跟大家分享,但 用把体会和想法记录下来。   其实电路的结构非常简单。是用STM32的GPIO输出使能、方向两个控制信号,再通过定时器产生脉冲,进而控制伺服驱动 器。STM32的GPIO通过5V输出的光耦完成3.3V到5V的转换,光耦的输出接到ULN2803的输入上。   在调试中还是遇到很多问题。最开始的时候,是ULN2803空载,即什么都不接,给它高电平,它输出低电平,正常;给它 低电平时,它输出19V左右的电平。而我的电路中,ULN2803的COM接的是24V,我开始还以为是2803坏了,又换了一片,但 还是老样子。后来仔细阅读了datasheet,发现自己忽略了不少地方。   ULN2803,TI的定义是大电流、高电压的达林顿晶体管阵列。下图是从datasheet里抓出来的逻辑电路。 可能是自己的悟性不够吧,有些被这个图误导了,以为2803就是完成这么个“非”的逻辑功能。再看这个图,是每一路达 林顿管的电路。 还是自己的理解有问题。以为COM就是接在集电极的电源,因为我把COM接了24V. 其实COM和集电极之间是一个二极管,而 且是反接的。用最朴素的想法——二极管正向导通,反向截止——来思考,二极管这样接就是断路的。所以COM接24V并不 是给OC输出接了个上拉的电平。那这个COM是干嘛的呢?其实是给感性负载用的。看datasheet中的test circuit:   所以这下自己明白了,输入高电平,输出低电平,是正常逻辑;输入低电平,输出19V,其实也是正常逻辑,这其实是高 阻态吧。 那接下来控制伺服怎么办呢?   我又仔细研究了台达的伺服说明书。这是里面的控制电路。它可以接NPN的,也可以是PNP的,2803是NPN的达林顿管,这 里就选了这个图。 我把上面的两图整合到一个里面,就一目了然了。   参考文献: 1.uln2803的datasheet 见附件 2.台达伺服说明书 http://www.delta.com.tw/ch/product/em/motion/motion_servo/download/manual/Delta_ASDA-A2_M_SC_20120912.pdf
  • 热度 20
    2012-5-6 22:59
    7774 次阅读|
    3 个评论
            ULN2803是8路NPN达林顿连接晶体管系列,特别适用于低逻辑电平数字电路,如:TTL,COMS或PMOS/NMOS,和较高的电压/电流要求之间的接口,广泛应用与计算机、打印机、继电器、灯等类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容。        28BYJ48是一款五线四相八拍步进电机,可以采用4-1-2相驱动。电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信 号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。 四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC- CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)         具体驱动方式如下表,红色为电源引脚,始终接电源       橙   黄  粉 蓝 十六制   1  0  0  0  0x08  1  1  0  0  0x0c  0  1  0  0  0x04  0  1  1  0  0x06  0  0  1  0  0x02  0  0  1  1  0x03  0  0  0  1  0x01  1  0  0  1  0x09        电机和驱动板连接示意图:   AVR范例程序如下: 芯片使用ATMega16,晶振使用12M #include    unsigned char key=0; //按键控制步进电机的方向 unsigned char speed=5; //步进电机的转速 //八拍方式驱动,顺序为A AB B BC C CD D DA unsigned char clockWise ;     PORTD = clockWise ;     delay(speed);             }    else      //按键按下,反转    {     PORTA = clockWise ;     PORTD = clockWise ;     delay(speed);    }   }  } }                           AVR和51的完整源代码可以在附件中下载。 如有需要的可以点 这里 : http://item.taobao.com/item.htm?id=12767638056
相关资源