本文介紹圍繞基于 ARM 的嵌入式電機(jī)控制處理器構(gòu)建基于模型的設(shè)計(jì) (MBD) 平臺的詳細(xì)步驟。以下是最初部署的基本永磁同步電機(jī)(PMSM)控制算法的示例,以及擴(kuò)展功能以包括自動(dòng)化系統(tǒng)的多軸位置控制的便利性。
長期以來,系統(tǒng)和電路建模一直是電機(jī)控制系統(tǒng)設(shè)計(jì)的一個(gè)重要方面。使用 MBD 方法,在構(gòu)建和測試物理硬件之前,使用電氣、機(jī)械和系統(tǒng)級模型來評估設(shè)計(jì)概念。MathWorks 的最新仿真工具可以對完整的嵌入式控制系統(tǒng)進(jìn)行建模,包括電路和機(jī)械系統(tǒng)域。同時(shí),嵌入式編碼工具從控制系統(tǒng)模型中生成C代碼,以便在嵌入式控制平臺上直接部署控制算法。
這些工具支持基于模型的設(shè)計(jì)流程,在最終硬件測試之前,可以在仿真平臺上設(shè)計(jì)和全面測試控制算法。構(gòu)建成功的 MBD 平臺的關(guān)鍵是分區(qū)系統(tǒng)模型和嵌入式軟件代碼。一旦使用已知的算法和系統(tǒng)對MBD平臺進(jìn)行了測試,就可以在系統(tǒng)操作的極端極限下在仿真平臺上開發(fā)和安全地測試新算法。
完整的設(shè)計(jì)流程
幾十年來,MBD 一直是一個(gè)討論話題,但直到最近幾年才演變成一個(gè)完整的設(shè)計(jì)流程 — 從模型創(chuàng)建到完整實(shí)現(xiàn)。MBD是一種數(shù)學(xué)和可視化方法,用于解決與設(shè)計(jì)復(fù)雜的嵌入式控制系統(tǒng)相關(guān)的問題。
設(shè)計(jì)人員可以使用 MBD 來定義具有高級功能特征的模型,而不是使用復(fù)雜的結(jié)構(gòu)和廣泛的軟件代碼,而是使用連續(xù)時(shí)間和離散時(shí)間構(gòu)建塊。這些模型與仿真工具配合使用,可實(shí)現(xiàn)快速原型設(shè)計(jì)、軟件測試和硬件在環(huán) (HIL) 仿真。
仿真可以立即發(fā)現(xiàn)規(guī)格差異和建模錯(cuò)誤,而不是在設(shè)計(jì)周期的后期發(fā)現(xiàn)。為了優(yōu)化整個(gè)代碼生成過程,可以添加自動(dòng)代碼生成,以減少任何手動(dòng)實(shí)施步驟,并幫助進(jìn)一步縮短總體上市時(shí)間。總而言之,MBD方法允許設(shè)計(jì)人員從更經(jīng)典的設(shè)計(jì)方案擴(kuò)展,直接從模型創(chuàng)建轉(zhuǎn)向仿真、生成、HIL和受控方式的測試,從而允許更改系統(tǒng)設(shè)置,而無需完全重新設(shè)計(jì)系統(tǒng)。
本文中使用的實(shí)驗(yàn)設(shè)置基于交流饋電閉合電機(jī)控制系統(tǒng),如圖1所示。該系統(tǒng)代表功能齊全的PMSM主輸入電機(jī)驅(qū)動(dòng)器,具有功率因數(shù)校正,完全控制通信信號隔離和光學(xué)編碼器反饋。該系統(tǒng)的核心是ADI公司的ARM Cortex-M4混合信號控制處理器ADSP-CM408。這是通過IAR和MathWorks的組合工具進(jìn)行編程的,以實(shí)現(xiàn)MBD平臺的完整實(shí)現(xiàn)。?
圖1.驅(qū)動(dòng)系統(tǒng)平臺。(a)交流饋電閉合電機(jī)控制系統(tǒng)的框圖,以及(b)系統(tǒng)的原型。
交流電機(jī)驅(qū)動(dòng)系統(tǒng)建模
目標(biāo)驅(qū)動(dòng)系統(tǒng)是具有編碼器位置反饋的PMSM,連接到具有隔離相電流反饋的三相交流電源逆變器。驅(qū)動(dòng)控制算法在混合信號專用信號處理器(ASSP)上實(shí)現(xiàn),該處理器包括用于捕獲電機(jī)反饋信號和控制電源逆變器的外設(shè)。
出于建模目的,該系統(tǒng)具有三個(gè)主要組件:電源逆變器和電機(jī)(工廠)、控制反饋電路和數(shù)字控制器。該工廠模型使用 Simulink Simscape 組件在連續(xù)時(shí)域中仿真電源逆變器電路和電機(jī)機(jī)電元件。反饋電路模型負(fù)責(zé)控制器和電機(jī)驅(qū)動(dòng)模型之間的增益和數(shù)據(jù)類型轉(zhuǎn)換。
Simulink 嵌入式編碼器工具可創(chuàng)建嵌入式 C 代碼,準(zhǔn)確反映仿真平臺和嵌入式控制處理器上的算法執(zhí)行。成功執(zhí)行基于模型的設(shè)計(jì)需要精確的系統(tǒng)和電路模型,以及系統(tǒng)模型和嵌入式控制軟件的適當(dāng)分區(qū)。使用的仿真求解器是固定步長離散求解器,因?yàn)橄到y(tǒng)中混合了離散和連續(xù)時(shí)間函數(shù)。
驅(qū)動(dòng)系統(tǒng)硬件由電源板、控制板和帶編碼器反饋的 PMSM 組成(如圖 1b 所示)。電源板包括輸入整流器、三相逆變器模塊、電流和電壓傳感器、數(shù)字和模擬信號隔離電路以及編碼器信號緩沖器。該控制板包括具有 3 MHz ARM Cortex-M240F 內(nèi)核的電機(jī)控制 ASSP 和專用電機(jī)控制外設(shè),包括 PWM 定時(shí)器、正交編碼器計(jì)數(shù)器、sinc濾波器和嵌入式模數(shù)轉(zhuǎn)換器 (ADC)。硬件包括電機(jī)電流反饋選項(xiàng),可將隔離電流傳感器與嵌入式ADC配合使用,或?qū)⒎至髌髋c隔離式ADC Σ-?轉(zhuǎn)換器和嵌入式sinc濾波器配合使用。
反饋信號采集和控制算法的執(zhí)行使用處理器中斷機(jī)制與PWM開關(guān)頻率同步。系統(tǒng)仿真使用相同的時(shí)間步長,因?yàn)楣S中感興趣的時(shí)間常數(shù)比PWM開關(guān)周期長得多。功率逆變器使用平均值模型,因?yàn)槿_關(guān)信號仿真不能提供有用的控制信息。
PMSM電機(jī)模型來自MathWorks SimPowerSystems庫,由配置菜單甚至預(yù)設(shè)模型參數(shù)支持。用戶可以根據(jù)設(shè)計(jì)開發(fā)的重點(diǎn)切換定制電機(jī)或逆變器型號。
電機(jī)控制(MC)算法模型是一組離散的時(shí)間函數(shù),在仿真和嵌入式平臺上執(zhí)行每個(gè)時(shí)間步。通常,MC 算法函數(shù)包含在單個(gè)子系統(tǒng)塊中,以簡化代碼生成過程。代碼生成器創(chuàng)建 C 代碼以執(zhí)行算法輸入、輸出和狀態(tài)變量的控制算法和數(shù)據(jù)結(jié)構(gòu)。該算法本身是常用的磁場定向控制(FOC),具有外部速度環(huán)路以及內(nèi)部d軸和q軸電流環(huán)路,如圖2所示。
圖2.FOC 算法。
逆變器接口和反饋路徑分為傳感器信號調(diào)理和嵌入式接口模塊。電流傳感器和信號調(diào)理模型是簡單的增益元件,因?yàn)樗鼈兊膸挸隽丝刂品答伒哪繕?biāo)范圍。位置傳感器模型更復(fù)雜,因?yàn)樗峁└叻直媛试隽课恢眯盘柡偷头直媛式^對位置信號。
嵌入式信號接口的模型包括類型轉(zhuǎn)換功能,因?yàn)锳DC、sinc濾波器、計(jì)數(shù)器和定時(shí)器外設(shè)具有16位或32位定點(diǎn)輸出數(shù)據(jù)寄存器。每個(gè)嵌入式接口的增益是外設(shè)系統(tǒng)時(shí)鐘速率、采樣速率和接口外設(shè)寄存器設(shè)置的函數(shù)。模型參數(shù)必須與嵌入式系統(tǒng)配置相匹配,以確保準(zhǔn)確的仿真結(jié)果。
軟件分區(qū)和代碼生成
電機(jī)驅(qū)動(dòng)系統(tǒng)與電機(jī)控制算法一起執(zhí)行多種功能。嵌入式軟件分為多個(gè)功能模塊,以實(shí)現(xiàn)平臺靈活性和易于開發(fā)。關(guān)鍵代碼功能包括系統(tǒng)初始化、通信接口、應(yīng)用任務(wù)、電機(jī)控制接口和電機(jī)控制算法。圖 3 描述了高級驅(qū)動(dòng)器程序流程,而圖 4 描述了代碼結(jié)構(gòu)。
圖3.ISR的描述。
圖4.代碼分區(qū)。
主程序調(diào)用初始化例程來配置 ASSP 硬件,然后將處理器置于連續(xù)等待循環(huán)中。所有其他函數(shù)由事件驅(qū)動(dòng)的中斷服務(wù)例程 (ISR) 調(diào)用。ADC 中斷具有最高優(yōu)先級,當(dāng)新的傳感器數(shù)據(jù)樣本準(zhǔn)備就緒時(shí),ADC ISR 調(diào)用電機(jī)控制函數(shù)。ADC采樣與PWM開關(guān)同步,并提供控制環(huán)路執(zhí)行時(shí)序。ADC ISR 執(zhí)行每個(gè) PWM 周期,但僅在設(shè)置電機(jī)運(yùn)行標(biāo)志時(shí)調(diào)用電機(jī)控制例程 (PMSMctrl)。在構(gòu)建代碼之前選擇電機(jī)電流反饋路徑。
PWM跳閘中斷是異步的;它僅在響應(yīng)硬件故障時(shí)才調(diào)用,并且是唯一滯后故障的功能,因?yàn)橛布WM跳閘功能會自動(dòng)關(guān)閉逆變器PWM信號。通信端口 ISR 的優(yōu)先級較低,處理用戶命令,并傳輸調(diào)試監(jiān)視器函數(shù)捕獲的數(shù)據(jù)。內(nèi)核計(jì)時(shí)器 ISR 管理后臺應(yīng)用程序任務(wù),例如電機(jī)啟動(dòng)和停止排序、調(diào)試監(jiān)視器接口和其他內(nèi)務(wù)管理任務(wù)。
嵌入式代碼按功能而不是根據(jù)程序流進(jìn)行組織。系統(tǒng)初始化代碼以標(biāo)準(zhǔn)方式設(shè)置處理器時(shí)鐘、電源和內(nèi)核計(jì)時(shí)器,幾乎獨(dú)立于應(yīng)用程序功能。通信和應(yīng)用任務(wù)代碼由用戶界面和系統(tǒng)管理要求定義,幾乎不依賴于電機(jī)控制算法。
電機(jī)控制(MC)接口功能管理電機(jī)驅(qū)動(dòng)硬件和控制算法之間的信號數(shù)據(jù)流。該代碼特定于驅(qū)動(dòng)電路連接和MC外設(shè)配置,以便為控制算法提供適當(dāng)?shù)姆答佇盘?。電機(jī)控制算法是由 Simulink 生成的獨(dú)立于平臺的代碼,包括用于反饋和輸出信號的數(shù)據(jù)結(jié)構(gòu)。所有其他驅(qū)動(dòng)器代碼都是手工編碼的。
實(shí)施詳細(xì)信息
為了從MBD方法中獲得最大價(jià)值,重要的是要了解電機(jī)控制系統(tǒng)不同部分的建模細(xì)節(jié)要求,并將關(guān)鍵物理系統(tǒng)參數(shù)盡可能與相應(yīng)的模型參數(shù)相匹配。這涉及將建模系統(tǒng)劃分為不同的細(xì)節(jié)區(qū)域。作為總體規(guī)則,以PWM平均方式對整個(gè)系統(tǒng)進(jìn)行建模就足夠了。例如,將所有信號視為高頻PWM開關(guān)周期內(nèi)的平均值,不包括電壓或電流信號中的PWM紋波或開關(guān)分量。
系統(tǒng)模型被劃分為圖5所示的邏輯塊以及相關(guān)的信號流。如右圖所示,這些塊中的每一個(gè)都進(jìn)一步細(xì)分,每個(gè)子塊都有適當(dāng)?shù)慕7椒?,如?1 所示。用戶命令塊不包括在此列表中。用戶命令通過 C 代碼中的全局參數(shù)結(jié)構(gòu)傳達(dá)給核心算法,一旦這些命令在 Simulink 算法中定義為全局可調(diào)參數(shù),它們就會得到正確處理。
圖5.系統(tǒng)模型分區(qū)。
塊 | 建模/代碼生成 | 關(guān)鍵參數(shù) |
機(jī)電系統(tǒng) (1)* |
逆變器:平均功能模型,非常簡單 | 沒有 |
電機(jī):標(biāo)準(zhǔn)機(jī)電DQ型號 | 定子電感,反電動(dòng)勢/扭矩常數(shù) | |
機(jī)械系統(tǒng):標(biāo)準(zhǔn)剛度-慣性-摩擦模型,特定應(yīng)用 | 負(fù)載慣量 | |
傳感器和接口 (2) |
功能模型 | 增益、抵消 |
處理器 (3) |
外設(shè):功能模型 | 比例因子、量化效應(yīng) |
核心算法:從這里生成代碼 | 高效實(shí)現(xiàn),定點(diǎn)/浮點(diǎn)邊界 | |
驅(qū)動(dòng)電路 (4) | 功能模型 | 沒有 |
*括號中的數(shù)字是指圖 5 中的塊。 |
除了基本設(shè)置(如類型大小、字節(jié)排序等)之外,通過使自動(dòng)代碼生成不特定于目標(biāo),可以實(shí)現(xiàn)最大的代碼可移植性和易于維護(hù)性。MathWorks 提供特定于處理器的代碼生成模塊,可直接處理處理器外設(shè)和驅(qū)動(dòng)程序。雖然此功能在某些情況下可能很有吸引力,但缺點(diǎn)是代碼變得不那么可移植,并且設(shè)備驅(qū)動(dòng)程序或外圍配置(例如,在新的處理器變體中)的任何更改都需要更改代碼。因此,在這里介紹的設(shè)計(jì)示例中,代碼生成僅限于控制算法,所有外設(shè)在 Simulink 模型中都具有功能模型,并在應(yīng)用程序項(xiàng)目中手動(dòng)編碼。圖 6 強(qiáng)調(diào)了這種方法,其中可以看出,從 MathWorks 控制器模型生成的代碼鏈接到主應(yīng)用程序項(xiàng)目中的其他代碼和庫模塊。
圖6.型號代碼接口。
具有分區(qū)模型塊的 Simulink 模型如圖 7 所示。如圖所示,代碼是從模型的電機(jī)控制算法部分生成的。在硬件實(shí)現(xiàn)窗口→配置參數(shù)(可選擇整體設(shè)備類型)和“配置參數(shù)→代碼生成→接口窗口(選擇標(biāo)準(zhǔn)數(shù)學(xué)庫)中選擇代碼生成的重要設(shè)置。
圖7.建模和代碼生成實(shí)現(xiàn)。
代碼效率的另一個(gè)因素是使用的C語言方言。大多數(shù)代碼生成工具和嵌入式工作臺支持的兩種非常常見的方言是 C89/C90 和 C99。首先,重要的是在所有工具中使用相同的方言。例如,如果嵌入式工作臺配置為根據(jù) C99 構(gòu)建代碼,則自動(dòng)代碼生成工具也必須根據(jù) C99 標(biāo)準(zhǔn)構(gòu)建代碼。如果不這樣做,可能會導(dǎo)致代碼性能顯著下降,在最壞的情況下,可能會導(dǎo)致代碼意外運(yùn)行。
另一個(gè)重要因素是定點(diǎn)與浮點(diǎn)類型表示。兩種編碼方言都支持定點(diǎn),因此在這種情況下,只要在所有工具中使用相同的方言,方言的選擇并不重要。但是,如果使用浮點(diǎn)類型,則 C 方言的選擇變得更加重要。
C89/C90 不區(qū)分單精度浮點(diǎn)和雙精度浮點(diǎn)。如果代碼要在支持雙精度的處理器上運(yùn)行,這可能是可以接受的,但對于僅支持單精度的處理器(如 ARM Cortex-M4),這種區(qū)別會產(chǎn)生很大的不同??紤]到這一點(diǎn),確保自動(dòng)代碼生成工具以及嵌入式工作臺設(shè)置為使用 C99 方言至關(guān)重要。
Simulink 提供了 Simscape 和 SimMechanics 等工具箱,一旦知道物理參數(shù),它們就可用于輕松對機(jī)電系統(tǒng)進(jìn)行建模。即使物理參數(shù)沒有完全表征,也可以加載電機(jī)等組件的預(yù)定義模型,以大致匹配的規(guī)格,以實(shí)現(xiàn)電機(jī)控制算法的初始設(shè)計(jì)。對于算法本身,有一些有用的模塊,例如Park變換和正弦余弦CORDIC近似模塊,可以簡化電機(jī)控制算法的開發(fā)。
自動(dòng)編碼接口由初始化函數(shù)調(diào)用和一個(gè)或多個(gè)時(shí)間步長函數(shù)調(diào)用定義,這些函數(shù)調(diào)用必須在適當(dāng)?shù)臅r(shí)間步從主應(yīng)用程序代碼中調(diào)用。在本例中,有兩個(gè)時(shí)間步長函數(shù) - 主控制算法(在 10 kHz 的 PWM 速率下調(diào)用)和速度測量函數(shù)(以 1 kHz 速率調(diào)用)。自動(dòng)生成的代碼模塊集成到主項(xiàng)目中,如圖 8 所示。
圖8.代碼模塊組織和算法函數(shù)調(diào)用。
如前所述,代碼以模塊化方式組織,這使得應(yīng)用程序特定功能(如網(wǎng)絡(luò)和保護(hù))的集成非常簡單。高優(yōu)先級任務(wù)(如電機(jī)控制算法)從圖 3 的 ISR 調(diào)用。應(yīng)用程序級任務(wù)從基本調(diào)度程序內(nèi)核作為計(jì)劃任務(wù)調(diào)用。MC 接口例程包含在電機(jī)控制和測量代碼塊中,后者包括所有電流反饋信號處理代碼。ADI監(jiān)控代碼包括用于系統(tǒng)測試的調(diào)試監(jiān)控功能,可在電機(jī)運(yùn)行時(shí)捕獲應(yīng)用和控制算法信號數(shù)據(jù)。數(shù)據(jù)通過串行鏈路傳輸?shù)絇C進(jìn)行顯示和分析。
系統(tǒng)測試和調(diào)試
通過測量、計(jì)算和數(shù)據(jù)手冊確定了表 1 中的關(guān)鍵參數(shù)后,可以使用 Simulink 模型確定速度和電流環(huán)路的適當(dāng)控制器增益。這可以使用標(biāo)準(zhǔn)的PID調(diào)諧方法[2]或MathWorks提供的調(diào)諧工具(如PID調(diào)諧器工具)來實(shí)現(xiàn)。參考文獻(xiàn) 3 中更詳細(xì)地描述了此過程。
電流環(huán)路在建模和實(shí)驗(yàn)操作中的性能如圖9和圖10所示。在此圖中,實(shí)驗(yàn)數(shù)據(jù)僅每 5 ms 采樣一次,因此存在一些混疊,但總體趨勢足夠清晰。
圖9.建模和實(shí)驗(yàn)操作的(a)速度響應(yīng)和(b)q軸電流參考的比較。
圖 10.電流環(huán)路性能——建模和實(shí)驗(yàn)結(jié)果。
基于模型的自動(dòng)生成代碼的性能可以通過檢查PWM周期內(nèi)的代碼執(zhí)行時(shí)間線來確定。這可以使用I/O引腳和示波器來完成,或者更簡單地說,使用IAR嵌入式工作臺C-SPY調(diào)試器中的ITM事件功能。PWM周期內(nèi)的事件順序如圖11所示。
圖 11.代碼執(zhí)行時(shí)間線。
PWM同步脈沖在每個(gè)新的PWM周期開始時(shí)發(fā)生,該脈沖在硬件中連接到ADC定時(shí)器,ADC定時(shí)器控制每個(gè)ADC通道的采樣。在這種情況下,電機(jī)電流在PWM同步脈沖和直接存儲器訪問(DMAed)到存儲器之后立即采樣,然后執(zhí)行算法并生成PWM占空比的更新值。如圖 11 所示,執(zhí)行基于模型的自動(dòng)生成代碼消耗不到 PWM 周期的 10%,從而為額外的后臺任務(wù)提供了大量開銷。歷史上對自動(dòng)生成代碼效率的擔(dān)憂不再是一個(gè)重要因素。
在代碼占用空間方面,算法自動(dòng)編碼的相對大小如表 2 所示,可以看出自動(dòng)生成的代碼占用的內(nèi)存剛剛超過 10 kb,幾乎相當(dāng)于總占用空間的 15%。ADSP-CM408上的可用SRAM為384 kB,顯然可以毫無困難地滿足這種存儲器要求,允許程序以盡可能快的速率從SRAM運(yùn)行,并為更復(fù)雜的算法和額外的監(jiān)控或用戶界面功能提供足夠的裕量。
模塊 | 代碼(字節(jié)) | 數(shù)據(jù)(字節(jié)) | 總 |
電機(jī)控制外設(shè) (脈寬調(diào)制、編碼器) | 1584 | 94 | 2.3% |
測量外設(shè) (模數(shù)轉(zhuǎn)換器、辛克、串行監(jiān)控) | 2224 | 2691 | 6.7% |
功率因數(shù)校正控制器配置 和監(jiān)測 | 3032 | 2149 | 7.1% |
用戶界面外設(shè) (UART, LCD) | 1484 | 5055 | 9% |
系統(tǒng)(內(nèi)核、狀態(tài)機(jī)、啟動(dòng)) | 1192 | 1364 | 3.5% |
算法自動(dòng)編碼 | 5656 | 5022 | 14.7% |
驅(qū)動(dòng)程序、庫 | 21,596 | 19,737 | 56.7% |
總 | 36,768 | 36,112 | 72,880 (100%) |
新應(yīng)用程序開發(fā)
本文討論的軟件的前提是一個(gè)由兩個(gè)主要組件組成的系統(tǒng)。第一個(gè)是基于模型的組件,用于實(shí)現(xiàn)控制算法。盡管開發(fā)模型時(shí)考慮了嵌入式目標(biāo),但從自動(dòng)生成工具獲得的代碼本質(zhì)上是通用的。其次,有一個(gè)手寫的軟件組件,它將通用算法代碼綁定到嵌入式目標(biāo),處理調(diào)度,并分配處理器資源。在模型重用和可伸縮性方面,這種系統(tǒng)分區(qū)有幾個(gè)好處。
本文討論了單電機(jī)(單軸)的控制開發(fā)?,F(xiàn)在,假設(shè)驅(qū)動(dòng)器規(guī)范要求由同一處理器控制兩個(gè)電機(jī)(雙軸)。不言而喻,這是系統(tǒng)的根本變化,但使用通用模型的優(yōu)勢正在變得明顯。已經(jīng)開發(fā)的單軸模型沒有對處理器外設(shè)做出任何假設(shè),它是永磁電機(jī)的通用控制算法。因此,要?jiǎng)?chuàng)建能夠控制單軸/雙軸的模型,只需創(chuàng)建單軸模型的第二個(gè)實(shí)例即可。
當(dāng)然,手寫代碼需要定制以支持單軸/雙軸,但假設(shè)處理器具有正確的外設(shè)集和控制雙軸的計(jì)算資源,則對手寫代碼的修改非常簡單。無論是控制單軸還是雙軸,手寫代碼的主要任務(wù)都是為模型的輸入賦值,將模型的輸出寫入處理器外設(shè),并安排何時(shí)執(zhí)行模型。因此,從單軸到雙軸主要是分配/配置外設(shè)和計(jì)劃執(zhí)行添加軸的算法的問題。該過程是無縫的,并且由于模型是通用的這一事實(shí)而啟用。
如果只開發(fā)一個(gè)控制系統(tǒng),則使用基于模型的設(shè)計(jì)的好處可能會受到限制。然而,在大多數(shù)情況下,產(chǎn)品開發(fā)意味著多個(gè)產(chǎn)品變體,在這些情況下,模型的重用變得很有吸引力——不僅因?yàn)榭s短了開發(fā)時(shí)間,還因?yàn)槭褂每尚拍P吞岣吡速|(zhì)量。隨著時(shí)間的推移,算法開發(fā)人員將創(chuàng)建一個(gè)模型庫,如果正確實(shí)現(xiàn),這些模型可以跨產(chǎn)品重用。而且由于這些模型是通用的,它們可以在今天可用的處理器以及明天可用的處理器上運(yùn)行。
除了滿足產(chǎn)品變體或多軸控制的潛在要求外,開發(fā)人員有時(shí)還可以提供不同的控制器模式。一個(gè)典型的示例是提供扭矩控制、速度控制和位置控制模式的應(yīng)用。位置控制算法的開發(fā)可以在電流和速度控制算法的基本構(gòu)建塊上分層。
在大多數(shù)應(yīng)用中,位置控制環(huán)路作為圍繞內(nèi)速度和電流環(huán)路的外環(huán)路應(yīng)用。基本位置控制器只需要一個(gè)比例增益項(xiàng)。通常不需要積分項(xiàng),因?yàn)槲恢铆h(huán)路中的任何穩(wěn)態(tài)誤差都會導(dǎo)致非零速度參考。只要內(nèi)部電流和速度環(huán)路調(diào)諧良好,就可以將其視為理想的單位增益模塊,并且調(diào)諧位置環(huán)路的任務(wù)變得非常簡單。
除了外部比例控制回路外,包括位置參考輪廓儀也很重要,以便負(fù)載遵循定義的加速和減速周期和速率。這對于最小化許多系統(tǒng)中的機(jī)械應(yīng)力非常重要。在此應(yīng)用示例中,將恒定加速度、恒定速度和恒定減速曲線應(yīng)用于位置參考變化。如圖12所示,其中顯示了位置參考、輪廓位置參考和相應(yīng)的理想速度曲線。實(shí)際速度遵循此輪廓的程度取決于速度控制器的動(dòng)態(tài)響應(yīng)。
圖 12.剖析位置參考。
所有這些功能(位置環(huán)路增益、位置刻畫器以及輔助功能(如原點(diǎn)定位和末端停止檢測)都作為附加模塊在代碼的基于模型的部分實(shí)現(xiàn)。唯一需要額外的手寫代碼更改是配置I/O以適應(yīng)初始位置和結(jié)束停止信號。
結(jié)論
基于模型的設(shè)計(jì)可以成為加速電機(jī)驅(qū)動(dòng)器制造商嵌入式開發(fā)的強(qiáng)大工具。如果以通用方式設(shè)置和配置,則可以顯著減輕手寫代碼開發(fā)和維護(hù)的負(fù)擔(dān)。它還可以加快上市時(shí)間,因?yàn)槿绻麤]有硬件,代碼開發(fā)可以在沒有硬件的情況下進(jìn)行,如果關(guān)鍵系統(tǒng)組件的合理準(zhǔn)確模型可用。
這些功能已在 FOC 下運(yùn)行的 PMSM 驅(qū)動(dòng)器的上下文中得到展示,并擴(kuò)展到多軸和位置控制。詳細(xì)介紹了軟件模塊和基于模型的組件的分區(qū)方法,該方法優(yōu)化了基于模型的解決方案提供的價(jià)值。實(shí)驗(yàn)數(shù)據(jù)還說明了該模型在優(yōu)化速度控制器參數(shù)方面的優(yōu)勢,以及代碼生成的緊湊性和效率。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19407瀏覽量
231180 -
ARM
+關(guān)注
關(guān)注
134文章
9165瀏覽量
369177 -
嵌入式
+關(guān)注
關(guān)注
5092文章
19177瀏覽量
307650 -
電機(jī)控制
+關(guān)注
關(guān)注
3540文章
1896瀏覽量
269253
發(fā)布評論請先 登錄
相關(guān)推薦
評論