单片机、uln2003驱动步进电机不能持久的问题。

2024-12-26 09:45:14
推荐回答(5个)
回答1:

2003是低驱动,内部是达林顿阵列,所以驱动电流小了点,输出的高电平为虚高,不能带动稍大一点的电机的。
另外,你的程序是不完整的,存在故障:你应该在主函数for循环后加一句“if(k>=50)k=0;”,也就是说你的程序循环50次后就停止了,你把K写0后才能继续。 你试一下程序,估计大部分原因在程序,我可以保证。

回答2:

看看程序再说。
-------------
从电路来看,ULN2003输出低电平时,电机线圈得电。
ULN2003又是反相的,那么就是单片机输出高电平,电机线圈得电。

从你的程序来看,有些很多时候,同时输出了_三_个_高电平。
同时使三组线圈得电,这不合理吧?
我估计,你是把输出的1、0搞反了。

另外,每步的时间间隔,有些短,电机可能跟不上。

回答3:

你的程序有问题,看看你写的脉冲输出程序有问题吗

回答4:

uLN2003驱动能力小

回答5:

你的原理图,我看看,本人小车上有点经验,290643832