位置模式下伺服的指令脉冲、反馈脉冲和非整除电子齿轮 点击:10186 | 回复:53



swift1972

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:7帖 | 97回
  • 年度积分:0
  • 历史总积分:133
  • 注册:2007年7月09日
发表于:2007-07-27 08:39:00
楼主

假设伺服工作在位置模式,伺服电机的光栅线数2500,通过4倍频得到一圈的反馈脉冲数是10000/圈,电子齿轮设置是25:8(注意是非整除的),根据电子齿轮的概念,每给出8个指令脉冲,伺服驱动器会在得到25个反馈脉冲后认为到达指定位置,我的问题是,当指令脉冲只给出1个的时候,伺服驱动器是如何控制到位的,应该不会是得到25/8=3.125个反馈脉冲时认为到位了吧?3.125个反馈脉冲如何理解?这些都可能是我在概念理解不正确的情况下的结果,但希望对伺服驱动器熟悉的同仁帮忙解释一下,多谢!



刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2007-07-31 19:37:00
21楼
一般来说,伺服的电子齿轮比都是两个参数,就是为了解决这个问题的。伺服自己会正确处理。
(曾经有人让我设置一比二的平方根,我当时只能想到吐血,吐完以后,问一下,总行程是多少。)

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-07-31 21:43:00
22楼
伺服内部确实具备这种解决能力,最简单的方法就是采用累计指令脉冲,而不是增量指令脉冲,以足够长的累计指令字长来保留余数,以不舍入来克服舍入误差。

只是此时的均匀性是无法保证的。

swift1972

  • 精华:2帖
  • 求助:0帖
  • 帖子:7帖 | 97回
  • 年度积分:0
  • 历史总积分:133
  • 注册:2007年7月09日
发表于:2007-08-02 10:09:00
23楼
本人的想法也确如二位版主所言,总之一句话,实践出真知!

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-08-02 19:49:00
24楼
“曾经有人让我设置一比二的平方根”———在国内某公司专为纺织做的伺服中有平方根处理要求,用查表带插值解决的。

2007的PLC

  • 精华:0帖
  • 求助:5帖
  • 帖子:14帖 | 167回
  • 年度积分:0
  • 历史总积分:628
  • 注册:2006年1月03日
发表于:2007-08-04 22:49:00
25楼
好,我收了,慢慢研究

剑客1

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2004年3月18日
发表于:2007-08-10 22:31:00
26楼
这个问题真的很精典,向各位学习

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-10 23:23:00
27楼
    谈谈我的理解:

    伺服的位置环的PID实际上只有P的环节就是只有比例,无积分无微分,那么比例之前是如何对设定和反馈进行差值计算的呢?是通过一个累加器,也就是计数器吧,不过这个是双向的:一个控制加的一个控制减的,例如:设定值进来的脉冲控制加,反馈则控制减,如果方向信号相反或反向脉冲的话加减逻辑则相反。。。具体加多少减多少呢?那就是由电子齿轮比来进行设定的。。。

就拿楼主举的例子说明吧当电子齿轮比为25:8时,进来一个控制脉冲时计数的累加器就加25,反馈一个脉冲累加器就减8,那么当减到第三个脉冲后呢累加器的数值输出就只剩1了,这时如何动作呢?实际上,因为累加器还是不等于0,所以它的输出还是要经过位置环增益后输出给速度环,只不过这时的数值很小,所以输出的速度指令也会很小。。。当电机继续动作后又有一个反馈脉冲回来,这时累加器又减了8,此时变为-7,由于数值为负,使得经过位置环比例增益计算后的速度的给定值反向了,电机反转,回馈的脉冲信号就控制累加器不再是减了,而是加,回馈了一个脉冲当量后累加器又加回到1,这样电机就会在这一个脉冲当量中间反复的调节正反转,因为转动的距离是细微的,宏观上看就是稳定的保持不动。。。。所以说伺服的停止平衡是动态的平衡,而且无论电子齿轮比多少的情况下平衡的位置精度都是一个回馈的脉冲当量。。。。

