ULN2003输出 控制12V步进电机

ULN2003 接+12V 5V输入,2.8V输出。 步进电机2相6线57BYG007-01,电源+12V ,但,测量+12和步进电机其他线电压却是 2.8V左右??????
请告诉我 哪里错了。2003换了还是一样。因此可以转动,无力.程序

#include<reg52.h> //k可以用
unsigned int a ;
sbit p2=P2^0;
sbit p3=P2^1;
sbit p4=P2^2;
sbit p5=P2^3;

void main()
{

a=1000; //// 5OOO---12秒、转
p2=0;
p3=0; ////3000---7秒/转
p4=0;
p5=0; //// 2000--5秒/转
while(a--); //1000--2-3秒/转
a=1000;
p2=1; ///小 频率高
p3=0;
p4=0;
p5=0;
while(a--);

a=1000;
p2=0;
p3=1;
p4=0;
p5=0;
while(a--);
a=1000;
p2=0;
p3=0;
p4=1;
p5=0;
while(a--);
a=1000;
p2=0;
p3=0;
p4=0;
p5=1;
while(a--);
}

2-3秒/转!!!!!
请高手 编程C语言 加个 光电开关控制转动。 谢谢!!!

明显缺少循环,试试下列程序:
void main()
{
while(1) {
p2=1;
p3=0;
p4=0;
p5=0;
a=1000;
while(a--);
p2=0;
p3=1;
p4=0;
p5=0;
a=1000;
while(a--);
p2=0;
p3=0;
p4=1;
p5=0;
a=1000;
while(a--);
p2=0;
p3=0;
p4=0;
p5=1;
a=1000;
while(a--);
}
}
---------------
由百度Hi得知,电机已经正常转动了。
另外要求正反转的控制,程序如下:
#include<reg52.h> //k可以用
unsigned int a ;
sbit p2=P2^0;
sbit p3=P2^1;
sbit p4=P2^2;
sbit p5=P2^3;

sbit Key = P1^0;

Zheng()
{
p2=1;
p3=0;
p4=0;
p5=0;
a=1000;
while(a--);
p2=0;
p3=1;
p4=0;
p5=0;
a=1000;
while(a--);
p2=0;
p3=0;
p4=1;
p5=0;
a=1000;
while(a--);
p2=0;
p3=0;
p4=0;
p5=1;
a=1000;
while(a--);
}

Fan()
{
p2=0;
p3=0;
p4=0;
p5=1;
a=1000;
while(a--);
p2=0;
p3=0;
p4=1;
p5=0;
a=1000;
while(a--);
p2=0;
p3=1;
p4=0;
p5=0;
a=1000;
while(a--);
p2=1;
p3=0;
p4=0;
p5=0;
a=1000;
while(a--);
}

void main()
{
while(1) {
if(Key == 0) Zheng();
else Fan();
}
}
----------
实测:a等于1000时,延时有13ms多,不知楼上的1ms是怎样推算出来的?
另外,楼上说:“但单片机到uln2003之间最好加上上拉电阻。”
这是不行的,要加,也应该是加上“下”拉电阻,以保证uln2003输出高电平,否则四个线圈都可能有电,很可能会把电机烧了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-06
你的图接法没有问题,但单片机到uln2003之间最好加上上拉电阻。
估计是程序的问题,步进电机每步之间延时时间控制在5ms,电机运行比较好。
你的a才等于1000,推算下延时大概在1ms左右,这样电机很难转起来的

12V步进电机用ULN2003驱动时,12V的电压怎么解决啊?
如图,步进电机的话,步进电机的控制角接2003的10~16脚上,电源角接12v.12v,可以用个升压电路来实现,百度~~~34063应用电路~~~,就可以找到的.

芯片ULN2003各个引脚怎么与单片机和步进电机相连接,它应该用多大的电源...
ULN2003是反向的芯片,管脚1-7作为输入,接单片机引脚,8脚接地,16-10作为输出,9脚接12V电源,基本工作原理:如果1脚输入高电平1,则16脚输出低电平0,反之一样!

ULN2003步进电机接线图及程序
ULN2003步进电机驱动板使用说明一、主要技术参数1、工作电压DC4-12V2、工作电流≤500mA3、适用于2相5线步进电机4、带工作指示灯,方便客户观察工作状态。同时也可以用于板子自测,5-12V处通上电源后,将电源的正极分别去接IN1-IN4对应的指示灯会亮,表明板子是好的。5、ULN2003最高工作电压可以达到DC3...

ULN2003---达林顿管驱动介绍
在实际应用中,ULN2003能够轻松驱动那些单片机等微控制器无法直接控制的高功率负载。例如,5v单片机可以利用ULN2003控制12v\/24v继电器,或者通过ULN2003将避障传感器的微弱输出信号转换为驱动小马达的强信号。ULN2003的使用原理相对简单。它拥有7个输入端(标有IN)和7个输出端(标有OUT),以及一个共地端(GND...

uln2003驱动步进电机有啥优点?
(2)误差不长期积累。步进电机每走一步所转过的角度与理论步距之间总有一定的误差,从某一步到任何一步,也总有一定的累积误差,但是,每转一圈的累积误差为零,所以步距的累积误差不是长期的累积下去。(3)控制性能好,启动、停车、翻转都是在少数脉冲内完成,在一定的频率范围内运行时,任何运动...

ULN2003使用简单介绍
ULN2003芯片,这款元件在步进电机驱动中曾引起我的兴趣,但在查找相关资料时,发现很多讲解让人一头雾水。简单来说,ULN2003的作用其实相当直接:它是一种能够将输入的高电平转换为输出低电平的逻辑开关。该芯片的结构清晰明了,输入端1B至5B为输入引脚,右侧1C至4C为输出端口,COM则连接电源VCC(尽管...

12V的28byj48步进电机使用uln2003还是uln2004驱动好?
ULN2003和ULN2004的区别不大,输出能力两者完全一样。输入电路略有区别,ULN2003的输入电阻稍小一些,但都可以用在电机驱动电路中。通常ULN2003用的更广泛一些,所以如无特殊要求,最好还是用2003。

请问用MSP430单片机+ULN2003控制12V电磁铁的通断。用不用继电器?不用的...
3.3v的高电平是可以维持Uln2003的导通的,可以直接接上输入脚,不用上拉电阻。ULN2003的9脚必须要接电源端,因为这是防止关断感性负载是产生的自感电动势击穿集电极的。ULN2003的等效图如下

如何使用PWM波控制步进电机,步进电机是使用ULN2003驱动的。
ULN2003不需要用PWM控制转速。如果你是依次拉高每条线,你需要做的是加快定时器,缩短每条线高电平的时间。这样就能加快转速了。缩短时间可以减慢转速。PWM是针对那些有驱动芯片或者驱动器的控制。

如何利用daq dio驱动步进电机
直接从DAQ数据采集卡DIO口输出的电压和电流无法驱动步进电机,可以使用ULN2003来驱动步进电机连接。DAQ数据采集卡的四路DIO口分别接到ULN2003(1-4管脚),与之对应的(16-13管脚)接步进电机,注意:不同型号步进电机引线颜色可能不一样,步进电机的两条电源线和ULN2003管脚9一起连到12VDC电源,剩余四条...

相似回答