ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

三轴点胶机运动控制系统实战:三环整定、电子齿轮比与故障排查

三轴点胶机运动控制系统实战:三环整定、电子齿轮比与故障排查 三年前我第一次独立接手一台三轴自动点胶机客户只给了一个要求把胶点准误差别超过0.05毫米。当时我以为这事就是接几根线、配几个参数结果第一天就把丝杠撞出了异响第二天伺服开始啸叫第三天定位精度飘到0.3毫米。那半个月里我翻了大量手册、示波器测了无数次波形才算把运动控制系统这套东西摸出点门道。这篇文章就是那段时间以及后续做贴片机、激光切割、数控钻铣项目积攒下来的学习笔记偏向实操不是教材复述。运动控制系统这个词听起来很工程化其实拆开看就四件事让电机知道该走多远、走多快、什么时候到、没到怎么纠。把这四件事串起来就是指令、控制、驱动、执行、反馈五个环节。适合正在入门自动化设备调试的朋友也适合做了几年电控但一直靠改参数碰运气的同行我会尽量把每个参数背后的计算过程写清楚让你改的时候知道自己在改什么。1. 先把运动控制系统拆成看得懂的几块1.1 从让电机听我的话到闭环思维很多人第一次接触运动控制脑子里想的是我发一个脉冲电机走一步。这个认知在步进电机开环时代是对的放到伺服系统里就完全不够用。现代运动控制系统的底层逻辑其实是我给一个目标值系统自己想办法走到位并持续报告走到了哪。区别在哪前者是命令后者是协商。举个生活里的例子。开环控制就像你让朋友去楼下买瓶水说完就不管了他有没有买回来你不知道。半闭环是你让朋友去买水他在路上一直跟你汇报我下楼了我进店了我付钱了但最后有没有拿回那瓶水你依然不知道——这里的汇报就是电机尾部编码器的反馈它只告诉你电机转了不告诉你丝杠真的动了。全闭环则是在水杯上装了个传感器水真的进了杯子才算数也就是在机械末端加光栅尺或磁栅尺。为什么这个区分重要因为现场百分之七八十的精度不够问题根源都在这里。你用的是半闭环系统电机转得一丝不差但丝杠有反向间隙、联轴器有扭转变形、皮带会伸长末端实际位移跟电机转过的角度对不上。这时候你在驱动器上拼命调增益只是在优化一个本来就测不准的信号属于南辕北辙。我的经验是定位精度要求优于0.02毫米、或者存在明显反向运动往复加工的场合优先考虑全闭环或者机械上加消隙结构别指望控制器算法能补回来。1.2 三环嵌套电流环、速度环、位置环谁管谁伺服驱动器内部是三层嵌套的闭环从内到外依次是电流环、速度环、位置环。理解这三层的分工和响应速度差异是调参不乱套的前提。电流环最内层响应最快一般采样频率在8kHz到16kHz甚至更高它管的是电机绕组里流过多大的电流本质上管的是力矩。你给一个力矩指令电流环在几十微秒内把它变成实际的电流输出。速度环在中间采样频率通常1kHz到4kHz它把速度指令和编码器算出来的实际转速做比较输出一个力矩指令交给电流环。位置环最外层采样频率最低通常几百Hz到1kHz它把位置指令和实际位置比较输出速度指令交给速度环。嵌套的意义在于各管一段不越权。位置环不直接去改电流它只告诉速度环你该跑多快速度环再告诉电流环你该使多大劲。为什么要这样分层因为不同物理量的响应速度差着数量级如果把位置和电流放在同一个环里调会出现为了让位置跟上而给了一个巨大的力矩结果电机猛冲过头的情况。分层之后内层快速收敛外层慢慢修正整个系统就稳了。有一组经验数据我一直记着位置环带宽通常在几十赫兹速度环带宽在几百赫兹电流环带宽在1kHz以上三者的带宽比大致保持在1:5:5甚至1:10:10比较稳妥。如果位置环带宽逼近速度环带宽系统必然振荡。这也是为什么调参必须从内到外先把电流环整定好再整速度环最后动位置环顺序反了就是白费功夫。1.3 开环、半闭环、全闭环的成本与收益对照选哪种结构不是技术先进性的问题是性价比问题。我整理过一张对照表每次做方案评估都会拿出来过一遍。结构类型反馈位置典型精度成本区间适合场景开环无反馈依赖电机本身±0.05mm以上最低步进电机送料、简易传送、成本敏感的轻载场合半闭环电机轴端编码器±0.01mm机械良好时中通用伺服点胶、锁螺丝、普通搬运全闭环机械末端光栅尺±0.002mm甚至更高高精密磨削、半导体设备、高精度检测平台这张表里最容易被忽略的是典型精度那一列的前提条件。半闭环标±0.01毫米是建立在丝杠C5级、联轴器刚性连接、反向间隙小于0.005毫米的基础上的。你要是用了一根C7级轧制丝杠配弹性联轴器实际能到±0.05毫米就不错了。我见过不少项目预算卡得死选了半闭环又不肯在机械件上花钱最后精度不达标回头改机械的成本比一开始选全闭环还高。所以我的建议是精度指标先倒推机械等级再决定闭环形式别反过来。2. 一条指令走完全程五个环节的细节拆解2.1 指令层轨迹规划不是简单地给个终点上位机发出的通常不是走到X100这么简单中间要经过轨迹规划。轨迹规划要解决三个问题路径形状、速度曲线、以及多轴之间的协调。路径形状决定走直线还是圆弧还是样条速度曲线决定加速多快、匀速多久、减速多缓多轴协调决定X轴和Y轴怎么配合才能走出一条真正的直线而不是折线。拿两轴走直线举例。假设从(0,0)走到(100,50)如果只是分别给X轴发100、Y轴发50然后同时启动两轴各自的加减速特性不同走出来的轨迹会是个弯曲的弧。要走出直线必须做插补让两轴在每个插补周期内按比例同步推进。常见做法是粗插补加精插补粗插补在几十毫秒级别算出若干中间点精插补在1毫秒甚至更短的周期里把这些点细化成每个轴的位置增量。这里有个实操心得插补周期越短轨迹越平滑但对控制器算力和总线带宽的要求越高。我做过一个圆弧插补的项目插补周期从4毫秒降到1毫秒之后圆弧的轮廓误差从0.08毫米降到了0.02毫米但控制器的CPU占用率从30%涨到了70%。所以别盲目追求短周期先看机械本身的响应能力跟不跟得上机械跟不上的话插补再细也是白搭。2.2 控制层控制器选型要看的三个硬指标控制器的选择上常见的有三类PLC加运动控制模块、独立运动控制卡、以及软PLC加实时系统。它们没有绝对优劣看的是轴数、同步要求和开发效率。选型时我会重点看三个指标。第一是最大轴数和同步轴数很多PLC标称支持16轴但真正能做插补同步的可能只有4轴剩下的只能做单轴定位这个差别在选型手册里往往写在很小的字里。第二是最小插补周期和总线类型EtherCAT这类实时总线能做到1毫秒甚至更短的周期普通以太网做不到。第三是凸轮同步和电子齿轮功能做飞剪、追剪、旋切这类需要主轴从动同步的场合没有这两个功能就得用别的方式硬凑非常痛苦。我踩过的坑是早期用某款PLC做四轴联动手册写着支持直线插补结果发现四轴插补时最高速度被限制在单轴的三分之一因为它的插补运算是在主循环里做的轴数一多就算不过来。后来换成带专用运动协处理器的控制卡问题才解决。所以选型时一定要问清楚满轴联动时的性能衰减是多少别只看单轴指标。2.3 驱动层PWM、死区与母线电压的关系驱动器做的事情本质上是把直流母线电压通过PWM斩波变成电机三相需要的等效电压和频率。这里有几个参数值得理解。PWM载波频率通常在8kHz到20kHz之间频率高则电流纹波小、噪声小但开关损耗大、发热多。我一般在16kHz附近取一个平衡点既能避开人耳敏感频段8kHz附近容易听到刺耳啸叫又不至于让驱动器烫得摸不了。死区时间是个容易被忽视的参数。上下桥臂不能同时导通否则母线直接短路所以要在切换时插入一段死区。死区太长会畸变输出电压尤其在低速小电流时明显表现为低速运行不平稳。死区太短则可能直通炸管。这个参数一般由驱动器硬件决定不建议用户随意改但了解它的存在有助于你理解为什么低速时伺服会有轻微爬行。母线电压的选择也讲究。同样的电机母线电压越高能达到的最高转速越高因为反电动势限制了转速上限。但电压高了对绝缘和器件耐压的要求也高。工程上常见的是220V交流供电对应310V左右的直流母线380V交流对应540V左右。如果你发现电机怎么都上不去额定转速先算一下母线电压够不够别急着怀疑参数设错。2.4 执行与传动层丝杠、同步带、减速机的取舍传动机构决定了整个系统的刚性和精度上限也是最容易被省钱的地方。丝杠传动精度高、刚性好但行程受限、成本高、长行程容易下垂同步带传动适合长行程、速度快但有弹性、定位精度差反向会有迟滞齿轮齿条刚性好、行程可以很长但齿隙处理麻烦噪音大。选丝杠的时候导程是个关键参数它直接决定分辨率和速度的权衡。导程小则分辨率高但速度上不去导程大则速度快但分辨率低。我一般这样算假设电机额定转速3000转每分钟减速比1想要最高速度600毫米每秒那导程至少得是600除以3000/60等于12毫米。如果同时要求分辨率0.001毫米用17位编码器131072脉冲每转那每毫米对应131072除以12约等于10922个脉冲足够用。但如果导程只有5毫米最高速度就只有250毫米每秒达不到要求。这个账一定要在选型阶段算清楚。减速机的选择上行星减速机是主流重点看背隙和额定扭矩。背隙标称值一般分一级3弧分以内、二级5弧分、三级10弧分以上弧分换算成角度是1度等于60弧分3弧分大概是0.05度。这个背隙会直接反映成末端的位置误差所以精密场合别用普通减速机。2.5 反馈层编码器分辨率不等于精度编码器是运动控制的眼睛但分辨率高不等于精度高这两件事经常被混为一谈。分辨率是能分辨的最小变化量精度是测量值与真值的偏差。一个23位绝对值编码器分辨率高达8388608脉冲每转但如果安装偏心、读数头污染实际精度可能还不如一个安装良好的17位编码器。选编码器时我看四个点分辨率、精度通常用角秒表示、重复性、以及输出形式增量式还是绝对值式。绝对值编码器断电后位置不丢开机不用回零适合需要快速启动或者断电位置有意义的场合比如机械臂关节。增量式便宜、响应快适合连续旋转测速的场合。光栅尺作为全闭环反馈时安装位置很关键。它测的是工作台的实际位移所以应该尽量靠近加工点装在远离热源和切屑飞溅的位置。我见过把光栅尺装在丝杠螺母座旁边的做法结果丝杠发热膨胀光栅尺跟着一起伸测出来的位置反而是错的。正确做法是尺身固定在不动的基座上读数头跟运动部件连接让尺身代表参考坐标系。3. 参数怎么算、怎么调一次讲透3.1 电子齿轮比算错一次全盘皆输电子齿轮比是把上位机的指令脉冲换算成电机实际转动量的桥梁算错了所有位置都会等比例偏。公式本身不复杂我用一个实际例子推一遍。设丝杠导程P为10毫米每转减速比i为1直连编码器分辨率R为131072脉冲每转17位。我们希望上位机发1个脉冲对应工作台移动1微米0.001毫米。第一步算电机转一圈工作台走多少10毫米除以1等于10毫米也就是10000微米。 第二步算电机转一圈需要多少个指令脉冲应该是10000个因为1脉冲对应1微米。 第三步算编码器反馈脉冲与指令脉冲的比值编码器一圈是131072个反馈脉冲指令一圈需要10000个所以电子齿轮比等于10000比131072约分后是125比1638。反过来说如果要发1个脉冲对应0.01毫米那指令一圈需要1000个脉冲齿轮比就是1000比131072。这里有个坑必须提醒很多驱动器把电子齿轮比的分子分母范围限制得很死比如分子分母都不能超过某个值你算出来一个不能约分的巨大分数就会报错。解决办法是把单位放大比如用0.01毫米作为一个指令单位脉冲数直接缩小十倍。另外改了电子齿轮比之后必须重新核算最高速度因为齿轮比变大意味着同样的指令频率下电机转得更快可能会超过电机额定转速。我吃过这个亏改完齿轮比没算速度跑程序时电机直接飞车报过速。3.2 三环整定的顺序与经验数值整定的铁律是从内到外先电流环再速度环最后位置环而且每一步调好再进下一步。电流环通常由驱动器自动整定它会注入一个测试信号测量电机的电气参数算出合适的增益。除非你换的不是原厂电机一般不用手动动它。如果确实要手动调原则是把电流环带宽调到尽可能高但不振荡的程度观察相电流波形波形正弦度高、无明显尖峰就说明调好了。速度环的核心参数是比例增益和积分时间。比例增益决定响应快慢积分时间决定消除稳态误差的速度。调的时候先把积分作用关掉积分时间设到最大慢慢加大比例增益直到电机出现轻微嗡鸣或者用手转动轴能感到明显阻力但不振荡这是临界点然后退回到临界值的60%到70%。再把积分时间逐步调小直到低速运行时速度波动消失。经验值上中小惯量负载的速度环比例增益通常能设到比较高的值大惯量或者柔性连接比如同步带的则要保守很多可能要降到一半以下。位置环一般只有比例增益因为位置环加积分容易引起超调和振荡。同样是从小往大调边调边做定位测试看阶跃响应曲线上升时间快、超调小于5%就合适。我通常把位置环增益设到速度环增益的十分之一到五分之一之间配合速度前馈使用效果更好。注意任何一步整定过程中如果电机发出尖锐啸叫、轴剧烈抖动或者驱动器报过载立刻停机降增益不要抱着再调一点点说不定就好了的想法继续下去很可能烧驱动模块。3.3 惯量比匹配与前馈补偿惯量比是负载惯量除以电机转子惯量这个比值决定了控制的难度。比值越大负载对力矩变化的响应越迟钝越容易振荡整定越困难。通用伺服一般建议惯量比控制在5以内高性能场合3以内超过10就需要加装减速机或者换更大惯量的电机。怎么测惯量比大多数现代驱动器都有自动辨识功能运行一次辨识程序就能读出当前惯量比。如果没有也可以用经验法手动把轴转起来感受一下或者用驱动器自带的频率响应分析工具。我通常会要求机械设计提供的三维模型里给出负载转动惯量自己再核算一遍因为很多设计者会漏掉联轴器和丝杠本身的转动惯量折算。前馈补偿是提升动态精度的重要手段分速度前馈和加速度前馈。速度前馈的作用是在速度指令变化时提前给出对应的力矩补偿减少跟随误差加速度前馈则针对启动和停止阶段的加速度需求。调整的原则是从小到大逐步加观察跟随误差是否缩小。我一般先加速度前馈到60%左右再加速度前馈到80%左右超过这个比例容易引起过冲。前馈用好了同样的增益下跟随误差能缩小一半以上这是提升效率最快的办法。3.4 加减速曲线梯形、S型的实际差别梯形速度曲线就是加速、匀速、减速三段加速度恒定。它的优点是计算简单、效率高缺点是加速度突变会对机械产生冲击也就是所谓jerk无穷大。这会导致机械振动、噪音大长期运行还会让丝杠、联轴器松动。S型曲线在加减速的两端加了加加速度jerk限制让加速度平滑过渡。好处是冲击小、噪声低、机械寿命长代价是同样的行程下运行时间略长因为加减速阶段被拉长了。我做过一个对比测试行程200毫米、最高速度500毫米每秒的往复运动梯形曲线单程0.52秒S型曲线0.58秒慢了约12%但S型曲线的振动加速度峰值只有梯形的三分之一。所以怎么选传送、搬运这类对时间敏感、机械又比较结实的场合用梯形精密加工、高速往复、有视觉检测的场合用S型。有个折中方案是梯形加圆弧过渡只在加减速切换点做平滑兼顾效率和柔和度我很多项目都用这个。4. 动手搭一套三轴系统从选型到联调4.1 硬件选型清单与预算分配这里以一套用于小型零件搬运加定位的三轴直角坐标机器人为例行程X轴400毫米、Y轴300毫米、Z轴100毫米负载2公斤要求重复定位精度±0.02毫米节拍要求单次搬运2秒以内。清单如下三套400瓦交流伺服电机配驱动器X、Y轴一套200瓦Z轴三根C5级滚珠丝杠导程10毫米三个行星减速机减速比5Z轴带抱闸一块四轴EtherCAT运动控制卡一套开关电源和断路器一个24伏直流电源给传感器和IO供电三组限位开关和一组原点开关以及结构件、拖链、线缆若干。预算大致分配是机械件占四成伺服系统占三成半控制器和电气占两成线缆杂项占半成。为什么X、Y轴选400瓦而不是200瓦这里要算。负载2公斤加上滑台自身质量约3公斤总质量5公斤要在这个质量下达到0.5g的加速度约4.9米每平方秒需要的推力是5乘以4.9等于24.5牛顿。丝杠导程10毫米减速比5那么电机需要输出的力矩是24.5乘以0.01除以2π乘以5约等于0.0078牛米看起来很小。但别忘了还要克服摩擦、加速丝杠自身惯量、以及预留足够余量。实际算上安全系数3和效率0.9大概需要0.026牛米200瓦伺服额定扭矩通常在0.6牛米以上理论上够用。我最后选400瓦主要考虑的是惯量匹配——负载折算到电机轴的惯量加上丝杠惯量跟电机转子惯量的比值要控制在5以内200瓦电机转子惯量太小比值容易超标导致整定困难。4.2 上电前的接线自查这一步不能省我见过太多因为一根线接错导致驱动器炸机的案例。上电前我必做的检查有四项主回路相序和电压、编码器线序和屏蔽、限位信号方向和电平、以及接地。主回路检查用万用表量输入电压是否在驱动器标称范围内三相的相间电压是否平衡。编码器线要重点看屏蔽层是否单端接地通常接驱动器侧双端接地容易形成地环路引入干扰。限位和原点开关要确认是常开还是常闭以及控制器读到的有效电平是高还是低方向和电平设错会导致撞机或者回零失败。接地这一项最容易被忽视。伺服系统的地线不是可选项电机外壳、驱动器外壳、控制柜、机械床身都要可靠接地接地电阻越小越好。我遇到过一次位置随机跳变的问题排查了很久最后发现是电机地线没接干扰通过编码器线串进了反馈信号。另外动力线和信号线要走不同的线槽实在要交叉就垂直交叉别平行走线。4.3 驱动器参数的落地设置驱动器上电后按顺序配置这些参数。第一步设电机代码或者手动输入电机参数让驱动器认识自己带的是什么电机。第二步做编码器偏移角自学习让驱动器知道编码器零点和电机磁极的对应关系不做这一步电机可能反转或者力矩不足。第三步设电子齿轮比按前面算的方法填分子分母。第四步设限位和原点相关的输入输出定义以及报警输出的逻辑。第五步做惯量辨识把辨识出的惯量比填进去。第六步整定三环参数可以用自整定功能打底再手动微调。这里有个顺序上的经验一定先做编码器偏移学习再做惯量辨识因为偏移角不对的话惯量辨识结果会不准。另外自整定出来的参数只是起点实际带载之后还要微调因为自整定通常是在空载或轻载下做的。4.4 上位机程序的框架用运动控制卡的话程序结构大致是四层。第一层是初始化打开设备、设置轴参数、配置IO。第二层是状态机管理回零、就绪、运行、报警几个状态。第三层是运动指令封装点位运动、直线插补、圆弧插补。第四层是IO和逻辑处理传感器输入和气缸等执行器输出。下面是一段伪代码展示点位运动的基本流程# 初始化 card open_device() for axis in [0, 1, 2]: card.set_pulse_mode(axis, pulse_dir) card.set_gear_ratio(axis, num125, den1638) card.set_accel(axis, acc1000, dec1000) # 单位 mm/s^2 card.set_velocity(axis, vmax500) # 单位 mm/s # 回零 for axis in [0, 1, 2]: card.home_move(axis, modenegative_limit, velocity50) wait_until(lambda: card.axis_status(axis) ready) # 点位运动 card.move_absolute(axis0, pos100.0, velocity300, accel800) card.move_absolute(axis1, pos50.0, velocity300, accel800) wait_until(lambda: card.all_axes_in_position()) print(card.get_position(0), card.get_position(1))这段代码里最关键的是 set_gear_ratio 那一步它把脉冲和毫米对应起来如果这里填错了后面所有位置都是错的。另外 set_accel 的单位是毫米每平方秒要跟前面的机械计算对齐不能随便填。4.5 联调验收的五个动作系统装好之后我一般按这五步验收。第一手动低速点动每个轴确认方向和限位有效。第二单轴回零三次检查回零位置的重复性用千分表测量偏差应该小于0.01毫米。第三单轴定位测试从不同方向接近同一目标点测反向误差这个值反映的是机械间隙。第四两轴直线插补走一个正方形测四个角的垂直度和边长的直线度。第五模拟实际节拍跑半小时观察温升、噪音、有无报警。这里有个隐蔽的问题要特别注意温升引起的漂移。丝杠和导轨跑一段时间会发热膨胀位置会慢慢偏。检测方法是连续跑一千次定位记录每次到位后的实际位置看有没有单调漂移的趋势。如果有说明需要预热时间或者加温度补偿。我做激光切割机的时候开机前二十分钟的切割尺寸跟稳定后差0.03毫米后来在程序里加了预热循环才解决。5. 现场故障排查实录5.1 常见故障速查表现象可能原因排查顺序定位不准、有固定偏差电子齿轮比错误、丝杠导程参数填错先核对齿轮比再用千分表实测验证反向接近同一目标点有误差机械反向间隙、联轴器松动测反向差值检查消隙结构随机位置跳变编码器干扰、屏蔽接地不良检查接地、分离动力与信号线电机啸叫、发热严重增益过高、惯量比过大降增益、做惯量辨识、考虑加减速机低速爬行、不平稳死区影响、摩擦过大、增益过低检查导轨润滑、适度提高低速增益高速时报警过载速度超过额定、母线电压不足核算最高转速、检查母线电压回零不到位或找不到原点原点开关电平设反、回零速度过快手动触发开关看信号、降低回零速度通信偶发断连线缆过长、屏蔽不良、终端电阻缺失缩短线缆、加终端电阻、检查屏蔽5.2 定位不准的排查路径怎么走定位不准是最常见的抱怨但不准有很多种必须先区分是重复性差还是准确性差。重复性差指的是每次到同一个点的位置都不一样准确性差指的是每次都停在同一位置但这个位置偏了。如果是重复性差优先怀疑机械和信号。机械上查丝杠螺母是否松动、联轴器是否有间隙、导轨预紧是否合适。信号上查编码器线是否受干扰、驱动器分辨率是否够。有一次我遇到重复性0.05毫米的问题最后发现是联轴器的膜片有微小变形每次换向时释放不同的应力换了个刚性联轴器问题消失。如果是准确性差但重复性好那基本就是参数或者标定问题。先核对电子齿轮比和丝杠导程再检查是否有工具坐标偏移没补偿。这类问题好解决因为现象稳定公式一推就能找到。排查的时候我习惯用一张简单的记录表每次定位后记录目标值、实际值、接近方向跑二十次之后看数据分布。数据如果是随机散布就是信号或机械问题如果是随方向变化的系统偏差就是标定问题。这个方法比盲目调参数效率高得多。5.3 抖动和啸叫怎么下手抖动分两种低频抖动和啸叫。低频抖动通常是位置环或速度环增益过高或者是机械共振。判断方法很简单把增益降一半看抖动是否消失消失就是增益问题不消失就是机械共振。机械共振的处理办法是加陷波滤波器。驱动器一般提供两到四个陷波器通过频率响应分析找出共振点频率把它填进陷波器参数即可。我做过一台龙门结构的机器共振点大约在80赫兹加了陷波器之后抖动完全消失。如果没有分析工具也可以手动扫频从低频往高频慢慢增加激励频率观察哪个频率下振幅最大。啸叫一般是电流环或者PWM载波相关的。如果啸叫频率很高几kHz调整PWM载波频率试试避开人耳敏感区。如果啸叫伴随电机发热多半是增益过高导致电流振荡需要降增益。还有一种情况是电机和机械的固有频率接近这就要靠改变连接刚度或者加阻尼来解决纯调参数解决不了。5.4 通信丢包和丢步的区分丢包和丢步是两个概念但现象很像都是走了一段没到位。丢步是脉冲发了但电机没跟上通常发生在步进电机或者伺服过载时丢包是脉冲根本没发出去通常发生在通信环节。判断方法读驱动器的位置反馈值跟控制器发出的指令值对比。如果反馈值等于指令值但机械位置不对那是机械丢步或者打滑如果反馈值就小于指令值说明指令没发全是通信问题。通信丢包常见原因有三个线缆过长超过总线规定长度、屏蔽和接地不良、以及终端电阻没装或者装错位置。EtherCAT这类总线对线缆和拓扑有明确要求别随便用普通网线凑合。我曾经为了省事用了一根五米的普通网线接远程IO结果每天偶发一两次通信报警换成屏蔽双绞线后再没出现过。6. 往深里走多轴同步与更高阶的玩法6.1 多轴同步不只是同时启动三轴以上联动时同步这件事比想象的复杂。真正的同步要求各个轴在同一时刻到达各自目标位置而不是各自跑各自的。这就要求插补运算必须在统一的时间基准下进行各轴的速度规划要协调。以四轴为例如果用四个轴分别做点位运动由于各轴行程和速度不同到达时间会不一致。正确做法是把四个轴的目标位置打包成一个多维向量统一做速度规划找出最慢的那个轴作为时间基准其他轴按比例降速。这个过程叫速度归一化。凸轮同步是更高级的形式主轴和从轴之间通过凸轮表建立位置对应关系从轴的位置完全由主轴位置决定。飞剪、追剪、包装机上的旋转切刀都靠这个。凸轮表的精度直接决定同步精度我一般会把凸轮表做得很密用插值方式读取避免表格太稀导致中间过程抖动。电子齿轮同步则更简单从轴速度等于主轴速度乘以一个比例系数适合传送带跟随、印刷套色这类场合。它的优点是参数简单、动态响应好缺点是只能做比例关系做不了非线性的对应。6.2 视觉引导与力控的延伸方向运动控制往上走两个明显的方向是视觉引导和力控。视觉引导是把相机拍到的目标位置转换成机器人坐标系下的坐标再下发给运动控制系统。这里的关键是标定包括相机内参标定和手眼标定。手眼标定的精度直接决定抓取精度我一般会用九点标定法在视野内取九个点让机器走一遍记录像素坐标和机械坐标拟合出变换矩阵。标定有个容易忽略的点是畸变。镜头畸变会让边缘区域的定位不准尤其是广角镜头。解决办法是先做镜头畸变校正再做手眼标定顺序反了误差会叠加。我做过一个抓取项目边缘区域误差比中心区域大0.5毫米后来加了畸变校正降到0.1毫米以内。力控方向主要是恒力控制和力位混合控制用在打磨、装配、去毛刺这些需要跟环境接触的场合。实现方式有基于力传感器的直接力控也有基于电流估计的无传感器力控。后者成本低但精度差前者贵但可靠。装配类应用我一般用力传感器打磨类可以考虑电流估计。力控的难点在于接触瞬间的稳定性需要对环境刚度做估计并做阻抗匹配这里展开讲能写一整篇先记一笔。6.3 我踩过的几个坑希望你别再踩第一别在没做机械检查的情况下调参数。很多参数问题的根源在机械机械不修好参数调得再好也是暂时的。我现在的习惯是每次调试前先用手推一下轴感受阻力和间隙有问题先修机械。第二别相信默认参数能跑就行。默认参数通常是为了兼容性设的保守值性能发挥不出来。带载调试是必须的而且要在最恶劣的工况下测比如最大负载、最高速度、最急加减速。第三注意温升的累积效应。连续运行两小时和刚开机半小时的系统表现可能差很多验收一定要跑够时间。我曾经交付过一台设备客户连续跑了八小时之后精度超差回头查是电机和丝杠温升导致的最后加了预热程序和温度补偿。第四备份参数。每次调好之后把驱动器参数导出存一份标注好对应的机械配置和日期。换驱动器或者恢复出厂设置之后这份备份能省你好几个小时。我吃过这个亏一次误操作清空了参数重新调花了整整一天。第五留够安全余量。速度、扭矩、精度都别设计到极限值留20%到30%的余量。现场的电压波动、环境温度、负载变化都会吃掉余量设计时卡得太死运行起来就是天天出问题。运动控制这东西手册上写的都是理论边界真正的经验都在这些边界之外的细节里。希望这些笔记能帮你在下次调试时少走点弯路。
返回列表