【求助】绝对值编码器的位置计算的过零点问题

已锁定

volcanol

  • 帖子

    790
  • 精华

    12
  • 被关注

    52

论坛等级:侠圣

注册时间:2009-11-26

钻石 钻石 如何晋级?

【求助】绝对值编码器的位置计算的过零点问题

3991

9

2021-01-20 16:33:49

绝对值编码器的位置计算:

           实际位置 =   脉冲数 * 脉冲当量  -  零点的实际位置 

或者

           实际位置  =  (脉冲数 - 零点位置的脉冲数) * 脉冲当量


      但是我们在实际应用中, 绝对值编码器会有过零点的问题。就是编码器反馈的脉冲数 == 0 的时候,这个时候实际位置不是0真正的远点, 但是装置还需要继续往一个方向转,这个时候就会出现问题,计算不对。

    我想请教的是,一般过零点或者过最大值的时候,编程应该怎么处理比较合适呢。 例如使用S7-300的SM338模块, 这个模块并没有通过输出设置编码的脉冲数为0的功能。

    对于带DP功能的编码器,我们可以通过特殊的设置标定编码器的0脉冲数与实际的原点位置相配合。


问题1: 过最大值

   就是例如 25bit的编码器,最大的计数脉冲为 2^25 = 33554431,  这个时候如果编码器再往原来方向计数脉冲值是不是就变成又从0开始计数了呢。

       是不是就和下面的数值变化一样呢。

       33554429 --> 33554430  --> 33554431  --> 0  --> 1 --> 2

问题2:过最小值

    又或者,如果编码器往一个方向运动,到某个时候编码器的脉冲数变成了0 ,这个时候如果继续往一个方向转那么是不是编码器的脉冲数就变成了最大的脉冲数, 例如25bit的就又变成了

     2 --》 1  ->0 -> 33554431 ---> 33554430 ---> 33554429

   

       也就是说绝对值编码器的计数是不是和汽车的里程数计数一样呢?回重新计数。





【求助】绝对值编码器的位置计算的过零点问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54049条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。