馬夢意,徐建明
(浙江工業大學 信息工程學院,杭州 310023)
現代智能工業[1]自動化技術是信息社會中的關鍵和核心技術之一,自動化技術促進了人類文明的發展。目前,隨著對伺服系統[2]的信息化管理需求加劇,將現場總線、實時工業以太網等技術應用于伺服系統中引起了人們的廣泛關注,現代交流伺服系統已呈現開放性、網絡化、小型數字化和智能化等發展趨勢。因此,開展實時工業以太網通訊的伺服系統的研究具有重大的實際意義。
工業以太網技術快速發展,采用全雙工通信方式能同時收發數據,工業以太網的實時性也逐步提高。傳統的伺服驅動器使用模擬接口和I/O的控制方式難以實現分布式。智能化具有統一標準協議的伺服控制系統的組建使得實時通信更加智能。目前許多國際組織正努力建立工業以太網統一標準協議,使工業以太網國際標準化,故實時工業以太網已成為伺服驅動接口的主流。當前主流實時以太網主要有 EtherCAT[3]、Profinet、Ethernet、Powerlink、CC-Link IE等。2003年,德國自動化公司BECKHOFF(倍福)提出了一種實時工業太網技術EtherCAT,協議中對傳統的以太網協議進行修改,EtherCAT網絡完全符合以太網標準并具有較好兼容性,支持多種拓撲結構[4],適用性廣泛、效率高、刷新周期短、同步[5]性能好。
目前主流的EtherCAT總線伺服控制系統[6]方案有STM32/DSP加LAN9252,STM32/DSP加ET1100從站芯片等。Beckhoff公司2009年左右推出的EtherCAT從站控制器[7](EtherCAT slave control,ESC)ET1100,芯片總線接口可以擴展為4個,有8個現場總線內存管理單元和同步管理器,支持E-BUS;需要外置PHY芯片,成本較高,對性能和接口數量有要求,可以選用此方案。2015年美國Microchip公司推出的LAN9252芯片是集成了兩路以太網PHY的2/3端口ESC芯片,最多有3個接口,最多支持3個Fieldbus存儲管理單元[8]和接口。以上兩種ESC芯片方案需要外部的處理器MCU通過串行SPI(Serial Peripheral Interface,串行外設接口)或者并行FSMC(Flexible Static Memory Controller,可變靜態存儲控制器)等與其進行數據交互,需要編寫MCU與ESC芯片的底層驅動代碼[9],多芯片協同工作方案成本較高、調試難度較大、開發周期長,且在layout布局時占用PCB空間大,MCU與ESC芯片交互的高速信號容易受到干擾。
2015年英飛凌公司推出的XMC4800微處理器內置一個ESC和ARM Cortex M4內核。內部的EtherCAT處理單元(EPU)接收、分析和處理EtherCAT數據,啟用和協調對ESC的內部寄存器和內存空間的訪問。MCU支持最高2MB的嵌入式閃存、352Kb的內存,是業內唯一支持125℃的M4產品,可靠性高,且成本較低。配合Dave強大的IDE(Integrated Development Environment,集成開發環境),更方便地進行基于EtherCAT從站設備的開發。
本文以EtherCAT總線技術和矢量控制[10]為理論基礎,選用英飛凌公司的XMC4800為主控芯片,設計一種EtherCAT總線的從站伺服驅動系統。設計了EtherCAT網絡通訊電路、電機驅動電路、電流與電壓檢測電路[11]、編碼器檢測電路等。利用倍福SSC_Tool軟件配置生成從站協議代碼和設備描述XML文件,按照CIA402運動控制協議添加適用于本系統的對象字典[12];在英飛凌的編程軟件Dave上配置ECAT_SSC和SVPWM控制的APP,生成底層代碼;編寫了伺服驅動的位置環、速度環、力矩環和電流環控制算法程序。最后搭建了一個單軸伺服實驗裝置,利用TwinCAT軟件驗證了所設計的EtherCAT從站伺服驅動系統的可行性。
EtherCAT 是一種將工業以太網和現場總線技術相結合的工業總線,符合以太網標準,具有帶寬利用率高、實時性能強、拓撲結構靈活、配置簡潔、傳輸速度高、成本低等優勢。本課題結合總線技術,利用倍福主站TwinCAT3軟件和自主設計的伺服驅動器,搭建電機驅動控制系統。基于XMC4800的EtherCAT總線伺服控制系統總體結構如圖1所示;該系統的整體結構包括:工控機TwinCAT3主站、EtherCAT從站伺服驅動器、編碼器、伺服電機。主站TwinCAT3掃描從站,配置從站參數后開始進行運動軌跡位置和速度的規劃,然后在每個DC(Distribute Clock)周期將位置和速度等控制命令下發給從站驅動器,并且實時獲取電流、速度、位置等電機反饋的參數信息,形成閉環控制。

