zoukankan      html  css  js  c++  java
  • 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-电机实际运行距离跟给定距离不一致怎么办,如何设置Scaling Factor

    有时候,让电机从0度转到绝对的360度,有时候会出现电机实际转动更多或者更少的情况。

     

    一般是电机的编码器的Scaling Factor Numerator数值不对导致的,数值越小,则同比转过角度越多,例如我数值是0.0001的时候,360度实际对应了720度以上,我改成0.00035之后,就差不多了。

     

    那么如何精确的设置这个参数呢?参考讲义说一圈对应的脉冲数和一圈对应的长度(注意TwinCAT默认单位是mm,可以改成角度,那么一圈对应就不是360mm而是360度,同样可以360/一圈对应的脉冲数)

    有时候,让电机从0度转到绝对的360度,有时候会出现电机实际转动更多或者更少的情况。

     

    一般是电机的编码器的Scaling Factor Numerator数值不对导致的,数值越小,则同比转过角度越多,例如我数值是0.0001的时候,360度实际对应了720度以上,我改成0.00035之后,就差不多了。

     

    那么如何精确的设置这个参数呢?参考讲义说一圈对应的脉冲数和一圈对应的长度(注意TwinCAT默认单位是mm,可以改成角度,那么一圈对应就不是360mm而是360度,同样可以360/一圈对应的脉冲数),一圈对应的脉冲数取决于编码器的分辨率,比如16位的编码器分辨率是2的16次方65535,17位的编码器分辨率是2的17次方131072

     

    如果连编码器的分辨率也不知道,则只能靠猜测了。比如默认的Scaling Factor是0.0004,结果你发现要求跑360度跑了720度,说明你的数值查了一倍左右,然后你把Scaling Factor继续修改,逐步精确到感觉差不多(你指定360度,结果也是360度左右,差个几十度),此时的Scaling Factor就是差不多的正确数值,比如我粗略得到0.00035这个数值,然后用360去除得到大致的每转脉冲数,360/0.00035=1028571,则查询可以知道,应该是20位的,因为必须是2的整数次方,而2的整数次方差一位差别就很大,只有1048576最接近,所以实际上要填写的Scaling Factor就是0.000343323

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

     

  • 相关阅读:
    转载-解决ORACLE 在控制台进行exp,导出时,空表不能导出
    Oracle数据库创建用户与数据库备份小结
    C#语言-NPOI.dll导入Excel功能的实现
    DataTable转泛型List
    算法学习 之 欧几里得算法和扩展欧几里得算法(三 完)
    算法学习 之 欧几里得算法和扩展欧几里得算法(二)
    算法学习 之 欧几里得算法和扩展欧几里得算法(一)
    SWUST OJ Gold Nuggets Distribution(0490)
    SWUST OJ NBA Finals(0649)
    SWUST OJ 青蛙的约会之二(0481)
  • 原文地址:https://www.cnblogs.com/acetaohai123/p/6823867.html
Copyright © 2011-2022 走看看