OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4393|回复: 10

二相步进电机的驱动的编码反馈信号问题

[复制链接]

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2013-12-20
在线时间
8 小时
发表于 2015-12-11 23:02:29 | 显示全部楼层 |阅读模式
5金钱
二相步进电机的驱动的编码反馈信号有六个输出,有VCC,GND,PA+,PA-,PB+,PB-,请问我要怎样获得电机的转速?或者有谁能帮我解释一下
PA+,PA-,PB+,PB-怎么理解?还是只需要选择PA+,PB+计数就可以呢?

最佳答案

查看完整内容[请看2#楼]

不是。对闭环步进电机驱动而言,2500线编码器,比如走整步时候,给驱动器输入200个脉冲电机就能走一圈。但输出脉冲是2500*4个。输入脉冲只是控制电机转速和位置。电机运行单位圈返回的脉冲数是固定的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2014-8-17
在线时间
164 小时
发表于 2015-12-11 23:02:30 | 显示全部楼层
day  day  up 发表于 2016-1-8 21:35
是可以读出来的 ,可是每一个定时间内,比如1 ms即时,读回来的脉冲数差距比较大,比如第一次还是30000, ...

不是。对闭环步进电机驱动而言,2500线编码器,比如走整步时候,给驱动器输入200个脉冲电机就能走一圈。但输出脉冲是2500*4个。输入脉冲只是控制电机转速和位置。电机运行单位圈返回的脉冲数是固定的。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-15 23:27:30 | 显示全部楼层
帮顶.....
回复

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2014-8-17
在线时间
164 小时
发表于 2015-12-18 22:56:26 | 显示全部楼层
输出是差分信号,AB相,信号相位差90度
回复

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2013-12-20
在线时间
8 小时
 楼主| 发表于 2015-12-26 22:23:50 | 显示全部楼层
保夫鲁沙 发表于 2015-12-18 22:56
输出是差分信号,AB相,信号相位差90度

我是否只需要读出一个A+相脉冲数,可以计算出里程信息吗?    我想问一下我输入输入的脉冲数5000个转一周,它的输出也会是5000吗?为什么我计数回来的非常大?
回复

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2014-8-17
在线时间
164 小时
发表于 2015-12-27 21:16:07 | 显示全部楼层
day  day  up 发表于 2015-12-26 22:23
我是否只需要读出一个A+相脉冲数,可以计算出里程信息吗?    我想问一下我输入输入的脉冲数5000个转一周 ...

常见做法是用芯片把差分信号转化成TTL电平捕获。差分信号是为了在远距离传输时抗干扰。AM26C31、AM26C32之类的芯片。计数回来大,要看数据是多大判断问题,一般是AB相上升沿下降沿都计数,这样一圈的脉冲数就是4*5000个。
回复

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2014-8-17
在线时间
164 小时
发表于 2015-12-27 21:16:39 | 显示全部楼层
day  day  up 发表于 2015-12-26 22:23
我是否只需要读出一个A+相脉冲数,可以计算出里程信息吗?    我想问一下我输入输入的脉冲数5000个转一周 ...

常见做法是用芯片把差分信号转化成TTL电平捕获。差分信号是为了在远距离传输时抗干扰。AM26C31、AM26C32之类的芯片。计数回来大,要看数据是多大判断问题,一般是AB相上升沿下降沿都计数,这样一圈的脉冲数就是4*5000个。
回复

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2013-12-20
在线时间
8 小时
 楼主| 发表于 2016-1-5 00:21:00 | 显示全部楼层
保夫鲁沙 发表于 2015-12-27 21:16
常见做法是用芯片把差分信号转化成TTL电平捕获。差分信号是为了在远距离传输时抗干扰。AM26C31、AM26C32 ...

也就是说    如果我读回A+引脚的脉冲数,电机转一圈就是按正常来说就会有4*5000个计数?对吗    既然都知道转一圈的计数  就是可以算出里程的信息啊,为什么还要转化为TTL电平呢?
回复

使用道具 举报

2

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2014-8-17
在线时间
164 小时
发表于 2016-1-5 22:41:32 | 显示全部楼层
day  day  up 发表于 2016-1-5 00:21
也就是说    如果我读回A+引脚的脉冲数,电机转一圈就是按正常来说就会有4*5000个计数?对吗    既然都知 ...

你读了试试看就知道了
回复

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2013-12-20
在线时间
8 小时
 楼主| 发表于 2016-1-8 21:35:27 | 显示全部楼层
保夫鲁沙 发表于 2016-1-5 22:41
你读了试试看就知道了

是可以读出来的 ,可是每一个定时间内,比如1 ms即时,读回来的脉冲数差距比较大,比如第一次还是30000,第二时间内就42300,感觉很不稳定,所以觉得不是很对……我读回来的值除以4就是实际脉冲数吗?
   大神,请问你一个问题,对于输入的脉冲数与读回的脉冲数是相同的吗?
回复

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2013-12-20
在线时间
8 小时
 楼主| 发表于 2016-1-8 23:24:32 | 显示全部楼层
哦  ,这么说还是我的程序有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表