中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

机电一体化

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 机电一体化 → 浏览主题: 关于步进电机任意分度程序的编写方法
发表新帖 回复该主题
回帖:23个,阅读:6265 [上一页] [1] [2] [3] [下一页]
* 帖子主题:

关于步进电机任意分度程序的编写方法

分享到
23666
wushulin 版主
文章数:6167
年度积分:99
历史总积分:23666
注册时间:2006/2/17
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
西门子PLC体验(一)
我秀我做2014
2013论坛优秀版主
秀秀我的办公桌
晒工控工具书
2012论坛优秀版主
2011国庆活动
2010年度论坛贡献奖
发表于:2016/1/13 23:41:46
#0楼
关于步进电机任意分度程序的编写方法
很多人都认为步进电机是不能精密分度的,把伺服电机的驱动方法过于的神化。就本人用步进电机做分度盘的经验来看,其实你只要懂得怎么去用步进电机,懂得怎么去写程序,正常情况下的分度精度还是可以保证的。
步进电机不管在什么场所应用,有一点是必须要保证就是有足够的扭矩。步进电机就是一个大马拉小车的东西。
正常情况下的启动时间,一般来说应尽可能的拉长一些。启动的速度也不可以太快。启停过快都可能会引起过冲的现象。在使用过程中,如果分度不完整,也就是正常要走一圈的,但是发现怎么弄都差那么一点点,也就是有一个接缝,这种情况就是有传说中的失步。解决失步的方法不外乎如下几点:

增加电机扭矩,加大驱动器的电流;

降低运行的最大转速;

拉长启动时间;

减小启动转速。
  如果以上都没有问题,那么就有可能是程序里面带有无法分完的余数脉冲所产生的累计误差了。
众所周知,脉冲是以整数来计算,没有哪里会出现半个脉冲的说法。但是往往就是这半个脉冲出了问题,如果一个圆分10等份,每个等份差半个脉冲不算个什么。20个等份,每个等份差半个脉冲可能也不是特别明显。但是要分到50个,100个,500个,nnn个等份时,这样每个等份差半个脉冲可就不是一个小数目了。在等份数越多时,就算是每个等份差0.1个脉冲,都是一个天文数字。这就是很多人都认为步进电机无法做出精密的分度盘的原因了。这不仅仅是进步电机,就算是伺服电机,同样也存在这个问题----余数。
如下:步进驱动器的细分数为64.那么电机每一圈的脉冲数为64x200=12800.
现在设定电机分成128等份,那么很好计算 12800/128=100.每个等份的脉冲数为100个脉冲。
但是如果我现在要求分成129等份,公式为:12800/129=99.2248062,也就是每个等份须要99.2248062个脉冲才能均分,如此计数去掉小数点余数,那么这129个等份里总共将要误差129X0.2248062=28.9999999个脉冲。相当于这个圆就误差了一个等份的1/4。
由于本人文化水平有限,通过了相当长的时间去思考,终于解决了这个剩余脉冲数的处理方法。
以面说的例子为参考,电机脉冲数为12800为一圈,分成129等份。要求一圈走完的最大误差不大于1个脉冲。
程序编写方法如下:
设定电机脉冲数,这个是死的,可以不写。 12800或者其它数值。
设定要分的等份数:129  代入数据寄存器D 或者V
计算出每个等份须要的整数脉冲数:12800/129=99
精确计算出每个等份须要的脉冲数,浮点运算得到的结果是: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个等份里面,每个等份增加一个脉冲,也就是每个等份增加了1/100.
总结:从上面的计算来看,如果不是要求绝对精密的加工,本程序加工出来的产品是完全满足要求的。

     如有人须要转载,请注明文章来源。
                吴术林 2016.1.13晚
[此贴子已经被作者于2016/1/13 23:47:14编辑过]
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=504922&Name=wushulin
汽车车桥生产在线检测设备;其它大批量零件生产过程检测,
承接:非标自动化设备设计、旧设备改良与维修; 单独非标项目合作。
6205
szlongren
文章数:361
年度积分:122
历史总积分:6205
注册时间:2008/9/3
发站内信
发表于:2016/1/14 6:00:06
#1楼
吴老师,这个经验真是难得,我做步进分度的时候也会出现这个问题,一般要求不高还可以的,就算是伺服电机也同样有这种事,我一般就是化成整数,余数去掉,但是精度不高。以后碰到这种项目就用吴老师的方法来做,学习了,谢谢吴老师!表情
5389
安且吉兮
文章数:378
年度积分:50
历史总积分:5389
注册时间:2011/8/30
发站内信
发表于:2016/1/14 7:12:06
#2楼
谢谢高人指点,学习了。
24366
zzn6737
文章数:12012
年度积分:295
历史总积分:24366
注册时间:2006/9/18
发站内信
2016国庆活动(三)
发表于:2016/1/14 8:00:21
#3楼
相信自己会用得着,收藏了,谢谢。
有问题可加
21843
yejingmao
文章数:12620
年度积分:50
历史总积分:21843
注册时间:2007/5/3
发站内信
2017春节活动(三)
发表于:2016/1/14 8:22:44
#4楼
这才是好文章,收藏了表情
自学成才!
9342
yzl1981000
文章数:1548
年度积分:59
历史总积分:9342
注册时间:2006/1/19
发站内信
2017国庆活动(三)
发表于:2016/1/14 8:30:52
#5楼
感谢楼主分享,好东西先收藏了,谢谢!
24410
ytleaderplc
文章数:10317
年度积分:836
历史总积分:24410
注册时间:2008/6/7
发站内信
发表于:2016/1/14 11:18:50
#6楼
好的经验,需要时间和不断的实践。
PLC 文本显示器 触摸屏 变频 伺服 编程电缆 plc触摸屏编程 维修等
email:  ytleader@126.com
2598
多喝水
文章数:129
年度积分:116
历史总积分:2598
注册时间:2015/4/16
发站内信
发表于:2016/1/14 17:27:34
#7楼
楼主你好,看完你上述的经验分享后,我就在想假如从第101等份开始,每个等份脉冲数+1,直到129等份结束。即100*99+29*100=12800,不知道是否具有可行性,本人新手。。表情
14813
liuhuoaaa
文章数:8601
年度积分:50
历史总积分:14813
注册时间:2007/6/11
发站内信
发表于:2016/1/14 17:53:05
#8楼
是不错的经验 以后用得着的 谢谢
23666
wushulin 版主
文章数:6167
年度积分:99
历史总积分:23666
注册时间:2006/2/17
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
西门子PLC体验(一)
我秀我做2014
2013论坛优秀版主
秀秀我的办公桌
晒工控工具书
2012论坛优秀版主
2011国庆活动
2010年度论坛贡献奖
发表于:2016/1/14 19:39:53
#9楼
以下是引用多喝水2016/1/14 17:27:34的发言:
楼主你好,看完你上述的经验分享后,我就在想假如从第101等份开始,每个等份脉冲数+1,直到129等份结束。即100*99+29*100=12800,不知道是否具有可行性,本人新手。。表情

想要怎么弄,是你的事,与我无关表情
关键是你得到的从哪里得到这个29.当然了,你只有把这个28+1
本贴子只能说你可以做参考,这个程序我己经写了四年多了,今天才公布于众。想想就算是给这里搞编程的一个小小礼物了。
[此贴子已经被作者于2016/1/14 19:52:49编辑过]
汽车车桥生产在线检测设备;其它大批量零件生产过程检测,
承接:非标自动化设备设计、旧设备改良与维修; 单独非标项目合作。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006