加减速控制时,怎样发脉冲控制伺服定位才精确 点击:21900 | 回复:90



coolzhpfree

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2012-09-07 22:28:12
楼主
求助帖10分-已结帖
当我用台达伺服做定位控制时发生这样的现象,脉冲发给伺服,可是编码器反馈实际的位置还没有到我脉冲计算的位置。也就是说:我做加减速控制时已经发送1000个脉冲,我计算的实际距离应该是10mm,可是根据编码器反馈的实际位置大概只有9.5mm,如果速度越快,位置偏差越大,请问有没有高手可以指点一下,在做加减速控制时怎么样才能让编码器实际反馈的位置和脉冲输出计算的位置误差要小一点?



my39366

  • 精华:0帖
  • 求助:3帖
  • 帖子:7帖 | 253回
  • 年度积分:0
  • 历史总积分:463
  • 注册:2011年12月15日
发表于:2013-03-03 21:53:45
41楼
回复内容:
对:south_fox关于 回复内容:对:coolzhpfree关于回复内容:对:征关于你这样问问题得不到有益的答案,大家不清楚你的应用,都在猜。你最好把应用情况,如定位距离、时间、误差等,还有就是设备,如电机的总惯量、负载大小、电机额定转速、额定转矩等写出来,然后才能分析,否则谁知道问题在哪? 内容的回复:那等我把系统相关参数写清楚些再问了, 内容的回复:伺服电机输出脉冲数滞后输入脉冲数,是不可避免的,不然的话,由于机械惯性系统不可避免出现超调。电机速度越快,滞后的越多。至于要减小这个滞后大小,可以调下位置环比例参数,但是这个必须根据系统的惯性和其他要素来确定,简单的就是你调试位置环参数时必须要求你的系统是稳定的。希望这个建议对你有用。 内容的回复:
请教下,既然这个是不可避免的,那么电子凸轮的高低速变化这个值也会变化,那高速两轴位置tong bu该怎么做呢?


  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2006年5月04日
发表于:2013-04-28 11:12:34
42楼

楼主这个控制就是相当于双位置闭环控制了:伺服驱动器本身自己有个位置环,所以在上位机将一定的驱动脉冲发完后等一段时间(如果这个时间用户可以接受),伺服系统会准确的停在相应的位置上。这个方式对客户来说,相当于一个半闭环控制(可能不是很准确)。当采用楼主上面这种方式时(姑且称之为双闭环控制方式),等到编码器反馈的位置到达客户需要的位置时,由于存在滞后,其实上位机已经发送了多余的一部分脉冲,所以这个时候不管采取什么办法,肯定存在位置偏差,这个时候无非就是想办法让这个位置偏差尽量的小,小到客户可以接受的误差范围之内。那只有两种办法,一种是提高伺服系统的跟随特性;一种是减小停机前的速度(就是楼主说的提前减速)。如果从伺服系统的跟随性入手,楼上很多兄弟已经说过了,提高位置增益等,但这个时候就可能会出现楼主所说的系统启停时柔性变差的问题,刚性太强,机械振动太大。所以归根结底还是要回到改善减速特性上面来。但这个时候有存在一个问题,本身驱动器有自己的减速曲线和跟随特性,它会实时的根据驱动脉冲的频率和位置来调整减速(这个过程对上位机来说是个黑盒子),再加上上位机自己的加减速曲线,对于整个系统的加减速来说就是不可预知的了,肯定不会按照设计者的初衷来加减速。所以这个减速点的选择(或者计算)是个非常困难的事情。能不能通过这种方式,上位机也对编码器的反馈进行测速。当采用一定的加速过程到达目标速度(反馈回来电机实际的速度)时,这个时候离启动位置的距离(姑且称之为加速偏移)上位机可以获得,根据对称原理(前提是加减速过程对称),在预订的停止位减去这个加速偏移的位置开始减速,不知道会不会取得理想效果。说了很多,可能没什么帮助,或者也有错误。我想这个问题,做伺服的肯定最清楚,不知道他们会建议客户采用什么方式,楼主可以联系下他们的客服啊

