关于《一圈脉冲数》 和《螺距》的名称解释
《一圈脉冲数设置》
步进电机驱动器:一圈脉冲数即是,细分数200、400、800、1600、3200 、6400
等
(16位)伺服驱动器:一圈脉冲数默认是10000 ,如果伺服驱动器设置了电子齿轮,即
一圈脉冲数=10000 /(电子齿轮分子/分母)
电子齿轮分子设置为:20 分母设置:1 即一圈脉冲数数为500
(提示:17位伺服设置方法在最下方)
《螺距设置》
如果是丝杠厂家会提供螺距参数。
如果是同步轮、齿轮等等,需要计算变比,例如 :同步轮是 5:10的 、滚筒
圆周长是 100mm , 那么螺距就是100*(10/5)=200mm
如果还是不会计算有两个最简单的办法:
方法一:可以设置手动点动移动量为脉冲数为一圈脉冲数(即步进电机的细分
脉冲数),然后点击一次屏幕上的手动X+,电机转动工件移动距离测量得到的数据即为螺距。
方法二:我们知道电机转一圈,这个1 圈是知道 的,那么我们填入螺距1,单位圈
编程:
>:X+1; //让电机转一圈
>:END;
点运行键,电机移动停止后,测量移动距离即为螺距。
提示:设置螺距和一圈脉冲数时,尽量保证,“螺距” 可以被 “一圈脉冲数”整除。
例如1:一圈脉冲数3200 螺距 5mm 、 一圈脉冲数1600 螺距 10mm
如下例2就会出现无限循环小数误差,系统会自动保留4位小数,其余的舍去。
例如2:一圈脉冲数3200 螺距 3mm 、 一圈脉冲数1600 螺距 7mm
例如3:如果以度为单位,螺距为360,我们为了让一圈脉冲数整除螺距,一圈脉冲数设置为3600,那么伺服驱动器分子设置为10000,分母为3600(即一圈脉冲数,分数可以化简),这样就不会出现误差
(如果精度不够,改变测量单位即可,例如伺服驱动器电子此轮比分母可以设置 1030,X+500 即
是 50mm,如果编程时又不想输入 500(实际 50mm)过多的零,将控制器的“一圈脉冲数”也
相应扩大,例如刚才 10 倍,改原来填入 1 改为 10 即可,那么编程时 X+50 即是 50mm)
。
《编程单位设置》
可任意单位,控制器不需要输入单位,编程单位同螺距单位,这个单位心里知道就好。
例如“毫米”:输入的螺距为5mm 编程单位就是“毫米”,编程时>:X+100;//意思就是X轴移动100毫米。
例如“0.1毫米”:输入的螺距为50(0.1mm单位)编程单位就是“0.1毫米”,
编程时>:X+100; //意思就是X轴移动10毫米。
例如“1丝=0.01mm”:输入的螺距为500(丝单位)编程单位就是“丝”,
编程时>:X+100; //意思就是X轴移动1毫米即100丝。
(如果需要输入带小数时如此减小单位解决,如果屏幕启用小数位输入的1.00mm 在程序里面小数点是不可见的,1.00 就是100,即100丝 =1mm)
例如“脉冲”:当 一圈脉冲数 和 螺距都填“1”的时候,就是以脉冲数单位编程
X+1 就是走1个脉冲 X+1000 //意思就是X轴移动1000个脉冲
如何按距离输入脉冲数呢,按公式计算移动距离需要的脉冲数,然后做取舍,例如螺距是5.3mm 细分3200
走1毫米 3200/5.3=603.77.... 走1mm需要大约604脉冲 走10mm就6037个脉冲,X+6037 就是走10mm
例如“圈”:输入的螺距为1圈,编程单位就是“圈”。编程时>:X+100; //
意思就是X轴转动100圈。
例如“度”:输入的螺距为360度,编程单位就是“度”。编程时>:X+100; //
意思就是X轴转动100度
——————————————————————————
提示:走角度时,如果一圈脉冲数无法整除螺距,(走距离时解决办法也相同)
例如一圈脉冲数是3200 螺距是360 3200无法整除360 会有无限循环小数,会产生误差。
解决办法:
1.允许这个误差存在
2.加1.8 整数倍的减速机,例如18:1 , 9:1 , 36:1 等等 因为电机步进角是1.8度。
这样一圈脉冲数就是3200 螺距就是 360/18=20 可以被整除,角度精度是 0.1度 X+1 是走 1度
3.以脉冲数编程,就是螺距和一圈脉冲数都填1,按公式计算移动角度需要的脉冲数,然后做取舍,例如走1度 3200/360=8.888....
走1度需要大约9个脉冲 走10度就89个脉冲,X+89 就是走10度 (步进角是1.8度 实际上走的角度必须是1.8整数倍)
4.换伺服电机 ,伺服电机可以通过电子齿轮比设置任意脉冲数,例如分子设置10000 分母设置3600那么一圈脉冲就是3600了,可以整除螺距360.
——————————————————————————
对于 非常规螺距,一圈脉冲数不可以整数螺距的情况,齿轮,齿条等 解决办法如下:
假设:螺距是7.07mm
这种情况下如果按如下设置:
伺服驱动器:分子设置 10000 分母设置707
控制器: 一圈脉冲数填 707 螺距707 (单位是丝)
编程时 X+1 是走一个丝 X+100 是走1mm 这样设置很精确 对短距离运行可以了
但是会在长距离的时候出现问题,因为移动数据最大65535 对于单位丝 最长移动距离只有655mm
长距离解决办法如下设置:
伺服驱动器:分子设置 10000 分母设置707
控制器: 一圈脉冲数填 100 螺距1 (单位是mm)
编程时 X+1 是走一个mm X+100 是走100mm 这样设置精确 长距离也没问题了
(原理:这样设置驱动器后,一圈脉冲数就是是707,螺距是7.07mm,用707÷7.07=100,
得到1毫米需要的脉冲数,即一圈脉冲数填100,螺距填1。实际上一圈脉冲数和螺距的关系,
也是分子/分母和伺服电子齿轮比功能相同)
——————————————————————————
17位伺服设置方法:
17位编码器伺服默认是 131072 脉冲一圈
假设:滚筒直径75mm 一圈235.5mm
如果我们要加快速度 伺服应该这样设置:
因为目前控制器控制速度最高频率40K的原因, 要把一圈脉冲数设置在 1000以下才可以达到伺服最高速
如果取实际螺距 235 第一速度会太快 第二舍去了小数点 会有误差
所以我们设置 235.5的 2倍数 471 即可
那么我们就确定了 分子分母 分子 设置131072 分母设置 471
因为伺服 显示原因 只能设置4位数 无法设置显示万位131072 我们必须进行分数化简
所以:
如果驱动器可以填4位 就是 分子2782 分母10
如果驱动器可以填5位 就是 分子27828 分母100
控制器一圈脉冲数填4710 螺距填2355 精度0.1mm 可以化简 控制器一圈脉冲数填2 螺距填1 精度0.1mm