【摘要】 DSP在電機系統(tǒng)開發(fā)中應用廣泛,但是在對DSP進行代碼開發(fā)時則比較繁瑣,效率不高,容易出錯。Matlab提供的Embedded Coder功能,則可以很好的解決上述問題。不僅可以進行系統(tǒng)級仿真,還可以對自動生成的代碼進行驗證。本文以永磁同步電機的磁場定向算法為例,詳細介紹在Matlab中DSP代碼開發(fā)的流程。
【關(guān)鍵詞】 基于模型的設計 Embedded Coder 磁場定向算法 永磁同步電機 PIL
DSP在電力電子控制中的應用越來越廣泛。傳統(tǒng)的開發(fā)流程是系統(tǒng)仿真,編寫代碼,最后測試。采用手工編程的方式,難度大、效率低、容易出錯,測試和編程不能同步進行。Matlab提供的Coder功能,可以將Simulink建立的算法直接生成可以在目標處理器中執(zhí)行的C代碼,同時Maltab提供的PIL測試功能,可以將測試和編程同步執(zhí)行,便于前期發(fā)現(xiàn)問題,較好的提高開發(fā)的效率。
一、磁場定向算法(FOC)模型簡介
本例中對于FOC算法,采用Id=0的轉(zhuǎn)速和電流閉環(huán)控制方案,速度環(huán)具有增強系統(tǒng)抗負載擾動的能力,根據(jù)速度給定和速度反饋,通過速度調(diào)節(jié)器輸出電流轉(zhuǎn)矩分量給定值。電流環(huán)為雙環(huán)結(jié)構(gòu)分別調(diào)節(jié)電流轉(zhuǎn)矩分量與電流勵磁分量跟蹤給定值的變化,快速提高系統(tǒng)的響應性能。經(jīng)兩個電流調(diào)節(jié)器輸出的d-q軸電壓分量合成為一個電壓矢量,通過svpwm調(diào)制,直流母線電壓將以PWM波的方式加到電機上。
模型中用到的模塊是由matlab中提供的TIC2000系列的Digital Motor Control(DMC)和IQMath庫構(gòu)建,這些庫是專門針對TIC2000系列處理器編寫,生成代碼的效率可以和匯編語言相媲美。Target Preference設置為F2812,具體設置和處理器相一致。在模型中設置Rate Tranation2模塊輸出采樣時間為0.01s,為轉(zhuǎn)速閉環(huán)的采樣周期。電流環(huán)采用系統(tǒng)的采樣時間5E-5s即PWM頻率為20KHZ。由于TIC2000系列處理器為定點處理器,所以本例在建模時是按照定點模型建立。對于FOC所有輸入信號都采用的是Q17格式,所以空間矢量發(fā)生模塊輸出的也是Q17格式的數(shù)據(jù),但是TIC2000中PWM模塊默認的輸入數(shù)據(jù)是Uint16格式,所以要進行數(shù)據(jù)格式的轉(zhuǎn)換,這一功能由PWM Scaing模塊實現(xiàn)。
二、處理器在環(huán)測試
處理器在環(huán)測試是在Simulink中搭建被控對象的模型,而將控制器算法代碼下載到目標處理器中去執(zhí)行。
系統(tǒng)輸入端口信號是利用永磁同步電機控制系統(tǒng)仿真時產(chǎn)出的數(shù)據(jù),通過logsout數(shù)據(jù)結(jié)構(gòu)記錄,然后導入到PIL測試模塊中,最后記錄其輸出的PWM波形。圖中的FOC子系統(tǒng)為Simulink搭建的算法模塊,F(xiàn)OC1是有FOC子系統(tǒng)生成的PIL測試模塊。通過Inspect Logged Signals工具觀察其具體波形,結(jié)果如圖1所示:
通過觀察結(jié)果可知其PWM和PWM_PIL波形誤差為零,驗證了算法生成代碼在處理器中執(zhí)行的正確性。
三、總結(jié)
基于模型的設計優(yōu)勢在于算法的早期驗證,使得開發(fā)者可以將主要精力放在算法開發(fā)上,代碼則由Matlab自動生成,很好的提高工作效率。在實際的開發(fā)中,將算法生成為函數(shù)進行調(diào)用,一般底層驅(qū)動和控制流程使用匯編語言或者C手工編寫。如果通過Matlab對底層驅(qū)動建模則十分復雜,得不償失,控制流程開發(fā)也沒有C語言靈活。
參 考 文 獻
[1] 趙紀倩,賈要勤. 基于Matlab/Simulink的DSP控制代碼開發(fā)技術(shù)[J]. 電力電子技術(shù),2010,12:59-61
[2] 劉杰. 基于模型的設計及其嵌入式實現(xiàn)[M]. 北京:北京航空航天大學出版社,2010
[3] The MathWorks,Inc. Embedded Coder Guide,April 2011
[4] 李勇. 矢量控制技術(shù)在礦井提升機中的應用研究[J]. 煤礦機械,2012.02:14-16