智慧节点的远程运动控制实现可靠的自动化

时间:2023-10-08来源:CTIMES

工业4.0为远距离实现边缘智慧带来了曙光,而10BASE-T1L以太网络的数据线供电(PoDL)功能、高数据传输速率以及与以太网络协议兼容,也为未来发展铺路。本文介绍如何在自动化和工业场景中整合新的10BASE-T1L以太网络物理层标准,将控制器和用户接口与端点(例如多个传感器和执行器)相连接,所有组件均使用标准以太网络接口进行双向通讯。
10BASE-T1L是针对工业连接的物理层标准。其使用标准双绞线电缆,数据速率高达10 Mbps,电力传输距离长达1000公尺。低延迟和PoDL功能有助于实现对传感器或执行器等组件的远程控制。本文介绍如何实现一个能够同步控制两个或更多步进马达的远程主机系统,借此展示远距离实时通讯的能力。

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

图片.png 
图1 : 系统概览

系统硬件
该系统由四个不同的板组成:
●EVAL-ADIN1100板具有ADIN1200 10BASE-T/100BASE-T PHY,与ADIN1100 10BASE-T1L PHY搭配使用,可以将讯息从一种物理标准转换为另一种物理标准,其可以针对不同的工作模式进行配置。本项目使用标准模式15(媒介转换器)。EVAL-ADIN1100板并整合微控制器,用于执行媒介转换所需的基本配置和读取诊断信息。但它不能与发送和接收的消息交互;该板对通讯完全透明。
●EVAL-ADIN1110是远程组件控制器的核心。ADIN1110 10BASE-T1L MAC-PHY透过10BASE-T1L链路接收数据,并透过SPI接口将数据传输到板载Cortex-M4微控制器进行处理;该板并提供与Arduino Uno兼容的接头,可利用这些接头安装扩展板以增加更多功能。
●TMC5160扩展板为一款基于Arduino扩展板外型尺寸客制的开发板。单一扩展板最多支持两个TMC5160 SilentStepStick板,多个扩展板可以堆栈在一起以增加可控马达的最大数量。所有驱动器共享相同的SPI时钟和数据讯号,但芯片选择线保持独立。
此种配置支持两种通讯模式:如果芯片选择线各自置为有效,则微控制器可以与单一控制器通讯,例如配置运动参数。相反,如果同时将多条芯片选择线置为有效,则所有选定的驱动器同时接收相同的命令。后一种模式主要用于运动同步。该板还为StepStick提供了一些额外的输入电容,以降低马达启动时的电流峰值,并使正常工作期间的电流曲线更加平滑。其允许使用PoDL为最多配有两个NEMA17马达的整个系统供电(默认设定下,24 V时的最大传输功率为12 W)。该板支持使用螺丝端子来简化与步进马达的连接,使控制器的相位输出更容易存取。
●两个EVAL-ADIN11X0EBZ板用于向系统增加PoDL功能,其中一个板用于媒介转换器,另一个用于EVAL-ADIN1110EBZ。该板是一个插件模块,可以安装在评估板的MDI原型接头上,并且可以配置为透过数据线提供和接收电力。

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

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

图片.png 
图3 : 通讯协议格式

主机接口采用Python编写,以确保与Windows和Linux主机兼容。以太网络通讯透过Scapy模块进行管理,该模块允许在堆栈的每一层(包括以太网络数据链路)建立、发送、接收和运算数据包。
协议中定义的每种组件都有一个相应的类别,其中包括用于储存要交换的数据的属性,以及一组可用于修改这些属性而不必直接编辑变量的方法。例如,若要在运动控制器的速度模式下更改运动方向,可以使用已定义的方法 "setDirectionCW()" 和 "setDirectionCCW() ",而不必手动为方向标志赋值0或1。每个类别还包括一个"packSegment()"方法,该方法根据所考虑的设备组件的预定义格式,以字节数组的形式打包并返回与受控组件对应的数据段。
韧体利用ChibiOS环境以C语言编写,其中包括实时操作系统(RTOS)、硬件抽象层(HAL)、周边驱动程序等工具,使代码可以在相似的微控制器之间轻松移植。项目基于三个自定义模块:
‧ ADIN1110.c是驱动程序,用于支持透过SPI接口与ADIN1110交换数据和命令。其括用于从组件缓存器读取和写入数据的低层通讯函数,以及用于发送和接收以太网络帧的高层级函数。其并包括用于在10BASE-T1L收发器之间建立通讯的函数。通知是否出现新帧的接脚在中断时读取,以尽量减少延迟。
‧ TMC5160.c实现了控制TMC5160运动控制器所需的全部函数,配置为以全功能运动控制器模式运行。其实现了恒速和位置控制两种模式,允许使用六点斜坡进行平滑准确的定位。与多个运动控制器的通讯透过单条SPI总线和多条独立的芯片选线实现。还提供了一组函数和类型定义来简化运动同步。
‧ Devices.c是从T1L链路接收的数据与连接到控制器的物理组件之间的接口。其包括与主机接口中定义的结构体类似的结构体,并且具有在每次接收到具有效数据的新帧时更新结构体的函数。此模块还用于确定每次更新结构体时执行哪些操作,例如哪个物理运动控制器与在特定组件地址接收到的命令相关。

图片.png 
图4 : 固件流程图

