郁闷了,刚把步进电机的原理搞明白,现在用驱动芯片驱动又出问题...

这样的,我使AT89S52的P1.0->P1.3口接上uln2003,uln2003集电极输出端接步进电机(103H546-0440,3.15V可以驱动)+200欧姆左右的电阻(尝试接470欧姆的都可以震动一下,200欧姆更没问题),再接上5V电源。结果电机不动(更别说转了)。这时测得uln003输出端电平一直是3~5V,即为高电平,本应为高电平的P1.0~P1.3口不知道被什么东西拉低了,大概在1.7V左右....这时为什么呢?郁闷中,唯有请教一下大家了...
回复1楼:P1有内部上拉,该步进电机的相序是按照它的datasheet里面写的。不过现在不是相序的问题,而是P1端口为什么无端端被拉低了?是uln2003内部结构的缘故吗?

好久不用51了,P1有没有内部上拉?你再看看。步进电机的相序你找对了没有,这个是关键呀。一般是四相的或者两相的。可以通过测电阻的方法得到。你说的那个uln2003没用过,一般你要是io口够用的话,就直接用lm298或者三极管都可以驱动你这个小电机。

找对相序后,按照你明白的原理,按顺序通电,这样才能转,相序不对的话会出现很多问题,即使转了业不一定说明相序的对的。把频率放到很低的一个水平,看电机单步运行是否正确。 

/////////////////////

ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

被拉低了可能还是上拉电阻的问题,你换换2k或者4.7k的看看。再不然你检查下电路连接。

温馨提示:答案为网友推荐,仅供参考
相似回答