李樂榮,劉忠途,劉 亢,宗志堅
(中山大學 工學院,廣東 廣州 510006)
電動汽車用電機控制器的開發具有小批量、面向不同對象的特點,因此對開發方法應具有周期短,成本低的特點,同時控制器應該具有較強可重用性和可靠性,且能滿足復雜控制算法執行和參數可在線調節。傳統的電機控制器開發一般有3種:基于可編程邏輯控制器(PLC)的電機控制器開發;基于專用電機控制的集成電路(IC)的電機控制器開發;基于微處理器(MCU)的電機控制器開發。這3種技術各有優缺點及其應用場合:基于PLC的電機控制開發擁有成熟的開發軟件,開發周期短,且PLC運行可靠穩定,但不能實現復雜的控制算法;基于IC的電機控制器雖然其單個成本低,但其開發周期長、開發成本高、具有不可重配置性;基于MCU的電機控制器開發雖然可以運行復雜的控制算法,但還是存在系統的通用性較弱、開發周期長的缺點。隨著技術的不斷發展,現在出現一種結合這幾種優點的適用于電動汽車電機控制系統的開發平臺——基于可編程自動控制器(PAC)的電機控制器快速控制原型平臺。
筆者以美國國家儀器(NI)的CompactRIO為例,首先闡明了PAC平臺的定義和主要特點,然后結合永磁同步電機的磁場定向控制技術特點,簡述了如何通過Compact RIO平臺實現磁場定向控制的快速控制原型開發。
可編程自動化控制器(PAC)是集計算機技術、自動控制技術、儀表技術和網絡通信技術為一體的自動控制裝置。由表1可看出PAC既具有傳統PLC在功能、可靠性、速度、故障查找等方面的特點,又具有PC的高速運算、豐富的編程語言、方便的網絡連接優勢[1]。

表1 PAC、PLC、PC特征對比Tab.1 Feature Comparison of PAC、PLC、PC
Compact RIO可編程自動化控制器是NI推出的一款低成本、可重新配置的控制和采集系統。其采用可重新配置I/O(RIO)FPGA技術,以及開放式的模塊化結構,使用戶可根據具體的項目需求配備不同的模塊從而可以實現多領域的控制需求。同時,RIO核心具有內置式數據傳輸機制,可將數據傳輸到嵌人式處理器,用于實時分析、事后處理、數據記錄并且可以聯網與主機系統進行交互。此外,NI LabVIEW是一個開放而靈活的開發環境,能夠與多種工業硬件無縫連接,將基于配置的開發方式和編程語言緊密結合起來。圖1所示為Compact RIO的功能圖。

圖1 Compact RIO的功能架構圖Fig.1 Function chart of Compact RIO
從功能架構可以看出,NI Compact RIO硬件上配備模擬輸入模塊、數字輸出模塊、基于FPGA的高速RIO、浮點運算器、大容量非易失存儲介質,軟件上配備實時操作系統、運動控制模塊、數據分析模塊、網絡數據交互模塊。對于控制電機需用到的PWM接口、編碼器接口、模擬輸入接口、高速運算器和快速控制原型需要的可重配置性、實時在線調節參數、數據存儲功能NI Compact RIO都可以實現。因此NI Compact RIO是一個適合做電機控制器RCP的PAC平臺。
電動汽車用電機系統需要具有控制穩定、響應速度快、系統效率高的特點。矢量控制是1971年西門子工程師FBlaaschke首次提出的,其基本思想是通過坐標變換,將靜止坐標系中定子電流空間矢量is分解為dq旋轉坐標系中的兩個分量:勵磁電流分量id和與之垂直的轉矩電流分量iq。在工作過程中,通過對id和iq的大小進行控制,便可獲得與直流電機相當的動態性能[3]。因其控制結構簡單,控制軟件實現較容易,已被廣泛應用到調速系統中。

圖2 永磁同步電機dq坐標系示意圖Fig.2 Schematic diagram of PMSM in dq coordinate
圖2是永磁同步電機在dq旋轉坐標系下的模型,其定子磁鏈方程為式(1);電壓方程為式(2);電磁轉矩方程為式(3)。
式(1)~(3)中,ψd為 d 軸磁鏈,ψq為 q 軸磁鏈,id為 d 軸電流,iq為 q軸電流,ud為 d軸電壓,uq為 q軸電壓,ψf為永磁體產生的磁鏈,是常數;ω為轉子電角速度;Ld為d軸等效線圈的自感;Lq為q軸等效線圈的自感;P為電機極對數;Tem為電磁轉矩;is為定子電流矢量;β為電機功角。
磁場定向控制(FOC)又稱為id=0控制,即在矢量控制中使勵磁電流分量保持為零;通過控制轉矩電流分量來控制電機輸出的電磁轉矩,此時的電磁轉矩為:


FOC主要由電流和速度采集模塊、坐標變換模塊、PID模塊、SVPWM模塊組成[4],圖3為FOC的框圖。

