MathWorks Simulink MATLAB 模型化設計 馬達控制 MBD

創新MBD方法加持 馬達控制系統減輕設計負擔

2013-11-11
MBD將使馬達控制系統建構更加方便。現今的馬達控制嵌入式處理器須在性能、成本、與尺寸之間取得平衡,藉以實現圖形工具的開發和更高階抽象化的概念,透過MBD設計流程,形成適合高度最佳化的系統,將提升馬達控制方案安全性、性能與擴展性,並加速上市。
模型化設計(MBD)討論已行之有年,但近來才真正進入從模型建立一直到執行方案的完整設計流程推廣。在1970年代,類比運算平台可做為模擬之用,但控制硬體的實現要在電晶體階段完成,直到2000年代,模擬工具導入圖形化控制架構輸入工具及控制設計工具,才大幅簡化複雜的開發與評估工作(表1)。



儘管如此,控制系統設計者仍須編寫C程式碼將模擬好的設計複製出來,藉以開發硬體控制演算法則。也因此,從2010年代開始,適用於模擬與硬體執行方案平台的完整MBD遂逐漸進行常用的控制設計,讓複雜的控制演算法則可快速部署到硬體平台上,進一步解決系統開發上的不便。

現今工程師可利用MATLAB和Simulink做為標準的模型化設計,並達成更高彈性,藉以將馬達控制系統功能最佳化,開發時間最小化。此外,MATLAB和Simulink也讓設計工程師可重複使用模擬模型,以便確保系統正確性以及其在終端市場應用中所需的性能。

MBD是一種在開發過程中將系統模型當成可執行規格的處理程序,這種以模擬為基礎的方式,相較於以硬體原型為基礎的傳統設計方法,可讓工程師更進一步了解設計的替代方案與權衡,有助促進設計符合預設的性能標準及最佳化。

MBD全面簡化馬達控制設計

透過MBD設計流程(圖1),工程師不須使用複雜的結構與大量軟體程式碼,只要利用連續與離散時間建構組件就可定義具先進功能特點的模型,如現有的C程式碼可利用標準控制函式庫組件加以整合,提升設計效率。

圖1 MBD設計流程圖


這些與模擬工具搭配使用的模型,可實現快速的原型建構、軟體測試、與硬體迴圈(HIL)模擬。模擬功能使規格差異性與模型建構錯誤立即被發現,而不是在後續的設計週期中才會被找到,特別是其中的自動程式碼生成功能,可使在硬體平台上運作的相同演算法省去執行時的手動步驟,進而簡化設計程序,並將硬體設計執行方案中的錯誤降到最低,同時縮短產品上市時程。

在MBD當中還有多重步驟能使整體設計的個別任務獲得最佳化,這些任務可由不同的設計工程師或是團隊完成,然後再加以結合形成完整的系統。透過這種方法可應用更高位準的個別任務概念,進而產生出針對特定終端應用最佳化的設計流程。

無庸置疑,全方位MBD可讓設計者從更多典型設計架構中加以擴展,並直接從模型的建立轉移到模擬、程式碼產生及HIL測試,以一種使系統行為增量變化的受控制方式進行,而不需完整的系統重複設計。

圖2 MBD執行方案的概念


如圖2呈現MBD執行方案中不同設計階段及在流程中個別步驟的規模概念。這些步驟共同描繪出MBD標準流程,從馬達控制設計觀點來看,作業概念基於馬達系統整體功能,而系統模型建構與結構則為馬達模型開發、負載、電力電子及訊號調節等,控制器模型建構與需求可以編碼器為基礎的三相永磁(PM)馬達現場導向控制。

至於分析與合成(詳細設計)方面,開發人員先前所建立的模型將被用來鑑定工廠模型的動態特性,並進行下一步的系統調節與組態設定;隨後進入驗證與測試階段,可採用離線模擬或即時模擬,以及動態系統時間響應調查,最終再部署至嵌入式系統目標,包括自動化程式碼生成、測試與驗證,並更新控制器模型。如此一來,即形成一個可將整體設計密切結合的多重步驟方案,並允許對個別的控制步驟進行獨立分析。

MBD有助系統元件最佳化及彈性配置

事實上,只要硬體與軟體的規格完成,就能針對系統的特定演算法與功能進行完整的系統架構設定(圖3),且控制器和系統模型的模擬也可進行評估,不須存取硬體演算法的離線開發也能加以建構,予以微調至符合系統性能要求。

圖3 MBD設定
在初步的程式碼生成方面,不論是重複使用現有程式碼,或者由程式碼生成工具產生,都可部署至嵌入式控制器中,藉以對PC系統模擬與硬體目標實際執行的資料進行比較。