系统亮点和验证
该项目目的在展示如何在自动化和工业场景中整合新的10BASE-T1L以太网络物理层标准,将控制器和用户接口与端点(例如多个传感器和执行器)连接起来。此应用针对多个步进马达的远程实时控制,广泛用于工业中的低功耗自动化任务,但也可用于轻型机器人和数字控制机床,例如桌上型3D打印机、桌面式铣床和其他类型的笛卡尔绘图仪。
此外,还能扩展用于其他类型的执行器和远程控制组件。相较于具有类似用途的现有接口,其主要特色包括:
‧ 布线简单,只需要一根双绞线。由于支持透过资料线供电,低功耗组件(如传感器)可以直接借助此连接供电,进一步减少所需的布线和连接器数量,并降低整体系统的复杂性、成本和重量。使用PoDL标准的电力传输方式,透过数据在线迭加的直流电压为连接到网络的设备供电。这种耦合只需要使用被动组件就可以实现,接收端的电压经过滤波后,可以直接为组件或DC-DC转换器供电,不需要整流。只要适当确定用于此类耦合的组件大小,就可以实现一个高效率系统。本项目中使用评估板上安装的标准组件,整体效率约为93%(采用24 V电源,总负载电流为200 mA)。然而此一结果还有很大的改善空间,事实上,大部分损耗是电源路径上被动组件的电阻压降造成的。
‧ 用途广泛,既可用于最后一哩路连接,也可用于端点连接。ADI 10BASE-T1L组件针对长达1.7公里的距离进行了测试。其并支持菊炼连接,这对系统复杂性的影响很小。例如使用 ADIN2111 双端口低复杂度交换芯片可以设计整合菊炼功能的组件,使链路也适用于端点网络。
‧ 易于与已整合以太网络控制器的现有设备连接,包括个人计算机和笔记本电脑。数据帧遵循以太网络数据链路标准,所有与以太网络兼容的协议都可以在其之上实现,因此只需要一个媒介转换器作为网桥与标准以太网络链路连接。例如,本项目中使用的评估板EVAL-ADIN1100可用作透明媒介转换器的参考设计,其仅需要两个以太网络PHY和一个可选微控制器用于配置和侦错。
‧ 高达10 Mbps的高数据速率,全双工。此特性与菊炼拓扑(在其上可以实现基于工业以太网络的协议)相互结合,使其可用于需要确定性传输延迟的实时应用。
‧ 根据应用的安全性和稳健性要求,收发器和媒介之间的隔离可以透过兼容性耦合或磁耦合实现。

我们对该系统进行多次量测以评估其性能。所有用于与ADIN1110收发器和TMC5160控制器通讯的周边,都配置为使用标准硬件配置可达到的最大可能速度。考虑到微控制器具有80 MHz系统频率,对于运动控制器和ADIN1110收发器,SPI周边的数据速率分别设定为2.5 MHz和20 MHz。对于TMC5160,透过调整微控制器频率配置并向IC提供外部频率讯号,SPI频率可进一步提高至8 MHz。
对延迟进行评估,请求数据和收到接收响应帧之间的总时间大约为4 ms(500个样本的平均值,使用Wireshark协议分析仪计算数据请求和相应响应的时间戳之间的差值测得)。我们还进行了其他评估,以确定系统的哪些部分是导致此延迟的原因。结果显示,主要原因是RTOS的延时函数,其预留的最小延迟为1 ms,用于设定TMC5160的读写操作间隔,而所需的延迟约为几十纳秒(nanoseconds),这可以透过定义基于定时器的其他延迟函数来改进,使延迟间隔可以更短。
导致延迟的第二个原因是用于接收帧的Scapy函数,调用此函数后至少需要3 ms的设定时间。在实际应用中,直接使用操作系统的网络适配器驱动程序来开发接口,而不借助Scapy等第三方工具也能有所改善。然而,这样做也有一些缺点,包括会失去与不同操作系统的兼容性并增加代码复杂度。

图片.png 
图5 : 电源路径的简化方案
透过切换GPIO并使用示波器测量高位准周期,可测得微控制器上实现回调的准确运行时间,至于实测运行时间,包括读取和解析接收到的帧,以及向运动控制器发送命令的函数运行时间。

表1:实测运行时间

命令

运行时间(ms

累计延迟时间(ms

优化运行时间(ms

同步运动,两个马达
 
(×24 TMC5160缓存器存取)

24.058

24.000

0.058

马达数据请求
 
(×3 TMC5160存取)

3.109

3.000

0.109

伪数据请求
 
(无TMC5160存取)

0.080

0

0.080

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

表2:系统效率

电流(A

输入功率(W

输出功率(W

效率

0.109

2.61

2.47

0.95

0.200

4.70

4.45

0.93

0.308

7.37

6.70

0.91

0.399

9.54

8.51

0.89

0.502

12.00

10.45

0.87



 图片.png

图6 : 每个无源组件的功率损耗与电流的关系

结果显示,桥式整流器和肖特基二极管D2是造成损耗的主要因素,两者均用于极性反接保护。两个组件可以用基于MOSFET晶体管和理想二极管控制器的类似电路取代,以获得更高的效率,同时也不会失去上述保护能力。在较高电流下,用于输入和输出电源滤波的耦合电感的直流电阻占主导地位,因此为了提高电流能力,还需使用具有更高额定电流的类似电感。
结论
工业4.0正推动着智慧自动化的发展。ADI Trinamic技术与ADIN1100、ADIN1110、10BASE-T1L收发器的搭配,有助于控制器对远至1700公尺的传感器和执行器实现远程控制,而无需边缘供电。透过可靠的远程控制方法,可以轻松在更远距离实时控制步进马达,而不必牺牲任何性能或速度。这些系统解决方案将助力工业转型,可望进一步缩短响应时间,充分提升性能。
(本文作者Alessandro Leonardi为ADI客户经理、Giorgio Paganini为米兰理工大学学生、Fulvio Bagarelli 为ADI技术主管)

关键词: 智慧节点 运动控制 ADI

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版