武瓊,漆星,王群京,李國麗,王秀芹,方圓,潘睿
(1.安徽大學(xué)電氣工程與自動化學(xué)院,安徽 合肥 230601;2.華北電力大學(xué)國際教育學(xué)院,北京 100000)
傳統(tǒng)DSP系統(tǒng)存在開發(fā)周期長、成本高等缺點,本文提出了一種基于Matlab/Simulink實時代碼生成工具RTW模塊的DSP數(shù)字控制系統(tǒng),用以實現(xiàn)SVPWM算法。這是一種基于模型化算法的DSP開發(fā)方式,可根據(jù)仿真模型直接生成目標(biāo)代碼,仿真與實驗結(jié)果說明了此方法的有效性。
DSP控制平臺系統(tǒng)原理圖如圖1所示。
圖1 控制系統(tǒng)原理圖Fig.1 Schematic diagram of the controlsystem
該系統(tǒng)的控制芯片采用TI公司的TMS320F28335 DSP,DSP的編程下載可使用JTAG接口或者串口。根據(jù)模型化的設(shè)計理念,依托于仿真模型進(jìn)行控制系統(tǒng)的開發(fā),大量工作在Simulink中即可完成,在Simulink中可進(jìn)行系統(tǒng)設(shè)計與仿真,并可通過自動代碼生成實時獲得源代碼,進(jìn)行連續(xù)測試和驗證。軟件的更新不需要任何的硬件改動便可實現(xiàn),因此該平臺是一個DSP參與設(shè)計的系統(tǒng),具有完整性和可編程性。
傳統(tǒng)DSP控制系統(tǒng)的設(shè)計流程為:1)提出系統(tǒng)的要求和規(guī)格;2)理論設(shè)計;3)系統(tǒng)實現(xiàn);4)測試和修正。在這種設(shè)計方法中,設(shè)計成本、硬件性能以及實時性等因素會限制物理模型改版的次數(shù),也就限制了實際系統(tǒng)所達(dá)到的性能指標(biāo)。傳統(tǒng)設(shè)計方式只有當(dāng)整個系統(tǒng)模型構(gòu)建完成以后才可以對整個系統(tǒng)進(jìn)行編程測試。同時,軟件通常是靠手工編寫,不僅對編程過程有很大的依賴性,需要耗費大量的時間,而且容易出現(xiàn)各類非模型設(shè)計的錯誤,所以,傳統(tǒng)設(shè)計方法存在可操作性差、成本高的缺點。
新版Matlab不僅可在基于模型的圖形化的交互式環(huán)境中進(jìn)行設(shè)計、開發(fā)和仿真,Matlab里的real-time workshop和real-time workshop embedded coder還可以將系統(tǒng)仿真模型自動生成代碼,代碼經(jīng)編譯器編譯、鏈接后生成可執(zhí)行文件,可執(zhí)行文件被下載到DSP中便可使DSP實現(xiàn)算法。這種基于模型的圖形化的交互式設(shè)計方法可以更加形象地對系統(tǒng)進(jìn)行設(shè)計驗證,仿真模型具有規(guī)范性、易于分享,可減少實物驗證,降低工作量與成本?;诜抡婺P团cRTW模塊的DSP代碼開發(fā)流程如圖2所示。
圖2 系統(tǒng)開發(fā)流程圖Fig.2 System developmentflow chart
PWM技術(shù)多種多樣,其中SVPWM技術(shù)與其他PWM控制方法相比,具有直流電壓利用率高、控制簡單、損耗較小、便于數(shù)字化應(yīng)用于各種微控制器等優(yōu)點,本文針對SVPWM技術(shù)進(jìn)行研究。
三相橋的電壓空間矢量分布如圖3所示,通斷狀態(tài)僅有8種情況,即000-111。SVPWM算法的實現(xiàn)需要得到更多的空間矢量。在通過矢量合成的方式構(gòu)造新矢量時每個扇區(qū)相應(yīng)的調(diào)制波形如圖3所示。矢量U(x,y,z)中的x,y,z分別對應(yīng)于三相橋臂的通斷狀態(tài)。
3.2.1 判斷扇區(qū)
在仿真中,電壓空間矢量是以兩相坐標(biāo)系的電壓給定值Uα和Uβ作為輸入信號,現(xiàn)定義:
若Uref1>0則a=1,否則a=0;若Uref2>0,則b=1,否則b=0;若Uref3>0 ,則c=1,否則c=0。于是所求扇區(qū)號S=4c+2b+a。仿真模型見圖4。
圖4 判斷扇區(qū)Fig.4 Judgmentof the sector
3.2.2 計算占空比
計算三相坐標(biāo)系中的X,Y,Z:
由X,Y,Z的值可求出不同扇區(qū)矢量所對應(yīng)的時間參數(shù)t1和t2,其關(guān)系如表1所示,計算時間參數(shù)仿真模型如圖5所示。
表1 扇區(qū)號S與時間參數(shù)的關(guān)系Tab.1 The relationship between sectornumberand time parameter
圖5 計算時間參數(shù)Fig.5 Calculation of the time parameter
定義占空比參數(shù)為
最終可確定送到微控制器比較寄存器CMPR x(x=1,2,3)的值 Ta,Tb,Tc如表2所示,計算占空比參數(shù)與比較值的仿真模型如圖6所示。
表2 扇區(qū)號S與三相PWM波占空比Tab.2 The sectornumberand the duty cycle ofthree phase PWM
圖6 計算占空比參數(shù)與比較值Fig.6 Calculation of the duty cycle parameters and compare values
3.2.3 合成三相PWM波
在使用微控制器合成PWM波的情況下,首先設(shè)定好定時器、比較單元以及死區(qū)控制單元的控制值,然后將周期值寫入周期寄存器中,最后把上一節(jié)算得的Ta,Tb,Tc分別寫入比較寄存器CMPR x(x=1,2,3)中便可獲得目標(biāo)波形。
當(dāng)通用定時器1的計數(shù)值與比較寄存器中的值相等時,產(chǎn)生狀態(tài)匹配信號進(jìn)入波形發(fā)生單元,經(jīng)對稱PWM發(fā)生器、死區(qū)單元、邏輯控制單元輸出6路PWM波。圖7為假定高電平為開通信號且無死區(qū)情況下的PWM波產(chǎn)生示意圖。仿真中的合成3項PWM波實現(xiàn)方式如圖8所示。
圖7 PWM波產(chǎn)生示意圖Fig.7 PWM waves produce diagrams
圖8 合成3項PWM波Fig.8 Synthesis ofthree PWM waves
3.2.4 接逆變器與阻感負(fù)載
接逆變器與阻感負(fù)載仿真模型如圖9所示,其中逆變器直流側(cè)電壓Vdc=400 V,阻感負(fù)載中R=100Ω,L=0.06 H。仿真中所得電壓電流波形如圖10~圖12所示。
圖9 接逆變器與阻感負(fù)載仿真Fig.9 Simulation with inverterand resistance-inductance load
圖10 線電壓仿真波形Fig.10 Simulation of line voltage waveform
圖11 相電壓仿真波形Fig.11 Simulation of phase voltage waveform
圖12 相電流仿真波形Fig.12 Simulation of phase current wave form
3.3.1 添加并設(shè)置Target Preferences模塊
在Simulink Library中按Embedded Coder-Embedded Targets路徑找到Target Preferences模塊并添加到仿真中,在彈出的Initialize Comfiguration Parameters窗口中將IDE/Tool Chain選項設(shè)置為Texas-Instruments Code Composer,將Board選項設(shè)置為SD F28335 ezdsp。
3.3.2 添加并設(shè)置ePWM模塊
在Simulink Library中按Embedded Coder-Embedded Tragets-Processors-Texas Instruments C2000-C28x3x路徑找到ePWM模塊并添加3個到仿真中,打開ePWM模塊屬性選項卡將Specify CMPA via選項選擇為:Inputport。設(shè)置后ePWM模塊會多出一個輸入端口,用來輸入比較值。
3.3.3 完成整個仿真并生成代碼
把3.2.3節(jié)中合成三相PWM波的部分從SVPWM模塊中去除,引出Ta、Tb、Tc并依此接入到ePWM1,ePWM2,ePWM3模塊的輸入端口,整個仿真模型結(jié)構(gòu)如圖13所示。
圖13 SVPWM仿真模型Fig.13 Simulation modelofSVPWM
點擊Simulink工具欄上的incremental build按鈕,仿真編譯完成后,CCS自動運行—建立工程—全局編譯—燒寫程序,一系列自動執(zhí)行的操作以后,DSP執(zhí)行自動生成的程序、發(fā)出PWM波。
為驗證算法和自動代碼生成方法的可行性,在TMS320F28335 DSP開發(fā)板上進(jìn)行了驗證試驗,仿真中比較值的仿真波形如圖14所示;仿真模型經(jīng)RTW模塊處理后生成C代碼,燒入DSP經(jīng)過RC濾波得到馬鞍波實驗結(jié)果如圖15所示。
圖14 比較值仿真波形Fig.14 Comparison value simulation waveform
圖15 實驗結(jié)果Fig.15 The resultof the experiment
SVPWM算法的仿真與RTW代碼生成的結(jié)果表明,基于Matlab的Embedded target for TI C2000 DSP的設(shè)計過程,可自動生成算法的C代碼,有效縮短系統(tǒng)的開發(fā)周期,提高了系統(tǒng)設(shè)計效率。
[1]盧小錦,曾岳南.基于Matlab/Simulink的TMS320F2812代碼開發(fā)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2009(2):79-81.
[2]張祥,楊志剛,張彥生.Matlab/Simulink模型到C/C++代碼的自動實現(xiàn)[J].重慶工學(xué)院學(xué)報,2006,20(11):111-113.
[3]齊星剛,趙剛,李原.在Matlab/Simulink平臺上DSP代碼的自動生成[J].中國測試技術(shù),2005,31(1):87-88.
[4]冷斌,李學(xué)勇,劉建華.一種基于Matlab的DSP調(diào)試及直接代碼生成方法[J].現(xiàn)代電子技術(shù),2008,31(20):68-75.
[5]樊曉丹,孫應(yīng)飛,李衍達(dá).一種基于RTW的實時控制系統(tǒng)快速開發(fā)方法[J].清華大學(xué)學(xué)報:自然科學(xué)版,2003,43(7):895-898.
[6]Luo Feng,Huang Zhihui.Embedded C Code Generation and Embedded TargetDevelopment Based on RTW-EC[C]//Computer Science and Information Technology(ICCSIT),20103rd IEEE International Conference on.IEE Proceedings,2010(5):532-536.
[7]Hu Jinhui,Hu Dabin,Xiao Jianbo.Study of Real-time Simulation System Based on RTW and Its Application in Warship Simulator[C]//Electronic Measurement& Instruments,2009.ICEMI 2009.9th International Conference,2009(3):966-970.