《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于EtherCAT實時通信的電機驅動控制
基于EtherCAT實時通信的電機驅動控制
2017年微型機與應用第10期
林夢云1,2,馬文禮1,熊皚3,錢俊璋1,2
1.中國科學院光電技術研究所,四川 成都 610209;2.中國科學院大學,北京 100190;3.成都信息工程大學,四川 成都 610225
摘要: 實時工業(yè)以太網EtherCAT憑借著高性能、低成本、應用簡易等優(yōu)點在現(xiàn)代控制領域得到了廣泛的應用和迅速的發(fā)展。為了將EtherCAT快速應用到電機驅動控制系統(tǒng)中,采用IntervalZero公司的KingStar Motion軟件,設計了一種基于EtherCAT實時通信的電機驅動控制方案,并搭建相應實驗平臺。系統(tǒng)采用經典的位置、速度、電流三閉環(huán)控制,分別對速度跟蹤、位置定點與正弦跟蹤進行了實驗測試與分析。實驗結果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好。
Abstract:
Key words :

 ?。?.中國科學院光電技術研究所,四川 成都 610209;2.中國科學院大學,北京 100190;3.成都信息工程大學,四川 成都 610225)

  摘要:實時工業(yè)以太網EtherCAT憑借著高性能、低成本、應用簡易等優(yōu)點在現(xiàn)代控制領域得到了廣泛的應用和迅速的發(fā)展。為了將EtherCAT快速應用到電機驅動控制系統(tǒng)中,采用IntervalZero公司的KingStar Motion軟件,設計了一種基于EtherCAT實時通信的電機驅動控制方案,并搭建相應實驗平臺。系統(tǒng)采用經典的位置、速度、電流三閉環(huán)控制,分別對速度跟蹤、位置定點與正弦跟蹤進行了實驗測試與分析。實驗結果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好。

  關鍵詞:EtherCAT;KingStar Motion軟件;電機驅動控制

  中圖分類號:TP29文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.001

  引用格式:林夢云,馬文禮,熊皚,等.基于EtherCAT實時通信的電機驅動控制[J].微型機與應用,2017,36(10):1-4.

0引言

  隨著工業(yè)自動化不斷發(fā)展,傳統(tǒng)的現(xiàn)場總線技術已經逐漸無法滿足控制領域的要求。工業(yè)以太網憑借其傳輸速度快、數(shù)據(jù)包容量大、傳輸距離長、性價比高等優(yōu)點,成為當今工業(yè)現(xiàn)場總線技術的重要發(fā)展方向[1]。其中由德國BECKHOFF公司開發(fā)的實時工業(yè)以太網EtherCAT(Ethernet for Control Automation Technology),以高性能、低成本、應用簡易等優(yōu)點在現(xiàn)代控制領域得到了廣泛的應用和迅速的發(fā)展。

  國內外均有EtherCAT應用于高精度電機驅動控制的實例,市面上的伺服驅動器也大多已集成EtherCAT通信接口,可直接配置作為EtherCAT從站。要實現(xiàn)基于EtherCAT的電機驅動系統(tǒng),可將重點放在EtherCAT主站設計上。考慮到由樣本代碼開發(fā)主站周期較長,故一般多采用商業(yè)主站軟件進行二次編程開發(fā)。其中IntervalZero公司的KingStar Motion軟件,以軟件形式取代昂貴的運動控制板,并包含相應EtherCAT主站代碼,用EtherCAT標準取代專用網絡協(xié)議和IO硬件,還支持在EtherCAT的基礎上使用CANopen,從而可以搭建更低成本的基于EtherCAT的伺服控制系統(tǒng)[2]。

  本文結合EtherCAT總線技術、KingStar Motion軟件和商業(yè)驅動器,設計一種基于EtherCAT通信的電機驅動控制方案,實現(xiàn)對電機的實時驅動控制。

