ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

伺服压机重复定位精度:丝杠、编码器与算法协同是关键

伺服压机重复定位精度:丝杠、编码器与算法协同是关键 伺服压机这个行业只要涉及精密压装、铆接、成型几乎绕不开一个指标重复定位精度。很多设备说明书上会写“重复定位精度±0.01 mm”但真到产线上验收却常常发现这个数字跟实际对不上。问题出在哪说白了伺服压机控制系统里的重复定位精度不是某一块板子、某一个传感器的功劳而是编码器、丝杠、算法三段一起扛事。机械段负责把电机旋转变成直线位移编码器段负责告诉控制器“压装头到底走到哪了”算法段负责让每一次动作都尽量走上同一条误差曲线。我调了多年伺服压机最深的体会就是这三段各管一段但谁也别想替谁兜底。1. 重复定位精度究竟在“重复”什么1.1 从一次压装投诉说起去年处理过一套伺服压机客户做的是把衬套压入壳体工艺窗口压入力4.2 kN终点位移要求控制在0.02 mm内。前面两批做得好好的第三批突然出现“压入力到了但压入深度总是不统一”的怪问题。现场一开始怀疑是压力传感器漂移换了一个还是老样子。后来把压装曲线整个拉出来才发现伺服电机中间有一小段多走了将近0.15 mm又自己退回来了只是压力保持阶段位置环强行拉住最终显示位移反而一样。这个案例特别能说明问题重复定位精度是一个链式指标机械微量爬行、编码器分辨能力、算法补偿行为三个因素叠在一起任何一个环节“突然变样”都会反映到最终重复性上。所以讨论这个问题之前必须先弄清楚我们说的“重复”到底重复的是哪个量。压装设备里有时看位置有时看压力有时看压力-位移曲线覆盖面积不同的重复对象对应的误差来源完全两回事。1.2 定位精度、重复定位精度、分辨率别再混在一起业内最常被混在一起说的三个词是定位精度、重复定位精度和分辨率。分辨率是指位置反馈能分辨的最小变化量比如17位绝对值编码器配5 mm导程丝杠理论上一圈被分成131072份每一份对应的直线位移约0.038 μm。分辨率数字好看但不代表设备能做到微米级因为机械噪声和信号细分误差摆在那里。定位精度是目标位置与实际到达位置平均值之间的差值体现的是“准不准”重复定位精度则是多次到达同一目标位置时实际位置围绕平均值散布的大小体现的是“稳不稳”。打个比方目标位置设在50.000 mm三次实测是50.012、50.011、50.013定位精度大概是0.012 mm但重复性只有±0.001 mm。反过来如果三次实测是49.998、50.015、50.002定位精度从单点看也许说得过去可重复性已经非常差了。伺服压机产线真正关心的是后者。因为压装工艺窗口往往是围绕“每次同一位置施加同一压力”来设置的如果设备每次停的位置漂来漂去即使平均值刚好都在工艺范围内也会有相当比例的工件落在窗口外面。1.3 误差是怎样被“三段接续”的我习惯把整条定位链路拆成三段来看指令生成与算法补偿段、驱动与反馈段、机械传动段。指令段给出期望位置驱动段输出力矩反馈段实时上报位置机械段完成旋转到直线的变换。常规工程估算时三段误差可以用平方和根法合成比如机械单项重复误差±5 μm、反馈噪声重复误差±3 μm、算法跟随误差±2 μm合成结果大约是±6.2 μm。但这里有个前提三项误差统计独立。实际设备里丝杠的周期性误差和编码器的角度位置高度相关算法又会对反向间隙做补偿三段之间根本不是独立事件。所以我从来不在调试开始前直接套合成公式而是先用实测数据判断到底哪一项在主导再决定往哪个方向使劲。合成公式只能用来做预算不能用来代替验收。2. 丝杠机械段管的是“底数”2.1 首先看导程精度等级C3、C5差多少滚珠丝杠的导程精度等级直接决定了机械单项误差的量级。C10适合一般传动C7适合普通机床进给C5和C3才是伺服压机应该重点考虑的档位。C5级在300 mm行程上的导程误差一般在23 μm上下C3级能到8 μm左右C1级更小通常用于高端机床。对定位精度要求±0.01 mm的伺服压机来说至少选C5想留余量就上C3。需要泼一盆冷水的是丝杠样本上给的精度是单件、恒温、标准支撑条件下的导程误差装到设备上之后还要叠加支撑轴承的轴向窜动、螺母座的受力变形、导轨的直线度误差。现场实测的机械单项误差通常比样本值大2到3倍。我见过不少项目在选型阶段被“C3级”这个标签冲昏头结果整机装配完一测精度反而不如另一台用C5但安装工艺更认真的设备。所以机械段真正重要的是整机装配后的实际精度而不是丝杠零件本身的等级标签。说到具体指标建议直接看供应商的检测报告重点看两个方向正向和反向的导程误差曲线而不只是平均误差。同样的平均误差可能一个丝杠是均匀分布另一个是中间一段突然凸起后者在补偿表里会非常难处理因为需要更密的补偿点才能压下去。2.2 背隙、预压与换向的那一刻丝杠的另一个大头是反向间隙。伺服压机的工作特性是“前进、停顿、微量退回、再前进”这种工况最容易把背隙逼出来。如果丝杠螺母没有预压滚珠与滚道之间存在游隙换向时就会先空走一段少则几微米多则十几微米。消除背隙的标准做法是预压双螺母预压和单螺母加大滚珠预压是比较常见的两种方式。行业里一个比较实用的经验是中等预压后反向间隙可以控制在3 μm以内做得好能到0.5 μm以下。但预压不是越大越好预压加大摩擦力矩和温升都会上来反而可能引发热变形问题。调试时不能只盯着“反向差了几个微米”还要看电机电流有没有明显变大丝杠温度是不是一直往上涨。为了0.1 μm的间隙把整个机械系统弄到发热那是捡了芝麻丢了西瓜。我自己的调法是用千分表顶住工作台手动正反向各走一小段把反向差值记录成表再对丝杠做预压调整。这一步需要专用工具不能拿普通扳手硬拧否则容易把螺母预压调得过死一上电就过载报警。调完后要多跑几轮往复循环让丝杠充分运转再复测反向间隙因为新调整的预压需要“跑合”才会稳定下来。2.3 热伸长白天和晚上的设备精度不一样伺服压机很多不是放在恒温车间里的夏天车间温度可能到35℃设备连续运转后丝杠也会发热。这里有个基础数据钢质丝杠每米每升高1℃大约伸长11到12 μm。一根1.2 m的丝杠温升10℃伸长量就是130 μm以上远超C3级导程误差本身。这个量级意味着如果不处理热伸长白天冷机状态和连续生产两小时后的状态位置基准是完全不同的。高精度的伺服压机一般有几个对策丝杠结构上做预拉伸让热伸长往预设方向释放控制器内做温度补偿根据温度传感器数据修正指令位置更彻底的办法是用光栅尺做全闭环直接以工作台的实际位置为反馈基准不再指望丝杠保持绝对长度。我调试时通常的做法是先测丝杠表面温升曲线让设备按工艺动作空跑半小时记录温升和对应位移漂移建立一张温升-位移关系表。如果漂移量确实不可接受再决定要不要启用温度补偿。千万不要一上电就把温度补偿打开因为冷态和热态机械间隙不同过早补偿容易把机械正常蠕变掩盖成控制器问题后面排查反而更费劲。2.4 安装刚性精度表之外的最大变量丝杠本身再精装在一个刚度不足的支架上也是白搭。压装瞬间的轴向反力会先压弯支架再压缩法兰最后才传到丝杠螺母上这一串弹性变形加起来有时候比丝杠导程误差大一个量级。现场有一个便宜又管用的验证办法用千分表顶住压装头执行几次满载或接近满载的加载看千分表位移量有多大。如果加载变形已经超过允许的位置误差正确顺序是回头加强机械刚度而不是去调伺服增益或者补偿表。我在现场遇到过很多“怎么调都调不到精度”的案子查到最后问题是机架焊缝强度不够、立柱螺栓没按要求预紧、或者压装头导向套间隙太大这些地方都不是参数表能解决的。3. 编码器这一段的职责是“看得准”3.1 增量、绝对、多圈绝对怎么选伺服压机的编码器通常装在伺服电机尾部同时给速度环和位置环提供反馈。增量式编码器结构简单、响应快但断电丢位置开机必须回零绝对式编码器上电就知道当前位置多圈版本还能记录总圈数很适合压装设备这种需要反复定位、频繁上下电的场景。选择时要先看单圈分辨率再看多圈范围。单圈分辨率决定每一个反馈计数对应的直线位移量比如17位单圈编码器配合5 mm导程丝杠理论当量约0.038 μm多圈范围则决定行程覆盖能力如果丝杠行程超过电机几十圈多圈位数不够会导致位置回绕。近几年的伺服电机普遍标配17位到23位多圈绝对值编码器协议方面常见的BISS-C、EnDat、Hiperface等都要跟驱动器的接口匹配别只看分辨率数字就去选型。3.2 编码器的分辨率、精度、重复性其实是三本账编码器也有自己的精度和重复性而且它们不完全等于整机的重复定位精度。编码器精度指输出角度和真实角度之间的偏差主要来自码盘刻划误差、安装偏心、信号处理延时重复性则指同一角度多次测量的稳定程度。好的编码器重复性通常比精度高一个数量级伺服系统恰恰最依赖重复性因为系统性的角度偏差可以通过校零和补偿来消除真正头疼的是随机跳动。我选编码器时重点看两项信号细分误差和重复性指标。细分误差直接决定低速运行时位置反馈的抖动幅度重复性决定同一位置多次读数的稳定性。绝对值精度反而不是第一考量因为压装设备通常不要求编码器输出一个全球坐标只要求在同一个设备内部反复走到同一个位置。3.3 半闭环与全闭环编码器装电机端还是装工作台“编码器”在伺服系统里其实有两个安装位置。装在电机尾部的是半闭环反馈控制器看到的是电机转角默认丝杠是刚体再把转角折算成直线位移。这个方案结构简单、不易振荡但丝杠的螺距误差、热伸长、弹性变形全在闭环之外位置精度靠补偿表去追。装在最终执行机构上的是全闭环也就是加光栅尺或线性编码器直接把压装头的实际位置送进位置环机械误差全在环内系统理论上能补掉大部分机械误差但也把机械谐振引入了闭环调不好很容易震荡。对伺服压机来说行程短、压装力小、环境温度相对稳定的场合半闭环加螺距误差补偿基本够用。如果客户要求全程微米级重复性或者现场温度波动大我会建议工作台端装光栅尺电机端编码器只负责速度反馈。这样既能享受全闭环的位置精度又不会让速度环失去稳定参考。3.4 安装同心度、联轴器和污染问题常常不在器件本身编码器参数再好安装不好照样白搭。电机轴与编码器轴不同轴或者联轴器刚性不足会在角度信号里叠加一个与转速同频的周期性波动。码盘表面一旦沾了油污或粉尘增量信号幅度会变得不均匀严重的会在某个转角区间连续跳码这在压装时表现为“位置反馈偶尔多跳一点”很难复现最难查。我处理过一台设备重复定位精度一直在±0.02 mm和±0.005 mm之间来回横跳更换丝杠、修改补偿表都没用。最后拆开编码器外壳发现码盘上有一道极细的油痕拿无尘布蘸专用清洁剂轻轻擦掉重新装好精度立刻稳定回到±0.005 mm。所以伺服压机调试清单里必须包含编码器安装与保护检查联轴器打表、码盘检查、出线口密封这些不花多少钱但能省掉大量排查时间。3.5 顺便说说“多码道”这些新名词的价值现在能看到一些编码器宣传“3码道”“多圈码道”本质是在单圈信息之外增加校验和诊断信息提高数据传输可靠性。对伺服压机用户来说真正要关心的不是码道数量而是协议能否与驱动器匹配、读数刷新周期能否满足位置环带宽、断线诊断是否及时。有些编码器标称分辨率很高但总线上数据刷新频率却跟不上位置环更新等于数据到了但已经晚了位置环只能用上一拍的位置信号精度照样上不去。4. 算法让每一次压装走同一条误差曲线4.1 电流环、速度环、位置环谁决定了稳定边界伺服压机里的算法不是孤立的一块而是三个嵌套闭环最内层电流环管转矩中间速度环管转速最外层位置环管定位。整定顺序永远是从内往外先确认电流环默认参数能稳定出力再调速度环增益最后调位置环增益。位置环增益越高跟随刚度越好位置误差越小但增益过高会激起机械谐振因为丝杠和负载之间是弹性连接不是刚性连接。实际调试时位置环增益的上限由机械谐振频率决定。我一般先做一个小幅阶跃测试慢慢加大位置环增益观察工作台或电机电流有没有高频振荡找到谐振临界点然后把位置环增益设在临界值的三分之二左右。这个值往往不是伺服驱动器能给的“最大数字”但是是最稳的数字重复定位精度靠的是稳定不是“猛”。4.2 增益调太高精度反而会掉很多人以为位置环增益越高重复精度越好其实不一定。增益调上去以后机械的微小非线性摩擦、丝杠的局部卡滞、编码器的细分噪声都会被放大结果就是位置环在目标点附近高速“抖动”虽然平均位置准了单次位置散布反而变大。现场一个常见现象是某参数调高以后静态重复精度变得更好看但连续压装时位置时好时坏。这是因为动态过程的瞬态响应把机械缺陷放大了。所以我在调位置环时不只记录最终到位位置还会观察到位过程中的位置曲线是否平滑。如果曲线有高频抖动或者小幅过冲就算最终停下来的点很准我也会把增益降回来一点换取更平滑的趋近过程。重复定位精度的本质是“每次走的路都一样”曲线平滑比终点瞬间准更有价值。4.3 前馈与死区影响“快到但还没到”的那段距离压装头接近目标位置时是“减速、到位、保持”的过程这一段对重复性影响最大。如果位置环只有比例控制移动中会存在稳态跟踪误差误差量级大约是运行速度除以位置环增益。为了减小这个误差高端系统会加入速度前馈把指令速度直接送到速度环让位置环不用单独靠位置误差来驱动电机运动。伺服压机行程一般很短还经常遇到“死区”问题目标位置相差零点几个计数时位置环输出太小克服不了静摩擦力电机干脆不动停在前后相差好几微米的位置上。应对办法有几种比如加入死区补偿电压或者采用“过冲再回拉”的定位策略。过冲回拉要小心因为退回时丝杠换向背隙会引入新的位置偏差。我的经验是优先用死区补偿补偿量要靠现场试验确定加得太大反而会在到位区出现位置振荡。4.4 螺距误差补偿、反向间隙补偿、温度补偿三张表怎么配合算法段的主要工作就是把三类系统误差“管”起来。螺距误差补偿先把丝杠每个行程位置的累计误差做成表位置环据此修正指令位置反向间隙补偿在换向时额外多给一个位移或者一段速度抵消背隙温度补偿根据温度传感器读数修正位置基准。三张表必须按正确顺序加载做反了会出现补偿量抵消甚至越补越差。我调试的习惯是正反向各测一组完整误差曲线再建表因为正反两个方向的螺距误差曲线往往不对称反向间隙在不同位置上也可能不一样。建表时要注意补偿点间距丝杠存在局部导程凸起时补偿点要加密到0.5 mm甚至更小太疏的表格会把局部误差当成随机误差丢到残差里去。补偿表填完以后必须要做闭环验证在原始测试之外再测一组独立数据如果补偿后的数据仍然有明显趋势说明表格间距或者补偿方向有问题。4.5 压力闭环与位置闭环切换重新定义“重复到位”伺服压机与普通定位轴的最大不同是很多工艺要同时控制位置和压力。典型过程是空行程用位置闭环快速接近工件接触后切换到压力闭环以“压力到位”或“位置到位”作为停判条件。在压力闭环模式下重复定位精度的含义变成了“相同压力下位移是否一致”或者“相同位置下压力是否一致”。压力环的带宽比位置环低因为力传感器本身有弹性变形反馈滞后更大。切换太生硬会出现“压力已经到目标但压装头还在往前蹭”的现象。我的做法是在位置环和压力环之间设置一个平滑切换区切换速度根据工件接触瞬间的刚度曲线来定并且把压力环增益限制在不会激发机械谐振的范围里。现场调这类参数没有固定公式要把压力-位移曲线调出来边看边改最终目标不是单点的精度而是整条工艺曲线的一致性。顺带提一句现在有些系统在研究用数据驱动的方式做误差预测和补偿听起来很高级但工业压装这种强非线性、强负载变化的工况我的观点是先把传统补偿表做好再考虑更复杂的模型。因为补偿表出了问题容易定位聪明模型出了问题连解释都很难。5. 一次真实调试如何把重复性从±0.03mm压到±0.008mm5.1 先用最便宜的测试法判断误差类型有一台四柱伺服压机客户抱怨压装位移重复性太差实测大概±0.03 mm工艺要求±0.01 mm。我到现场没有急着调参数先做了一遍最基础的重复性测试同一位置、同一速度、同方向连续走10次不换向实测散布约±6 μm。然后做正反向往复运动10次散布立刻涨到±27 μm。这两组数据一对比问题定位就非常清楚了单向重复性还不错误差主要出在换向环节优先怀疑丝杠背隙、反向间隙补偿不合理而不是丝杠导程本身有问题。这一步排查方法几乎不花成本但能把后续工作引到正确的方向上。很多调试人员上来就改伺服增益结果改了半天精度没有本质变化就是因为没有先分清误差类型。5.2 机械侧动了哪些地方接下来用百分表和扭矩扳手检查工作台与丝杠螺母座的连接螺栓发现其中两个螺栓明显偏松按原厂规定力矩重新锁紧。然后用反向差值法测量丝杠正反向间隙实测约0.03 mm这基本把整个误差预算消耗光了。于是重新调整双螺母预压到制造商推荐值再把导轨润滑脂换新因为之前的润滑已经干涸低速爬行严重。机械侧处理完重复性已经降到±0.02 mm左右但离工艺要求还是差一点。这一步的经验是调整预压和润滑要一步一步来每动一项就做一次重复性测试否则多个变量同时改后面根本分不清是谁产生了效果。5.3 编码器侧的问题机械侧差不多干净之后我顺手看了一圈编码器。用驱动器自带诊断软件抓编码器信号发现电机低速运转时角度反馈有一个很规律的周期性波动频率和电机旋转一圈严格对应。查机械结构电机轴到丝杠之间的弹性联轴器安装偏心旋转时把周期性角速度波动带进了位置反馈。拆下来重新安装用千分表打表校正同轴度再换上一只零背隙联轴器后编码器信号里的周期性波动消失了重复性降到约±0.012 mm。这个环节说明编码器本身没有坏参数也没问题但它的安装接口能活生生吃掉将近10 μm的重复性。联轴器的选型和安装在伺服压机调试里值得多花一点时间。5.4 算法侧补上最后几微米机械和反馈都干净以后开始做算法补偿。先用激光干涉仪在整个行程不同位置上测正反向误差曲线发现中部有一段约15 μm的“小坡”和丝杠制造时的局部导程误差吻合。把螺距误差补偿表按0.5 mm间距建好同时把反向间隙补偿从固定的12 μm改成按位置分段补偿因为不同位置的反向间隙实际略有差异。随后启用了温度补偿基准传感器放在丝杠螺母附近。三项补偿全部生效后连续正反向往复30次实测位移重复性稳定在±0.008 mm左右。这里必须强调这个结果不是我挑出来的一次最好数据而是连续30次全部落在±0.008 mm以内。验收看的是分布的稳定性不是某一次漂亮的点。5.5 验收报告里怎么写才能不被坑写进验收报告的重复性数据有几个统计量值得较真实测位移极差、标准差和合格率。客户往往只喜欢报极差但极差对单次偶发干扰非常敏感一次电气干扰就能让极差很难看。我会建议同时规定标准差上限比如“极差≤0.02 mm标准差≤0.004 mm连续30次循环合格率100%”。同时报告必须写清楚测试负载、运行速度、方向顺序、环境温度和连续运转时长。同样的伺服压机冷态测和热态测空载测和满载测数据能差出一倍不止。不写边界条件的验收报告后面一定会扯皮。我的习惯是验收前先让设备按实际工艺空跑二十来分钟让丝杠和轴承建立温度平衡再开始测正式数据这样报出去的数字才是客户能复现的数字。6. 最后说几条实际经验调试伺服压机多了以后我越来越觉得重复定位精度就是一条链丝杠和机械结构提供底数编码器和驱动器提供反馈算法负责滚误差。底数太差反馈再好也只能观测到差算法再好也只能补偿一部分。反过来底数很好但反馈在抖动、算法在乱补照样做不出高重复性。所以调试顺序一定是机械、反馈、算法一台一台过哪一段在某台设备上是主要矛盾就集中力气处理哪一段。两个小技巧值得分享。第一伺服压机上电后别马上做精度验证先按工艺动作空跑十到十五分钟等丝杠和电机温度建立平衡再测数据会稳定很多。第二保存补偿表时要连同当时的机械状态、环境温度、软件版本、负载条件一起记录因为半年后设备精度变了你得能分辨到底是机械磨损、元件老化还是参数漂移。能做到这两点后面排查问题会省掉非常多的时间。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进