通過(guò)智能節點(diǎn)的遠程運動(dòng)控制促進(jìn)實(shí)現可靠的自動(dòng)化
摘要
工業(yè)4.0為遠距離實(shí)現邊緣智能帶來(lái)了曙光,而10BASE-T1L以太網(wǎng)的數據線(xiàn)供電(PoDL)功能、高數據傳輸速率以及與以太網(wǎng)協(xié)議兼容也為未來(lái)發(fā)展鋪平了道路。本文介紹如何在自動(dòng)化和工業(yè)場(chǎng)景中集成新的10BASE-T1L以太網(wǎng)物理層標準,將控制器和用戶(hù)界面與端點(diǎn)(例如多個(gè)傳感器和執行器)連接起來(lái),所有器件均使用標準以太網(wǎng)接口進(jìn)行雙向通信。
本文引用地址:http://dyxdggzs.com/article/202307/448377.htm
簡(jiǎn)介
10BASE-T1L是針對工業(yè)連接的物理層標準。它使用標準雙絞線(xiàn)電纜,數據速率高達10 Mbps,電力傳輸距離長(cháng)達1000米。低延遲和PoDL功能有助于實(shí)現對傳感器或執行器等器件的遠程控制。本文介紹如何實(shí)現一個(gè)能夠同步控制兩個(gè)或更多步進(jìn)電機的遠程主機系統,借此展示遠距離實(shí)時(shí)通信的能力。
系統概述
圖1是系統級應用的示意圖。在主機端,由ADIN1100和ADIN1200以太網(wǎng)PHY負責管理標準鏈路和10BASE-T1L鏈路之間的轉換,而在遠程端,控制器通過(guò)ADIN1110以太網(wǎng)MAC-PHY與鏈路接口,只需要一個(gè)SPI外設來(lái)交換數據和命令。準確的同步運動(dòng)控制利用ADI Trinamic? TMC5160步進(jìn)電機控制器和驅動(dòng)器來(lái)實(shí)現,這些器件可生成六點(diǎn)斜坡用于定位,而無(wú)需在控制器上進(jìn)行任何計算。選擇這些元器件還能降低對微控制器所用外設、計算能力和代碼大小的要求,從而支持使用更廣泛的商用產(chǎn)品。此外,在不超過(guò)預定功耗限制的情況下,整個(gè)遠程子系統可以直接由數據線(xiàn)供電;因此,只有媒介轉換器板需要提供本地電源。
圖1.系統概覽。
系統硬件
該系統由四個(gè)不同的板組成:
? EVAL-ADIN1100板具有ADIN1200 10BASE-T/100BASE-T PHY,與ADIN1100 10BASE-T1L PHY搭配使用,可以將消息從一種物理標準轉換為另一種物理標準。它可以針對不同的工作模式進(jìn)行配置。本項目使用標準模式15(媒介轉換器)。EVAL-ADIN1100板還集成了微控制器,用于執行媒介轉換所需的基本配置和讀取診斷信息。但是,它不能與發(fā)送和接收的消息交互;該板對通信完全透明。
? EVAL-ADIN1110是遠程器件控制器的核心。ADIN1110 10BASE-T1L MAC-PHY通過(guò)10BASE-T1L鏈路接收數據,并通過(guò)SPI接口將數據傳輸到板載Cortex?-M4微控制器進(jìn)行處理。該板還提供與Arduino Uno兼容的接頭,可利用這些接頭安裝擴展板以添加更多功能。
? TMC5160擴展板是一款基于Arduino擴展板外形尺寸定制的開(kāi)發(fā)板。單個(gè)擴展板最多支持兩個(gè)TMC5160 SilentStepStick板,多個(gè)擴展板可以堆疊在一起以增加可控電機的最大數量。所有驅動(dòng)器共享相同的SPI時(shí)鐘和數據信號,但片選線(xiàn)保持獨立。這種配置支持兩種通信模式:如果片選線(xiàn)各自置為有效,則微控制器可以與單個(gè)控制器通信——例如配置運動(dòng)參數。相反,如果同時(shí)將多條片選線(xiàn)置為有效,則所有選定的驅動(dòng)器同時(shí)接收相同的命令。后一種模式主要用于運動(dòng)同步。該板還為StepStick提供了一些額外的輸入電容,以降低電機啟動(dòng)時(shí)的電流峰值,并使正常工作期間的電流曲線(xiàn)更加平滑。它允許使用PoDL為最多配有兩個(gè)NEMA17電機的整個(gè)系統供電(默認設置下,24 V時(shí)的最大傳輸功率為12 W)。該板還支持使用螺絲端子來(lái)簡(jiǎn)化與步進(jìn)電機的連接,使控制器的相位輸出更容易訪(fǎng)問(wèn)。
? 兩個(gè)EVAL-ADIN11X0EBZ板用于向系統添加PoDL功能,其中一個(gè)板用于媒介轉換器,另一個(gè)用于EVAL-ADIN1110EBZ。該板是一個(gè)插件模塊,可以安裝在評估板的MDI原型接頭上,并且可以配置為通過(guò)數據線(xiàn)提供和接收電力。
圖2.裝配好的EVAL-ADIN1110、EVAL-ADIN11X0EBZ和TMC5160擴展板。
軟件
軟件代碼可供下載:利用10Base-T1L以太網(wǎng)進(jìn)行遠程運動(dòng)控制 - 代碼。
為了保持代碼的輕量化并有效減少通信開(kāi)銷(xiāo),沒(méi)有在數據鏈路層之上實(shí)現標準通信協(xié)議。所有消息都是通過(guò)預定義固定格式的以太網(wǎng)幀的有效載荷字段進(jìn)行交換。數據被組織成46字節的數據段,一個(gè)數據段由2字節的固定報頭和44字節的數據字段組成。報頭包括:一個(gè)8位器件類(lèi)型字段,用于確定如何處理接收的數據;以及一個(gè)8位器件ID字段,如果存在多個(gè)相同類(lèi)型的器件,可以通過(guò)ID來(lái)選擇單個(gè)物理器件。
圖3.通信協(xié)議格式。
主機接口采用Python編寫(xiě),以確保與Windows和Linux主機兼容。以太網(wǎng)通信通過(guò)Scapy模塊進(jìn)行管理,該模塊允許在堆棧的每一層(包括以太網(wǎng)數據鏈路)創(chuàng )建、發(fā)送、接收和操作數據包。協(xié)議中定義的每種器件都有一個(gè)相應的類(lèi),其中包括用于存儲要交換的數據的屬性,以及一組可用于修改這些屬性而不必直接編輯變量的方法。例如,若要在運動(dòng)控制器的速度模式下更改運動(dòng)方向,可以使用已定義的方法“setDirectionCW()”和“setDirectionCCW()”,而不必手動(dòng)為方向標志賦值0或1。每個(gè)類(lèi)還包括一個(gè)“packSegment()”方法,該方法根據所考慮的設備器件的預定義格式,以字節數組的形式打包并返回與受控器件對應的數據段。
固件利用ChibiOS環(huán)境以C語(yǔ)言編寫(xiě),其中包括實(shí)時(shí)操作系統(RTOS)、硬件抽象層(HAL)、外設驅動(dòng)程序等工具,使代碼可以在相似的微控制器之間輕松移植。項目基于三個(gè)自定義模塊:
? ADIN1110.c是驅動(dòng)程序,用于支持通過(guò)SPI接口與ADIN1110交換數據和命令。它包括用于從器件寄存器讀取和寫(xiě)入數據的低級通信函數,以及用于發(fā)送和接收以太網(wǎng)幀的高級函數。它還包括用于在10BASE-T1L收發(fā)器之間建立通信的函數。通知是否出現新幀的引腳在中斷時(shí)讀取,以盡量減少延遲。
? TMC5160.c實(shí)現了控制TMC5160運動(dòng)控制器所需的全部函數,配置為以全功能運動(dòng)控制器模式運行。它實(shí)現了恒速和位置控制兩種模式,允許使用六點(diǎn)斜坡進(jìn)行平滑準確的定位。與多個(gè)運動(dòng)控制器的通信通過(guò)單條SPI總線(xiàn)和多條獨立的片選線(xiàn)實(shí)現。它還提供了一組函數和類(lèi)型定義來(lái)簡(jiǎn)化運動(dòng)同步。
? Devices.c是從T1L鏈路接收的數據與連接到控制器的物理器件之間的接口。它包括與主機接口中定義的結構體類(lèi)似的結構體,并且具有在每次接收到帶有效數據的新幀時(shí)更新結構體的函數。此模塊還用于確定每次更新結構體時(shí)執行哪些操作,例如,哪個(gè)物理運動(dòng)控制器與在特定器件地址接收到的命令相關(guān)。
圖4.固件流程圖。
系統亮點(diǎn)和驗證
該項目旨在演示如何在自動(dòng)化和工業(yè)場(chǎng)景中集成新的10BASE-T1L以太網(wǎng)物理層標準,將控制器和用戶(hù)界面與端點(diǎn)(例如多個(gè)傳感器和執行器)連接起來(lái)。此應用針對多個(gè)步進(jìn)電機的遠程實(shí)時(shí)控制,廣泛用于工業(yè)中的低功耗自動(dòng)化任務(wù),但也可用于輕型機器人和數控機床,例如臺式3D打印機、臺式銑床和其他類(lèi)型的笛卡爾繪圖儀。此外,它還能擴展用于其他類(lèi)型的執行器和遠程控制器件。與具有類(lèi)似用途的現有接口相比,其主要優(yōu)點(diǎn)包括:
? 布線(xiàn)簡(jiǎn)單,只需要一根雙絞線(xiàn)。由于支持通過(guò)數據線(xiàn)供電,低功耗器件(如傳感器)可以直接借助此連接供電,從而進(jìn)一步減少所需的布線(xiàn)和連接器數量,并降低整體系統的復雜性、成本和重量。
? 使用PoDL標準的電力傳輸方式,通過(guò)數據線(xiàn)上疊加的直流電壓為連接到網(wǎng)絡(luò )的設備供電。這種耦合只需要使用無(wú)源元件就可以實(shí)現,接收端的電壓經(jīng)過(guò)濾波后,可以直接給器件或DC-DC轉換器供電,不需要整流。只要適當確定用于此類(lèi)耦合的元件大小,就可以實(shí)現一個(gè)高效率系統。本項目中使用評估板上安裝的標準元件,整體效率約為93%(采用24 V電源,總負載電流為200 mA)。然而,這一結果還有很大的改進(jìn)余地,事實(shí)上,大部分損耗是電源路徑上無(wú)源元件的電阻壓降造成的。
? 用途廣泛,既可用于最后一公里連接,也可用于端點(diǎn)連接。ADI 10BASE-T1L器件針對長(cháng)達1.7公里的距離進(jìn)行了測試。它們還支持菊花鏈連接,這對系統復雜性的影響很小。例如,使用ADIN2111雙端口低復雜度交換芯片可以設計集成菊花鏈功能的器件,使鏈路也適用于端點(diǎn)網(wǎng)絡(luò )。
? 易于與已集成以太網(wǎng)控制器的現有設備連接,包括個(gè)人電腦和筆記本電腦。數據幀遵循以太網(wǎng)數據鏈路標準,所有與以太網(wǎng)兼容的協(xié)議都可以在其之上實(shí)現,因此只需要一個(gè)媒介轉換器作為橋接器與標準以太網(wǎng)鏈路連接。例如,本項目中使用的評估板EVAL-ADIN1100可用作透明媒介轉換器的參考設計,它僅需要兩個(gè)以太網(wǎng)PHY和一個(gè)可選微控制器用于配置和調試。
? 高達10 Mbps的高數據速率,全雙工。此特性與菊花鏈拓撲(在其上可以實(shí)現基于工業(yè)以太網(wǎng)的協(xié)議)相結合,使其可用于需要確定性傳輸延遲的實(shí)時(shí)應用。
? 根據應用的安全性和穩健性要求,收發(fā)器和媒介之間的隔離可以通過(guò)容性耦合或磁耦合實(shí)現。
我們對該系統進(jìn)行了多次測量以評估其性能。所有用于與ADIN1110收發(fā)器和TMC5160控制器通信的外設,都配置為使用標準硬件配置可達到的最大可能速度??紤]到微控制器具有80 MHz系統時(shí)鐘,對于運動(dòng)控制器和ADIN1110收發(fā)器,SPI外設的數據速率分別設置為2.5 MHz和20 MHz。對于TMC5160,通過(guò)調整微控制器時(shí)鐘配置并向IC提供外部時(shí)鐘信號,SPI頻率可進(jìn)一步提高至8 MHz,而對于ADIN1110,數據手冊規定的上限值為25 MHz。
對延遲進(jìn)行評估,請求數據和收到應答幀之間的總時(shí)間大約為4 ms(500個(gè)樣本的平均值,使用Wireshark協(xié)議分析儀計算數據請求和相應應答的時(shí)間戳之間的差值測得)。我們還進(jìn)行了其他評估,以確定系統的哪些部分是導致此延遲的原因。結果表明,主要原因是RTOS的延時(shí)函數,其預留的最小延遲為1 ms,用于設置TMC5160的讀寫(xiě)操作間隔,而所需的延遲約為幾十納秒。這可以通過(guò)定義基于定時(shí)器的其他延遲函數來(lái)改進(jìn),使延遲間隔可以更短。
導致延遲的第二個(gè)原因是用于接收幀的Scapy函數,調用此函數后至少需要3 ms的設置時(shí)間。在實(shí)際應用中,直接使用操作系統的網(wǎng)絡(luò )適配器驅動(dòng)程序來(lái)開(kāi)發(fā)接口,而不借助Scapy等第三方工具也能有所改進(jìn)。然而,這樣做也有一些缺點(diǎn),包括會(huì )失去與不同操作系統的兼容性并增加代碼復雜度。
圖5.電源路徑的簡(jiǎn)化方案。
通過(guò)切換GPIO并使用示波器測量高電平周期,可測得微控制器上實(shí)現回調的準確執行時(shí)間。實(shí)測執行時(shí)間包括讀取和解析接收到的幀以及向運動(dòng)控制器發(fā)送命令的函數執行時(shí)間。
表1.實(shí)測執行時(shí)間
第二組測量旨在評估使用PoDL為遠程器件供電時(shí)傳輸路徑上的功率損耗。我們用設置為不同電流的電子負載代替運動(dòng)控制器擴展板進(jìn)行測試,從0.1 A到0.5 A,步長(cháng)為100 mA,以確定哪些元件對功率損耗有較大影響,進(jìn)而確定如何改進(jìn)設計以實(shí)現更高的額定電流。
表2.系統效率
圖6.每個(gè)無(wú)源元件的功率損耗與電流的關(guān)系。
結果表明,橋式整流器和肖特基二極管D2是造成損耗的主要因素,兩者均用于極性反接保護。兩個(gè)元件可以用基于MOSFET晶體管和理想二極管控制器的類(lèi)似電路代替,以獲得更高的效率,同時(shí)也不會(huì )失去上述保護能力。在較高電流下,用于輸入和輸出電源濾波的耦合電感的直流電阻占主導地位,因此為了提高電流能力,還需使用具有更高額定電流的類(lèi)似電感。
結論
工業(yè)4.0正在推動(dòng)智能自動(dòng)化的發(fā)展。ADI Trinamic技術(shù)與ADIN1100、ADIN1110、10BASE-T1L收發(fā)器配合使用,有助于控制器對遠至1700米的傳感器和執行器實(shí)現遠程控制,而無(wú)需邊緣供電。通過(guò)可靠的遠程控制方法,可以輕松地在更遠距離實(shí)時(shí)控制步進(jìn)電機,而不必犧牲任何性能或速度。這些系統解決方案將助力工業(yè)轉型,有望進(jìn)一步縮短響應時(shí)間,充分提高性能。
# # #
關(guān)于ADI公司
Analog Devices, Inc. (NASDAQ: ADI)是全球領(lǐng)先的半導體公司,致力于在現實(shí)世界與數字世界之間架起橋梁,以實(shí)現智能邊緣領(lǐng)域的突破性創(chuàng )新。ADI提供結合模擬、數字和軟件技術(shù)的解決方案,推動(dòng)數字化工廠(chǎng)、汽車(chē)和數字醫療等領(lǐng)域的持續發(fā)展,應對氣候變化挑戰,并建立人與世界萬(wàn)物的可靠互聯(lián)。ADI公司2022財年收入超過(guò)120億美元,全球員工2.4萬(wàn)余人。攜手全球12.5萬(wàn)家客戶(hù),ADI助力創(chuàng )新者不斷超越一切可能。
關(guān)于作者
Alessandro Leonardi是ADI米蘭分公司的客戶(hù)經(jīng)理。他擁有米蘭理工大學(xué)的電子工程學(xué)士和碩士學(xué)位。畢業(yè)后,他參加了ADI公司的現場(chǎng)應用培訓生項目。
Giorgio Paganini目前正在米蘭理工大學(xué)攻讀電子工程學(xué)位。他作為Dynamis PRC(米蘭理工大學(xué)方程式學(xué)生團隊)的一員,參與了電子開(kāi)發(fā)項目
Fulvio Bagarelli于2017年加入ADI公司,擔任高級現場(chǎng)應用工程師,目前擔任現場(chǎng)技術(shù)主管一職。此前,Fulvio曾在凌力爾特(現為ADI公司的一部分)、Arrow Electronics和STMicroelectronics工作。他擁有意大利米蘭理工大學(xué)電子工程碩士學(xué)位,并擁有意大利SDA博科尼管理學(xué)院的高級管理人員工商管理碩士學(xué)位。
評論