1EtherCAT通信原理

  EtherCAT系統(tǒng)采用主從式結構,所有通信均由主站發(fā)起。利用以太網設備獨立處理雙向傳輸(Tx和Rx)的特性,運行在全雙工模式下,主站發(fā)出的報文可通過Rx線返回主站控制單元。這種通信機制使整個網絡中不會出現(xiàn)通信沖突,從而使網絡具有很好的確定性。

  整個網絡通信結構如圖1所示。EtherCAT主站發(fā)出下行報文,報文包含各個從站所需數(shù)據(jù),并經過所有從站。EtherCAT從站在報文經過時,分析尋址到本站數(shù)據(jù),根據(jù)相應命令從數(shù)據(jù)幀中抽取或插入數(shù)據(jù),然后更新相應的工作計數(shù)器(Working Counter, WKC),以標識出該數(shù)據(jù)幀被從站處理過,并將數(shù)據(jù)幀轉發(fā)到下一個相鄰的從站。該過程由從站硬件來完成,這使得EtherCAT數(shù)據(jù)幀經過每個從站的時間極小,延遲約為100~500 ns,保證了網絡的高度實時性。遍歷完所有從站后,經過從站處理后的數(shù)據(jù)幀作為上行報文,從最后一個從站返回主站。主站收到上行數(shù)據(jù)報文后,處理返回的數(shù)據(jù),一次通信結束[3]。

001.jpg

2電機驅動控制系統(tǒng)設計

  2.1系統(tǒng)整體方案設計

  基于EtherCAT通信的電機驅動控制系統(tǒng)主要由工控機、EtherCAT總線、伺服驅動器、伺服電機和反饋編碼器五部分組成,系統(tǒng)結構如圖2所示。

 002.jpg

  工控機配置為基于PC的EtherCAT主站,周期性地接收從站上傳的位置、速度數(shù)據(jù),并做相應的運算,然后下發(fā)相應參考電流或轉矩;伺服驅動器作為EtherCAT從站,接收編碼器所采集的電機參數(shù),將相應數(shù)據(jù)由EtherCAT總線周期性地傳給主站,并接收主站下發(fā)數(shù)據(jù)和控制命令,驅動伺服電機??刂葡到y(tǒng)設計為典型的三閉環(huán)(位置環(huán)、速度環(huán)、電流環(huán))模式,伺服驅動器只做電流閉環(huán)運算;速度、位置閉環(huán)運算在工控機上完成。

  工控機與伺服驅動器構成EtherCAT主從站結構。其中由伺服驅動器作EtherCAT從站,選用寧波Phase公司AxN型驅動器,已集成相應的EtherCAT從站控制器ESC和微處理器芯片,支持CoE(CANopen over EtherCAT)應用層協(xié)議,相關配置較簡單,可同時實現(xiàn)與主站通信和驅動電機兩部分功能。故整個系統(tǒng)的重點和難點在于工控機實現(xiàn)EtherCAT主站和主從站通信軟件的設計。

  2.2工控機作EtherCAT主站

  基于PC的主站,硬件只需普通的網絡接口卡NIC(Network Interface Card)即可,主站功能完全由軟件來實現(xiàn)。選用Beckhoff公司的多核雙網口工控機C6640-0030。工控機實現(xiàn)EtherCAT主站功能主要包括以下幾個部分:搭建實時子系統(tǒng)(Real-Time SubSystem, RTSS);EtherCAT主站代碼的二次開發(fā);編寫電機實時控制程序;人機交互界面設計。系統(tǒng)架構如圖3所示。