一己之见,有误见谅。。。。

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-11 00:00:00
28楼
关于伺服大小步的问题,因为伺服连续转动起来时只是由累加器的数值输出来控制转动速度和方向,所以只要持续的有设定脉冲进来以保证累加器的数值输出不会反向,那么伺服会始终向一个方向转动的,而且中间不会有停顿,那么就不会有步的概念,同样对于连续的转动也就没有大小步的概念了。。。

但刘斑竹说的也没错,如果不是连续的给控制脉冲,是否连续也很难做出明显的界定,其实说白了也就是你的第2个控制脉冲如果赶在累加器被反馈信号减为反向之前到达就应该算连续的,因为电机没有反向转动,这个时间就和整个伺服的三环的运算处理响应时间以及反馈信号的处理时间有关了。。。如果控制脉冲很慢,那么伺服就会停下来甚至会反复的正反转来进行位置调节,这时一个一个的很慢的频率发控制脉冲过来,同时电子齿轮比又不是整数,那么就一定会出现所谓的大小步现象的,这个大小步和步进略有不同的是它也许会三个小步(3个脉冲当量)一个大步(4个脉冲当量),按楼主举的例子就是7个小步(3个回馈的脉冲当量)1个大步(4个回馈的脉冲当量),大步小步之间的差距只能是一个脉冲当量,因此说伺服的控制精度能保证在1个回馈的脉冲当量。。。由于“大小步”及“静止”时的“动态平恒”造成伺服的低速、超低速特性一般都不会很好。。。。。。

所以并不是说伺服的特性就一定优越于步进的,步进的停止保持是通过磁场的合成来达到的,虽然也会有波动,但相对于伺服的这种动态的平衡保持的精度反而更高些,步进的精度比步进的步距的分辨率要高,举个例子:一个两相步进50细分后10000步,它的精度绝对小于360/10000度,粗略的应该在5~10%*360/10000度;而伺服呢,精度和步距的分辨率都取决于编码器,编码器2500,4倍频后10000,它的步距分辨率和精度基本都是360/10000度。。。当然步进在更高的细分后由于对电流细分做的精度不会那么高了以及电路的影响,一定会出现细分后的“大小步”现象,此时的步距已经不能准确的定位了,只能由于平滑运转效果,但一组步的精度还是会有保证的,我的意思就是说如果256细分吧,200*256步的每步不会很准,但有可能连续的2步或4步之和就一定会很准确。。。伺服呢如果想提高控制精度只能靠提高编码器的分辨率来实现,一是价格,二是过高分辨率编码器反馈会造成系统处理速度的负担,只能换用处理速度更高的控制芯片来完成运算。。。。。。

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-11 00:33:00
29楼
当电子齿轮比为整数时的情况伺服在静止时是何种情况呢,如果无外力负载作用时,伺服基本上是静止不动的,因为累加器的数值为0,造成无差值,速度、电流都为0,。。。但这种静止是没有任何意义的,因为一但有外界的负载作用使平衡被破坏,产生了回馈脉冲,那么就又出现了差值,在外部负载的持续反作用力下电机就会开始反复震荡进行动态平衡了。。。这种震荡的动态平衡的精度也同样是一个脉冲当量。。。。。一个没有输出保持转矩的静止是没有任何实际应用意义的,这个无输出的范围是一个脉冲当量,也就是说如果外部负载能产生的位置变化在此范围内也就没有产生回馈脉冲,那么整个系统也同样保持0输出状态。。。。。。。区别于伺服,步进在每一个点的静止保持都是有强大的保持力矩的,而且这个力矩通常都比转动时产生的大,半流保持功能除外。。。。

所以我遇见过的对静止保持要求很严格的定位场合,有时用步进的效果会更好,而且性能好的步进系统不见得就比伺服电机系统便宜。。。。

后起之秀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2003年1月27日
发表于:2007-08-11 11:20:00
30楼
凡夫俗子的见解比较到位.