圖1 系統總體結構圖
基于XMC4800的EtherCAT總線伺服控制系統的硬件包括兩部分:EtherCAT總線從站網絡通訊和伺服電機驅動。在設計原理圖的時候采用英飛凌的引腳分配工具Infineon_ XMC_Pinout_Tool選擇MCU設備和封裝,勾選需要的外設,對引腳進行分配。設計的伺服驅動器網絡控制和伺服驅動部分都集成在一個PCB板子上,采用兩層板的設計結構。
伺服系統DC48V供電,LM2596-12和LM2596-5作為開關電源降壓芯片,分別降壓到12V和5V給MOS驅動芯片和運放芯片供電。MCU等芯片所需要的3.3 V電壓由AMS1117-3.3轉換得到。NCP1117ST18T3G把3.3 V轉換為1.8 V給PHY芯片的模擬電壓供電。
采用32位主頻144 MHz的XMC4800主控MCU,16位旋轉撥碼開關用于設置多軸伺服從站網絡地址,EEPROM存儲電路用于驅動器掉電數據保存,USB電路方便和上位機進行圖形化界面調試和電機參數配置。
XMC4800內部集成ESC,只需要一個12 M的石英晶振,ESC通過PHY芯片BCM5241交互數據,由隔離變壓器H1102NL連接到RJ45外部接口。帶有兩個EtherCAT接口,一進一出??蛇M行多種拓撲結構的系統組網。
兩個霍爾電流傳感器ACS711采集U、V兩相電流,經過搭建TLV2374的運放電路把采集到的模擬量給到單片機。傳感器靈敏度110 mV/A,最大量程12.5 A,滿足系統要求。
MOS驅動芯片IRS2003供電電壓12 V,驅動N溝道場效應管SW350R06VT,耐壓60 V最大負載電流24 A,滿足系統48 V供電電壓,驅動100 W電機的要求。
帶有絕對值式編碼器伺服電機,編碼器位置獲取電路用ADM485芯片搭建RS485通訊電路,芯片通訊速度2.5 Mbps,芯片供電電壓5 V。
5路數字輸入采用光耦EL3H4-G隔離包括左、中、右限位和兩個普通數字輸入。3路數字輸出采用EL357光耦隔離包括到位信號、抱閘信號和報警信號,負載1.5 A電流。
基于XMC4800的EtherCAT總線伺服控制系統總體硬件原理如圖2所示。

圖2 基于XMC4800的EtherCAT總線伺服控制系統總體硬件原理框圖
英飛凌XMC系列微處理器寓意跨市場單片機,Dave軟件可視化界面方便配置使得開發難度降低。官方推出的固件庫把MCU中的寄存器底層驅動都封裝起來,軟件的配置在模塊APP的對話框內編輯,然后生成底層代碼,開發者直接調用API函數即可。系統主程序里面有對系統文件的初始化配置、外設的頭文件的定義、EtherCAT初始化、系統初始化狀態的判斷和處理、EtherCAT網絡的主循環。系統主程序流程如圖3所示。