003.jpg

  (1)搭建實時子系統(tǒng)RTSS。首先考慮到PC上為非實時的Windows操作系統(tǒng),要保證控制系統(tǒng)中EtherCAT通信的實時性,需將其轉變?yōu)閷崟r操作系統(tǒng)(Realtime Operating System, RTOS)。IntervalZero公司的KingStar Motion中已包含相應的RTX(RealTime Extension)軟件,它修改并擴展Windows的硬件抽象層HAL(Hardware Abstraction Layer),實現(xiàn)獨立的內核驅動模式,形成與Windows操作系統(tǒng)并列的實時子系統(tǒng)RTSS[4]。通過在Windows和RTX線程之間增加獨立的中斷間隔,提供獨立的RTSS調度器,從而保證系統(tǒng)的實時性。RTX提供了多種動態(tài)庫與靜態(tài)庫,用于實現(xiàn)相應的實時程序開發(fā),而且支持友好的編程環(huán)境。

  (2) EtherCAT主站代碼的二次開發(fā)。主站代碼采用KingStar Motion所包含的商業(yè)代碼來實現(xiàn),以靜態(tài)和動態(tài)鏈接庫的形式提供相關應用程序接口(Application Programming Interface,API),包括主站參數(shù)配置、主從站數(shù)據(jù)通信等函數(shù),易于二次編程開發(fā);支持CoE應用層協(xié)議;提供十分友好的編程環(huán)境,程序代碼均可在Microsoft Visual Studio中編寫。EtherCAT主站運行在RTSS下以保證EtherCAT通信的實時性。

  (3)編寫電機實時控制程序?;贓therCAT的實時控制程序主要是利用RTSS下的高精度定時器和高速的周期性EtherCAT通信來實現(xiàn)相應的閉環(huán)控制運算。程序通過運行在RTSS下的EtherCAT主站代碼與從站通信,實時接收處理從站反饋數(shù)據(jù),并向從站發(fā)送相應控制命令。

  (4)人機交互界面設計。為方便控制系統(tǒng)參數(shù)調試,可由MFC編寫相應的人機交互界面程序,通過進程間通信與電機實時控制程序進行數(shù)據(jù)交互,調試設定相關參數(shù),周期性地顯示系統(tǒng)相應狀態(tài),并保存實驗數(shù)據(jù)。上位機界面程序可運行在非實時的Windows系統(tǒng)下,由共享內存實現(xiàn)與RTSS實時程序之間的數(shù)據(jù)通信。

  2.3主從站通信軟件設計

  EtherCAT主從站通信采用CoE應用層協(xié)議,包括非周期郵箱通信和周期性過程通信。其中郵箱通信為主從站間的非周期通信,用于非實時應用場合,對應著KingStar Motion所提供的SDO函數(shù)ReadSdoObject和WriteSdoObject;過程數(shù)據(jù)通信為主從站間周期性通信,用于實時應用場合。

  由于從站為伺服驅動器,要實現(xiàn)對電機的驅動控制,參考CANopen伺服和運動控制行規(guī)CiA402,選擇驅動器的運行模式為周期性同步扭矩控制模式(Cyclic Synchronous Torque,CST)。該運行模式結構如圖4所示??刂浦髡局芷谛缘叵蝌寗釉O備發(fā)送目標扭矩指令,驅動設備運行扭矩控制。驅動設備向控制主站提供實際位置值、實際速度值和實際扭矩值[1]。

  主從站通信開始時,主站會依據(jù)網絡信息文件 (EtherCAT Network Information, ENI)初始化網絡。通過分析其ENI文件可以看到主站對應過程數(shù)據(jù)對象字典(Process Data Object, PDO)映射配置。其中RxPDO包含的對象字典6071h代表著電機目標轉矩值,TxPDO包含的對象字典6064h代表著電機當前位置值,結合CiA402協(xié)議可以實現(xiàn)對電機的驅動控制。

  

004.jpg

  在CST模式下,控制主站向驅動器下發(fā)目標轉矩,伺服電機為永磁同步電機采用id=0矢量控制,q軸電流與轉矩成正比,驅動器實現(xiàn)電流閉環(huán)運算,并反饋當前位置值,在控制主站實現(xiàn)位置、速度閉環(huán)運算。下發(fā)目標轉矩和反饋當前位置分別對應著KingStar Motion所提供的函數(shù)SetServoTorque和GetServoPosition。

  綜上所述,在Visual Studio 2013下編寫EtherCAT主從站通信程序,程序流程如圖5所示。實時任務運行在RTSS子系統(tǒng)下,負責實現(xiàn)EtherCAT主站配置、主從數(shù)據(jù)實時通信、高精度實時定時器與閉環(huán)運算;非實時任務是在Windows系統(tǒng)下設計的,主要完成人機交互界面的設計,包括參數(shù)設定和狀態(tài)顯示。

005.jpg

