两相步进电机的使用

两相步进电机的使用,第1张

两相步进电机的使用:

1、步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为18度、三相为15度、五相的为072度。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足步距角的要求。如果使用细分驱动器,则相数将变得没有意义,用户只需在驱动器上改变细分数,就可以改变步距角。

2、两相步进电机在定子上只有两个绕组,有四根出线,整步为18°,半步为09°。在驱动器中只要对两相绕组电流通断和电流方向进行控制就可以了。

3、步进电机并不能象普通的直流电机、交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。

4、步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

5、步进电机应用于低速场合,每分钟转速不超过1000转,(09度时6666PPS),最好在1000-3000PPS(09度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。 最好不使用整步状态,整步状态时振动大。

给使能EN,给方向DIR,,然后步一个脉冲,EN一般是+,DIR随便,哪个方向自己试,用导线点都能试出来,多动手

接线端子定义说明

信号输入端

⑴CP+:脉冲信号输入正端。

⑵CP-:脉冲信号输入负端。

⑶U/D+:电机正、反转控制正端。

⑷U/D-:电机正、反转控制负端。

⑸EN+:电机脱机控制正端。

⑹EN-:电机脱机控制负端。

电机绕组连接:

⑴A+:连接电机绕组A+相。

⑵A-:连接电机绕组A-相。

⑶B+:连接电机绕组B+相。

⑷B-:连接电机绕组B-相。

工作电压的连接:

⑴VCC:连接直流电源正(注意:10V <VCC <32V)。

⑵GND:连接直流电源负。

详细见产品展示说明图

信号输入端光耦隔离接法

输入信号接口有两种接法:用户可根据需要采用共阳极接法或共阴极接法。

1、共阳极接法:分别将CP+,U/D+,EN+连接到控制系统的电源上,如果此电源是+5V 则可直接接入,如果此电源大于+5V,则须外部另加限流电阻R,保证给驱动器内部光藕提供8—15mA 的驱动电流。脉冲输入信号通过CP-接入;此时,U/D-,EN-在低电平有效。

2、共阴极接法:分别9将CP-,U/D-,EN-连接到控制系统的地端(SGND,与电源地隔离);+5V 的脉冲输入信号通过CP+加入;此时,U/D+,EN+在高电平有效。限流电阻R的接法取值与共阳极接法相同。

注:EN端可不接,EN有效时电机转子处于自由状态(脱机状态),这时可以手动转动电机转轴,做适合您的调节。手动调节完成后,再将EN设为无效状态,以继续自动控制。

这个还是最好自己编,步进电机的转速和电平周期有关,也可以说是频率,周期越短,转速越高。转向的话,和各端口的高低电平配置有关。我弄步进电机和舵机都是自己编的程序,你把电机的控制方法弄懂了,基本上就能编出程序,这个东西最好自己编,自己编的,才是最适合自己的。这个芯片应该也很好控制,我没用过,控制电机的芯片基本不用什么复杂配置

/89C51控制步进电机c程序

使用89C51控制四相六线步进电机,

步进电机采用四相六线,步距角18度,半步工作09度八拍运行。

接口如下:

P15---启动信号输入

P14---停止信号输入

P13---接光电传感器

P20---输出控制步进电机的A相

P21---输出控制步进电机的B相

P22---输出控制步进电机的C相

P23---输出控制步进电机的D相

如下是我给步进电机八拍运行正向通电顺序:

P23(D相)、P22(C相)、P21(B相)、P20(A相)

第一步: 0 0 0 1

第二步: 0 0 1 1

第三步: 0 0 1 0

第四步: 0 1 1 0

第五步: 0 1 0 0

第六步: 1 1 0 0

第七步: 1 0 0 0

第八步: 1 0 0 1

使用光电传感器的输出作为脉冲信号,光电接收管的后面加一个三极管做信号放大。

光电传感器前有个齿盘,齿空的间隔距离是相等的,要求齿盘每移动一格,

光电传感器输出一个脉冲,步进电机移动一个角度09度。齿盘转动的速度不固定,

可能快也可能慢。步进电机没有转动之前,齿盘一直是转动的,

只有按下启动按钮步进电机才开始转动。

#include<reg52h>

#define uint unsigned int

#define uchar unsigned char

sbit START = P1^5;

sbit STOP = P1^4;

sbit COM = P1^3;

//电机接在低4位,接在其他位可修改数组。

uchar code lab[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

void Mdelay(uchar x)

{uchar j,k;

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

{

for(k=124;k>0;k--)

{;}

}

}

//步进程序,调用一次程序,移动一步,

//参数:方向,1为正转,0为反转。

void motormove(uchar dir)

{

static step=0;

P2&=0xf0;

if(dir)

{

if(step<=7)

{ P2|=lab[step++];}

else

{step=0;P2|=lab[step];}

}

else

{

if(step==0)

{P2|=lab[step];step=7;}

if(step>0)

{P2|=lab[step--];}

}

}

void main()

{

bit RUN=0;

while(1)

{

if(RUN==0)

{

if(!START) //读启动

{Mdelay(1);

if(!START)

{RUN=1;}

}

}

else

{

if(!COM) //读传感器,低电平移动步进电机

{motormove(1);}

if(!STOP) //读停止

{

Mdelay(1);

if(!STOP)

{RUN=0;}

}

}

}

}

#include<reg51h>

sfr StepMotor=P0;

sbit keyup=P1^0;

sbit keydn=P1^1;

unsigned char Steprun[8]={0x01,0x05,0x04,0x06,0x02,0,0x08,0x09};

//控制方式 A AB B B/A /A /A/B /B /BA

unsigned char num;

void t0_isr() interrupt 1

{

TH0=(65536-speed)/256;

TL0=(65536-speed)%256;

StepMotor=Steprun[num];

num++;

num%=8;

}

void delay(unsigned char x)

{

unsigned char i,j;

for(i=0;i<x;i++)

for(j=0;j<125;j++);

}

main()

{

num=0;

speed=55536;

TH0=(65536-speed)/256;

TL0=(65536-speed)%256;

while(1)

{

if(keyup==0)

{

delay(10);

if(keyup==0)speed-=1000;

}

if(keydn==0)

{

delay(10);

if(keydn==0)speed+=1000;

}

}

}

中心抽头接地的话电机就是四相的,如果不接(就是悬空)就是两相的电机。

二相电机工作方式有二相四拍和二相八拍等2种,具体分配如下:二相四拍为AB—Ab—ab—aB—AB,步距角为18度 ,其中A和a代表A相绕组正端和负端功率桥信号,其中B和b代表B相绕组正端和负端功率桥信号;二相八拍为AB—B—aB—a—ab—b—Ab—A—AB,步距角为09 度。

至于四相有四拍和八拍两种方式,具体相序可以搜到。

以上就是关于两相步进电机的使用全部的内容,包括:两相步进电机的使用、怎样用单片机给两相步进电机驱动器发脉冲,该怎么与步进电机接,有没有程序、求单片机通过控制驱动芯片THB6128来控制两相步进电机转速和转向的程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10053034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存