lg_006

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 390回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2005年2月24日
发表于:2007-08-11 14:34:00
31楼
To:  凡夫俗子,先生所言另人颇受启发。不过对于
     "就拿楼主举的例子说明吧当电子齿轮比为25:8时,进来一个控制脉冲时计数的累加器就加25,反馈一个脉冲累加器就减8,那么当减到第三个脉冲后呢累加器的数值输出就只剩1了,这时如何动作呢?实际上,因为累加器还是不等于0,所以它的输出还是要经过位置环增益后输出给速度环,只不过这时的数值很小,所以输出的速度指令也会很小。。。当电机继续动作后又有一个反馈脉冲回来,这时累加器又减了8,此时变为-7,由于数值为负,使得经过位置环比例增益计算后的速度的给定值反向了,电机反转,回馈的脉冲信号就控制累加器不再是减了,而是加,回馈了一个脉冲当量后累加器又加回到1,这样电机就会在这一个脉冲当量中间反复的调节正反转,因为转动的距离是细微的,宏观上看就是稳定的保持不动。。。。所以说伺服的停止平衡是动态的平衡,而且无论电子齿轮比多少的情况下平衡的位置精度都是一个回馈的脉冲当量。。。。"还是有点疑问。
   这样将导致了电流环必然性的频繁振荡吧?

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-11 18:26:00
32楼
实际上伺服的停止稳态就是个动态平衡,不只电流环,那时的速度环输出也一样,但是因为差值都很小,所以每个环节的输出也必然很小,这种震荡的频率不一定会很高,原因非常简单,输出的电流小导致输出转矩也不会很大,速度也慢,即使震荡也不会是高频的。。。
就是恒速的运行时,速度输出也一样是在期望值即设定值上下做细微震荡的,由于这些变化都是细微的,所以宏观看就是稳定的。。。举个更直观的例子吧,从交流电整流成直流,即使再完善的稳压斩波啊,那个直流电的就说24VDC吧,也一样是微观看是脉动的,只是变化很细微,我们宏观上看就是DC24V。。。

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-11 20:13:00
33楼
TO:lg_006,你好,谢谢你对我的指正,呵呵 对不起大家,更正自己对电子齿轮的理解错误:

确实是控制脉冲是对位置环的比较器(即一个累加计数器)进行加的话,那么反馈脉冲就是减。。。但我之前的理解部分有误,正确应该如下:

电子齿轮只是作用在控制脉冲回路,反馈脉冲的回路是直接对计数器进行一个脉冲减1的操作。
那么电子齿轮到底如何对控制脉冲作用呢?我认为的正确理解如下:还拿楼主的25:8的例子,一个控制脉冲接收后,接收脉冲的对应一个地址区D001里数值就加25,然后系统马上做出一个对D001的减法,减8,每减成功一次8就发一个脉冲给后面的差值累加器进行一次累加器加1的操作;此时D001地址里的数值在不断的减8发一个脉冲给累加器后逐渐减小到小于8,当系统判断D001地址里的数值小于8后就停止了对D001地址进行减8和发脉冲了;此时D001地址里剩余的数值保留,等待下一个控制脉冲接收后再将D001地址里的数值加上25后重新赋值给D001,由于D001里的数值满足了大于等于8的条件,系统继续进行减8和发脉冲给累加器加1的操作。。。这样的话当第8个控制脉冲被处理完成以后D001地址里的残值也就积累凑成了一个8被减一次后归0同时多发了一个脉冲给后面的差值累加器了,。。前面的7个控制脉冲都是转化为3个累加器的加1脉冲,最后的1个控制脉冲是转化为4个累加器的加1脉冲。。。8个控制脉冲合计转化为25个累加器的加1脉冲,电子齿轮作用成功。。。

呵呵,以前的理解有误,望见谅!上述的方法就可以避免了有残余数值时系统电流环和速度环在无外力负载情况下的自震荡。。。而且也可以保证即使在有外力负债情况下产生震荡时正、反两个方向的输出的一致性,因为累加器的输出始终就在1和-1间,也保证了由于差值最小所计算产生的细微震荡也最小。。。但在有外力负载的情况下是一定会产生动态的细微震荡平衡,精度就是一个反馈脉冲的当量,这个理解没有错,还有就是超低速时所谓的大小步现象的理解也一样没错。。。