MOULDING5

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 74回
  • 年度积分:0
  • 历史总积分:331
  • 注册:2011年7月28日
发表于:2013-05-09 13:33:13
43楼

如果不是参数没调好就是伺服性能太差,或者伺服电机选型不当。

如同楼上所说,做成双位置环基本上可以说是错误的方法。

根据我的经验,用某些开环但是带有反馈检测的CNC控制器,可以看到编码器反馈回来的脉冲和发出去的脉冲之间的差值,如果伺服没调好,即使在匀速运动的阶段有时也会超过1mm。如果把伺服的位置环增益、位置环前馈、速度环增益、速度环时间常数等参数都调好了,这个误差可以控制在0.003mm以内。所以说,在伺服出于位置模式时,这个跟随误差其实不是上位机能够控制的(上位机该发的脉冲都发完了,再继续发脉冲只能导致错误结果),关键在于伺服本身。楼主还是好好去调整伺服参数吧。

加大增益不见得就会导致运动不平缓,因为你完全可以在上位机实现较长的加减速。只要不发生振荡或者啸叫,把伺服增益和前馈调大一些会好点。

my39366

  • 精华:0帖
  • 求助:3帖
  • 帖子:7帖 | 253回
  • 年度积分:0
  • 历史总积分:463
  • 注册:2011年12月15日
发表于:2013-06-03 15:34:54
44楼

回复内容:

对: 青岛黄工 速度越快,位置偏差越大?丢脉冲了吗,有没有加限流电阻之... 内容的回复!


不是指令位置偏差=转速/60*(每转指令脉冲)/位置环增益么?那么是不是转速越大偏差越大不是很正常吗?

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-08 15:13:16
45楼

这位兄台说的很对,确实是存在你说的情况,怎么样做减速才能满足客户所能接受的最小误差才是重点。我试过 正弦曲线和指数曲线,还有普通的梯形曲线,都没有达到我要的那种既能快速定位又能误差达到最小。很长时间没有看帖,不好意思

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-08 15:15:50
46楼

回复内容:

对: MOULDING5 如果不是参数没调好就是伺服性能太差,或者伺服电机选型不... 内容的回复!


呵呵,如果给你一个伺服参数调整一样,但是上位机的加减曲线不一样,你会觉得伺服运行效果还是一样吗?

第五纪冰川

  • 精华:3帖
  • 求助:5帖
  • 帖子:37帖 | 4224回
  • 年度积分:3
  • 历史总积分:12263
  • 注册:2005年2月18日
发表于:2013-07-09 10:35:56
47楼

回复内容:

对: coolzhpfree  这位兄台说的很对,确实是存在你说的情况,怎么样做减速才... 内容的回复!


 

如果是恒定负载,就好办些。用直线减速,伺服工作在速度模式,直线减速,加快位置采集控制环响应时间,至少达到1/10误差响应时间,才能获得良好的性能。

 

是可变负载吗?

如果是,那本身就是一个非常困难的课题。

这是个稳、准、快的案例,本就是伺服追求的目标。如果依靠伺服本身的位置控制模式无法满足你的控制要求的话,用单片机,估计不太可能满足你的要求。至少控制算法是个非常困难的课题。

说白了,你想用单片机完成目前你用的台达伺服还无法完成的性能。

建议更换性能更高的伺服器。

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-09 16:22:09
48楼

回复内容:

对: 第五纪冰川  回复内容:对: coolzhpfree  这位兄台说的... 内容的回复!


 负载是恒定的,我用的是脉冲+方向控制模式。直线加减速就是 Fm = F0 + aT;控制模式,伺服的扭矩为 10N/米,最高转速1200R/min,伺服传动比为4:1,电子此轮比为 1:1,负载的最高速度为1米/秒,负载运行 1米,伺服电机要旋转15转,负载在长度为 1.5米的车床上反复来回运动。要想负载运行在最高速,伺服电机的转速要达到900R/min。每次往复运行时都有一个加减速过程。每次运行时都有一个定位过程。我现在用ARM控制。通过输出脉冲个数来定位,通过扫描编码器来纠正位置。现在想要找一个合适的加减速控制算法,或者是一个好的方案,来确定怎么给伺服脉冲,才能让电机运行的稳、准、快。