3實驗平臺搭建

  本文根據(jù)設計的系統(tǒng)整體方案,搭建了基于EtherCAT實時通信的電機驅動控制實驗平臺。主站為Beckhoff公司的多核雙網口工控機,操作系統(tǒng)為Windows7,安裝IntervalZero公司的KingStar Motion軟件,進行相應配置;從站采用的是寧波Phase公司的AxN型驅動器,已集成相關芯片和EtherCAT通信接口,通過網線直接與工控機實時網口相連;所用電機參數(shù),額定扭矩為35 Nm,最大轉速1150°/s;編碼器采用27位分辨率海德漢絕對式編碼器ECA4000,通信接口為Endat2.2,由接口定義配置相應轉接線,直接與伺服驅動器相連。

4實驗測試與分析

  為進行相關實驗測試,首先配置好AxN型驅動器作EtherCAT從站,由于主站已適配支持該類型驅動器,無需配置從站信息文件,可直接由網線連接工控機。運行所編寫的人機界面程序和電機實時控制程序,進行相應閉環(huán)實驗測試,并保存實驗數(shù)據(jù)以便分析。由于實驗條件有限,本文僅對伺服電機在未接負載的情況下進行了測試。

  4.1速度閉環(huán)測試

  給定電機參考速度為1°/s,測得其速度跟蹤誤差曲線如圖6所示。橫坐標為時間,單位為秒(s),縱坐標為速度跟蹤誤差,單位為角秒(″/s)。分析數(shù)據(jù)可知,系統(tǒng)在1°/s時速度跟蹤均方根誤差(Root Mean Square, RMS)為8.602 1″/s,最大速度跟蹤誤差絕對值為30.510 4″/s??梢娫撓到y(tǒng)速度跟蹤誤差較小,滿足跟蹤性能要求。

006.jpg

  

007.jpg

  4.2位置閉環(huán)測試

  位置定點跟蹤:給定參考位置定點為1°,測得其位置定點跟蹤誤差曲線如圖7所示。分析數(shù)據(jù)可知,系統(tǒng)在1°位置定點跟蹤誤差RMS為0.076 5″,最大位置跟蹤誤差絕對值為0.272 5″??梢娤到y(tǒng)位置定點跟蹤性能良好。

  位置正弦跟蹤:給點參考位置正弦為20°sin(0.1t),測得其位置正弦跟蹤誤差曲線如圖8所示。采集兩個周期的位置正弦跟蹤誤差數(shù)據(jù),分析可知,系統(tǒng)位置正弦跟蹤誤差RMS為0.702 1″,最大位置跟蹤誤差絕對值為1.407 1″??梢娫撓到y(tǒng)位置正弦跟蹤誤差很小,正弦跟蹤性能良好。

  

008.jpg

5結論

  本文設計了一種基于EtherCAT實時通信的電機驅動控制系統(tǒng)。簡要介紹了EtherCAT的工作原理;采用KingStar Motion軟件將工控機配置為EtherCAT主站,編寫主從站實時通信程序和上位機界面程序;根據(jù)系統(tǒng)方案搭建相應實驗平臺,進行了閉環(huán)控制實驗。結果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好,滿足相應性能要求。而且該系統(tǒng)結構簡單,拓撲靈活,在EtherCAT總線上增加多個伺服驅動器作從站,即可實現(xiàn)多電機的實時驅動控制;系統(tǒng)所有代碼均在Visual Studio 2013下編寫,維護方便,可以自定義編寫人機交互界面和復雜閉環(huán)算法。本文由于條件限制,沒有對系統(tǒng)在帶載或復雜工況下進行分析,也沒有研究轉到多電機驅動控制時的問題,這些都有待進一步研究。

參考文獻

 ?。?] 郇極,劉艷強. 工業(yè)以太網現(xiàn)場總線EtherCAT驅動程序設計及應用[M].北京:北京航空航天大學出版社,2010.

 ?。?] IntervalZero. KingStar product brief simple chinese[EB/OL].(2014-xx-xx)[2016-12-30]http://www.kingstar.com.

 ?。?] 任計羽. EtherCAT從站軟件的設計與實現(xiàn)[D].成都:中科院光電技術研究所,2014.

 ?。?] 田昊,潘清. RTX實時效果測試及應用[J].計算機系統(tǒng)應用,2007,16(2):103106.


此內容為AET網站原創(chuàng),未經授權禁止轉載。