不過,設計者在定義適合MBD正確平衡的結構時,還須要考量模型的複雜度,一旦順利實現平衡的概念,就能快速改變設計中的獨立模型,並由整個驅動系統達成更為精確的結果。



在本文中被使用為背景的實驗性設定是以亞德諾(ADI)的Cortex-M4混合訊號控制處理器,再搭配IAR與MathWorks工具為基準,藉以實現MBD平台的完整執行方案。前述討論的每一個步驟都擁有相對應工具與整體執行方案的直接連結,如表2所示,每一工具鏈都具有其價值,在MBD當中,設計者須了解如何使工具鏈與獨立MBD平台價值的創造加以平衡。

MBD對目標平台來說,可謂將開發模型、模擬、評估、部署及將總體系統性能與能力最佳化的即時開發環境準備就緒,這全部都是以MBD和經過平衡選擇的系統參數為基礎,因此可在特定產品中提供最佳彈性。

不論是以現存程式碼或函數為基礎,或是以標準C語言或圖形功能(Simulink /MATLAB模型與完整的模擬和部署階段密切配合)為基礎的全新建構組件,工程師利用這種方法就能實現可擴展的系統模型,並提高程式碼的重複使用性。

MBD不僅有助開發人員從軟體改變整體設定,一旦適合該系統的正確裝置驅動器開發完成,設計者亦可改變適用於終端應用裝置或是系統的系統資源、硬體元件及應用軟體;同時,因能控制系統時序的即時部分,所以系統排程可直接透過圖4的MBD環境進行最佳化。

圖4 MBD開發環境示意圖


以典型的馬達控制驅動系統(圖5)為例,深入檢視後,可將這種架構的能力予以視覺化,並將每個元件予以最佳化,讓工程師將精力投注於找出哪個要素對終端系統最重要,舉例來說,假如保護功能與規模是關鍵性要點的話,那麼焦點就應該放在機械系統、電氣控制和供電系統上。

圖5 馬達驅動系統架構圖


若將模擬結果與即時資料予以混合,還可用來監測系統表現,並進行現場即時最佳化,例如雜訊干擾使系統效率降低時,這些量測資訊就可被用於可擴展的濾波器,進而解決硬體雜訊問題;一旦所有要素都已建構模型並予以蒐集後,就可開始進行MBD部署階段的最後步驟,進入目標系統的完整執行階段。

馬達控制日益複雜 MBD設計流程加速崛起

透過MBD設計流程及MathWorks、IAR的輔助,馬達控制系統模型的實現和程式碼編譯都能輕鬆達成。在馬達驅動系統模型中的每一個階段或元件,都可透過MATLAB與Simulink模型在最佳化設計標準的適當位準上予以呈現,且模型中的每一個元件都是以MathWorks標準工具箱與建構組件為基準,可在任何特定設計中重複使用。這些元件也代表驅動系統的不同領域,可充分加以微調使模型與部署誤差最小化。

透過在這種混合環境下即時開發的方法,還能將工程師自行撰寫的C程式碼與利用Embedded Coder(適用於MATLAB和Simulink的生產程式碼生成工具)所產生的最佳化程式碼加以結合,這整套的處理程序讓使用者在正確的位準上,重複使用現有的馬達控制設計知識。如此一來,IAR Embedded Work Bench能取得所生成的程式碼,並彙編適用於Cortex-M4的完整專案,再結束此系統的MBD執行階段。

自MBD出現以來,就一直被詢問其相對於傳統系統開發的優勢為何,以及其如何有效使用總體系統資源等問題。隨著控制元件、模擬、開發工具及編譯器供應商的努力被加以結合後,MBD已能提供較傳統開發方法更優異的環境,工程師利用MBD剖析、交叉最佳化選項,以及在安全性優先的系統開發中所有強大優點,可縮減程式碼開發的間接費用,同時達成較高性能。不僅如此,MathWorks也提供適用於Embedded Coder的工具認證IEC 61508、ISO 26262及相關功能安全性標準。

像這樣的功能混合方式,在標準設計流程中將難以達成,因而促成MBD方案崛起。如前文列舉的標準磁場導向控制(FOC)模型是以亞德諾的ADSP-CM40x所實現的,在此模型中,位置及電流迴路回授都會在15微秒內執行,用以支援電流架構與除錯設施的即時剖析,同時也具有FOC架構追蹤功能。

兩種MBD模擬結果及即時資料都能加以評估,並與目標系統功能做比較,讓設計者持續改善系統效率、性能,以及評估訊號鏈中的特定元素在執行時是否不符規格。

(本文作者任職於亞德諾)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!