小中华

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 15回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2010年9月14日
发表于:2013-07-09 16:48:23
49楼

回复内容:

对: coolzhpfree 回复内容:对:征关于加减速在哪边做的? 是否是改变上位... 内容的回复!


你的算法是错误的,因为伺服存在偏差寄存器(即存在滞后脉冲),你怎么可以用反馈来作为机械的准确定位呢?你是等反馈位置等于目标位置时停止进给脉冲额?

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-10 10:11:36
50楼

回复内容:

对: 小中华  回复内容:对: coolzhpfree 回复内容:对:... 内容的回复!


 你说的对,我就是等反馈位置刚好等于目标位置时停止给脉冲。虽然伺服存在滞后脉冲,但是只要减速过程做好的话伺服过冲的位置能被客户接受。只要过冲的误差能够在客户接受的范围内则可以。

        我想知道的是:伺服在减速的过程中,怎么样减速才能让这个误差小,而速度又快?

第五纪冰川

  • 精华:3帖
  • 求助:5帖
  • 帖子:37帖 | 4224回
  • 年度积分:3
  • 历史总积分:12263
  • 注册:2005年2月18日
发表于:2013-07-10 13:01:31
51楼

回复内容:

对: coolzhpfree  回复内容:对: 第五纪冰川  回复内容:对: cool... 内容的回复!


 编码器扫描周期多长?

编码器分辨率多少,毫米/个脉冲?

最大误差多少?毫米。

“等反馈位置等于目标位置时停止给脉冲”,这个方法不对。

走梯形曲线,伺服用速度模式,上位机只给定速度,速度环由伺服自己控制,速度环响应也快。伺服会自己按加速曲线(我认为直线更容易控制)加速到最大转速,这个加速曲线是稳定、可控的。然后在到达目标之前就必须开始减速,到速度减为0时,刚好到达给定目标位置。加减速段所走过的距离是可以精确计算的,上面有兄弟已经说过了。至于加减速时间,这个由系统惯量来决定,你现在能在规定时间内到达目标,只是定位精度不高,证明伺服器选择合理,加速度没有问题。

为了定位准确,减速曲线应该尽量长(在时间允许的情况下),越长运行越平稳,这个时间确定了,就能确定需要在什么位置开始减速,上位机只要检测到到达这个位置,就让伺服减速,到伺服速度减为0时,正好为目标值。重复定位精度就得看实际效果了,想必能达到你的要求。

这个控制方法唯一要求的就是你必须以足够快的扫描速度来检测位置,如果扫描周期过长,如一个扫描周期位置变化速度超过了你多误差的要求,那么无论如何都不可能精确定位。我的感觉是扫描速度必须控制到1/10误差位置时间。这样能得到很好的效果。其实你可以用硬件计数高速中断,不要用扫描。单片机更方便,速度更快,应该没问题。

我用PLC、变频器控制一个提升机械,2T重,速度10mm/S,最终定位重复精度能控制优于0.1mm的精度。扫描速度2mS。

你这个项目和我以前设计过的一个磨床高速机械手相仿,移动长度1200mm,当时计算最高速度是500mm/S,这个项目最后没敢接,速度太快了。发过帖子,你参考下:http://bbs.gongkong.com/d/201110/399112_1.shtml

10楼有过实际案例。

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-11 10:14:49
52楼

感谢你的回复:

我的项目是用在电脑横机上的,机器长度为 1.5M左右,伺服传动皮带,皮带带着机头在导轨上运行,负载重为 20KG左右。负载要在机床上来回反复运行。

编码器的扫描周期为 0.5ms。

编码器的分辨率为     0.035mm/脉冲

最大误差                     10mm

电子齿轮比                 1:1