圖3 系統主程序流程圖
ESC的軟件系統搭建包括EtherCAT從站協議棧代碼和設備描述文件的生成以及對MCU的軟件編程配置。EtherCAT從站協議棧代碼和設備描述文件生成的流程框圖如圖4所示。首先編輯xlsx文件,里面包括PDO和SDO對象字典索引的編輯,然后用倍福的從站代碼生成工具Slave Stack Code Tool把英飛凌提供的Infineon_XMC_ECAT_SSC_Config.XML文件和編輯好的xlsx文件導入進去,設置廠商LOGO圖片、公司名字、產品代碼、設備名稱、版本號等基本信息和EtherCAT的硬件配置、EtherCAT狀態機的配置、同步性配置還有過程數據和郵箱的配置。最后生成EtherCAT協議棧代碼SSC文件夾,SSC文件夾里面有支持CIA402運動控制的Src文件夾代碼還有設備描述文件。

圖4 EtherCAT從站協議棧代碼和設備描述文件生成的流程框圖
使用DAVE-IDE-4.4.2-64Bit軟件前需安裝3個固件庫:DAVE Project Library Mansger、DAVE APPs Library Manager、Contributed DAVE APPs Library Manager。建立一個工程項目選擇芯片型號,添加相應的APP來進行配置,因為要搭建EtherCAT從站系統,所以需要添加1個ECAT_SSC模塊APP,2個EVENT_ DETECTOR、EVENT_ GENETOR、INTERRUPT模塊APP。根據原理圖引腳分配對軟件相對應的端口設置,并配置APP的功能,生成底層驅動代碼。ECAT_SSC的APP單元的主從結構如圖5所示。

圖5 ECAT_SSC的APP單元的主從結構
EtherCAT應用層使用CoE協議(CANopen over EtherCAT)實現伺服控制的周期性任務。從站的過程數據 (process data objects, PDO)的對象字典配置列表如表1所示。

表1 從站的過程數據的對象字典配置列表
從站設備的名稱為XMC_ESC,主站接收數據對象包括:狀態字、錯誤代碼、實際位置、實際速度、實際力矩、跟隨誤、數字輸入、電子探針狀態、電子探針上升沿1、電子探針下降沿1、電子探針上升沿2、電子探針下降沿2、工作模式顯示,主站下發數據對象包括:控制字、目標位置、目標速度、目標力矩、數字輸出、電子探針功能、回零方法、回零加速度、回零高速、回零低速、工作模式設置。EtherCAT通訊模塊包括EtherCAT處理單元(EPU)、內存、現場總線存儲單元、同步管理器,具有自動轉發、回傳和PDI數據交互的功能。EtherCAT處理單元(EPU)接收、分析和處理EtherCAT數據流。EtherCAT模塊程序的初始化流程如圖6所示。模塊首先配置PLL系統時鐘,失能時鐘然后判斷內存校驗初始化是否完成,如果完成則開啟中斷加載EEPROM,寫進用戶進程。如果內存檢驗初始化失敗則初始化輸入輸出引腳,設置ECAT中斷,解除復位,啟動從站協議。
EtherCAT處理單元啟用和協調ESC的內部寄存器和內存空間的訪問,通過PDI接口函數實現EtherCAT主站和從站數據交互。EtherCAT從控制器的地址空間64 K。第一個4K字節塊(0x0000到0x0FFF)用于寄存器和用戶內存。地址0x1000以后的內存空間用作進程內存。XMC4800支持進程數據RAM的8K字節。主從站數據交換與進程內存相比,具有特殊的功能,如SyncManager(同步管理器)和FMMU(現場總線內存管理單元)。現場總線存儲器管理單元將邏輯地址逐位映射到ESC的物理地址。同步管理器負責EtherCAT主站和從站之間的數據交換和郵箱通信,可以為每個PDO和SDO數據配置通信方向,根據SyncManager狀態將地址映射到不同的緩沖區供模塊訪問。
XMC4800伺服驅動器的軟件主要包括兩個部分:初始化程序和中斷服務子程序。初始化程序包括各個模塊和變量的初始化,ADC轉換結束中斷服務子程序運行伺服驅動控制算法,串口中斷服務子程序實現絕對值編碼器實時位置采集和速度計算。XMC4800中的CCU8單元產生3對互補的帶死區的PWM波,控制三相半橋驅動工作。通過CCU8單元計數更新事件觸發ADC同步采樣。本次設計中設置PWM頻率15 K,死區上升沿時間900 ns,死區下降沿時間900 ns,MOS開關延時50 ns。伺服驅動各模塊單元的主從結構如圖7所示。

