即时确定性乙太网路协定(例如EtherCAT)已经能够支援多轴运动控制系统的同步运行。 [1]该同步包含两方面的涵义。首先,各个控制节点之间的命令和指令的传递必须与一个公共时脉同步;其次,控制演算法和回馈函数的执行必须与同一个时脉同步。第一种同步很容易理解,它是网路控制器的固有部分。然而,第二种同步到目前为止一直为人所忽视,如今也成为了运动控制性能的瓶颈。
本文介绍从网路控制器到马达终端和感测器全程保持马达驱动同步的新概念。文中所提出的技术,可望能够大幅改善同步,从而显著提高控制性能。
问题陈述和现有技术
为了解释现有解决方案的局限性,请考量一个两轴网路运动控制系统,如图1所示。运动控制主机透过即时网路向两个伺服控制器发送命令和指令值,每个伺服控制器构成网路上的一个从机节点。伺服控制器本身由网路控制器、马达控制器、功率逆变器和马达/编码器所组成。
即时网路通讯协定采用不同的方法使从机节点与主机同步,有一种常用方法,是在每个节点处配置一个本地同步时脉。这种对时间的共识确保了所有伺服轴的指令值和命令均紧密同步;换言之,即时网路上的所有网路控制器都可保持同步。
通常,在网路控制器和马达控制器之间有两条中断线,第一条通知马达控制器何时需要收集输入并将其放到网路上,第二条通知马达控制器何时从网路中读取资料。遵照这种方法,运动控制器和马达控制器之间以同步方式进行资料交换,并且可以实现非常高的定时精度。但是,仅将同步资料传送到马达控制器还不够;马达控制器还必须能以同步方式回应资料,如果不具备这一项能力,马达控制器就无法充分利用网路的定时精度。在回应指令值和命令时,马达控制器的I/O将会出现问题。
马达控制器中的每个I/O(例如脉宽调变(PWM)计时器和ADC)都具有固有的延迟和时间量化。例如图2所示,其为功率逆变器产生栅极驱动讯号的PWM计时器。该计时器透过比较指令值Mx与上下计数器来产生闸极讯号。当控制演算法改变Mx时,新的工作周期要到下一个PWM周期才会生效,这相当于一个零阶保持效应,意味着每个PWM周期T内,工作周期仅更新一次或两次(若使用双更新模式)。
在即时网路上,无论资料交换如何紧密地同步,PWM计时器的时间量化将最终成为轴同步的决定性因素。当接收到新的指令值时,无法在新的工作周期生效之前对其进行回应。这导致时间不确定性最长可达一个PWM周期(通常在50 μs至100 μs范围内)。
实际上,网路同步周期和PWM周期之间将存在一个未经定义且可变的相位关系,将其与即时网路上低于1 μs的时间不确定性相比较,很显然,马达控制器的I/O在网路同步运动控制中发挥了更至关重要的作用。实际上,决定同步精度的不是即时网路,而是系统I/O。
请再次参考图1,该系统具有A、B、C三个同步域,它们没有绑定在一起。它们实际上并不同步,具有最长可达一个PWM周期的可变不确定性。
同步不确定性及应用影响
在针对机器人和机床等应用的高性能多轴伺服系统中,可以清楚地看到时间不确定性的影响。在I/O级的马达控制轴之间的时间偏移量变化,会对机器人或机床的最终三维定位精度产生直接且显著的影响。
此处请考量一个简单的运动曲线,如图3所示。在此示例中,马达速度指令值(蓝色曲线)上升后再下降。如果斜坡速率在机电系统的能力范围内,则实际速度预期值将遵循指令值。但是,如果在系统中任何位置存在延迟,则实际速度(红色曲线)将滞后于指令值,从而导致位置误差Δθ。
在多轴机器中,根据机器的机械结构将目标位置(x, y, z)转换为角度轴向描述(θ1, ..., θn)。角度轴向描述为每个轴定义了一系列相等时间间隔的位置/速度命令。轴之间的任何时序差异都会导致机器的精度降低。考虑图4所示的两轴示例。机器的目标路径以一组(x, y)座标来描述。延迟使y轴命令产生时序误差,最终导致不规则的实际路径。
在某些情况下,透过适当的补偿可以最大程度地降低固定延迟的影响。然而,更关键的是无法对可变且未知的延迟进行补偿。此外,可变延迟会导致控制回路增益发生改变,从而使调整回路以获得最佳性能变得很困难。
应该注意的是,系统中任何地方的延迟都会导致机器精度不准确。因此,应该要尽可能减小或消除延迟,才能提高生产率和最终产品品质。
同步和新型控制拓扑
传统的运动控制方法请参考如图5的上半部分所示。运动控制器(通常为PLC)透过即时网路将位置指令(θ*)发送到马达控制器。马达控制器由三个级联的回馈回路组成,包括控制转矩/电流(T/i)的内部回路、控制速度(ω)的中间回路和另一个控制位置(θ)的回路。转矩回路的频宽最高,位置回路的频宽最低。来自工厂的回馈保持在马达控制器本地,并与控制演算法和脉宽调变器紧密同步。
当采用这种系统拓扑时,运动控制器和马达控制器之间是透过位置指令值来实现轴的同步,但是在CNC加工等极高精度应用中,与马达控制器的I/O(回馈和PWM)同步的相关性只会使之成为问题。位置回路通常具有相当低的频宽,因此对I/O同步较为不敏感。这意味着即使网路与I/O位于不同的同步域中,指令级的节点同步性能通常也能接受。
虽然图5上半部分所示的控制拓扑很常见,但也可以使用其他的控制分区方法,例如在运动控制器侧实现位置和/或速度回路,并透过网路传送速度/转矩指令值。工业领域近期趋于转向一种新的分区方法,即所有的控制回路都由马达控制器转移至网路主机侧功能强大的运动控制器(见图5的下半部分所示)。在即时网路上交换的资料是马达控制器的电压指令(v*)和运动控制器的工厂回馈(i, ω, θ)。这种控制拓扑由功能强大的多核PLC和即时网路实现,具有诸多优势。首先,该架构具有很高的可扩展性,还可以轻松地添加/移除轴,无需担心马达控制器的处理能力;其次,由于轨迹规划和运动控制都在同一个中心位置完成,因此可以提高精度。
新的控制拓扑也有其缺点,在马达控制器中去除了控制演算法,因此损失了代码执行和I/O的紧密同步,控制回路的频宽越高,损失I/O同步的问题就越大,转矩/电流回路对同步特别敏感。
建议的解决方案
@内文;将更快速的控制回路移至运动控制器,则产生了从网路主机直到马达终端全程同步的要求。
总体思路,是使所有轴的I/O与网路同步,以使它们全都在一个同步域中运行。图6显示了一个位于网路控制器和马达控制器之间的I/O事件调度器。 I/O事件调度器的主要功能是为所有周边生成同步/复位脉冲,使它们与网路流量保持同步。 I/O事件调度器获取帧同步讯号,该讯号来源于网路控制器的本地时脉,并为必须与网路保持同步的所有I/O输出适当的硬体触发讯号。
每个I/O都具有自己的一组时序/复位要求,这意味着I/O事件调度器必须为每个I/O提供订制的触发讯号。虽然触发讯号的要求不同,但它们仍拥有一些通用法则。首先,所有触发讯号必须以帧同步为基准。其次,存在与每个触发讯号相关联的延迟/偏移。该延迟与I/O的固有延迟有关,例如ADC的转换时间或sinc滤波器的群延迟。第三,存在I/O回应时间,例如来自ADC的资料传输。I/O事件调度器掌握每个I/O的时序要求,并根据本地时脉连续调整触发/重定脉冲,生成I/O事件调度器每个输出脉冲的原理概述,如图7所示。
在大多数网路运动控制系统中,画面播放速率以及帧同步速率等于或低于马达控制器的PWM更新速率。这意味着I/O事件调度器必须每帧周期提供至少一个、也可能是多个触发脉冲。例如,如果画面播放速率为10 kHz且PWM速率为10 kHz,则I/O事件调度器必须为每一个网路帧提供1个触发脉冲,类似地,如果画面播放速率为1 kHz且PWM速率为10 kHz,I/O事件调度器必须为每一个网路帧提供10个触发脉冲。
这相当于图7中的倍频器。对每个同步脉冲施加延迟时间tD,以补偿每个I/O的固有延迟,I/O事件调度器的最后一个要素是智慧滤波功能。每个网路上都会存在一些流量抖动,滤波器可减少触发脉冲的抖动,并确保帧同步频率的变化率受到限制。
图7的下半部分显示了PWM同步的一个示例时序图。请注意,本例中帧同步频率是PWM频率的倍数以及I/O触发讯号抖动如何减小。
实现方案
图8显示了一个在网路运动控制系统中实施并进行测试的推荐的同步方案示例。网路主机采用Beckhoff CX2020 PLC,并连接到PC用于开发和部署PLC程式,即时网路通讯协定(红色箭头)为EtherCAT。
马达控制器主要采用ADI公司的fido5200和ADSP-CM408。两者结合,为网路连接的马达驱动器提供高度整合的晶片组。
fido5200是一个带有两个乙太网路埠的即时乙太网路多协定(REM)交换晶片,它在主机处理器和工业乙太网路实体层之间提供一个灵活的介面,fido5200包括一个可配置的计时器控制单元(TCU),可针对各种工业乙太网协定实现先进的同步方案,还可以借助专用计时器针脚实现输入捕获和方波讯号输出等附加功能。计时器输入/输出与本地同步时间保持同相,因此也与网路流量保持同相,这使其不仅可以同步单个从机节点的I/O,而且可以同步整个网路中的从机节点。
REM交换晶片有两个乙太网路埠,因此可连接两个Phys(PHY1和PHY2),该拓扑支援环形和线形网路。但在本实验设定中,作为展示说明,仅使用一个从机节点,并且只有一个乙太网路埠处于活动状态。
REM交换晶片透过并行记忆体汇流排与主机处理器通讯,借以确保高输送量和低延迟。
用于实现马达控制器的主机处理器采用ADSP-CM408。它是基于ARM Cortex-M4F核心的专用处理器,用于实现控制和应用功能。该处理器包括支援工业控制应用的周边,如用于PWM逆变器控制的计时器、ADC采样和位置编码器介面,为了使所有外设与网路保持同步,采用了一个灵活的触发路由单元(TRU),TRU将fido5200的TCU生成的触发讯号重定向至ADSP-CM408上的所有时序关键型周边,这些周边包括脉宽调制器、用于相电流测量的sinc滤波器、ADC和绝对编码器介面。同步I/O的原理,如图9所示。
在图9中,请注意如何利用REM交换晶片上的TCU和马达控制处理器上的TRU来实现I/O事件调度器,换言之,该功能由两个积体电路实现。
马达控制器回馈三相伺服马达的相电流和转子位置,相电流使用隔离式Σ-ΔADC测量,转子位置则使用EnDat绝对编码器测量,Σ-ΔADC和编码器都直接连接至ADSP-CM408,无需任何外部FPGA或CPLD。
PWM切换开关频率为10 kHz,每个PWM周期执行一次控制演算法。如本文所述,TCU在每个PWM周期内为ADSP-CM408提供一次同步脉冲。
实验结果
实验设置照片如图10所示。为了说明系统的同步功能,设定PLC使之运行一个持续200 μs的程式任务,任务时间还决定了EtherCAT网路上的画面播放速率。马达控制器以PWM方式运行,并且控制更新周期为100 μs(10 kHz),因此需要以此速率生成同步脉冲。结果如图11所示。
Data Ready(资料就绪)讯号指示REM交换晶片何时向马达控制应用提供网路资料,讯号每200 μs置位元一次,与EtherCAT画面播放速率相对应。 PWM同步讯号也由REM交换晶片产生,用于使马达控制器的I/O与网路流量保持同步。由于PWM周期为100 μs,REM交换晶片每个EtherCAT帧调度两次PWM同步脉冲。图11中下方的两个讯号HSPWM和LSPWM是其中一个马达相位的高端和低端PWM,请注意PWM讯号是如何与网路流量同步的。
总结
即时乙太网广泛用于运动控制系统,相关协定可实现精度小于1 μs的时间同步,但是,同步仅涉及网路主机和从机之间的资料通讯。现有的网路解决方案不包括运动控制I/O同步,而这就限制了可实现的控制性能。
本文提出的同步方案可实现从网路主机直至马达终端的全程同步。由于同步性能大幅改善,该方案能够显著提高控制性能。该方案还可提供跨多个轴的无缝同步,可以轻松地添加轴,并根据单个马达控制器订制同步。
同步基于I/O事件调度器,该调度器位于网路控制器和马达控制器之间。 I/O事件调度器可即时高速编程,并且可进行调节以最小化抖动/频率变化效应。
本文提出的方案已经在实验设置中得到验证,并展示其结果。实验采用的通讯协定是EtherCAT。然而建议的方案适用于任何即时乙太网协定。
(本文作者Jens Sorensen1、Dara O’Sullivan2、Christian Aaen3为ADI公司1系统应用工程师、2自动化、能源与感测器业务部马达和电源控制团队(MPC)资深系统应用工程师、3确定性乙太网路技术部软体系统设计工程师)
参考文献
[1]Jie Ma,“基于EtherCAT的多自由度运动控制系统设计与实现。”2016年第六届仪器测量、电脑、通讯与控制国际会议,2016年7月。