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