圖7 伺服驅動各模塊單元的主從結構圖
當系統上電微控制器完成初始化后,絕對值編碼器串口通訊工作,讀出轉子當前絕對位置?;魻栯娏鱾鞲衅鰽CS711組成的電流檢測電路對相電流和母線電流進行采集,輸出信號進入片內ADC。MCU讀取電機編碼器的位置速度信號,設計位置、速度、力矩和電流控制環。相電流通過Clark變換、Park 變換,經電流調節器輸出給定相電壓,再利用Park逆變換得到給定電壓空間量,經SVPWM算法和CCU8輸出6路SVPWM信號。ADC轉換結束中斷服務子程序流程如圖8所示。

圖8 ADC轉換結束中斷服務子程序流程圖
CSP模式下的控制結構如圖9所示,該模式下運動控制的對象字典分別為控制字(0x6040)、狀態字(0x6041)、主站下發給驅動器的目標位置速度(0x607A)、電機轉子的實時位置信息(0x6064)和電機轉子的實際速度(0x606C)。EtherCAT從站程序完成初始化后,等待主站狀態請求信號的響應。主站通過控制字(0x6040)控制驅動器狀態的改變,從站驅動器的狀態通過狀態字(0x6041)反饋給主站。當主從站成功切換進入OP(Operation)工作狀態后,主站規劃運動控制軌跡下發位置信號,從站在協議棧電機控制的函數里面把目標位置賦值給FOC的入口參數,隨后在中斷服務程序里面經過矢量控制算法驅動電機旋轉。伺服從站把電機的實際位置、實際速度和實際力矩反饋給主站,形成閉環控制。

圖9 CSP模式下的控制結構圖
本課題測試EtherCAT總線的伺服驅動器的主站采用倍福Twincat3,設置并安裝網關驅動,把設備描述XML文件放在主站電腦硬盤C:TwinCAT3.1ConfigIoEtherCAT路徑的文件夾內,掃描從站設備,進行EEPROM燒寫工作,待燒寫完成后再次掃描從站,即可看到設備和對象字典的列表。本實驗采用周期性同步位置模式(CSP模式),主站設置500us的分布時鐘周期,在DC模式下,給伺服電機軸上使能,然后在對象字典工作模式中寫入十進制數8選定CSP模式。OP狀態下TwinCAT主站掃描到從站設備和對象字典圖如圖10所示。

圖10 OP狀態下TwinCAT主站掃描到從站設備和對象字典圖
驅動器采用DC48V開關電源供電,電機選用100 W、48 V的永磁同步電機,配套絕對值編碼器,在精密滾珠絲桿模組(型號:KK4001C,導程:1 mm,導軌長度:150 mm)上面實驗。電機起始位置為0,10轉/s的速度開始運動,加減速為1500 mm/s2。上位機設置電機10轉工作行程,對應滾珠絲桿模組10 mm前進距離,實際位置通過Twincat3軟件的示波器插件顯示出來。橫坐標時間單位:s,縱坐標行程單位:mm,在第2秒到第3秒時間段內絲桿滑塊勻速從0 mm運動到10 mm,速度為10 mm/s?;瑝K運行的實際位置波形如圖11所示。

圖11 電機實際位置的波形圖
本文研究了一種基于英飛凌XMC4800的EtherCAT總線伺服驅動器,系統由XMC4800作為主控芯片,由MOSFET搭建的半橋驅動作為系統的功率驅動,設計了EtherCAT從站電路、系統電源電路、電流采樣電路、編碼器位置采集電路和數字輸入輸出電路。本次系統硬件設計完成了EtherCAT從站和伺服驅動器的硬件開發工作、EtherCAT總線通訊和電機驅動的程序設計。利用安裝Twincat3主站軟件的PC機對從站進行調試,主站通過EtherCAT總線對伺服驅動進行運動控制的軌跡規劃,可以驅動100 W帶有絕對值編碼器的永磁同步電機正常運轉。本次實驗驗證了系統的正確性和可行性,達到了預期的功能效果。