电子齿轮比野谈:电机每转一圈的脉冲数是设定值,编码器分辨率是测量值

已锁定

昔日如诗

  • 帖子

    838
  • 精华

    3
  • 被关注

    10

论坛等级:侠圣

注册时间:2018-04-17

白金 白金 如何晋级?

电子齿轮比野谈:电机每转一圈的脉冲数是设定值,编码器分辨率是测量值

13096

15

2023-07-25 11:11:47

    看了很多很多关于电子齿轮比如何计算的手册、贴子和留言,发现一半是错的,另一半是不得要领的。

    我们完全可以把电机每转一圈的脉冲数看成设定值,把编码器分辨率看成测量值,我们的电子齿轮比就是放在二者中间,做个转换,或者说做个系数,或者说做个演算,才能使公式左右相等。先上图,这样好阐述:

    

    我们知道,我们要运行伺服电机的时候,会在触控屏上拉进一个数值输入框,写进目标位置,这是设定值;再拉入一个数值显示框,以显示当前电机的实际位置,这是测量值。我们让电机运行到1000毫米这个位置,实际上可能是到999.99毫米这个位置。

    放下比喻,我们来谈电子齿轮比。

    假设有个传动机构,其电机的的编码器分辨率是18位,丝杠的螺距是10mm,减速比是16:1,所谓减速比就是说小齿轮每转1圈,大齿轮才转1/16圈。现在来计算电子齿轮比。

    第1步,如上图,查看电机编码器的分辨率,本案例是18位绝对值编码器,我们就写出18个1,是1111 1111 1111 1111 11,在线转成十进制,得262143。就是说,编码器每旋转一圈,就会发出262143个脉冲。这里切切记住,这个数字是固定值,不能手动改变,就是既不能在伺服的调试软件里,也不能在伺服的面板参数里进行改动。这个值是固定的,就像万有引力常数G一样不可改的。

    第2步,在调试软件或者伺服面板里输入电机每转一圈的脉冲数,比如10000。

    大部分教程在这里就蒙逼了。因为前面的步骤有“每转一圈的脉冲数“,怎么到了这步还有啊?这就是测量值和设定值的区别了。重复一下,前面一步是测量值,现在这步就是我们的设定值了。我们的设定值是PLC发给伺服的,伺服让电机旋转起来,带动编码器也旋转起来。我们设定好“电机每转一圈的脉冲数”为10000,意思就是PLC想让电机转一圈,则需要向伺服发送10000个脉冲。但是当电机旋转起来后,编码器却激发出262143个脉冲。两个“每转一圈的脉冲数”来自于不同的地方,“电机每转一圈的脉冲数”来自于软件里的虚拟之物,“编码器每转一圈的脉冲数”来自于编码器这个实物。

 “电机每转一圈的脉冲数”是可以设置为任意值的。前面是将它设置为10000,我们还可以将它设置为8000、62500等数值。于是到底它该设置为什么数,很多教程又在这里蒙圈了,说它是根据电子齿轮比来设定的。可是电子齿轮比是怎么设定的?他们又会说是根据“电机每转一圈的脉冲数/编码器每转一圈的脉冲数”来设定的,这就类似于有人讲解欧姆定律(I=U/R):当电阻一定时,电流和电压是谁决定谁?一个说,根据公式,是电压决定了电流;另一个说,把公式变换一下,则是电流决定了电压。

    真正的,“电机每转一圈的脉冲数”不是由电子齿轮比来决定的,特别地,不是根据某个公式计算出来的,而仅仅是根据我们的需要来设定的。它是任意值。但是,一般地,这个值还是要依据一些实际需要来设定。这个以后再讲。我来还是来讲电子齿轮比。

    第3步,如上图,这一步就太简单了,电子齿轮比=表格右边的数字/表格左边的数字。这一步,不要算出小数来,否则是个笑话,就用分子/分母这样的形式表达。伺服的面板里,电子齿轮比有两个参数,一个是分子,一个是分母,你分别输入就行。最后的结果如下图。

    现在总结,电子齿轮比=A/B或者=编码器每转一圈的脉冲数/电机每转一圈的脉冲数。A的值是固定的,B的值是你随意设定的。有了A和B,就把它们写进伺服面板里的参数“电子齿轮比”和“电子齿轮比分母”。这样,这个值就设定好。

    最后说一下,电机每转一圈的脉冲数并不是随意设定的,它也要据一些物理条件以及我们要的精度来做。但无论如何,它不是由什么公式计算出来的。具体怎么做,放到分隔线后面。

    



----------------------电机每转一圈的脉冲数,可不是由什么公式计算出来的----------------------------

    本案例中,丝杠的螺距是10mm,减速比是16:1,则电机每转一圈,丝杠的线性位移是10÷16=0.625(mm)。切切记住,这个值是固定值,不能人为修改。它是取决于物理实物,而不是软件设定。它就像前面说的编码器每转一圈发出的脉冲数一样都是固定的。

    依据前面的阐述,我们设定好PLC向伺服发送10000个脉冲,则丝杠位移0.625mm;那么,如果PLC只向伺服发送1个脉冲呢?则丝杠位移就是0.0000625毫米。这个就是脉冲当量,全称是一个脉冲的线性位移,西门子里则叫LU(length unit的缩写),如上图。可以看出,这个脉冲当量由一个固定值除以一个设定值而来,它是被计算出来的,而不能被设定。就是你如果改变“电机每转一圈时发出的脉冲数”,则这个脉冲当量就要跟着改,依据的公式就是 “脉冲当量=电机每转一圈时丝杠的线性位移÷电机每转一圈时的脉冲数量”。

    如果我们设定"电机每转一圈时的脉冲数量"是50000,则PLC每向伺服发送一个脉冲,则丝杠的线性位移只有前面的五分之一的,就是0.125mm了,在西门子里就是LU=0.125。我们大家要认识到,它是从动的,而"电机每转一圈时的脉冲数量"是主动的。

    那么,"电机每转一圈时的脉冲数量"依据什么来设定呢?一,依据我们希望的精度而定。如果我们希望丝位移精度是6.25nm,就是0.00000625mm了,则把这个脉冲数量设为100000(10万)。意思是PLC向伺服发送10万个脉冲,电机才转一圈,丝杠位移了0.625mm;自然,如果PLC只向伺服发送了1个脉冲,就是0.625mm除以10万=0.00000625mm了。所以,你要什么精度,就要什么"电机每转一圈时的脉冲数量"。在非标设备里,精度到了0.1mm就行了,就这得把“电机每转一圈的脉冲数量”设为6.25个。由于脉冲数量不会有小数位,所以至少得设置625,最终这个丝杠位移的精度是0.001mm。所以一般地这个值是来回倒腾之后得出来的。

    有个售服工程师建议我把"电机每转一圈时的脉冲数量"设定为0.625的整数倍,就是625、6250、62500这些,而不是人们喜欢的1000、10000、100000这些。

     二、不能导致面板上我们需要丝杠位移0.1mm,却需要发送1.7个脉冲这样的。设定值要满足丝框线性位移0.1mm的时候PLC是发出整数个脉冲。

    

    


电子齿轮比野谈:电机每转一圈的脉冲数是设定值,编码器分辨率是测量值 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15704条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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