有误之处还望批评指正。。。

老柴夫

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 195回
  • 年度积分:0
  • 历史总积分:196
  • 注册:2006年3月02日
发表于:2007-08-11 20:38:00
34楼
从精度设计的角度看。
1个指令脉冲对应的是系统中的最小精度。
例如,直线运动的精度是0.001mm/脉冲。就是讲,电子齿轮对就的是0.001mm/3.125
这样一算,0.001mm/3或是0.001mm/4都是系统可接受的了,好象测量里有个测不准的说法。

凡夫俗子

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 540回
  • 年度积分:0
  • 历史总积分:642
  • 注册:2003年11月27日
发表于:2007-08-11 21:22:00
35楼
呵呵,精度不是指令脉冲能决定的,是由反馈的编码器的一个脉冲当量决定的。。。如果编码器是2500的话,那么4倍频后就是10000,电机的轴输出精度就是360/10000,至于最终负载的精度就要看传动比以及机械精度了。。。
一个控制脉冲只能被称为控制分辨率或指令单位而已,具体的电子齿轮的如何设定,以安川的伺服举例如下:
电子齿轮比= B / A = Pn202 /Pn203 = 编码器脉冲数*4/负载轴旋转一圈的移动量 * m/n   ,,,,m/n=电机轴与负载侧的机械减速比(电机轴转m圈,负载轴转n圈),,,负载轴的旋转一圈的移动量=旋转一圈的总位移/期望的一个控制脉冲的指令单位,举个例子,如果丝杠的导程是4mm,期望的一个控制脉冲的指令单位是0.001mm的话,那么移动量=4/0.001=4000。。。。

其他伺服的电子齿轮比参数大体类似。。。。

一己之见,有误见谅

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2007-08-12 12:41:00
36楼
"我的意思就是说如果256细分吧,200*256步的每步不会很准,但有可能连续的2步或4步之和就一定会很准确。。。"
这个,不只是电流的问题,也有电机的问题,以前卖直线步进电机的时候,规格是磁极周期1mm,两相四拍驱动,250细分,分辨率1微米。还有一个重要的数据是:[color=#FF0000]磁滞3微米[/color]。实际测下来,定位的重现性与定位的减速度有关。最大的时候,确实有+/-3u

swift1972

  • 精华:2帖
  • 求助:0帖
  • 帖子:7帖 | 97回
  • 年度积分:0
  • 历史总积分:133
  • 注册:2007年7月09日
发表于:2007-08-15 14:27:00
37楼
呵呵,工作关系,好久没有来运控论坛了,看到大家对此问题进行了如此深入的探讨,真是感谢大家,尤其是凡夫俗子,让我受益非浅啊!

lg_006

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 390回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2005年2月24日
发表于:2007-08-15 15:07:00
38楼
 To:凡夫俗子 指正不敢,请您解惑才是真的。

李泉平

  • 精华:1帖
  • 求助:0帖
  • 帖子:88帖 | 292回
  • 年度积分:0
  • 历史总积分:745
  • 注册:2006年12月22日
发表于:2007-10-26 15:54:00
39楼
      我现在也有这样的问题,在电机每分钟内的转速不变时,把PLC发脉冲的频率降低,是不是发的脉冲量也要相应的降低?要是这样,发的脉冲数量就对不上我要的电机转的圈数,是通过电子齿轮比来调整吗。
    其是为了达到伺服电机在每分钟内的转速不变,但要求频率相应的低,因为如果在发的冲量多时,又要在一定时间内把这脉冲发完,那频率要很高,这时PLC发不了那么高的频率,所以我想能过降低发的脉冲量来降低频率,又要使脉冲量对应的伺服电机圈数不变。
   谢谢各位,能告诉要怎样做才能做到。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2007-10-27 12:08:00
40楼
是通过电子齿轮比来调整吗。
是。

所以我想能过降低发的脉冲量来降低频率,又要使脉冲量对应的伺服电机圈数不变
改电子齿轮比

热门招聘
相关主题

官方公众号

智造工程师