如何实现步进电机的正、反转功能 5

如何实现步进电机的正、反转功能?并且随着时间的推移周期重复?... 如何实现步进电机的正、反转功能?并且随着时间的推移周期重复? 展开
 我来答
匿名用户
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行实现反转的功能。反转一圈回到原位。

下图是自动生成的汉字显示:

使用表控作为步进电机控制,有几个有点:接线方便、设置简单,表格设置方法代替编程,没学过编程的人员也可以使用。更多功能可以查看详细说明书和视频教程。

天蝎小灰马
高粉答主

推荐于2016-04-08 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5056
采纳率:97%
帮助的人:266万
展开全部
控制脉冲的顺序就能控制正反转,如下面的 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);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2010-06-25 · 超过26用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:44.5万
展开全部
你选的步进电机的控制方式是什么
脉冲+方向(常见的集电极开路输出)?
脉冲+脉冲(常见的差分电路输出)?
脉冲递增方式?
不同的控制方式的正反转的方法不一样
周期重复只是给脉冲的数量给个限制罢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lirong715
2010-06-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:5160
采纳率:62%
帮助的人:2547万
展开全部
步进电机的控制一般使用现有的集成块,比如L297,你可到下面去下载说明:

http://www.21icsearch.com/s_L297.html

在L297中(CW/CCW)就是正、反转控制端,输入高电平或低电平就决定步进电机的正反向。

一般不用自己设计。如果一定要自己搞步进电机的控制,比如:
1、如果采用计数器的方式,加法计数是正向,减法计数就是反向,
2、如果采用循环码计数器,循环计数的方向就是步进电机的转向。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式