伺服扭矩                       10N/m

伺服功率                        1500W

最大转速                     1200R/min

负载运行最高速度      1200mm/s (也就是说 算上加减速的时间1秒钟机头要走1100mm)

伺服控制模式 位置控制模式(脉冲 +方向)。

现在我的脉冲频率可以到达200KHZ,但是在减速的时候 存在严重的脉冲滞留现象。已经远远超出了我计算的误差范围。

 

 

 

WK791229

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2009年12月23日
发表于:2013-07-11 14:17:49
53楼

你哪个是用同步带吧,

同步带的伺服参数是很难调的

1、你的脉冲频率太高,如果你要追求速度,应该做一个电子齿轮。

2、你的机械部分如果有可能的话最好使用高速丝杆,你所谓的脉冲滞留以我看90%的可能是停机是的震荡造成的,本来你又要高速又要准确,使用同步带就是个错误的设计。

coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-11 15:06:56
54楼

回复内容:

对: WK791229 你哪个是用同步带吧,同步带的伺服参数是很难调的1、你的... 内容的回复!


呵呵,同步带的定位精度很高的 ,可以精确到0.1mm都没有问题。

不是仅仅是依靠调伺服的参数来确定速度和精度。当然伺服本身的参数也要调试到最好的数值。我们现在主要讨论的是控制伺服的加速过程和减速过程来控制速度和精度。


WK791229

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2009年12月23日
发表于:2013-07-11 15:33:16
55楼

我没说同步带的精度不够,我是说1M长的同步带肯定中间是柔性的,必将造成震荡,如果你速度高了的话,他是很难走准确的,哪对伺服参数要求很高,如果你的伺服有自整定功能还可以;我曾经做过2M的同步带机械手,负载也和你差不多,我是用的三菱伺服,刚开始也是走不准确,后面用了它自身的自整定功能多调几遍就好了,不过要求速度快的和精度高的情况下,我的看法还是尽量少用同步带的好。

至于你说讨论伺服的加减速过程,在震荡高的情况下很难手动调整准确

以上为个人意见,看你回复的意思是你已经解决了这个问题了,呵呵



coolzhpfree

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 39回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2012年9月07日
发表于:2013-07-11 15:40:18
56楼

回复内容:

对: WK791229 我没说同步带的精度不够,我是说1M长的同步带肯定中间是... 内容的回复!


我的问题没有解决

产生震荡有好几个原因:

一:同步带安装的不适合

二:伺服增益参数设置不适合

三:运行的加减速没有做好

四:伺服的选型有问题


第五纪冰川

  • 精华:3帖
  • 求助:5帖
  • 帖子:37帖 | 4224回
  • 年度积分:3
  • 历史总积分:12263
  • 注册:2005年2月18日
发表于:2013-07-11 16:14:48
57楼

回复内容:

对: coolzhpfree  感谢你的回复:我的项目是用在电脑横机上的,机器长度为 ... 内容的回复!


 目前的算法下,抛开位置误差不谈,重复定位精度如何?

看要求和实际配置,不应该这么困难呀!

shuaige021

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2003年11月29日
发表于:2013-07-14 19:33:19
58楼

回复内容:

对:‘我们现在主要讨论的是控制伺服的加速过程和减速过程来控制速度和精度”内容的回复!


看过“实时生成步进电机加减速曲线”吗?应该可以解决的http://wenku.baidu.com/view/3be1518102d276a200292ed7.html

第五纪冰川

  • 精华:3帖
  • 求助:5帖
  • 帖子:37帖 | 4224回
  • 年度积分:3
  • 历史总积分:12263
  • 注册:2005年2月18日
发表于:2013-07-17 10:06:44
59楼

回复内容:

对: coolzhpfree  回复内容:对: WK791229 我没说同步带的精度不... 内容的回复!


 兄弟问题解决没有?

al87

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2013年11月01日
发表于:2013-11-01 22:26:11
60楼

准确定位控制,学习中!


热门招聘
相关主题

官方公众号

智造工程师