l298驱动步进电机.docx

上传人:b****5 文档编号:6488016 上传时间:2023-01-07 格式:DOCX 页数:7 大小:23.62KB
下载 相关 举报
l298驱动步进电机.docx_第1页
第1页 / 共7页
l298驱动步进电机.docx_第2页
第2页 / 共7页
l298驱动步进电机.docx_第3页
第3页 / 共7页
l298驱动步进电机.docx_第4页
第4页 / 共7页
l298驱动步进电机.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

l298驱动步进电机.docx

《l298驱动步进电机.docx》由会员分享,可在线阅读,更多相关《l298驱动步进电机.docx(7页珍藏版)》请在冰豆网上搜索。

l298驱动步进电机.docx

l298驱动步进电机

电路如下图,我的两个步进转度不一样,所以想通过程序来修改使之转速相同,这是我自己写的程序,但只能是两个步进的速度一块儿改变,如何分别控制两个的速度呢?

一下是我的程序,谢谢(改变最后一个语句中的延时时间就可以控制信号频率,从而控制速度,但如何分别改变,又能使信号连续输出呢)叙述的也不是很明确,希望做过的同志能理解,帮忙解答一下,谢谢了

#include

sbitmotor1_DIR=P1^2;

sbitmotor1_CLK=P1^1;

sbitmotor1_full=P1^0;

sbitmotor2_DIR=P0^2;

sbitmotor2_CLK=P0^1;

sbitmotor2_full=P0^0;

voiddelay_ms(unsignedintx)//延时毫秒级

{

unsignedinta=0,b=0,c=0;

for(a=x;a>0;a--)

for(b=5;b>0;b--)

for(c=128;c>0;c--);

}

voidmain()

{

delay_ms(50);

motor1_DIR=1;

motor1_full=0;

motor2_DIR=0;

motor2_full=1;

while

(1)

{

motor1_CLK=~motor1_CLK;

motor2_CLK=~motor2_CLK;

delay_ms

(2);

}

}

转]两相步进电机接线方法和的电流设定问题

2011-02-2310:

29:

05|分类:

小制作|标签:

步进电机电机电流驱动器线圈|字号大中小订阅

有好多网友在使用两相步进电机时发现步进电机的转矩小,或达不到额定标称的转矩值,只好加大步进电机的尺寸和标称电流,以满足动力要求。

其实有的时候并不是电机的问题,而是在步进电机选择或驱动器工作电流的设定上有不妥之处,没有发挥出步进电机的最大效率。

&k"F+G*m7E(^

首先,从驱动器方面考虑,目前大多数两相步进电机的驱动器是采用全桥输出的四线接法,如果两相步进电机也是四线的,驱动器按照电机的标称电流设定,应该说是正确的,而且效率最高,输出转矩能够达到最大值。

目前,新生产的步进电机大多是这种形式的。

而目前网友大多是买的二手早期生产的步进电机,多是两相六线制的(四组两对串联线圈,每对有中心抽头),还有少量八线制的(四组两对独立线圈)。

两相六线制步进电机有两种接法,第一种是舍弃中心抽头接两端,实际就是将每组的两个相线圈串联起来使用,电机堵转矩大和效率高些,但是高速性能差。

第二种是接中心抽头和一端,这种接法电机高速性能好些,但是每相有一组线圈空闲,堵转矩小和效率低些。

目前网友大多是采用第一种接线方法。

这就出现一个问题,两相驱动器的电流到底应该设置多大正确,一般还都是按电机标称电流值来设定,这就出现了前面提到的电机效率问题。

一般步进电机标注的电流是相电流(或电阻),就是每组线圈的电流值(或电阻),如果两相六线制步进电机采用第一种接法,相当于将两组线圈串联起来,那么其每相电阻加大,额定工作电流减小,即使驱动器设置成标称电流也达不到各相的额定输出值。

所以在选用驱动器和步进电机时出现电流匹配问题。

正确的方法是应将驱动器的输出电流设定为步进电机额定相电流的0.7倍(也不是通常认为串联起来的电流减半)。

举例,比如一个带中心抽头的两相步进电机,标称电流是3A,驱动器电流应该设定为3*0.7=2.1A。

所以就出现你尽管选了3A的步进电机,实际上它的功率相当于两相四线制的2.1A步进电机。

5D2F5C7h5X1Z

再谈谈八线制的步进电机接法,也有两种,第一种是将每两组线圈串联使用,这样驱动器的电流也是设定为电机相电流的0.7倍,这种接法电机发热量小,但是高转速性能差些。

第二种接法是将每两组线圈并联使用,驱动器的电流设定为电机相电流的1.4倍,其优点是高转速性能好些,但是电机发热量大,但是步进电机有点温度是正常的,只要低于电机的消磁温度就行,一般步进电机的消磁温度在105度左右。

所以在你有了输出电流不可调的步进电机驱动器(指两相全桥输出驱动器,如网友常用的TA8435,TB6560、A3977等驱动芯片)后,如何选用步进电机很重要,如果你的驱动器是2A的,尽量选用两相四线制2A的电机(如二手的日本东方电机大多是这种)如果你选用两相六线制电机,就要选标称相电流为2/0.7=2.9A(大约)的电机。

这样才能更好地发挥驱动器的作用。

不过你要是选用的驱动器是半桥输出(如SLA7062M、SLA7026等驱动芯片),那只能接两相六线制电机,驱动器的电流和电机标称电流是一致的。

不过这种驱动器目前很少,效率低。

#yB,w/N/uB)K*q对于六线和八线步进电机相线圈采用并联工作,可以发挥出最大的输出转矩和表现出很好的动力性能,六线电机是无法接成并联形式的,实际已经在内部串联起来了,串联的公共端是中心抽头。

只有八线电机的相线圈是可以并联使用的。

5iMX.com我爱模型玩家论坛0K+g:

D(I;`-n

如果能将电机后盖打开,看一下里边的接线结构,是可以进行改动的,使六线电机变成八线电机,这样就可以并联使用了,但不是所有的六线电机都能改制,只有从电机后面看到的连线接头形式的可以改动,而有的电机是焊盘接头,改制就需要高超的技术了。

我已经改制了几个步进电机,即串联也可以并联使用,并联使用时相电流是原来的1.4倍,高速运转性能大大提高,转矩也提高不少。

我在另外一个帖子有详细的改制方法介绍,可见5iMX.com我爱模型玩家论坛0J/n/I'n9@,L&m#]!

O"yo

"d3`2?

(g%L8D0I!

@

对于电控部分步进电机和驱动器的电路设计使用,有的网友不是很注意发挥其最佳效果,一味追求高价位和大电流,追求高速度。

其实里边有很大的潜力能开发和利用,一个是你要认真计算一下机器载荷,到底需要多大的转矩和速度,尽管你的驱动器和电机选的都很大,但是其效果没有发挥出来,另外,你的速度也不要追求过高,想想实际加工过程中,你DIY机器的的进刀量又能有多大(要取决于机械结构、刀具及加工材料材质),速度高了也用不上,就像DIY雕刻机的机架一样,其机架的刚度并不是靠加大材料的重量和厚度来提高的,而是靠结构,一些网友做的小小的雕刻机竟有几百公斤重,都是用20mm甚至更厚的钢板做成,其实是一种很大的浪费,使用搬动也不方便,如果采用型材或者加工成筋骨结构,在保证刚度不变的情况下,重量可以减轻一大半。

电机和驱动器也是同样,做好匹配可以达到事半功倍的效果,省钱省力。

四线二相步进电机L298驱动程序

2011-02-2516:

19:

51|分类:

步进电机|标签:

|字号大中小订阅

这个程序是想帮助更多的初学者掌握步进电机的使用,步进电机是一种控制精确的电机,在个个场合中都有广泛的应用,他的控制非常简单,只要掌握脉冲时序就可以很好的控制。

可以控制它转一定的角度,可以当舵机使用,但它的成本很高,不太核算。

下面的程序是步进电机全步运行和1/2步运行。

#include

#defineuintunsignedint

#defineucharunsignedchar

sbita0=P1^0;

sbita1=P1^1;

sbiten0=P1^2;//使能1

sbitb0=P1^3;

sbitb1=P1^4;

sbiten1=P1^5;//使能2

voidzheng(uchark,ucharj);

voidyanshi(uintz);

voidxifen(uchark1,ucharj1);

ucharb,num,n,num1,n1,h;

voidmain()

{

en0=1;

en1=1;

while

(1)

{

xifen(10,100);//1/2步细分延时10mS100个脉冲如果步距角是1.8度,则转动90度

yanshi(4000);

zheng(15,50);//全步走延时15mS50个脉冲如果步距角是1.8度,则转动90度

yanshi(4000);

}

}

voidzheng(uchark,ucharj)//全步走,k是延时时间,j是脉冲数

{

b=j/4;

b=b+1;

num=0;

for(b;b>0;b--)

{

if(num

{

a0=0;

a1=1;

b0=1;

b1=0;

yanshi(k);

num++;

n=1;

}

if(num

{

a0=0;

a1=1;

b0=0;

b1=1;

yanshi(k);

num++;

n=2;

}

if(num

{

a0=1;

a1=0;

b0=0;

b1=1;

yanshi(k);

num++;

n=3;

}

if(num

{

a0=1;

a1=0;

b0=1;

b1=0;

yanshi(k);

num++;

n=0;

}

}

}

voidxifen(uchark1,ucharj1)//1/2步k1是延时时间j1半步脉冲数

{

h=j1/8;

h=h+1;

num1=0;

for(h;h>0;h--)

{

if(num1

{

a0=0;

a1=1;

b0=1;

b1=0;

yanshi(k1);

num1++;

n1=1;

}

if(num1

{

a0=0;

a1=1;

b0=0;

b1=0;

yanshi(k1);

num1++;

n1=2;

}

if(num1

{

a0=0;

a1=1;

b0=0;

b1=1;

yanshi(k1);

num1++;

n1=3;

}

if(num1

{

a0=0;

a1=0;

b0=0;

b1=1;

yanshi(k1);

num1++;

n1=4;

}

if(num1

{

a0=1;

a1=0;

b0=0;

b1=1;

yanshi(k1);

num1++;

n1=5;

}

if(num1

{

a0=1;

a1=0;

b0=0;

b1=0;

yanshi(k1);

num1++;

n1=6;

}

if(num1

{

a0=1;

a1=0;

b0=1;

b1=0;

yanshi(k1);

num1++;

n1=7;

}

if(num1

{

a0=0;

a1=0;

b0=1;

b1=0;

yanshi(k1);

num1++;

n1=0;

}

}

}

voidyanshi(uintz)//延时函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=114;y>0;y--);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1