ITPub博客

首页 > 应用开发 > Python > EtherCAT标称1微秒同步,为什么百轴实际差一截?

EtherCAT标称1微秒同步,为什么百轴实际差一截?

原创 Python 作者:suoten 时间:2026-10-24 11:57:47 0 删除 编辑

EtherCAT的分布式时钟(DC)标称同步抖动低于1微秒。但多轴系统验收的时候,用示波器抓各轴的同步输出脉冲,实际偏差经常落在几微秒到十几微秒之间。

这不是EtherCAT“虚标”。标称值描述的是时钟对齐的理想精度,而轴的物理同步走的是另一条链。这条链上有四处独立的损耗,每一处都不在“1微秒”这个数字的覆盖范围内。

第一处:参考时钟选谁,决定了整条链的基准稳定度。

EtherCAT DC的机制是主站选定一个从站作为参考时钟(REF),其余从站向它对齐。整条链的同步质量,首先取决于REF自身的晶振稳定度。

如果REF选的是一个低端从站,它的晶振温漂本身就大,其余从站对齐得再精确,对齐的是一个在漂移的基准。全链的绝对偏差等于REF的漂移量加上各从站的残余对齐误差。布线时REF的位置、线缆延迟是否可测,也会影响对齐质量。

第二处:帧经过时间的测量精度,决定了线缆延迟补偿的残余。

EtherCAT是帧遍历各从站、就地处理的机制。每个从站需要测量EtherCAT帧进出自身的传播延迟,并补偿掉线缆引入的时差。

问题在于,这个测量本身有精度极限。从站测量帧经过时间的分辨率、帧间抖动、从站微控制器的中断响应延迟,都会把误差留在补偿结果里。支持的从站具备经过时间测量且精度足够时,长短不一的线缆延迟可以被对齐;但极端长短混布仍然会放大测量误差的累积。-1

第三处:从站晶振的漂移,决定了两次再同步之间的累积误差。

DC不是“一次对齐、永/久准确”。从站本地晶振的频率偏差和漂移,会让时钟在两次再同步周期之间持续偏离参考钟。

再同步周期设多长,取决于从站晶振的稳定度。漂移快的从站需要毫秒级周期的再同步;漂移小的可以放宽。周期太短占用通信带宽,太长则两次同步之间的漂移累积可能超差。合理的做法是按实测同步残差反调周期,使最大偏差始终落在允许范围内,而不是凭经验拍一个值。

第四处,也是最容易被忽略的:时钟对齐了,轴不一定同步。

DC让所有从站共享同一个时间基准。但轴的同步位置,还需要控制器按同一时基下发目标值,并且从站在同一个DC时刻锁存位置反馈。

只把时钟对齐、没有做同刻锁存,各轴的位置采样就不在同一个物理瞬间。合成轨迹的时候,各轴的运动信息来自不同的时间切片,即使时钟本身完全对齐,轴与轴之间仍然存在同步误差。

时钟是前提,锁存与控制耦合是另一半。二者缺一不可。

验收的时候该测什么,不该信什么。

不要用主站标称的同步参数作为验收依据。用示波器抓取各轴同步输出脉冲或编码器Z相的真实时间偏差,看最大偏差而不是平均值,并且在满负载与温变条件下复测。-1

同时核对三件事:REF的晶振稳定度等级、参与同步的从站是否支持DC、锁存配置是否在同一个DC时刻生效。把同步精度指标写进验收条件,现场工况才是真答案。

平时我也写写代码,维护两个开源项目:

ProtoForge(工业协议仿真平台,28种协议,130+设备模板): GitHub:suoten/ProtoForge Gitee:suoten/ProtoForge

EdgeLiteGateway(AI物联网关,13种协议采集,边缘AI推理): GitHub:suoten/EdgeLiteGateway Gitee:suoten/EdgeLiteGateway

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70050062/viewspace-3186613/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2026-05-07

  • 博文量
    85
  • 访问量
    70334