工業設計人員可望借助快速建立原形技術和模塊基礎設計,將馬達控制算法移至FPGA SoC環境中,藉此開發出以FPGA SoC為核心的馬達驅動系統,從而大幅減少組件數量與設計復雜性,同時降低系統成本并提高性能與穩定性。
自90年代以來,馬達驅動開發人員一直采用多芯片架構執行馬達電機控制與需求處理。在此架構中,散離數字訊號處理(DSP)芯片負責執行馬達控制算法、現場可編程門陣列(FPGA)執行高速輸入輸出(I/O)與網絡協議,而離散型處理器則處理執行控制。隨著FPGA SoC的推出,設計人員找到將這些功能合并至單一組件,并整合其他處理工作的方法。組件數量與復雜性的減少,不僅可以降低系統成本,還能提升系統效能與穩定性。
但馬達驅動開發人員應如何才能改變既有的設計方法,轉而采用FPGA SoC呢?
長期以來,工業設計人員一直采用模型化基礎設計,透過模擬和C代碼的產生,在數字信號處理器芯片上研發馬達控制算法。如今,賽靈思(Xilinx)與數學運算軟件開發商MathWorks合作開發全新工作流程,能將模型化基礎設計擴展至可支持處理系統與可編程邏輯的FPGA SoC--Zynq-7000 All Programmable SoC。
具備更高處理效能 FPGA SoC適用于馬達控制
當前先進的馬達控制系統都屬于控制算法與工業網絡的結合,包括EtherCAT、Profinet、Powerlink以及Sercos III,皆能從運算資源中處理帶寬。此外,馬達控制系統現可結合包括運動控制層、可編程邏輯控制器(PLC)層、診斷層及用戶接口等其他需求,進行節能和維修或遠程監控。這些需求能將適合處理系統的組件轉化為邏輯分割區與實體分割區,而其他組件則適合于硬件輔助卸除與加速。
馬達開發人員所選擇的硬件平臺應提供穩健的可擴展系統。FPGA SoC能滿足以上需求,同時搭配高效能處理系統,以支持連網、動態、軟PLC、診斷、遠程維護等功能,與可編程設計邏輯結合,加速硬件中關鍵效能的功能。
在處理方面,FPGA SoC與內建NEON協處理器和浮點擴展的安謀國際(ARM)Cortex-A9雙核心處理系統相結合,可加速軟件執行速度。在可編程設計邏輯組件方面,則搭配超過44.4萬個邏輯單元和二千二百個DSP48區間,能處理大量帶寬。利用五個高吞吐量AMBA-4 AXI高速互連,加上可編程設計邏輯與處理系統的緊密結合,相當于三千多個PIN的有效帶寬。
運用Simulink/控制系統工具箱 裝置與馬達模型開發完成
現代控制算法須跨越多個系統時間與系統變量,造成硬、軟件分割成為一項嚴峻、耗時且重復的任務。一個典型的馬達驅動,電源頻率通常為50~60Hz,經過整流后,形成連續直流(DC)電壓。該直流電壓轉換成變頻電壓,可控制馬達端子所需的功率。此外,控制器必須讀取馬達基本變量,包括電流和電壓??刂破魍瑯禹氉x取或制定馬達軸心位置,包括軸心轉速和處理來自通訊網絡或監視控制器的處理命令。
Simulink提供多域系統仿真和模型基礎設計的方塊圖環境,適用于具有控制算法和裝置模型的仿真系統。MathWorks的控制系統工具箱(Control Systems Toolbox)基于Simulink對控制系統建模常用之系統分析、設計與微調的方法,提供多種 「應用」工具。利用Simulink執行系統建模,可加快馬達控制系統的開發速度,同時在以下幾個方面降低風險:
.降低受損風險
仿真法有助于全新控制系統算法的檢驗,可降低生產硬件測試前,損壞驅動電子組件、馬達及系統其他組件的風險。
.加速系統整合
支持人員必須將控制系統新算法整合至生產系統,這意味著部署新控制器會花費他們已經有限的時間,部署過程也可能變得冗長。
.減少對設備的依賴
生產環境在某些情況下,可能不能使用,例如客制化的驅動電子組件或馬達驅動方案尚在開發階段,或并不在控制系統設計人員可以取得的地方。
基于上列因素,仿真法是進行生產硬件測試的最佳替代方案。Simulink等模擬環境可從既有的馬達電機組件構建模塊庫,提供創建裝置模型框架,利用該裝置模型對新的控制系統架構進行評估。
將系統模型與快速成型環境及最終生產系統相連接,可進一步降低時程風險??焖俪尚凸ぷ髁鞒處椭惴ㄩ_發人員在不依賴硬件設計人員的情況下,進行原型設計。算法研究人員可在高度自動化過程中采用特定平臺支持套件,將系統硬件和軟件組件部署到可編譯為特定硬件開發平臺的設計模板。硬件與軟件設計團隊可將這些相同的硬件和軟件組件,重新應用于最終生產系統之中,毋須做出任何修改,即可加速研發過程并減少失誤。
? ? ? ?
設計人員可將Zynq-7000 All Programmable SoC/模擬組件智能驅動套件與Simulink及Zynq SoC工作流程相結合,實現馬達控制應用的全套快速成型系統。該套件結合Zynq SoC與亞德諾(ADI)最新一代高精度數據轉換器及數字隔離器。
梯形馬達控制實例介紹
現在讓我們透過Simulink仿真將上述工作流程應用于圖1中的馬達梯形控制系統。藉由仿真裝置評估控制器,采用智能驅動套件對該控制器進行原型設計。最后,利用硬件測試的結果來對Simulink模型進行驗證。
?
圖1 針對FPGA SoC的MathWorks工作流程,采用C代碼與HDL代碼生成。
在此實例中,我們使用智能驅動套件驅動以鋁盤形式存在的慣性載荷,搭配基礎梯形控制器。該控制器的主要組件如下:
.霍爾效應傳感器
檢測馬達位置。
.速度預測器
根據傳感器訊號計算馬達轉子轉速。
.六步換向器
根據馬達轉子位置與轉速計算相位電壓與變頻器所產生的訊號。
.脈波寬度調變(PWM)
透過驅動電路驅動控制器輸出。
我們采用適用于控制回路分析的系統行為、控制回路模型。首先,利用仿真對模型進行評估,透過脈波測試,指令設定為150轉/秒的轉速旋轉,持續2秒,然后停止。透過調節控制回路的比例積分(PI)控制器,達到1.2秒的穩定時間,將過沖忽略不計(圖2中A標示即為控制回路模擬結果)。
?
圖2 根據硬件與軟件仿真模型驗證硬件測試結果
設置好控制回路之后,可將控制器置于更加精準的系統模型上進行測試。與控制回路模型相比,系統模型內含更加細化的驅動電子系統模型,更重要的是,系統模型所包含的細化模型可采特定控制器與接口設備執行,包括PWM與霍爾效應傳感器處理過程中所使用的準確時序模型。
我們已針對Zynq SoC分割控制器,搭配以1kHz頻率在ARM核心上運行的速度控制器與速度預測器、換向器、霍爾傳感器,以及PWM均在Zynq SoC可編程設計邏輯上運行。
我們可以對比控制回路和系統模型的仿真結果(圖2中B標示即為系統模型結果)。一般來說,兩個波形間的相似度非常高,除了馬達速率趨進于零時例外。此時,霍爾傳感器的粗糙度非常明顯,馬達軸每次轉動只有六個指標的脈沖。這種高保真系統模型7分鐘內即可運行一次為時4秒的模擬,對于保真較低的控制回路模型而言,只能運行一次為時7秒的模擬。
上述仿真結果可讓控制系統設計人員堅信,控制回路模型對于進一步評估控制器替代方案的準確度高,毋須使用系統模型進行硬件測試,即可驗證替代方案。
有了這些發現,我們即可利用智能驅動套件設計出控制器的原型。透過FPGA SoC引導工作流程,利用Simulink模型產生的C與HDL代碼,分割成數個針對ARM核心及可編程設計邏輯的子系統(圖3)。
?
圖3 分割后的Simulink模型所產生的C與HDL代碼
我們按照上述工作流程,使用MathWorks的HDL代碼生成器產生將在Zynq SoC組件的可編程設計邏輯中運行的IP核,以在ARM核心上執行程序運行,并在ARM核心與可執行程序之間建立AXI總線接口。
將比特流加載可編程設計邏輯及在ARM核心上執行程序運行后,可進行硬件回路測試。對此測試,我們移除驅動電子系統、馬達及傳感器之Simulink改良測試平臺模型,因為采用硬件回路取代被仿真的裝置模型。
為了方便檢查測試結果,與模擬結果進行對比,可將Zynq SoC設置成可儲存馬達軸速度量測及其他在ARM核心內存中的數據(圖3中C標示即為硬件測試結果)。這樣一來,透過運用脈波輸入于測試平臺即可在測試結束時,將結果上傳至MATLAB處理與可視區,即可在硬件上執行與仿真時相同的測試。原型設計的測試結果與模擬結果非常接近,其中包括因霍爾傳感器導致的馬達速度實測值中斷。
本文簡述FPGA SoC的MathWorks工作流程如何利用模型基礎設計,實現仿真和原型設計。如繼續延伸至生產程序,設計人員可將產生的C和HDL代碼導入Vivado設計套件,進而將這些代碼與執行程序、聯網IP及完整系統執行所需的設計組件進行整合。
評論