圖3 永磁同步電機磁場定向控制框圖Fig.3 Control diagram of FOC on PMSM
基于cRIO PAC電機控制器RCP的結構框圖如圖4所示。
1)Host主機負責電機控制的速度輸入、參數在線調試、實時狀態顯示等人機交互界面和數據文件的保存;
2)Compact RIO系統相當于RCP中的虛擬控制器對實際的電機對象進行控制。虛擬控制器分為實時系統和FPGA模塊兩部分,實時系統主要負責運行實時性相對要求較高的程序,以及擔任串聯FPGA與Host主機的角色;
3)FPGA模塊主要負責控制可重配置的IO模塊,輸出PWM和實時采集電流、速度信號,高速并行執行磁場定向控制算法。
基于Windows系統的Host主機相對于實時系統的Compact RIO擁有更大的數據儲存空間,更加友好的人機界面。Compact RIO可通過以太網與Host主機連接并進行數據交互。一臺Host主機可以連接控制多臺Compact RIO。本實驗Host主機與Compact RIO為一對一的連接,開發人員可通過對Host主機的界面的操作而實現電機速度輸入、磁場定向中的PID參數進行調試、數據保存和后處理等功能。
Host主機VI與RT實時系統VI的數據交互使用了共享變量技術。LabVIEW共享變量可以在網絡上的不同VI之間共享數據,編輯時使用屬性對話框來配置,開發簡單。在本實驗中啟停命令和輸入速度分別以整形變量從Host主機發送到RT系統,而3組PID的參數分別以數組的形式進行共享。同時,Host主機從RT系統接收的電機控制的狀態和算法的中間變量都是組成數組的形式進行共享。圖5和圖6分別是Host主機VI的前面板和后面板。

圖5 Host主機VI的前面板Fig.5 Front panel of Host VI
從圖3可看出在電機控制器RCP的過程中,實時系統發揮著一個承上啟下的作用。實時處理器與FPGA交互部分的程序是對時間要求嚴格,優先執行;而數據存儲和與Host交互的程序優先級較低,正常調度。
實時處理器與FPGA模塊進行數據交互使用了FPGA接口操作和DMA FIFO技術,FPGA接口操作是以FPGA VI的單個變量為對象進行讀寫操作;DMA FIFO技術是通過先入先出隊列實現RT到FPGA和FPGA到RT的大量數據的高速傳輸[5]。

圖6 Host主機VI后面板Fig.6 Bolck diagram of Host VI
本實驗中從Host主機傳輸過來的啟停命令、需求速度、PID參數都是通過FIFO實時傳送到FPGA程序上。而FPGA執行磁場定向控制中的反饋信號和中間變量同樣通過FIFO傳送到RT上。圖7為實時系統VI的程序后面板。
FPGA具有高性能、可重新配置、小尺寸和較低工程開發成本的特性,但傳統的EDA工具對FPGA的開發門檻高、開發周期長。而NI LabVIEW FPGA模塊為Compact RIO上的FPGA芯片提供了圖形化的開發環境,使Compact RIO較其他PAC具有更大的靈活性和可重配置性。FPGA運行在高速時鐘下,定時/觸發分辨率達25 ns,并且擁有基于硬件電路的并行執行特點,對比于傳統的順序執行結構提高了電機控制性能。
從圖3可以看出磁場定向所有算法都是在FPGA上執行的;主要包括:電流和速度采集模塊、坐標變換模塊、電流環PID控制模塊、速度環PID控制模塊、SVPWM輸出模塊。除了采集模塊和輸出模塊是順序執行之外,其他3個模塊都是可以采用多級流水線的方式并行執行的[6]。
NI LabVIEW FPGA模塊圖形化的開發環境使用戶可以既快速又高效地編寫程序進行硬件控制和算法實現。由于篇幅有限,圖8和圖9只展示了SVPWM模塊、PID算法的程序實現圖。

圖7 實時系統VI的程序后面板Fig.7 Block diagram of Real-time VI

圖8 SVPWM模塊的設計Fig.8 Code of SVPWM module

圖9 PID模塊的設計Fig.9 Code of PID module
本文在深入了解了可編程自動控制器的基礎上,結合了NI Compact RIO的高可靠性、強大的軟件功能、易于開發的特點,對基于Compact RIO的電機控制器快速控制原型的進行了研究,并以永磁同步電機磁場定向控制為例進行設計,說明了基于PAC的快速控制原型方法適合用于電動汽車電機控制器的開發。
[1]劉建峰.基于PAC的多軸運動控制系統的研究 [J].機械制造與自動化,2007,36(6):125-126,137.
LIU Jian-feng.The Study on Multi-axis Motion Control System Based on PAC [J].Machine Building Automaion,2007,36(6):125-126,137.
[2]美國國家儀器(NI)公司.NI LabVIEW及PAC平臺與傳統自動化系統的無縫集成[J].計算機測量與控制,2009(9):106-108.
National Instrument.NI LabVIEW and PAC Integrate with Traditional Automatic System[J].Computer Measurement&Control,2009(9):106-108.
[3]李練兵,莫紅影,王華君.基于MC9S12DG128的無刷直流電機矢量控制系統[J].伺服控制,2010(4):49-51
LI Lian-bing,MO Hong-ying,WANG Hua-jun.Brushless DC Motor Vector Control Based on MC9S12DG128[J].Servo Control,2010(4):49-51.
[4]Jiang S,Liang J,Liu Y,et al.Modeling and cosimulation of FPGA-based SVPWM control for PMSM [J]Industrial Electronics Society,2005:1538-1543.
[5]A.li F H,Mahmood H M,Ismael S M B.LabVIEW FPGA implementation of a PID controller for D.C.motor speed control[C]//2010 1st International Conference onEnergy,Power and Control(EPC-IQ),2010:139-144.
[6]Kowalski C T,Lis J,OrlowskaEnergy, Power and Control(EPC-IQ),Kowalska, T., FPGA Implementation of DTC Control Method for the Induction Motor Drive[J],EUROCON,2007.The International Conference onComputer as a Tool,2007:1916-1921.