lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
楼主  发表于: 2018-09-27 16:57
由于前段时间提供给客户的一个2000线增量A/B/Z编码器出现丢脉冲的情况,所以现在对新采购的编码器都要逐一测试。
测试的思路是这样的:A/B接计数器,Z接中断,当Z中断时把A/B计数器的值读出来,并且复位A/B计数器,这样编码器每转一圈计数器读出的数据就应该是编码器的分辨率,如果编码器丢脉冲,计数器读出的值就会比编码器分辨率小。
最开始使用西门子S7-200,使用A/B接硬件计数器,Z接外部中断,但外部中断受输入滤波时间影响,编码器速度稍快就出现数据不准确,用手旋转编码器。
改为Z接另外一个编码器,计数到1中断,在中断程序中读A/B计数器,复位A/B计数器,复位Z计数器。这样编码器速度会稍快些(大约2转/秒),就出现数据不准确。

再换台达ES2,用同样的A/B硬件计数器,Z接硬件计数器中断,编码器速度稍快(大约2转/秒),同样出现计数不准确的情况,大多数是丢脉冲。

计数器的速度是没有问题的,按道理,Z计数中断到复位A/B计数器速度会很快,数条指令而已。出现计数不准,估计是Z计数中断——A/B计数器复位用时过长。
大家看看这是怎么个情况!
[ 此帖被lvpretend在2018-09-27 17:04重新编辑 ]
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
1楼  发表于: 2018-09-28 08:34
正转100圈,反转100圈看看,还与速度有关系。
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
2楼  发表于: 2018-09-28 12:47
什么叫丢脉冲,你要是没采到还能叫丢脉冲吗
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
3楼  发表于: 2018-09-28 13:15
假如频率是1k,1ms是一个脉冲,你进入中断程序要时间吧,1ms就少了1个脉冲了。这不是很正常吗