- 广州子锐机器人技术有限公司
- 服务热线:020-82000787(8:30-17:30)
- 联系手机:15889988091(非工作时间)
- 座机:020-82000787
- 传真:020-32887675
- 邮箱:gz@zr-robot.com
- 广州市番禺区东环街金山谷创意八街1号109
- 当前位置:首页 > 机器人维修服务 > 机器人伺服电机维修 > 伺服电机任意分度程序的编写方法
伺服电机任意分度程序的编写方法
时间:2016-12-09 点击: 来源:互联网 作者:匿名
简介:很多人都认为伺服电机是不能精密分度的,把高端电机的驱动方法过于的神化。就本人用伺服电机做分度盘的经验来看,其实你只要懂得怎么去用伺服电机,懂得怎么去写程序,正常情况下的分度精度还是可以保证的。 伺服电机不管在什么场所应用,有一点是必须要保证……
很多人都认为伺服电机是不能精密分度的,把高端电机的驱动方法过于的神化。就本人用伺服电机做分度盘的经验来看,其实你只要懂得怎么去用伺服电机,懂得怎么去写程序,正常情况下的分度精度还是可以保证的。
伺服电机不管在什么场所应用,有一点是必须要保证就是有足够的扭矩。伺服电机就是一个大马拉小车的东西。
正常情况下的启动时间,一般来说应尽可能的拉长一些。启动的速度也不可以太快。启停过快都可能会引起过冲的现象。在使用过程中,如果分度不完整,也就是正常要走一圈的,但是发现怎么弄都差那么一点点,也就是有一个接缝,这种情况就是有传说中的失步。解决失步的方法不外乎如下几点:
增加伺服电机扭矩,加大驱动器的电流;
降低运行的最大转速;
拉长启动时间;
减小启动转速。
如果以上都没有问题,那么就有可能是程序里面带有无法分完的余数脉冲所产生的累计误差了。
众所周知,脉冲是以整数来计算,没有哪里会出现半个脉冲的说法。但是往往就是这半个脉冲出了问题,如果一个圆分10等份,每个等份差半个脉冲不算个什么。20个等份,每个等份差半个脉冲可能也不是特别明显。但是要分到50个,100个,500个,nnn个等份时,这样每个等份差半个脉冲可就不是一个小数目了。在等份数越多时,就算是每个等份差0.1个脉冲,都是一个天文数字。这就是很多人都认为伺服伺服电机无法做出精密的分度盘的原因了。这不仅仅是进步伺服电机,就算是伺服伺服电机,同样也存在这个问题----余数。
如下:ABB伺服驱动器的细分数为64.那么伺服电机每一圈的脉冲数为62x200=12800.
现在设定伺服电机分成128等份,那么很好计算 12800/128=100.每个等份的脉冲数为100个脉冲。
但是如果我现在要求分成129等份,公式为:12800/129=99.2248062,也就是每个等份须要99.2248062个脉冲才能均分,如此kuka计数去掉小数点余数,那么这129个等份里总共将要误差129X0.2248062=28.9999999个脉冲。相当于这个圆就误差了一个等份的1/4。
通过了相当长的时间去思考,终于解决了这个剩余脉冲数的处理方法。
以面说的例子机器人维修为参考,伺服电机脉冲数为12800为一圈,分成129等份。要求一圈走完的最大误差不大于1个脉冲。
程序编写方法如下:
设定伺服电机脉冲数,这个是死的,可以不写。 12800或者其它数值。
设定要分的等份数:129 代入数据寄存器D 或者V
计算出每个等份须要的整数脉冲数:12800/129=99
精确计算出ABB每个等份须要的脉冲数,浮点运算得到的结果是:12800/129=99.2248062
把99转为浮点数,得到数据为99.0
然后用99.2248062—99.0=0.2248062 这个计算公式得到了每个等份剩下脉冲数。
用剩下的脉冲数再乘上等份总数:0.2248062x129=28.99999998.去掉小数点,得到整数28.
用等份数减去28得到:129-28=101。本数据为加工过程中的等份数。
程序运行到:己经加了的等份大于101,也就是从102等份开始到129等份,这28个等份里面,每个等份加一个脉冲。也就是从102等份开始的安川脉冲数为99+1=100.
如上计算,在后28个等份里面,每个等份增加一个脉冲,也就是每个等份abb增加了1/100.
伺服电机不管在什么场所应用,有一点是必须要保证就是有足够的扭矩。伺服电机就是一个大马拉小车的东西。
正常情况下的启动时间,一般来说应尽可能的拉长一些。启动的速度也不可以太快。启停过快都可能会引起过冲的现象。在使用过程中,如果分度不完整,也就是正常要走一圈的,但是发现怎么弄都差那么一点点,也就是有一个接缝,这种情况就是有传说中的失步。解决失步的方法不外乎如下几点:
增加伺服电机扭矩,加大驱动器的电流;
降低运行的最大转速;
拉长启动时间;
减小启动转速。
如果以上都没有问题,那么就有可能是程序里面带有无法分完的余数脉冲所产生的累计误差了。
众所周知,脉冲是以整数来计算,没有哪里会出现半个脉冲的说法。但是往往就是这半个脉冲出了问题,如果一个圆分10等份,每个等份差半个脉冲不算个什么。20个等份,每个等份差半个脉冲可能也不是特别明显。但是要分到50个,100个,500个,nnn个等份时,这样每个等份差半个脉冲可就不是一个小数目了。在等份数越多时,就算是每个等份差0.1个脉冲,都是一个天文数字。这就是很多人都认为伺服伺服电机无法做出精密的分度盘的原因了。这不仅仅是进步伺服电机,就算是伺服伺服电机,同样也存在这个问题----余数。
如下:ABB伺服驱动器的细分数为64.那么伺服电机每一圈的脉冲数为62x200=12800.
现在设定伺服电机分成128等份,那么很好计算 12800/128=100.每个等份的脉冲数为100个脉冲。
但是如果我现在要求分成129等份,公式为:12800/129=99.2248062,也就是每个等份须要99.2248062个脉冲才能均分,如此kuka计数去掉小数点余数,那么这129个等份里总共将要误差129X0.2248062=28.9999999个脉冲。相当于这个圆就误差了一个等份的1/4。
通过了相当长的时间去思考,终于解决了这个剩余脉冲数的处理方法。
以面说的例子机器人维修为参考,伺服电机脉冲数为12800为一圈,分成129等份。要求一圈走完的最大误差不大于1个脉冲。
程序编写方法如下:
设定伺服电机脉冲数,这个是死的,可以不写。 12800或者其它数值。
设定要分的等份数:129 代入数据寄存器D 或者V
计算出每个等份须要的整数脉冲数:12800/129=99
精确计算出ABB每个等份须要的脉冲数,浮点运算得到的结果是:12800/129=99.2248062
把99转为浮点数,得到数据为99.0
然后用99.2248062—99.0=0.2248062 这个计算公式得到了每个等份剩下脉冲数。
用剩下的脉冲数再乘上等份总数:0.2248062x129=28.99999998.去掉小数点,得到整数28.
用等份数减去28得到:129-28=101。本数据为加工过程中的等份数。
程序运行到:己经加了的等份大于101,也就是从102等份开始到129等份,这28个等份里面,每个等份加一个脉冲。也就是从102等份开始的安川脉冲数为99+1=100.
如上计算,在后28个等份里面,每个等份增加一个脉冲,也就是每个等份abb增加了1/100.
TAG:
免责声明:本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的。如转载稿涉及版权等问题,请立即联系网站所有人,我们会予以更改或删除相关文章,保证您的权利。
上一篇:普通电机和伺服电机的区别
工业机器人维修相关阅读:
扫二维码手机浏览