既然有人愿意讨论,良性的讨论是值得深入的
不过我想先讲个前提,伺服系统各家有各家的算法则
虽然万法不离其宗,最终仍是回到PID的演算。但PID演算的细节各家有各家的玩法
不光是每个厂商自己的PID演算会有差异,同一家产品不同系列就不尽相同
而开放调整的参数更是影响到使用者能调整的范围跟程度。
所以虽然原则不变,但细节差异甚大
※ 引述《snaken (snaken)》之铭言:
: 标题: Re: [心得] PLC 过往工作及最近面试
: 时间: Sat Oct 21 01:31:30 2017
:
: 难得有人想要讨论这一个问题,这边也来分享一下小弟的看法。
:
:
:
:
: 其实在伺服控制里面,控制脉波与编码器回授脉波两者是有关系的
:
: 在位置环控制中的第一件事就是
:
: (控制脉波) x (某个倍率) - (编码器回授) = deltaP
:
: dP 之后才开始处理位置增益之后的速度环、电流环
:
: 这个不知所以然的 (某个倍率)被某个伟大的前辈构思出了 "电子齿轮比" 这个概念
:
: 这东西的目标,其实就是希望使用者把这个值后面的东西都当作一个黑盒子
如果我没有理解错
大大的意思是
控制命令(setpoint)- 回授位置(feedback pos) = 位置误差(position error)
这是位置控制回路(position control loop) 的第一步
有了位置误差以后(P.E.,对应大大文中的DP),就可以丢入PID演算去做后面那段"黑盒子"
如果这个说法符合的话,我就不同意"某个倍率"这件事了
因为这里的"某个倍率"其实指的就是电子齿轮比
并不是先有位置回路的"某个倍率",才有电子齿轮比
而是先创造出了"电子齿轮比",才有了"某个倍率"这件事
位置回路的开头,就是把目标位置-实际位置 ,得到位置误差,
以位置误差作为PID演算的基本参数
而因为引入了电子齿轮比这个参数
才会造成命令位置必须是"脉波命令"x"某个倍率"
这个"某个倍率"就是电子齿轮比
大大的说法是倒果为因了
更仔细的解释的话
命令位置 = 脉波命令 x 电子齿轮比
在最原始的控制时,如果没有电子齿轮比
那么命令位置就等于脉波命令,
所以命令位置 = 脉波命令 = 编码器回授
是因为导入了电子齿轮比,才使得命令位置与脉波命令之间多了一个倍率关系
而这个倍率就是电子齿轮比。
:
: 毕竟大家是用伺服的人,不是开发伺服的人,把自己的人生搞那么复杂做什么呢?
:
: 以现状来说,我们通常就是跟客户讲说:
:
: 阿你就看马达转一圈,载台走多少填进去就对了
: (对不起我们就是那种乱教的人....)
:
: 然后默默的三菱还真的设计了参数只要填螺距一个参数即可....
:
: 我也不是没有遇过真的有兴趣想学想了解的客户,反正讲清楚一点也不花多少时间
:
: 但大家身在这个行业应该也了解,不是每个人都这么有慧根
:
这是事实,不过我一直认为,造成了使用者不求甚解的原因,设备制造商也是共业
长久以来,伺服制造商把"黑盒子"包得死死得不让使用者一窥究竟
使用者就被教育成不必去理解内部演算在做什么的观念,反正会使用就好
说得更明白一点,对,就是你,日系的设备商。
相对的如果看欧系的伺服系统,说明书里大多都把整个控制回路都解释得很清楚
包含每个参数的控制模型跟算法,说明书里大多解释得很清楚
但台湾因为受到日本设备长时间的影响(加上阅读英文的障碍)
所以就算有说明书,愿意看的人也是蓼蓼无几...
:
:
:
:
:
:
:
: 顺便附带说明,编码器分辨率拉高,其实对于位置控制的精确度提升是非常有限的
:
: 讲白点,你要控制一组滑台系统走出1um,最大重点之一是机构要够力
:
: 难道真的有人为以为买了一只20bit (1,048,576)的马达,配上1mm的螺杆
:
: 可以做出1nm的控制?
这里我可以理解。其实更深入来说,编码器分辨率跟精度是两件事
编码器本身也有精度,而精度并不等于分辨率
用旋转编码器解释太麻烦,直接用光学尺来说明
光学尺分辨率譬如是1um好了,精度不会是1um。解析只是解析,
它从来没跟你说每一个脉波不会有误差,这一次你读到十个脉波,跟下一次读到十个脉波
实际位置并不见得是一样的
不过分辨率跟精度之间的关系,比较像是天花板的关系
没有分辨率就没有精度 (但有分辨率不代表有精度)
一个分辨率1um的编码器,"控制精度"理论上的极限就是+- 1um
意思是你能看到在Inpos后,编码器永远只正负跳一个脉波,这是控制的极限
但完全不代表最终精度就会有1um,这跟编码器本身的精度、还有机构有相关
而机构永远才是限制一套系统能达到多少精度的最根本原因
控制精度早就远远远远超过人类能制造出的机构精度条件了
控制精度要压在0.1um以下,以目前的技术来说根本一块蛋糕
但是机构要能达到这个条件... 很拼啊
或是换句话说,你给我一套分辨率到0.1um的编码器+马达
我可以很轻易的控制马达往前走0.1um,并用编码器的回授讯号证明给你看
但实际上机构有没有动?动了多少? 这我就无能为力了
:
: 编码器的分辨率提升,主要的功能在于速度环频宽的拉高。
:
: 用白话点来说就是这个马达加速更有力,更有贴背感(!?)
:
: 目标速度再快都可以追得上!
:
虽然不能说你错,但实际上还真的不是这样
编码器分辨率增加,的确跟控制回路的频宽有关,
但限制控制频宽的一直都不是编码器分辨率,而是伺服系统本身的性能限制
还有机构条件 (一样的,机构才是真正的原因)
一套由0.5kw伺服构成的小型系统,频宽(band width)能拉到300Hz已经是惊为天人了
你怎么会认为是编码器分辨率造成系统频宽拉不上去的?
而频宽影响的也不是加速
影响马达加速能力的是马达转矩/推力
F = MA,牛顿第二运动定律不要忘了(转动系统的话,角加速度 = 转动惯量 x 转矩)
频宽影响的是系统的响应性,反应在结果上,影响的是追随性跟精度表现
编码器分辨率的提升,首要目标还是要提高精度表现
虽然前面说,高分辨率不等于高精度,但低分辨率保证等于低精度
:
:
:
:
: 位置控制的精度要拉高,其实到位区间(Inpos)的影响远远大于其他任何参数
其实我不懂这句意思,可以更仔细解释吗?
:
: 而噪声影响又远远大于一切
:
: 这时通讯型的好处就出来了,通讯基本上可以当作是一个完全没有噪声的东西
:
: 但在初期(大约十来年前),RT通讯不像现在暴力,所以通讯型的伺服反而比较慢
:
: 因为那个年代的通讯时间可能只有10ms才给一次封包
:
: 对于需要高速变换动作的机台而言,这个东西显得不是很够力
:
: 其实一直到这几年,比较精确地讲应该是 Mechalink2 / SSCnet / EtherCAT之后
:
: 大家把通讯时间一鼓作气缩到1ms以下,通讯型才在高阶伺服站稳脚步
:
: 不然以前高阶都还是DSP 轴卡做全闭回路控制的天下。
:
我不懂噪声跟通讯型之间的关系在哪?只要是数位式,理论上抗噪声能力就可以控制得很好
而传统的脉波,其实本身就是数位讯号,差别只在掉脉波的话没人知道
通讯型保证不会掉资料就是了(会有纠错机制)
要说噪声影响的话,指的应该是更早期的类比伺服,这种伺服的回授是类比式
编码器(是不是能叫做编码器我也不确定)本身是一颗发电机
马达旋转产生电压回授,其回授的物理意义是速度值(转速跟电压有比例关系)
这种回授很容易受到干扰影响。不知道多久以前就已经不使用了
:
:
: 科技进步本来就是要减少脑力消耗,这些控制元件以后一定也会越来越无脑好用
:
: 电控人的精力就可以专注在其他更有价值的事情上!
:
:
:
:
:
:
: ※ 引述《wisdom ()》之铭言:
: : : 推 syatoyan: 诚心发问 为什么电子齿轮比害人不浅? 10/09 05:46
: : : → syatoyan: 靠调整电子齿轮比 可以借由较高的回授脉波数 得到更精准 10/09 05:47
: : : → syatoyan: 的误差 不是可以做更精准的误差修正吗? 10/09 05:48
: : : → syatoyan: 还是说 那样得到的误差值其实是假的 实际误差还是以 10/09 05:49
: : : → syatoyan: 编码器的规格为基准? 10/09 05:50
: : : → syatoyan: 可是使用者却认为有电子齿轮比 所以我只要以最低阶的 10/09 05:51
: : : → syatoyan: 所以造成 只要使用最低阶的编码器 + 电子齿轮比设定 10/09 05:54
: : : → syatoyan: 也可以做到误差0.1mm的精准控制 这种错觉? 10/09 05:54
: : : → syatoyan: 弱弱的推测是不是这样的现象 所以电子齿轮比不好? 10/09 05:55
: : 你的观念有误,这是我说电子齿轮比害人不浅的原因之一
: : 电子齿轮比的存在原因
: : 是因为编码器分辨率越来越高,使用者需求的马达转速增加
: : 但脉波发送/接收模组的反应速度跟不上造成的
: : 我们举个例子,为求容易理解 & 计算方便,我用非真实数据来解释
: : 假设编码器分辨率是 360 inc/rev,意即马达每转一度,编码器可以输出一个讯号
: : (这里我不用"脉波",是因为很多人又会被编码器脉波跟控制脉波搞混)
: : 换句话说,编码器的分辨率是 1度,那么这个伺服系统能达到的理论控制精度也就是1度
: : 理论控制精度有两个函义
: : 1. 你能控制马达往前/后转1度。
: : 2. 定位精度极限理论上是 +- 1度
: : 接下来,我们要把脉波控制跟编码器"脉波"混在一起讲了
: : 理论上,以pulse chain作为控制命令,一个控制脉波 = 一个编码器脉波
: : 也就是说,驱动器接收到一个脉波,会控制马达转一个编码器单位
: : 以这里的例子,就是转1度。
: : 请注意,在这里的例子里,你是无法控制马达转0.5度或任何小于1度的角度
: : 假设你希望马达每秒转10圈(10rps = 600rpm)
: : 意即你要控制脉波输出10 x 360 = 3600 Hz
: : 再假设,你使用的脉波输出模组,最高的输出频率只有2k Hz(先别管哪来这么烂的模组)
: : 换句话说,在这套系统里,你无法得到你要的目标转速
: : 于是聪明的制造商,就引入了电子齿轮比这个参数
: : 电子齿轮比让控制脉波 = 编码器脉波 x 电子齿轮比
: : 换句话说,如果电子齿轮比设成 2
: : 一个控制脉波,驱动器会让马达转 2度
: : 这样的话,只要1800Hz的脉波频率,就能让马达达到600rpm的转速
: : 不改变任何硬件条件的前提下,立刻解决这个问题。
: : 请留意,这才是电子齿轮比最初设计出来的初衷,
: : 只是为了解决脉波产生/接收模组的反应速度不够快的问题而已。
: : 而使用电子齿轮比会造成一个根本问题,就是你的控制精度直接下降
: : 以上面的例子,你最小只能控制马达一次转2度,控制精度会下降
: : 意即你只能控制马达走0、2、4..... 这些角度,命令无法给1、3、5.....这些度数
: : (当然定位精度不会改变,一样是 +- 1度。)
: : 所以现在所有电子齿轮比的延伸应用
: : 包含用来将减速比、螺杆导程计算后导入电子齿轮比
: : 让PLC的控制单位 = 机构单位,这种作法看似让应用变得方便了
: : 实际上并不是正确的使用。
: : 而业界不仅是大教特教这种用法,还出书教你怎么算
: : 几乎工控人都把这套方法当成圣经不容挑战了....
: : 当然很多人会说,编码器分辨率这么高,换算到螺杆精度后,
: : 一个编码器分辨率可能是1nm,我只需要1um的控制就好,
: : 何必管设定电子齿轮比后造成的控制精度下降? 不影响使用啊
: : 这我同意,这也是电子齿轮比在应用上,这么多年来也没有人有意见的原因。
: : 不过我说的害人不浅,不完全是应用上不合理,其实稍微不那么低阶的驱动器
: : 都可以让你设定减速比跟螺杆导程,驱动器内部会自动帮你换算
: : 但因为根深蒂固长久以来的使用习惯,太多人已经宁愿就他原本那套电子齿轮比
: : 算好丢一个参数进去就好,也不愿意去使用正确的参数设定。此其一
: : 再者是,控制脉波跟编码器回授脉波,本质上两者是没有关系的
: : 只是在控制上,一开始为求最大控制精度
: : 自然会让控制脉波跟回授脉波 = 1:1
: : 电子齿轮比的引入,造成为数不少的工控人对这两者产生误解
: : 错误观念一久,就很难改了。
: : 很多人真的以为,控制命令(脉波),跟编码器回授(脉波),两者一定要有一个比例关系
: : 当使用到比较进阶的系统时,反而一直纠结在控制命令的问题上
: : 结论
: : 1. 电子齿轮比的使用会导致控制精度下降
: : 2. 没搞懂电子齿轮比的使用者一大票
: : 3. 搞懂但被电子齿轮比这个观念限制住的使用者又是一大票
:
: