ARTICLE DETAIL

资讯详情

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

松下A6BF伺服全闭环配置实战:Pr3.25参数与TwinCAT3调试指南

松下A6BF伺服全闭环配置实战:Pr3.25参数与TwinCAT3调试指南 1. 为什么全闭环配置值得单独拿出来讲松下A6BF系列伺服驱动器配合倍福TwinCAT3做全闭环控制这个组合在精密加工、半导体设备、高端数控转台领域出现得越来越频繁。原因不复杂半闭环模式下丝杠的热伸长、反向间隙、联轴器扭转变形这些误差全部被编码器吃掉了系统根本不知道自己实际走到了哪里。全闭环就是把光栅尺的信号引回驱动器让位置环直接以工作台的实测位移为基准做调节理论上精度可以提升一个数量级。但理论上这三个字害了不少人。我见过太多案例硬件接好了参数也设了一上电要么飞车要么抖动得像筛糠要么定位精度还不如半闭环。问题出在全闭环不是一个接上线就能用的功能它涉及驱动器参数、TwinCAT3 NC轴配置、光栅尺信号处理、增益匹配这一整条链路任何一个环节出问题都会导致系统崩溃。这篇文章面向的是已经有一定伺服调试基础、准备上手或正在调试松下A6BF全闭环的工程师。我会把整个配置流程拆开重点讲清楚每个参数背后的逻辑、光栅尺分辨率怎么算、TwinCAT3里NC轴怎么设、遇到抖动和飞车怎么排查。Pr3.25这个参数是松下A6BF全闭环设置的核心入口我会重点展开。2. 全闭环系统的整体架构与信号链路2.1 半闭环和全闭环的本质区别先把这个概念理清楚不然后面参数设置全是懵的。半闭环控制里位置反馈来自电机尾部的编码器驱动器知道的是电机转了多少至于电机转完之后机械端到底移动了多少它不知道。全闭环则是在机械末端加装光栅尺把工作台的实际位置直接反馈给驱动器位置环的反馈源从电机编码器切换成了光栅尺。这个切换带来的变化是根本性的。半闭环的位置环增益可以设得很高因为电机编码器信号干净、分辨率高、响应快。全闭环之后光栅尺的信号质量、安装精度、分辨率都会直接影响位置环的稳定性。更关键的是机械系统的谐振、反向间隙、摩擦非线性全部暴露在位置环里了之前被半闭环掩盖的问题现在全冒出来了。松下A6BF支持全闭环功能驱动器上有专门的全闭环接口通常是通过CN5或专用接口接入光栅尺信号通过Pr3.25参数来选择反馈源。这个参数的本质是告诉驱动器你的位置反馈应该听谁的。2.2 松下A6BF全闭环的硬件信号链路整个信号链路是这样的光栅尺输出差分信号通常是RS422电平的A/B/Z三相方波接入驱动器的全闭环编码器接口驱动器内部做四倍频和计数然后把位置信息通过EtherCAT过程数据发给TwinCAT3的NC轴。TwinCAT3的NC轴再根据这个反馈做位置环运算输出速度指令给驱动器。这里有个容易搞混的点松下A6BF在EtherCAT模式下位置环是在驱动器内部还是TwinCAT3里答案是取决于你的控制模式。如果你用的是CSP循环同步位置模式位置环在驱动器内部TwinCAT3只负责发位置指令如果你用的是CSV循环同步速度模式位置环在TwinCAT3的NC轴里。全闭环配置下我强烈建议用CSP模式因为驱动器内部的位置环响应更快而且松下对自家硬件的全闭环算法优化得更好。光栅尺的选型也直接影响后续配置。常见的有海德汉、雷尼绍、信和等品牌输出信号类型有TTL、RS422、1Vpp正弦波几种。松下A6BF的全闭环接口通常支持RS422差分方波信号如果你用的是1Vpp正弦波光栅尺需要额外的细分盒或者选配支持正弦波输入的驱动器型号。这一点在采购阶段就要确认清楚不然后面接线都接不上。2.3 TwinCAT3在全闭环里的角色定位TwinCAT3在这个系统里扮演的是指挥官角色。它通过EtherCAT总线扫描到松下A6BF驱动器建立NC轴配置轴的参数速度、加速度、软限位等然后发指令让驱动器动。在全闭环模式下TwinCAT3还需要知道光栅尺的分辨率、传动比这些信息才能正确地把位置指令换算成实际位移。很多人忽略的一点是TwinCAT3的NC轴里有一个位置反馈的配置项你需要告诉它反馈来自哪里。在CSP模式下NC轴的位置反馈实际上是从驱动器的EtherCAT过程数据里读的而驱动器发给TwinCAT3的位置数据已经是光栅尺的反馈值了。所以TwinCAT3这边不需要额外做反馈切换但缩放因子Scaling Factor必须根据光栅尺分辨率重新算。3. 光栅尺参数计算与Pr3.25参数详解3.1 光栅尺分辨率与电子齿轮比的计算逻辑这是全闭环配置里最容易出错的地方也是导致定位精度不对、飞车、抖动的常见根源。松下A6BF的全闭环参数里你需要设置光栅尺的分辨率每转多少脉冲或者每毫米多少脉冲以及电子齿轮比。先搞清楚光栅尺的分辨率怎么算。假设你用的光栅尺栅距是20微米输出RS422差分信号驱动器内部做四倍频那么光栅尺的有效分辨率就是20/45微米。如果丝杠导程是10毫米那么电机转一圈工作台移动10毫米光栅尺对应的脉冲数就是10mm/5um2000个脉冲。但这只是光栅尺的脉冲数松下A6BF还需要你设置一个全闭环编码器分辨率参数告诉驱动器光栅尺每转对应多少脉冲。这个参数通常通过Pr3.25相关的参数组来设置。具体来说Pr3.25是全闭环控制选择参数设置为1时启用全闭环功能设置为0时使用半闭环电机编码器反馈。启用全闭环后还需要设置以下几个关键参数Pr3.24全闭环编码器分频脉冲数分子Pr3.26全闭环编码器分频脉冲数分母Pr3.27全闭环编码器方向反转设置这些参数的具体编号可能因固件版本不同略有差异但逻辑是一样的你需要告诉驱动器光栅尺的脉冲数和电机编码器的脉冲数之间的比例关系。3.2 一个完整的计算实例我拿一个实际项目来算一遍。设备参数丝杠导程10mm光栅尺栅距20um四倍频后分辨率5um电机编码器是23位绝对值编码器8388608脉冲/转。光栅尺每转脉冲数 丝杠导程 / 光栅尺分辨率 10mm / 0.005mm 2000脉冲/转。电机编码器每转脉冲数 8388608脉冲/转。电子齿轮比 光栅尺每转脉冲数 / 电机编码器每转脉冲数 2000 / 8388608。这个比值非常小直接设置会导致驱动器内部计数溢出或者精度损失。所以松下A6BF允许你设置分频比把光栅尺脉冲数放大到一个合理的范围。通常的做法是设置Pr3.24和Pr3.26让分频后的脉冲数接近电机编码器的脉冲数。比如设置Pr3.248388608Pr3.262000这样驱动器内部就把光栅尺的2000脉冲/转映射成了8388608脉冲/转和电机编码器一致。这样位置环的增益和半闭环时保持一致调试起来更容易。注意Pr3.24和Pr3.26的乘积不能超过32位整数的范围否则会溢出。实际设置时建议先约分把比值化成最简形式。3.3 Pr3.25参数设置的具体操作步骤Pr3.25的设置需要通过松下Panaterm软件或者驱动器面板操作。我建议用Panaterm因为面板操作容易漏步骤。具体流程连接驱动器到电脑打开Panaterm建立通信。进入参数设置界面找到Pr3.25。将Pr3.25设置为1启用全闭环控制。设置Pr3.24和Pr3.26输入计算好的分频比。设置Pr3.27根据光栅尺的计数方向决定是否需要反转。如果光栅尺计数方向和电机编码器方向一致设为0反之设为1。保存参数断电重启驱动器。重启后驱动器会尝试读取光栅尺信号。如果光栅尺没接好或者信号异常驱动器会报全闭环编码器断线报警通常是Err21或者类似的编码器通信错误。这时候不要慌先检查接线。4. TwinCAT3 NC轴配置与全闭环联动4.1 EtherCAT扫描与驱动器过程数据映射TwinCAT3这边第一步是扫描EtherCAT总线找到松下A6BF驱动器。扫描完成后你会在Slave列表里看到驱动器的过程数据对象PDO。全闭环模式下你需要确认PDO里包含了位置反馈数据。松下A6BF的EtherCAT PDO通常包含以下关键数据控制字Control Word状态字Status Word目标位置Target Position实际位置Actual Position目标速度Target Velocity实际速度Actual Velocity扭矩指令Torque Command在全闭环模式下Actual Position这个PDO映射的就是光栅尺的反馈值。你不需要在TwinCAT3里做额外的反馈切换但需要确认PDO映射是否正确。有时候默认的PDO映射不包含全闭环反馈需要手动调整。4.2 NC轴的关键参数配置在TwinCAT3里新建一个NC轴关联到松下A6BF驱动器。然后配置以下关键参数Scaling Factor缩放因子这是最重要的参数。它决定了TwinCAT3里的位置单位比如毫米和驱动器脉冲数之间的换算关系。全闭环模式下缩放因子必须根据光栅尺分辨率来算。假设光栅尺分辨率是5um丝杠导程10mm那么电机转一圈对应2000个光栅尺脉冲。TwinCAT3里如果位置单位用毫米那么缩放因子就是2000/10200脉冲/毫米。也就是说TwinCAT3发一个毫米的位置指令驱动器需要收到200个光栅尺脉冲对应的位置值。但这里有个坑松下A6BF在CSP模式下TwinCAT3发的位置指令单位是脉冲还是用户单位实际上TwinCAT3的NC轴会把用户单位毫米通过缩放因子转换成驱动器的位置单位通常是编码器脉冲。在全闭环模式下驱动器的位置单位是光栅尺脉冲。所以缩放因子必须和光栅尺分辨率匹配。Velocity、Acceleration、Deceleration这些参数根据机械系统的实际能力设置。全闭环模式下由于光栅尺反馈有延迟加速度不宜设得过大否则容易引起振荡。我通常建议先设一个保守值比如半闭环时的70%然后逐步往上调。Position Lag Monitoring位置滞后监控。全闭环模式下这个参数很重要因为光栅尺反馈和电机编码器反馈之间可能存在偏差。如果偏差过大说明机械系统有问题比如反向间隙太大需要先解决机械问题。Following Error跟随误差。设置一个合理的阈值超过就报警。全闭环下这个阈值可以设得比半闭环小一些因为反馈更真实。4.3 全闭环使能与TwinCAT3的联动调试配置完成后先不要急着让轴动。按以下步骤逐步调试在TwinCAT3里使能NC轴但不要给运动指令。观察Actual Position是否稳定。如果光栅尺信号有干扰Actual Position会跳动。手动推动工作台观察Actual Position是否跟着变化。如果不变或者变化方向相反说明光栅尺接线或者Pr3.27方向设置有问题。给一个很小的运动指令比如0.1mm观察轴是否正常移动。如果飞车立即急停检查缩放因子和光栅尺分辨率是否匹配。逐步增大运动距离和速度观察跟随误差和位置滞后。如果振荡降低位置环增益。提示松下A6BF的位置环增益在全闭环模式下通常需要比半闭环低30%到50%。具体值取决于机械系统的刚性和光栅尺的响应速度。我一般从半闭环增益的50%开始调逐步增加直到出现轻微振荡然后退回10%。5. 常见问题与排查技巧实录5.1 飞车问题的排查思路飞车是全闭环调试中最吓人的问题没有之一。上电使能后电机直接满速运转根本不受控制。原因通常有三个光栅尺方向反了。这是最常见的原因。光栅尺的计数方向和电机编码器方向相反驱动器以为位置偏差越来越大于是拼命往一个方向转。解决方法把Pr3.27从0改成1或者把光栅尺的A/B相接线对调。缩放因子算错了。TwinCAT3的缩放因子和光栅尺分辨率不匹配导致位置指令和反馈值差距巨大。比如缩放因子设成了2000脉冲/毫米实际应该是200脉冲/毫米那么TwinCAT3发1毫米的指令驱动器以为要动10毫米直接飞车。解决方法重新计算缩放因子确保和光栅尺分辨率一致。光栅尺信号丢失。光栅尺没接好或者信号中断驱动器读到的反馈值一直是0而TwinCAT3在发位置指令驱动器以为位置偏差无限大直接飞车。解决方法检查光栅尺接线确认驱动器没有报编码器断线报警。5.2 抖动和振荡的抑制方法抖动通常发生在轴静止或者低速运动时。原因可能是位置环增益太高、光栅尺分辨率太低、机械谐振、或者TwinCAT3的滤波参数没设好。我的排查顺序是这样的先把位置环增益降到半闭环时的30%看抖动是否消失。如果消失说明是增益问题逐步往上加找到临界点后退回10%。如果抖动依然存在检查光栅尺的安装是否牢固读数头是否松动。光栅尺安装不牢会导致信号波动进而引起抖动。还有一个容易被忽略的点TwinCAT3的NC轴里有一个Velocity Filter或者Position Filter参数可以设置低通滤波来抑制高频振荡。但滤波会引入相位延迟影响响应速度所以只在必要时使用。5.3 定位精度不达标的排查全闭环上了之后定位精度反而变差了这种情况我也遇到过。原因通常是光栅尺的安装位置不对。光栅尺应该安装在工作台上直接测量工作台的位移。如果光栅尺安装在丝杠末端或者联轴器上那和半闭环没区别甚至更差。另一个原因是光栅尺的分辨率不够。比如你用的是20um栅距的光栅尺四倍频后5um但你的定位精度要求是1um那肯定达不到。这时候需要换更高分辨率的光栅尺或者用1Vpp正弦波光栅尺配合细分盒。还有一个隐蔽的问题光栅尺的零点和TwinCAT3的零点不匹配。每次回零后位置都有偏差说明回零方式或者零点偏移参数没设对。检查TwinCAT3的Homing Mode和驱动器的原点回归参数。5.4 常见报警代码速查表报警代码含义可能原因解决方法Err21全闭环编码器断线光栅尺未接、线缆断裂、信号异常检查接线确认光栅尺供电Err24全闭环编码器通信错误信号干扰、波特率不匹配检查屏蔽接地确认信号类型Err25全闭环位置偏差过大方向反、缩放因子错、机械卡死检查Pr3.27重新计算缩放因子Err26全闭环编码器过速光栅尺信号频率超过驱动器上限降低运动速度或更换光栅尺Err27全闭环编码器分辨率错误Pr3.24/Pr3.26设置错误重新计算分频比这张表是我在实际项目中总结的不同固件版本的报警代码可能略有差异但排查思路是通用的。6. 实操心得与避坑经验6.1 接线阶段的三个关键检查点第一光栅尺的供电电压。大多数光栅尺是5V供电但有些是24V。接错电压直接烧光栅尺这个损失不小。接线前务必确认光栅尺的规格书。第二差分信号的极性。A和A-不能接反B和B-不能接反否则计数方向会乱。用示波器看一下波形确认A相超前B相90度。第三屏蔽线的接地。光栅尺信号是弱电信号容易受干扰。屏蔽线必须单端接地通常接在驱动器侧。两端都接地会形成地环路反而引入干扰。6.2 参数调试的顺序不能乱我见过有人一上来就把所有参数设好然后直接使能结果飞车。正确的顺序是先设Pr3.25启用全闭环再设分频比再设方向然后保存重启。重启后先不使能手动推动工作台观察反馈值。确认反馈正常后再在TwinCAT3里使能轴给微小运动指令测试。最后才逐步加大运动范围和速度。这个顺序看起来慢但实际上是最快的。跳过任何一步都可能导致后面花更多时间排查。6.3 TwinCAT3版本兼容性问题TwinCAT3的版本和松下A6BF的EtherCAT XML文件版本必须匹配。我遇到过用旧版XML文件导致PDO映射不对全闭环反馈读不到的情况。解决方法是从松下官网下载最新的ESI文件放到TwinCAT3的EtherCAT配置目录里重新扫描总线。另外Windows 10下安装TwinCAT3需要注意驱动签名问题。某些版本的TwinCAT3在Win10上需要禁用驱动签名强制才能安装EtherCAT驱动。这个在倍福的官方文档里有说明但很多人装的时候不看结果卡在驱动安装这一步。6.4 光栅尺选型的经验之谈如果预算允许尽量选分辨率高的光栅尺。5um分辨率的光栅尺价格适中但做高精度定位比如1um以内就力不从心了。1Vpp正弦波光栅尺配合细分盒可以达到纳米级分辨率但调试更复杂对信号质量要求更高。另外光栅尺的栅距和最大速度要匹配。光栅尺的输出信号频率有上限通常是几百KHz到几MHz。如果你的运动速度很高光栅尺的输出频率会超过上限导致计数丢失。选型时要算一下最大速度下的信号频率频率 速度 / 分辨率。比如速度1m/s分辨率5um频率就是200KHz。确认光栅尺能支持这个频率。6.5 一个容易被忽略的细节光栅尺的膨胀系数光栅尺本身也有热膨胀虽然比丝杠小很多但在高精度应用里不能忽略。比如1米长的光栅尺温度变化10度膨胀量大约是1.6um钢制光栅尺的膨胀系数约1.6x10^-5/度。如果你的定位精度要求是1um这个误差已经超标了。解决方法要么控制环境温度要么选用低膨胀系数的光栅尺比如玻璃陶瓷光栅尺要么在TwinCAT3里做温度补偿。温度补偿需要额外的温度传感器和补偿算法实现起来比较复杂一般只在超高精度场合使用。7. 全闭环系统的性能验证方法7.1 用激光干涉仪做定位精度测试全闭环配置完成后怎么知道精度到底提升了多少最可靠的方法是用激光干涉仪做定位精度测试。按照ISO 230-2标准在工作行程内取多个测量点正反向各测多次计算定位精度和重复定位精度。我一般会做半闭环和全闭环的对比测试。同一台设备先在半闭环模式下测一组数据然后切换到全闭环再测一组。对比结果通常很直观半闭环的定位精度可能在10um左右全闭环可以做到2um以内。但如果全闭环的精度反而更差说明配置有问题需要回头排查。7.2 用球杆仪做动态性能测试激光干涉仪测的是静态定位精度动态性能需要用球杆仪Ballbar测。球杆仪可以测出圆弧插补时的圆度误差反映的是伺服系统的动态响应和机械系统的综合性能。全闭环模式下如果增益匹配得当圆度误差应该比半闭环小。如果反而更大说明位置环增益太高或者光栅尺反馈有延迟。7.3 长期稳定性观察全闭环系统刚调好的时候精度很好但运行一段时间后精度下降这种情况也不少见。原因可能是光栅尺读数头松动、丝杠热伸长导致光栅尺和丝杠的零点偏移、或者机械磨损导致反向间隙变化。我的做法是定期做定位精度复测比如每三个月测一次。如果发现精度下降先检查光栅尺的安装状态再检查机械系统。全闭环的好处是机械系统的变化会直接反映在光栅尺反馈上所以问题更容易被发现。8. 从半闭环切换到全闭环的迁移策略8.1 参数迁移的注意事项如果你之前用的是半闭环现在要切换到全闭环不要直接把Pr3.25改成1就完事。半闭环和全闭环的位置环增益、滤波器参数、前馈参数都需要重新调整。我的建议是先把半闭环的参数备份下来然后切换到全闭环把所有增益参数降到半闭环的50%再逐步往上调。TwinCAT3这边的缩放因子也要改。半闭环时缩放因子是根据电机编码器分辨率算的全闭环时要根据光栅尺分辨率算。这两个值通常不一样忘了改就会飞车。8.2 机械系统的预检查全闭环对机械系统的要求比半闭环高。切换之前先检查机械系统有没有明显的反向间隙、联轴器有没有松动、丝杠有没有轴向窜动。这些问题在半闭环时被编码器掩盖了全闭环后会直接暴露出来导致调试困难。如果反向间隙超过光栅尺分辨率的10倍建议先修机械再上全闭环。否则位置环增益根本上不去精度也提不高。8.3 调试时间的合理预期半闭环切换到全闭环调试时间通常需要1到3天取决于机械系统的状态和调试经验。如果机械系统状态好参数匹配顺利一天就能搞定。如果机械系统有问题可能需要先修机械时间就不好估了。我建议在项目计划里给全闭环调试留出至少2天的缓冲时间。不要指望半天就能调好那是不现实的。9. 一些实战中的零碎经验松下A6BF的Panaterm软件里有一个全闭环监控界面可以实时显示光栅尺反馈值和电机编码器反馈值的偏差。这个界面在调试时非常有用可以直观地看到全闭环系统的工作状态。如果偏差持续增大说明机械系统有问题如果偏差在零附近波动说明系统正常。TwinCAT3的Scope功能也可以用来监控全闭环的位置反馈和位置指令。把Actual Position和Set Position同时拖到Scope里观察跟随误差。正常的跟随误差应该在几个脉冲以内如果超过几十个脉冲说明增益不够或者机械系统有滞后。还有一点光栅尺的读数头和工作台之间的连接刚性很重要。如果连接件太软运动时会产生弹性变形导致光栅尺读数和实际位置有偏差。我一般用刚性连接件避免用弹簧片或者橡胶垫。最后说一个关于Pr3.25的细节有些固件版本的A6BF在设置Pr3.251后还需要设置Pr3.28来选择全闭环编码器的类型方波还是正弦波。如果光栅尺是RS422方波信号Pr3.28设为0如果是1Vpp正弦波设为1。这个参数不设对驱动器读不到正确的反馈信号。我在实际项目中踩过的最大的坑是光栅尺的屏蔽线接地问题。当时光栅尺信号总是有毛刺导致轴偶尔抖动。排查了很久最后发现是屏蔽线两端都接了地形成了地环路。改成单端接地后问题立刻消失。这个教训告诉我全闭环系统的信号完整性比半闭环重要得多任何一点干扰都可能被位置环放大。
返回列表