4个回答
2019-04-07
展开全部
1、可以使用表控TPC4-4TD的控制器来实现,参考下图接线:
接线很简单,参考接线图接线。表控与驱动器的接线只有三根线,5V、Y1和Y2,分别连接步进电机驱动器的输入信号端,5V连接步进电机驱动器输入信号的正极,Y1连接脉冲输入信号的负极,Y2连接方向输入信号的负极。
2、功能设置
在电脑的功能设置表上设置的正反转功能,见下图:
第1行设置X1作为启动开关,由Y1输出脉冲,频率2000赫兹,脉冲数是2000。如果驱动器细分设置为2000,设置脉冲数为2000正好转一圈。
第2行设置延时1秒,作为正反转间隔的时间。
第3行设置Y2输出方向信号10秒钟,由脉冲结束时关闭此行。
第4行设置的与第一行相同,由于与第3行的方向输出端同事被第2行延时后启动,因此第3、4行实现反转的功能。反转一圈回到原位。
下图是自动生成的汉字显示:
使用表控作为步进电机控制,有几个有点:接线方便、设置简单,表格设置方法代替编程,没学过编程的人员也可以使用。更多功能可以查看详细说明书和视频教程。
展开全部
控制脉冲的顺序就能控制正反转,如下面的 for(i=0;i<4;i++)变成 for(i=3;i>=0;i--)变反向转
控制延时就能控制转速,如下面的 delay(200)。
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code s[]={ 0x88,0x22,0x44,0x11 };
void delay(uint z)
{ uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{ int i;
while(1)
{ for(i=0;i<4;i++)
{ P2=s[i];
delay(200);
}
}
}
控制延时就能控制转速,如下面的 delay(200)。
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code s[]={ 0x88,0x22,0x44,0x11 };
void delay(uint z)
{ uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{ int i;
while(1)
{ for(i=0;i<4;i++)
{ P2=s[i];
delay(200);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你选的步进电机的控制方式是什么
脉冲+方向(常见的集电极开路输出)?
脉冲+脉冲(常见的差分电路输出)?
脉冲递增方式?
不同的控制方式的正反转的方法不一样
周期重复只是给脉冲的数量给个限制罢了
脉冲+方向(常见的集电极开路输出)?
脉冲+脉冲(常见的差分电路输出)?
脉冲递增方式?
不同的控制方式的正反转的方法不一样
周期重复只是给脉冲的数量给个限制罢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
步进电机的控制一般使用现有的集成块,比如L297,你可到下面去下载说明:
http://www.21icsearch.com/s_L297.html
在L297中(CW/CCW)就是正、反转控制端,输入高电平或低电平就决定步进电机的正反向。
一般不用自己设计。如果一定要自己搞步进电机的控制,比如:
1、如果采用计数器的方式,加法计数是正向,减法计数就是反向,
2、如果采用循环码计数器,循环计数的方向就是步进电机的转向。
http://www.21icsearch.com/s_L297.html
在L297中(CW/CCW)就是正、反转控制端,输入高电平或低电平就决定步进电机的正反向。
一般不用自己设计。如果一定要自己搞步进电机的控制,比如:
1、如果采用计数器的方式,加法计数是正向,减法计数就是反向,
2、如果采用循环码计数器,循环计数的方向就是步进电机的转向。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |