stc89c52单片机怎么联接驱动器控制步进电机图

stc89c52单片机怎么联接驱动器控制步进电机图,第1张

STC89C52RC通过TB6600步进驱动板控制步进电机的接线方法

PUL+,DIR+和ENA+连一起接到单片机VCC口,PUL-,DIR-和ENA-接到P10,P11和P12口,电源和步进电机接线同上;

PUL是脉冲,DIR是方向,ENA是使能,每个标签带 + 符号的是隔离端光耦的正极,带 - 符号的是负极。把这三个标签 带 - 号的都和单片机的地线连接,带 + 号的和单片机端口连接。

简单测试程序如下:

#include <reg52.h>

void main()

{

while(1)

{

P1=0x00

delay(1000)//delay函数略去

P1=0xff

delay(1000)

}

}

电机的形式很多,但其工作原理都基于电磁感应定律和电磁力定律。因此,其构造的一般原则是:用适当的导磁和导电材料构成互相进行电磁感应的磁路和电路,以产生电磁功率,达到能量转换的目的。 根据电动机按起动与运行方式不同,可分为电容起动式单相异步电动机、电容运转式单相异步电动机、电容起动运转式单相异步电动机和分相式单相异步电动机,三相电动机。

根据电动机按转子的结构不同,可分为笼型感应电动机,你在用的就是这一种(旧标准称为鼠笼型异步电动机)和绕线转子感应电动机(旧标准称为绕线型异步电动机)。鼠笼就是一个闭合的线圈。

(1)当三相异步电机接入三相交流电源(各相差120度电角度)时,三相定子绕组流过三相对称电流产生的三相磁动势(定子旋转磁动势)并产生旋转磁场,该磁场以同步转速沿定子和转子内圆空间作顺时针方向旋转。

(2)该旋转磁场与转子导体有相对切割运动,根据电磁感应原理,转子导体(转子绕组是闭合通路)产生感应电动势并产生感应电流(感应电动势的方向用右手定则判定)。

(3)根据电磁力定律,在感应电动势的作用下,转子导体中将产生与感应电动势方向基本一致的感生电流。载流的转子导体在定子产生的磁场磁场中受到电磁力作用(力的方向用左手定则判定),电磁力对电机转子轴形成电磁转矩,驱动电机转子沿着旋转磁场方向旋转,当电动机轴上带机械负载时,便向外输出机械能。由于没有短路环部分的磁通比有短路环部分的磁通领先,电机转动方向与旋转磁场方向相同。

如果我的回答对你有帮助请帮我采纳!

实际运用的程序,图纸.

/*****************************************/

/* 广州一丁自动化设备有限公司010-28969088*/

/*****************************************/

#include<reg52.H> //加载头文件

#include <stdio.h>

sbit MC=P1^0//脉冲

sbit FX=P1^1//方向

sbit BL=P3^2//半流

sbit JD=P1^2//夹电池

sbit YD=P1^3//发验电信号

sbit YW=P2^0//原点

sbit YX=P2^1//运行

sbit ZL=P2^2//走轮信号

sbit JDW=P2^3//夹到位

sbit FDW=P2^4//放到位

void delay_1(unsigned int j0 ) //1毫秒延时程序

{

unsigned int j1

unsigned int j2

for(j1=0j1<4*j0j1++)

for(j2=0j2<50j2++)

}

void delay_01(unsigned int j0 ) //0.01毫秒延时程序.J0等于50时两细分为200转/分钟

{

unsigned int j1

for(j1=0j1<j0j1++)

}

void main(void)

{

unsigned int n,k

delay_1(120)//起机延时

BL=0//半流

k=3

for(YX==1)

BL=1//半流

FX=1//方向

delay_1(20)

for(YW==0)//原位

{

MC=0//脉冲

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1//脉冲

delay_01(k+50)

}

delay_1(10)

FX=0//方向

for(YW!=0)//原

{

MC=0

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1

delay_01(k+50)

}

FX=1

BL=0

while(1)

{

YD=1

JD=1

for(FDW!=0)

for(YX!=0)

// BL=1

for(FDW!=0)

BL=1

delay_1(1)

for(n=50n>0n--)

{

MC=0

delay_01(k+n)

MC=1

delay_01(k+n)

}

for(n=1890n>0n--)

{

MC=0

delay_01(k)

MC=1

delay_01(k)

}

for(n=0n<50n++)

{

MC=0

delay_01(k+n)

MC=1

delay_01(k+n)

}

for(YW==0)//首次对位

{

MC=0

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1

delay_01(k+50)

}

JD=0//夹电

delay_1(10)

FX=0

for(YW!=0)//回位

{

MC=0

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1

delay_01(k+50)

}

delay_1(5)

FX=1

for(YW==0)//再次对位

{

MC=0

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1

delay_01(k+50)

}

delay_1(5)

FX=0

for(YW!=0)//再次回位

{

MC=0

if(YX==1)

BL=0

else

BL=1

for(YX==1)

delay_01(k+50)

MC=1

delay_01(k+50)

}

FX=1

BL=0

for(JDW!=0)

YD=0

delay_1(10)

for(ZL==1)

}

}


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

原文地址: http://outofmemory.cn/yw/11237579.html

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

发表评论

登录后才能评论

评论列表(0条)

保存