如图所以 该图表示的是用ULN2003驱动直流电机。
我用万用表测量了几个点的电压值(与接GND的电压差)。已经用红笔圈起来了。
另我不解的是不是说UNL2003能放大电压吗,但是我测量到的是51单片机I/0出来的5V电压经过ULN2003以后反而变小(0.02V)了。这该怎么解释啊。这里VCC都是稳定的5V。
ULN2003内部是达林顿管,如果前端驱动能力不够(比如单片机的IO驱动能力不强),那么我们采用ULN2003来作为中间的驱动级,相当于ULN2003的供电电源提供了驱动能力!ULN2003内部是集电极开漏输出,如图所示,我们一般在输出口接一个上拉电阻(不接也可以),这样当输入为高电平时,达林顿管道通,那么集电极(箭头所指位置)电压就是饱和电压。接近于0.。如果不接上拉电阻,那么ULN2003无法输出高电平,只能是输出高阻态!
楼主理解部分有误啦,ULN2003是达林顿驱动管,是增大IO电流用的,ULN2003单个IO的电流最大输出可达350mA,通常会并联使用的。
它可以用于*电路,比如12V,24V,输入5V的电平信号,如果电源接入12V 24V,它输出的IO电平就是12V 24V,这可能是你说的放大电压吧。
如果你输入5V,接5V电压,IO也是5V,不会提升电平电压的
“51单片机I/0出来的5V电压经过ULN2003以后反而变小(0.02V)” ULN2003本来就是反向输出的,也就是说你输入端IN输入的是高电平1,输出OUT就是低电平0,反之你输入低电平0输出就是高电平1;另外至于你说的ULN2003放大电压是错的,他的作用等效与增大驱动电流,因为单片机的IO口驱动能力一般只是几十毫安的电流,而2003可以驱动几百毫安的电流;但是设计的时候对硬件电路不要出错,可以参考本屌的电路原理图(ULN2003原理跟ULN2008类似,只是供电电压有区别,其他没太大区别)://www.icxbk.com/group-topic-id-33485.html
谢谢你的帮助,我还是有不明白的地方,1、我用万用表测量ULN2003output端出来的电流,发现它是0.01mA,并没有被放大,这该怎么解释呢?
2、既然OUTPUT输出低电平0,那么如何驱动额定电压为12V的步进电机呢,这又该怎么理解?
求教!!
@1、电流并不是被放大了,输出的电流是你所带的步进电机运行时的实际电流,与你驱动他的芯片无关,不管你用什么芯片驱动,电机稳定工作时只有那么大的电流,另外电流的大小跟你电机转速有关,转速越大,电流也越大(一般接线的时候步进电机A+、A-、B+、B-与ULN2003之间还会加限流电阻的);说他的驱动能力比单片机的IO口强是说他带的负载电流可以达到几百毫安,也就是说你的电流达到几百毫安这个芯片都不会烧,要是换成单片机IO早就烧了!
@2、驱动12V的步进电机的话你可以仔细看下ULN2003的参数
他最大可以驱动15V、350mA的负载!当然最好不要接近极限值了!