易映萍 侯文 蔣玲 謝明
摘? 要: 為了快速驗(yàn)證電力電子控制系統(tǒng)中的控制算法,提高控制算法的效率,處理器在環(huán)測(cè)試(PIL)將生成的代碼運(yùn)行到目標(biāo)處理器上,以驗(yàn)證代碼和模型是否一致,并獲得算法在實(shí)際控制器上的最長(zhǎng)運(yùn)行時(shí)間。本文以電力電子能量轉(zhuǎn)換器三相半橋DC/AC為例,在Simulink環(huán)境下構(gòu)建了離散仿真模型,讓學(xué)生很快學(xué)會(huì)三相半橋DC/AC的工作原理、主回路設(shè)計(jì)以及控制系統(tǒng)設(shè)計(jì),然后通過(guò)學(xué)會(huì)處理器在環(huán)仿真去驗(yàn)證測(cè)試軟件和模型的一致性。通過(guò)相同的方法,學(xué)生很快能完成電力電子技術(shù)課程中的其他能量轉(zhuǎn)換電路控制系統(tǒng)的設(shè)計(jì),并在實(shí)驗(yàn)之前驗(yàn)證、分析結(jié)果,以防因控制算法設(shè)計(jì)不當(dāng)在實(shí)驗(yàn)過(guò)程中出現(xiàn)損壞實(shí)驗(yàn)器件的現(xiàn)象。
關(guān)鍵詞: 電力電子技術(shù);處理器在環(huán)仿真;課程教學(xué)
中圖分類號(hào): TP391.41? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.07.026
【Abstract】: To fast verify the control strategies in the power electronic control systems and improve the efficiency of the control strategies, the processor-in-the-loop (PIL) will run the code in the target processor to verify whether codes agree with models and acquire the longest operation time of the algorithms on the actual controllers.? This paper takes three-phase half-bridge DC/AC power electronics energy converter as an example and builds a discrete simulation model in Simulink to let students learn the principles of the three-phase half-bridge DC/AC converter and the design of the main circuit and control system. Then, students will learn how to use PIL to verify the consistency of the software and the model. Through the same method, students can complete the design of the control systems of other kinds of energy converters in the power electronics course quickly. Besides, they can verify and analyze the results before the experiments, which can prevent the damage to the experimental equipment during the experiment due to the improper design of the control algorithms.
【Key words】: Power electronics technology; Processor-in-the-loop; Course teaching
0? 引言
用戶通過(guò)Matlab軟件,采用基于模型設(shè)計(jì)的方法進(jìn)行建模仿真,來(lái)學(xué)習(xí)電力電子轉(zhuǎn)換器的工作原理,進(jìn)行對(duì)主回路以及控制系統(tǒng)的設(shè)計(jì)[1]。利用Matlab中Simulink工具進(jìn)行模型設(shè)計(jì),然后將設(shè)計(jì)好的控制模型模塊運(yùn)用目標(biāo)代碼直接生成功能,轉(zhuǎn)換為數(shù)字程序,再聯(lián)合CCS進(jìn)行聯(lián)合仿真對(duì)控制模型進(jìn)行驗(yàn)證,最后將聯(lián)合仿真驗(yàn)證正確的控制算法程序下載到平臺(tái)的DSP芯片中,再次驗(yàn)證所設(shè)計(jì)的電路及控制算法的正確性[2-3]。
將Matlab軟件與CCS軟件成功安裝之后,在Matlab/Simulink環(huán)境下搭建目標(biāo)代碼直接生成模型之前,需要下載C2000系列的硬件支持包;對(duì)模型進(jìn)行編譯生成工程文件和燒錄文件之前,需要將Matlab軟件與CCS軟件進(jìn)行鏈接,使 Matlab在編譯過(guò)程中能順利調(diào)用CCS軟件,以便于生成工程文件和燒錄文件[4]。
1? 離散仿真模型的搭建
在Matlab/Simulink中搭建三相半橋DC/AC的仿真模型[5-6],其中仿真模型中主電路模型如圖1? 所示。
PIL仿真模型如圖2所示,其中Controller模塊是電流內(nèi)環(huán)閉環(huán)控制器;Rate Transition為采樣頻率轉(zhuǎn)換器,由于DSP芯片控制頻率與Matlab仿真步長(zhǎng)頻率不一致,在做PIL仿真時(shí)需要對(duì)仿真頻率進(jìn)行轉(zhuǎn)換,Rate Transition1為輸入側(cè),設(shè)置的數(shù)值由
做PIL仿真時(shí)DSP芯片所需控制頻率決定,若DSP控制頻率為10 K,則該模塊的設(shè)置值為1e-4,該值的設(shè)置決定了在PIL仿真時(shí)單位時(shí)間內(nèi)DSP執(zhí)行生成代碼的頻率;Rate Transition2為輸出側(cè),設(shè)置的數(shù)值由模型的仿真步長(zhǎng)決定,其設(shè)置值應(yīng)與仿真步長(zhǎng)相同;數(shù)據(jù)轉(zhuǎn)換模塊Single和Double是Matlab/ Simulink和DSP芯片進(jìn)行數(shù)據(jù)交換的紐帶,在Simulink環(huán)境下,存儲(chǔ)數(shù)據(jù)和計(jì)算數(shù)據(jù)一般都為Double類型,而Matlab與DSP芯片進(jìn)行通訊時(shí),傳輸數(shù)據(jù)的位寬要求不高于32位,因此從Matlab輸入的數(shù)據(jù)必須由Double類型轉(zhuǎn)換成Single類型,從模塊輸出到Matlab的數(shù)據(jù)由Single類型轉(zhuǎn)換到Double類型,兩者在進(jìn)行數(shù)據(jù)交換時(shí)需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換才能保證PIL仿真的正常運(yùn)行[7-12]。
打開圖2中的Controller模塊,其搭建的控制策略的模型如圖3所示。
為了實(shí)現(xiàn)了逆變器的控制,需要研究合適的控制算法,圖3中電流內(nèi)環(huán)模型的搭建如圖4所示。通過(guò)Park變換將所測(cè)的逆變器側(cè)電流由三相靜止坐標(biāo)下的交流量變?yōu)橥叫D(zhuǎn)坐標(biāo)下的直流量,再? 通過(guò)PI控制器構(gòu)成的負(fù)反饋系統(tǒng)實(shí)現(xiàn)對(duì)Id和Iq的?控制。
將Id_ref的大小設(shè)置為0.7 A,進(jìn)行仿真,得到Iabc的波形如下所示,電流幅值最終穩(wěn)定在0.7 A左右。如圖5所示。其仿真結(jié)果實(shí)現(xiàn)了對(duì)三相半橋DC/AC仿真搭建的驗(yàn)證。
2? 處理器在環(huán)(PIL)仿真
所謂處理器在環(huán)(PIL)仿真,就是基于模型的設(shè)計(jì)而自動(dòng)生成的C代碼,可以將其直接下載至控制板中運(yùn)行。為了進(jìn)一步驗(yàn)證基于模型的設(shè)計(jì)而自動(dòng)生成的代碼的可行性,可以通過(guò)Matlab和DSP控制器間的聯(lián)合仿真進(jìn)行處理器在環(huán)測(cè)試,在該測(cè)試中,除了控制器是實(shí)物,其它均為虛擬硬件[13-16],這是對(duì)系統(tǒng)的一種半實(shí)物仿真。利用上節(jié)所搭建的三相半橋DC/AC的仿真模型來(lái)做處理器在環(huán)仿真,以驗(yàn)證所設(shè)計(jì)的控制策略的正確性,以及處理器在環(huán)仿真的可行性。其處理器在環(huán)仿真步驟如下:
(1)將USB轉(zhuǎn)TTL通訊模塊與DSP板進(jìn)行連接,并在電腦設(shè)備管理器上查看通訊口為COM幾,并在屬性中設(shè)置波特率;
(2)在Matlab命令欄中輸入命令,串口號(hào)根據(jù)設(shè)備管理器中的查看得到的串口一致;
(3)配置Configuration中的Solver,其中Fixed-step size的設(shè)置根據(jù)仿真步長(zhǎng)決定;
(4)配置Hardware implementation,其中CCS configuration根據(jù)自己的配置文件所在路徑進(jìn)行設(shè)置,不要使用默認(rèn)選項(xiàng),否則程序有可能出現(xiàn)下載不成功的現(xiàn)象。將Groups中的External mode界面中參數(shù)進(jìn)行配置,注意COM串口要與步驟(1)中查看的COM口一致;
(5)配置Verification參數(shù),將Advanced parameters的Create block選擇為PIL;
(6)將想要生成代碼的控制算法封裝成一個(gè)子系統(tǒng),如圖6所示,搭建的仿真模型中的Controller。
(7)右鍵子系統(tǒng)模塊,點(diǎn)擊C/C++ Code中的Deploy this Subsystem to Hardware,再點(diǎn)擊跳出窗口里的Build,會(huì)在新的窗口里生成PIL模型;
(8)將生成的PIL模塊移植至原來(lái)搭建的離散模型中,替換被生成代碼的子系統(tǒng);
(9)將電腦和DSP芯片的下載線和通訊模塊連接好,將DSP板通電,點(diǎn)擊仿真按鈕即可進(jìn)行PIL仿真,在PIL仿真中換流器的輸出電流的波形如圖7所示。
由圖7可知,換流器輸出電流的幅值也控制為0.7A,其整體波形也與之前Simulink仿真波形一致,證明了DSP中的算法能夠?qū)崿F(xiàn)閉環(huán)控制,生成的代碼沒(méi)有錯(cuò)誤。
3? 結(jié)論
控制算法的實(shí)現(xiàn)需要編寫相關(guān)代碼,然后下載至相關(guān)控制器中實(shí)現(xiàn)相應(yīng)功能。手編控制代碼不僅費(fèi)時(shí)和容易出錯(cuò),而且不便于校驗(yàn)和維護(hù)。Matlab為嵌入式處理器應(yīng)用程序的開發(fā)提供了強(qiáng)大的功能,利用MathWorks公司和TI公司聯(lián)合開發(fā)的MATLAB Link for CCS Development Tools工具箱,可以實(shí)現(xiàn)對(duì)DSP芯片的可視化編程,像操作Matlab變量一樣來(lái)操作DSP器件的存儲(chǔ)器和寄存器,使得用戶在Matlab環(huán)境下完成對(duì)DSP的操作,能夠極大提高DSP應(yīng)用系統(tǒng)的開發(fā)進(jìn)程。
本文以電力電子能量轉(zhuǎn)換器三相半橋DC/AC為例,在Simulink環(huán)境下構(gòu)建了離散仿真模型,利用處理器在環(huán)仿真將生成的代碼運(yùn)行到目標(biāo)處理器上,以驗(yàn)證代碼和模型是否一致,仿真結(jié)果正確良好,驗(yàn)證了所搭建的三相半橋DC/AC模型與所生成的代碼一致性。因此可以通過(guò)相同的方法,學(xué)生很快能完成電力電子技術(shù)課程中的其他能量轉(zhuǎn)換電路控制系統(tǒng)的設(shè)計(jì),并在實(shí)驗(yàn)之前驗(yàn)證、分析結(jié)果,以防因控制算法設(shè)計(jì)不當(dāng)在實(shí)驗(yàn)過(guò)程中出現(xiàn)損壞實(shí)驗(yàn)器件的現(xiàn)象。
參考文獻(xiàn)
[1] 黃忠霖. 電力電子技術(shù)的MATLAB實(shí)踐[M]. 北京: 國(guó)防工業(yè)出版社. 2009.
[2] 錢振天, 徐曉軼, 諶平平, 姚文熙. 基于Matlab/Simulink的軟件在環(huán)仿真技術(shù)研究[J]. 電力電子技術(shù), 2016, 50(10): 5-7.
[3] 渠博崗, 易映萍. 基于CCS與MATLAB/Simulink聯(lián)合仿真平臺(tái)的構(gòu)建與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2016, 42(04): 106-110.
[4] 張雄偉, 陳亮, 曹鐵. DSP芯片的原理與開發(fā)應(yīng)用(第3版)[M]. 北京: 電子工業(yè)出版社. 2009.
[5] 雒明世, 張倩琳. 基于MATLAB 的OFDM 系統(tǒng)仿真與教學(xué)研究[J]. 軟件, 2015, 36(6): 152-157.
[6] 王巧明, 李中健, 姜達(dá)郁. Matlab平臺(tái)DSP自動(dòng)代碼生成技術(shù)研究[J]. 現(xiàn)代電子技術(shù), 2012, 35(14): 11-13.
[7] 何舜, 張建文, 蔡旭. 風(fēng)電變流器的RT-LAB硬件在環(huán)仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電力系統(tǒng)保護(hù)與控制, 2013, 41(23): 43-48.
[8] 李艷. 基于Matlab-GUI單相全控橋整流電路仿真設(shè)計(jì)[J]. 軟件, 2012, 33(8): 84-85.
[9] 徐安平. 基于電流的電機(jī)驅(qū)動(dòng)系統(tǒng)逆變器故障檢測(cè)方法研究[D]. 電子科技大學(xué), 2015.
[10] 李拓, 杜慶楠. 基于 TMS320F28335 的三相感應(yīng)電機(jī)矢量控制系統(tǒng)的研究[J]. 軟件, 2018, 39(3): 130-135.
[11] 陳鵬偉, 劉向軍, 劉洋. 基于Simulink的無(wú)刷直流電機(jī)自抗擾控制系統(tǒng)的仿真[J]. 軟件, 2012, 33(9): 81-84.
[12] 郭元彭, 盧子廣, 楊達(dá)亮. 基于DSP代碼自動(dòng)生成的實(shí)時(shí)控制平臺(tái)[J]. 電力電子技術(shù), 2010, 44(10): 65-67.
[13] 宋璐雯. 基于DSP平臺(tái)的JPEG2000 EBCOT-Tier2算法實(shí)現(xiàn)及優(yōu)化[J]. 軟件, 2018, 39(5): 139-143.
[14] 林渭勛. 現(xiàn)代電力電子技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社, 2006.
[15] 李獻(xiàn), 駱志偉. 精通MATLAB/Simulink系統(tǒng)仿真[M]. 北京: 清華大學(xué)出版社, 2015.
[16] 劉和平. DSP原理及電機(jī)控制應(yīng)用[M]. 北京: 北京航空航天大學(xué)出版社. 2006.