登录

通过智能节点的远程运动控制促进实现可靠的自动化

2023-07-06 17:55 来源:ADI

摘要

工业4.0为远距离实现边缘智能带来了曙光,而10BASE-T1L以太网的数据线供电(PoDL)功能、高数据传输速率以及与以太网协议兼容也为未来发展铺平了道路。本文介绍如何在自动化和工业场景中集成新的10BASE-T1L以太网物理层标准,将控制器和用户界面与端点(例如多个传感器和执行器)连接起来,所有器件均使用标准以太网接口进行双向通信。

简介

10BASE-T1L是针对工业连接的物理层标准。它使用标准双绞线电缆,数据速率高达10 Mbps,电力传输距离长达1000米。低延迟和PoDL功能有助于实现对传感器或执行器等器件的远程控制。本文介绍如何实现一个能够同步控制两个或更多步进电机的远程主机系统,借此展示远距离实时通信的能力。

系统概述

图1是系统级应用的示意图。在主机端,由ADIN1100和ADIN1200以太网PHY负责管理标准链路和10BASE-T1L链路之间的转换,而在远程端,控制器通过ADIN1110以太网MAC-PHY与链路接口,只需要一个SPI外设来交换数据和命令。准确的同步运动控制利用ADI Trinamic™ TMC5160步进电机控制器和驱动器来实现,这些器件可生成六点斜坡用于定位,而无需在控制器上进行任何计算。选择这些元器件还能降低对微控制器所用外设、计算能力和代码大小的要求,从而支持使用更广泛的商用产品。此外,在不超过预定功耗限制的情况下,整个远程子系统可以直接由数据线供电;因此,只有媒介转换器板需要提供本地电源。

图1.系统概览。

系统硬件

该系统由四个不同的板组成:

图2.装配好的EVAL-ADIN1110、EVAL-ADIN11X0EBZ和TMC5160扩展板。

软件

软件代码可供下载:利用10Base-T1L以太网进行远程运动控制 - 代码。

为了保持代码的轻量化并有效减少通信开销,没有在数据链路层之上实现标准通信协议。所有消息都是通过预定义固定格式的以太网帧的有效载荷字段进行交换。数据被组织成46字节的数据段,一个数据段由2字节的固定报头和44字节的数据字段组成。报头包括:一个8位器件类型字段,用于确定如何处理接收的数据;以及一个8位器件ID字段,如果存在多个相同类型的器件,可以通过ID来选择单个物理器件。

图3.通信协议格式。

主机接口采用Python编写,以确保与Windows和Linux主机兼容。以太网通信通过Scapy模块进行管理,该模块允许在堆栈的每一层(包括以太网数据链路)创建、发送、接收和操作数据包。协议中定义的每种器件都有一个相应的类,其中包括用于存储要交换的数据的属性,以及一组可用于修改这些属性而不必直接编辑变量的方法。例如,若要在运动控制器的速度模式下更改运动方向,可以使用已定义的方法“setDirectionCW()”和“setDirectionCCW()”,而不必手动为方向标志赋值0或1。每个类还包括一个“packSegment()”方法,该方法根据所考虑的设备器件的预定义格式,以字节数组的形式打包并返回与受控器件对应的数据段。

固件利用ChibiOS环境以C语言编写,其中包括实时操作系统(RTOS)、硬件抽象层(HAL)、外设驱动程序等工具,使代码可以在相似的微控制器之间轻松移植。项目基于三个自定义模块:

图4.固件流程图。

系统亮点和验证

该项目旨在演示如何在自动化和工业场景中集成新的10BASE-T1L以太网物理层标准,将控制器和用户界面与端点(例如多个传感器和执行器)连接起来。此应用针对多个步进电机的远程实时控制,广泛用于工业中的低功耗自动化任务,但也可用于轻型机器人和数控机床,例如台式3D打印机、台式铣床和其他类型的笛卡尔绘图仪。此外,它还能扩展用于其他类型的执行器和远程控制器件。与具有类似用途的现有接口相比,其主要优点包括:

我们对该系统进行了多次测量以评估其性能。所有用于与ADIN1110收发器和TMC5160控制器通信的外设,都配置为使用标准硬件配置可达到的最大可能速度。考虑到微控制器具有80 MHz系统时钟,对于运动控制器和ADIN1110收发器,SPI外设的数据速率分别设置为2.5 MHz和20 MHz。对于TMC5160,通过调整微控制器时钟配置并向IC提供外部时钟信号,SPI频率可进一步提高至8 MHz,而对于ADIN1110,数据手册规定的上限值为25 MHz。

对延迟进行评估,请求数据和收到应答帧之间的总时间大约为4 ms(500个样本的平均值,使用Wireshark协议分析仪计算数据请求和相应应答的时间戳之间的差值测得)。我们还进行了其他评估,以确定系统的哪些部分是导致此延迟的原因。结果表明,主要原因是RTOS的延时函数,其预留的最小延迟为1 ms,用于设置TMC5160的读写操作间隔,而所需的延迟约为几十纳秒。这可以通过定义基于定时器的其他延迟函数来改进,使延迟间隔可以更短。

导致延迟的第二个原因是用于接收帧的Scapy函数,调用此函数后至少需要3 ms的设置时间。在实际应用中,直接使用操作系统的网络适配器驱动程序来开发接口,而不借助Scapy等第三方工具也能有所改进。然而,这样做也有一些缺点,包括会失去与不同操作系统的兼容性并增加代码复杂度。

图5.电源路径的简化方案。

通过切换GPIO并使用示波器测量高电平周期,可测得微控制器上实现回调的准确执行时间。实测执行时间包括读取和解析接收到的帧以及向运动控制器发送命令的函数执行时间。

第二组测量旨在评估使用PoDL为远程器件供电时传输路径上的功率损耗。我们用设置为不同电流的电子负载代替运动控制器扩展板进行测试,从0.1 A到0.5 A,步长为100 mA,以确定哪些元件对功率损耗有较大影响,进而确定如何改进设计以实现更高的额定电流。

图6.每个无源元件的功率损耗与电流的关系。

结果表明,桥式整流器和肖特基二极管D2是造成损耗的主要因素,两者均用于极性反接保护。两个元件可以用基于MOSFET晶体管和理想二极管控制器的类似电路代替,以获得更高的效率,同时也不会失去上述保护能力。在较高电流下,用于输入和输出电源滤波的耦合电感的直流电阻占主导地位,因此为了提高电流能力,还需使用具有更高额定电流的类似电感。

结论

工业4.0正在推动智能自动化的发展。ADI Trinamic技术与ADIN1100、ADIN1110、10BASE-T1L收发器配合使用,有助于控制器对远至1700米的传感器和执行器实现远程控制,而无需边缘供电。通过可靠的远程控制方法,可以轻松地在更远距离实时控制步进电机,而不必牺牲任何性能或速度。这些系统解决方案将助力工业转型,有望进一步缩短响应时间,充分提高性能。

相关新闻

编辑精选