牛盼情,康翔宇,何頂新
(1.華中科技大學(xué) 自動化學(xué)院,武漢430074;2.河南科技大學(xué))
牛盼情(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)與電機(jī)驅(qū)動控制系統(tǒng);康翔宇(碩士研究生),主要研究方向?yàn)殡娮涌刂葡到y(tǒng);何頂新(副教授),主要研究方向?yàn)榍度胧较到y(tǒng)應(yīng)用。
引 言
在機(jī)器人、機(jī)械臂和數(shù)控機(jī)床等工業(yè)控制系統(tǒng)中,永磁同步電機(jī)(PMSM)的驅(qū)動控制一直是此類控制系統(tǒng)的核心。而隨著工業(yè)技術(shù)的發(fā)展以及PMSM 應(yīng)用的越來越廣泛,PMSM 的驅(qū)動控制系統(tǒng)對性能和精度的需求也越來越高。為了滿足高性能、高精度等需求,有學(xué)者采用高性 能 的DSP 作 為 軟 硬 件 解 決 方 案[1-2],也 有 學(xué) 者 使 用ARM 微控制器作為系統(tǒng)解決方案,例如使用STM32 實(shí)現(xiàn)的控制系統(tǒng)[3]。由于PMSM 控制算法愈加復(fù)雜化、控制算法對控制器性能的要求不斷提高,國外學(xué)者提出了使用FPGA 作為PMSM 的驅(qū)動控制系統(tǒng)解決方案[4],且效果顯著。
本文使用的控制核心板即為搭載有Zynq-7000系列芯片XC7Z020-CLG484的ZedBoard開發(fā)板。使用這類產(chǎn)品可以在充分發(fā)揮FPGA 并行計(jì)算優(yōu)勢的前提下,利用ARM 進(jìn)行快捷的操作系統(tǒng)移植[7]以及人機(jī)交互等軟件開發(fā)。本文的開發(fā)方案是在ARM 和FPGA 上分別實(shí)現(xiàn)不同的控制算法模塊,該方案在結(jié)合ARM 和FPGA 各自優(yōu)勢的同時(shí),提高了系統(tǒng)的控制性能和可移植性。
常見的PMSM 驅(qū)動控制系統(tǒng)可以分為電流環(huán)、速度環(huán)、位置環(huán)3個(gè)層次的控制模塊,以及機(jī)電傳感器信號處理接口、數(shù)據(jù)監(jiān)測、人機(jī)交互等。電流環(huán)控制方案較多采用的是矢量控制算法,該算法通過檢測PMSM 的相電流值,以坐標(biāo)變換的方式將定子電流分解成勵磁電流和轉(zhuǎn)矩電流,以實(shí)現(xiàn)各自的閉環(huán)控制[8]。而速度環(huán)、位置環(huán)控制器常用的是PID控制器。
控制系統(tǒng)結(jié)構(gòu)如圖1所示。按照功能類型可以將系統(tǒng)組件劃分為機(jī)電接口組件、矢量控制算法組件和控制層組件下幾個(gè)部分。
機(jī)電接口組件主要是實(shí)現(xiàn)機(jī)械、電路等模塊的信號接收、發(fā)送和信號處理等功能。該組件的信號輸入捕捉模塊為隨后的算法層提供帶有指定格式的數(shù)據(jù),信號輸出模塊為機(jī)電執(zhí)行電路提供標(biāo)準(zhǔn)的可控信號波形。具體來說,該組件由以下幾個(gè)模塊構(gòu)成:
①編碼器正交解碼模塊。該模塊實(shí)現(xiàn)對編碼器信號的處理,通過捕捉編碼器的輸出波形,計(jì)算出電動機(jī)轉(zhuǎn)速、轉(zhuǎn)子位置等數(shù)據(jù)。
②ADC 接口模塊。該模塊實(shí)現(xiàn)的是A/D 轉(zhuǎn)換器的傳輸協(xié)議,本系統(tǒng)是使用帶有SPI接口的A/D 轉(zhuǎn)換器,故而該模塊實(shí)現(xiàn)SPI通信協(xié)議。
③PWM 發(fā)生器。該模塊完成脈寬可調(diào)制波形(PWM)的生成,該模塊產(chǎn)生用于驅(qū)動本文所設(shè)計(jì)逆變器的6路PWM 信號。
矢量控制算法組件完成PMSM 的電流環(huán)相關(guān)算法。該組件包括以下幾個(gè)模塊:
①Sin&Cos模塊。該模塊完成轉(zhuǎn)子的電角度值到正弦、余弦值的計(jì)算。
圖1 控制系統(tǒng)結(jié)構(gòu)圖
②空間坐標(biāo)轉(zhuǎn)換模塊。該模塊把該系統(tǒng)的控制目標(biāo)PMSM 等效成一臺控制算法和更簡單的直流電動機(jī),主要包含了三相-兩相坐標(biāo)變換和同步旋轉(zhuǎn)變換等模塊,實(shí)現(xiàn)了定子三相電流解耦成轉(zhuǎn)矩電流iq和勵磁電流id的計(jì)算過程。
③SVPWM 模塊。該模塊實(shí)現(xiàn)空間矢量PWM 信號的產(chǎn)生等功能。
控制層組件實(shí)現(xiàn)PMSM 的三環(huán)控制,主要包括以下幾個(gè)模塊:
①電流環(huán)轉(zhuǎn)矩電流iq和勵磁電流id的控制器模塊;
②速度環(huán)、位置環(huán)控制器,以及轉(zhuǎn)子速度、位置計(jì)算等模塊;
③輔助控制以及測試相關(guān)的模塊,主要實(shí)現(xiàn)人機(jī)交互、調(diào)試數(shù)據(jù)獲取等功能。
該嵌入式驅(qū)動控制系統(tǒng)的硬件平臺由四塊印制電路板(PCB)構(gòu)成,其組成結(jié)構(gòu)如圖2所示。PCB板由ZedBoard開發(fā)板、FMC接口板、信號處理板以及驅(qū)動板組成。
圖2 系統(tǒng)電路板組成
根據(jù)驅(qū)動控制系統(tǒng)原理框圖,可將系統(tǒng)的軟件算法模塊根據(jù)算法并行性、性能需求和可移植性需求劃分到ARM 或 者FPGA 上 實(shí)現(xiàn)??刂葡到y(tǒng)利用FPGA實(shí)現(xiàn)矢量控制電流環(huán)以提高算法并行性和計(jì)算頻率;使用ARM 實(shí)現(xiàn)速度環(huán)、位置環(huán)和人機(jī)交互等算法,以保證軟件開發(fā)的便捷性和算法的可移植性。而系統(tǒng)中ARM 和FPGA的通信使用Zynq片上高性能總線(AXI HP)以及中斷信號實(shí)現(xiàn)。系統(tǒng)軟件組成框圖略——編者注。
ARM 與FPGA 的核間通信問題是Zynq應(yīng)用開發(fā)的重中之重,其核間通信總線AXI HP可采用存儲器直接訪問(DMA)的形式進(jìn)行數(shù)據(jù)傳輸,總線最高位寬為64位,理論通信帶寬最高可達(dá)1 200 MB/s。采用的通信方案為中斷信號和AXI HP總線協(xié)同工作的方式,中斷信號實(shí)現(xiàn)ARM 和FPGA 控制周期的協(xié)同,AXI HP 總線為ARM和FPGA 提供高帶寬的通信速率。系統(tǒng)采用AXI HP總線以DMA 的形式直接讀寫ARM 數(shù)據(jù)空間的方案,所以在控制算法周期內(nèi)ARM 無需管理通信時(shí)序。
該系統(tǒng)的核間通信時(shí)序圖如圖3所示。
圖中數(shù)據(jù)傳輸發(fā)生在FPGA 和ARM 的算法軟件把數(shù)據(jù)處理完成之后,此處的數(shù)據(jù)處理包括如下兩個(gè)方面:
圖3 ARM 和FPGA通信時(shí)序圖
①FPGA 端數(shù)據(jù)處理包括對編碼器、A/D 轉(zhuǎn)換器等傳感器信號的獲取和處理,以及上一周期的電流環(huán)控制算法運(yùn)算過程中的重要變量數(shù)據(jù)收集和處理等工作。
②ARM 端數(shù)據(jù)處理包括速度環(huán)輸出的電流給定指令的保存、上一周期的電流環(huán)反饋數(shù)據(jù)處理,以及人機(jī)交互指令數(shù)據(jù)解析等操作。
圖3中描述的通信信號簇的數(shù)據(jù)傳輸主要是完成FPGA 數(shù)據(jù)寫到ARM 可訪問的內(nèi)存空間、FPGA 讀取ARM 指定內(nèi)存空間的數(shù)據(jù)兩個(gè)方面的操作。圖3中涉及的中斷信號是由FPGA 上的算法模塊發(fā)起,主要功能是同步FPGA 和ARM 的運(yùn)行時(shí)序。經(jīng)過上述AXI HP總線的數(shù)據(jù)傳輸和中斷信號兩個(gè)操作,可實(shí)現(xiàn)ARM 和FPGA 的數(shù)據(jù)交互功能,其總線頻率為90 MHz,測試其數(shù)據(jù)傳輸帶寬為284 MB/s。
該系統(tǒng)使用控制器XC7Z020芯片上嵌入的FPGA(Xilinx公司的Artix-7系列),其資源總量約為1.3 M 邏輯門。在本系統(tǒng)中電流環(huán)控制頻率為16kHz,其實(shí)現(xiàn)的算法框圖如圖4所示。
在FPGA 上實(shí)現(xiàn)的軟件包括算法和接口兩個(gè)部分,其中算法部分?jǐn)?shù)據(jù)格式為16 位的Q15 定點(diǎn)數(shù),該部分代碼通過Xilinx 工具ISE14.7 完成代碼的功能仿真和驗(yàn)證,各個(gè)模塊占用FPGA 總資源量如表1所列。該算法代碼運(yùn)行時(shí)鐘頻率為90 MHz,算法計(jì)算耗時(shí)為5.7μs,可見其運(yùn)算耗時(shí)充分滿足本系統(tǒng)使用的16kHz電流環(huán)控制頻率的要求。
表1 FPGA算法資源占用量
運(yùn)行于本系統(tǒng)雙核ARM Cortex-A9上的軟件程序主要包括控制組件和輔助組件兩大部分??刂平M件運(yùn)行于中斷服務(wù)程序中,以滿足算法對控制周期的時(shí)序要求;輔助組件運(yùn)行于背景循環(huán)程序中,實(shí)現(xiàn)人機(jī)交互接口管理、系統(tǒng)監(jiān)測等功能。
系統(tǒng)軟件的中斷服務(wù)程序運(yùn)算流程如圖5所示,該中斷服務(wù)程序的中斷信號由FPGA的矢量控制算法模塊發(fā)出。
圖4 FPGA實(shí)現(xiàn)軟件系統(tǒng)框圖
圖5 運(yùn)行于ARM 的軟件流程
圖中的數(shù)據(jù)處理流程包括以下幾個(gè)部分:
①人機(jī)交互數(shù)據(jù)處理。實(shí)現(xiàn)用戶命令解析,系統(tǒng)運(yùn)行指令給定等功能。該系統(tǒng)的主要運(yùn)行模式包括速度模式和位置模式兩種,運(yùn)行指令包括給定電機(jī)轉(zhuǎn)動位置、轉(zhuǎn)動速度等。
②電流環(huán)反饋數(shù)據(jù)解析和處理。該環(huán)節(jié)實(shí)現(xiàn)對運(yùn)行于FPGA 上的算法進(jìn)行監(jiān)控,并對電機(jī)運(yùn)行數(shù)據(jù)進(jìn)行封裝,以便人機(jī)交互組件進(jìn)行數(shù)據(jù)發(fā)送等操作。
③電流環(huán)指令給定數(shù)據(jù)的保存。該環(huán)節(jié)主要是處理上一周期的速度控制器輸出數(shù)據(jù),保證該數(shù)據(jù)能準(zhǔn)確傳輸?shù)紽PGA。
完成數(shù)據(jù)處理之后,軟件運(yùn)行到核心控制器環(huán)節(jié)。該環(huán)節(jié)采用的位置環(huán)控制器為比例控制器,速度環(huán)控制器為積分抗飽和的PI控制器。經(jīng)過參數(shù)整定,該軟件算法能夠滿足系統(tǒng)控制精度等要求。
本系統(tǒng)使用Xilinx 開發(fā)工具套件ISE14.7、Vivado 2014.2以及SDK 實(shí)現(xiàn)代碼開發(fā)和工程管理工作。其中,ISE 14.7用來完成FPGA 代碼開發(fā)、算法功能仿真驗(yàn)證等工作,Vivado 2014.2用來進(jìn)行工程管理和Zynq ARM端的啟動文件配置等工作,SDK 用來進(jìn)行ARM 端應(yīng)用程序開發(fā)工作。
本系統(tǒng)的實(shí)驗(yàn)平臺包含了以下幾個(gè)部分:
①帶有2500線編碼器的PMSM 電機(jī),電機(jī)參數(shù)如表2所列。
②電機(jī)驅(qū)動板、信號處理板、FMC 接口板,用于供給驅(qū)動板直流母線電壓的線性電源等。
③ 搭 載 有XC7Z020-CLG484 芯 片 的ZedBoard 開發(fā)板。
給定PMSM 驅(qū)動控制系統(tǒng)2 400r/min的速度階躍值時(shí)電機(jī)的速度和電流響應(yīng)情況圖略——編者注。該系統(tǒng)速度響應(yīng)無超調(diào)、無靜差、電流響應(yīng)迅速,可見該P(yáng)MSM 控制系統(tǒng)具有良好的控制性能和控制精度。
表2 實(shí)驗(yàn)平臺PMSM 參數(shù)
結(jié) 語
介紹了一個(gè)基于Zynq的PMSM 驅(qū)動控制系統(tǒng),并介紹了異構(gòu)多核控制系統(tǒng)的片上總線通信方案的設(shè)計(jì)。該系統(tǒng)充分結(jié)合了ARM 和FPGA 在嵌入式系統(tǒng)應(yīng)用開發(fā)中的優(yōu)勢,在ARM 上實(shí)現(xiàn)人機(jī)交互以及可移植性強(qiáng)的算法,在FPGA 上實(shí)現(xiàn)并行度高、性能要求高的算法。
通過實(shí)驗(yàn)驗(yàn)證了使用Zynq實(shí)現(xiàn)PMSM 控制系統(tǒng)的可行性以及便捷性,說明該方案不僅可以提高系統(tǒng)控制性能、提高控制精度和帶寬,而且能夠在完成高性能控制器的基礎(chǔ)上實(shí)現(xiàn)復(fù)雜算法的驗(yàn)證、人性化的人機(jī)交互等功能,系統(tǒng)的控制性能和可擴(kuò)展性都得到了大幅增強(qiáng)。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]陳應(yīng)豪.基于DSP的PMSM 矢量控制在電梯控制中的應(yīng)用[J].微處理機(jī),2010(3):105-107.
[2]李長紅.PMSM 調(diào)速系統(tǒng)中最大轉(zhuǎn)矩電流比控制方法的研究[J].中國電機(jī)工程學(xué)報(bào),2005,25(21):169-174.
[3]張巍.基于ARM 的PMSM 控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息:嵌入式與SOC,2010,26(11-2):70-71.
[4]Mohamed Wissem Naouar.FPGA-Based Predictive Current Controller for Synchronous Machine Speed Drive[J].IEEE TRANSACTIONS ON POWER ELECTRONICS,2008,23(4):2115-2126.
[5]李虎修.基于FPGA +ARM 的永磁同步電動機(jī)高精度轉(zhuǎn)速檢測[J].組合機(jī)床與自動化加工技術(shù),2012(11):53-56.
[6]Xilinx.Zynq-7000 All Programmable SoC Technical Reference Manual[EB/OL].[2014-11].http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf.
[7]方華啟.多核實(shí)時(shí)操作系統(tǒng)TOPPERS/FMP移植研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(12):4-7.
[8]陳伯時(shí).電力拖動自動控制系統(tǒng)—運(yùn)動控制系統(tǒng)[M].3版.北京:機(jī)械工業(yè)出版社,2003:190-214.