MatlabSimulink 同步磁阻電機驅(qū)動器的快速控制原型,第一部分原理介紹
原型制作步驟在滿足電氣驅(qū)動控制中對性能、安全性和靈活性日益嚴格的要求方面發(fā)揮了重要作用。特別是,由于許多部門提出的解決方案的創(chuàng)新性和復(fù)雜性不斷增加,因此必須進行快速測試和實驗驗證,以縮短上市時間并確保適當(dāng)?shù)男阅芎托? 。
傳統(tǒng)上,離線仿真驗證了初步的控制設(shè)計,用分析模型代替了電機、轉(zhuǎn)換器和傳感器,從而可以對電氣驅(qū)動器的動態(tài)性能進行快速的總體評估 。通常,這些模擬在 PC 上運行,通常需要幾秒鐘到幾個小時,具體取決于模擬系統(tǒng)的準(zhǔn)確程度 。除了為離線仿真提供開發(fā)環(huán)境外,一些軟件工具還可以將控制模式轉(zhuǎn)換為自定義目標(biāo)代碼并將其上傳到硬件 。這種能力對于減少整個控制算法的實施時間和消除任何可能的手動編碼錯誤至關(guān)重要。這些特性,再加上處理器技術(shù)的進步和成本的降低,
快速原型設(shè)計的許多方法目前處于控制軟件被測 (SUT) 在最終目標(biāo)上運行的階段,但它仍然沒有與實際工廠連接。這些分為兩大類:硬件在環(huán) (HIL),其中電力系統(tǒng),工廠,在 I/O 測試板硬件上進行仿真,成本不可忽略,以及軟件在環(huán) (HIL)。 SIL),其中通過軟件模擬工廠(例如,在 PC、微控制器、現(xiàn)場可編程門陣列 ( FPGA )、數(shù)字信號處理器 (DSP) 等中)。
本文提出的快速原型設(shè)計考慮了在最終目標(biāo)中運行的控制 SUT 以及模擬工廠,由 Matlab/Simulink 嵌入式編碼器支持包直接上傳到硬件上。
這種方法允許使用單個硬件測試板來實現(xiàn)低成本解決方案,并且可以使用相同的控制算法快速自動地從 PC 上運行的離線 Simulink 仿真過渡到最終目標(biāo)上運行的實時仿真代碼。
該工作介紹了在 Matlab/Simulink 中進行快速控制原型設(shè)計的離線和實時仿真方法,并通過實驗比較了結(jié)果。
進行的測試涉及實際驅(qū)動原型設(shè)計中的特定目標(biāo),例如傳感器初始化和補償、參數(shù)和功能的自調(diào)試以及調(diào)節(jié)器的調(diào)整。特別是,該研究涉及同步磁阻 (SynRel) 電機驅(qū)動,在這種情況下,電機非線性發(fā)揮相關(guān)作用,需要先進的電機建模和自定義控制策略 。特別是,文獻沒有報告 SynRel 電機驅(qū)動器中實時仿真的實驗驗證。
Matlab/Simulink 中的控制原型
控制原型設(shè)計的一個基本要求是模擬最終應(yīng)用程序中實現(xiàn)的實時控制代碼的可能性。這需要,第一,為目標(biāo)微控制器提供具有代碼生成能力的模擬環(huán)境,第二,可以使用該代碼進行離線模擬。
面向德州儀器 (TI) C2000 系列等流行控制器的嵌入式編碼器支持包的可用性使 Matlab/Simulink 成為電子驅(qū)動器快速原型設(shè)計的合適候選者。此類包允許對目標(biāo)微控制器的硬件外設(shè)進行對話編程,將其 I/O 信號鏈接到控制程序,并最終在 Simulink 模型中為微控制器生成代碼。此外,它們允許控制代碼的中斷驅(qū)動調(diào)度。
“硬件中斷”塊允許對基本上兩個中斷服務(wù)程序 (ISR) 進行時間調(diào)度(具有適當(dāng)?shù)膬?yōu)先級):實際的電機驅(qū)動控制程序(“控制算法 ISR”)和用于從主機用戶接收數(shù)據(jù)的服務(wù)程序(“串行接收”)。另一個調(diào)度塊“空閑任務(wù)”提供運行低優(yōu)先級任務(wù),例如發(fā)送給主機用戶的調(diào)試數(shù)據(jù)(“串行發(fā)送”)。調(diào)度塊響應(yīng)微外設(shè)產(chǎn)生的事件激活中斷例程。
Simulink 中提供了特定功能以支持仿真和代碼生成功能,例如“variant source”模塊,它允許在“sim”輸入端口(仿真時)或“codegen”端口之間切換其輸出(生成代碼時)。類似地,中斷模塊有一個“sim”輸入,允許它們在仿真階段使用(具有相同的功能)。通過這些功能和類似功能,可以在仿真階段對實際實時控制架構(gòu)進行快速原型設(shè)計:顯示了為此目的而安排的 Simulink 模型。調(diào)度塊(“硬件中斷”)激活中斷例程以響應(yīng)微外設(shè)上的模擬事件(通過“SimIRQ”輸入)。同樣,控制 ISR 的 I/O 信號與電子驅(qū)動器的仿真有關(guān),
它指的是使用空間矢量脈沖寬度調(diào)制 (SV-PWM) 對交流電機進行磁場定向控制??刂?ISR 通過調(diào)制載波 ( UF_trig )的下溢信號與 PWM 逆變器 ( TPWM )的(固定)調(diào)制周期同步。該信號還通過微型的 ADC(模數(shù)轉(zhuǎn)換)外設(shè)觸發(fā)高動態(tài)控制輸入(電流和直流總線電壓)的測量。在磁場定向中,控制 ISR 的第一個動作是來自與傳感器相關(guān)的微外圍設(shè)備(編碼器的正交編碼器外圍設(shè)備 (QEP))的轉(zhuǎn)子位置測量,從中計算旋轉(zhuǎn)速度。
控制 ISR 留出的空閑時間(在每個 PWM 周期內(nèi))用于完成微控制器與用戶之間的低優(yōu)先級數(shù)據(jù)交換任務(wù),通常通過串行通信鏈路進行。
Simulink 模型中實現(xiàn)的控制 ISR 的分解圖,用于代碼生成和離線仿真。在“codegen”的情況下,測量反饋(電流和直流電壓)和輸出 PWM 命令接收和饋送目標(biāo)控制器外設(shè)的軟件驅(qū)動程序,這些驅(qū)動程序可作為 Embedded Coder 庫中的 Simulink 塊使用。在所示案例中,目標(biāo)設(shè)備是 TI Delfino F28379S 微控制器,驅(qū)動程序塊指的是其 ADC、QEP 和 PWM 單元。