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

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

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

  關(guān)鍵詞:EtherCAT,;KingStar Motion軟件;電機(jī)驅(qū)動控制

  中圖分類號:TP29文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.001

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

0引言

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

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

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

1EtherCAT通信原理

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

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

001.jpg

2電機(jī)驅(qū)動控制系統(tǒng)設(shè)計(jì)

  2.1系統(tǒng)整體方案設(shè)計(jì)

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

 002.jpg

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

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

  2.2工控機(jī)作EtherCAT主站

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

003.jpg

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

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

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

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

  2.3主從站通信軟件設(shè)計(jì)

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

  由于從站為伺服驅(qū)動器,要實(shí)現(xiàn)對電機(jī)的驅(qū)動控制,,參考CANopen伺服和運(yùn)動控制行規(guī)CiA402,,選擇驅(qū)動器的運(yùn)行模式為周期性同步扭矩控制模式(Cyclic Synchronous Torque,CST),。該運(yùn)行模式結(jié)構(gòu)如圖4所示,。控制主站周期性地向驅(qū)動設(shè)備發(fā)送目標(biāo)扭矩指令,,驅(qū)動設(shè)備運(yùn)行扭矩控制,。驅(qū)動設(shè)備向控制主站提供實(shí)際位置值、實(shí)際速度值和實(shí)際扭矩值[1],。

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

  

004.jpg

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

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

005.jpg

3實(shí)驗(yàn)平臺搭建

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

4實(shí)驗(yàn)測試與分析

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

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

  給定電機(jī)參考速度為1°/s,,測得其速度跟蹤誤差曲線如圖6所示。橫坐標(biāo)為時間,,單位為秒(s),,縱坐標(biāo)為速度跟蹤誤差,單位為角秒(″/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)測試

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

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

  

008.jpg

5結(jié)論

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

參考文獻(xiàn)

 ?。?] 郇極,劉艷強(qiáng). 工業(yè)以太網(wǎng)現(xiàn)場總線EtherCAT驅(qū)動程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2010.

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

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

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。