文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170020
中文引用格式: 安永軍,帕孜來·馬合木提. 基于DSP的逆變器系統代碼生成方法及實現[J].電子技術應用,2017,43(9):64-67.
英文引用格式: An Yongjun,Pazlai Mahemuti. Code generation method and implementation of inverter system based on DSP[J].Application of Electronic Technique,2017,43(9):64-67.
0 引言
逆變器作為風力發電系統與電網的接口,承擔著核心電能變換和控制的作用,同時是系統中極易發生故障的薄弱環節,系統能否向電網或負載提供優質的電能,逆變器起到至關重要的作用[1-3]。為了確保電網穩定運行,提高電能質量,逆變器的故障診斷尤為重要,因此近些年逆變器的故障診斷研究成為了國內外學者的研究熱點。TMS320F28335 DSP作為TI公司推出的32位浮點數字控制處理器,其主頻150 MHz,具有外設豐富、性價比高、存儲空間大、處理速度快等優點[4-5],一直被用作逆變器智能控制及故障檢測與診斷系統的核心控制器。
逆變器系統是典型的相互依賴、錯綜復雜的混雜系統[6],傳統的DSP系統的代碼編程費時費工、效率低。Mathworks公司和TI公司聯合推出TSP工具,使得在Simulink環境下即可進行嵌入式系統建模、仿真、代碼生成及調試工作,大大提高了工程開發效率。本文在逆變器系統上實現代碼自動生成。
1 代碼生成技術
代碼自動生成技術是指用特定的軟件(MATLAB)或者軟件中特定的工具箱,建立目標代碼的系統仿真模型,并根據特定的目標配置自動生成嵌入式系統應用程序[7-8]。
Embedded Coder是MathWorks公司提供給Simulink用戶針對嵌入式系統開發的強有力的工具。TSP TI C2000(Embedded Coder Target Support Package for Texas Instruments C2000 Processors)工具箱由TI公司和MathWorks公司聯合開發,可與TI公司的CCS(Coder Composer Studio)集成開發環境(IDE)無縫對接,是針對基于C2000系列DSP嵌入式系統開發的工具箱[9-10]。該工具箱提供了DSP外圍資源一對一的接口模塊,可以將系統模型轉換為可優化的、可移植的、自定義的產品級嵌入式C代碼[11-12]。將模型的信號源和信號接收部分模塊替換成I/O端口,由軟件提供的系統.tlc文件負責統籌調用代碼生成的整個過程,根據目標配置自動生成系統應用程序。
應用代碼生成技術不需要逐句逐行的編寫模型仿真所需要代碼,并較容易進行相應的調試。與傳統設計方法相比,明顯具有開發周期短、費用低、效率高等特點。
2 基于代碼生成技術的開發流程
首先根據需求確定系統設計標準,在Simulink平臺中根據設計思路建立系統仿真模型;其次,根據系統設計要求設置模型參數及仿真環境,并植入相應的智能算法,完成配置工作后進行模型仿真,在仿真過程中實時觀測仿真結果。如若仿真結果與預計結果有偏差,則及時完善仿真模型或參數設置并進行反復修正,直至仿真結果與理論結果吻合。仿真完成后對Simulink模型進行目標環境配置,設置系統文件及硬件調試環境,編譯代碼生成模型,生成代碼執行文件(.out),連接硬件調試板,下載執行文件,運行程序,觀察并測試系統參數。其開發流程如圖1所示。
3 三電平逆變器
三電平逆變器是常見的電力電子電路拓撲結構,由以兩電平變換器的一個橋臂為基本開關單元經過串并聯拓撲而成[13],基本開關單元為圖2結構,此電路只輸出兩種電平,通過此基本開關單元的串聯或并聯的形式加以組合,以達到輸出端輸出多于兩個電壓等級的電壓值。可構成如圖3所示的三電平逆變器的單相橋臂,3個同樣的橋臂并聯再與直流電源等必要器件相結合,即可得到三電平全橋逆變器結構。
對橋臂上的IGBT按調制算法規律進行有序的控制,使IGBT按照固有的規律工作,即可輸出三電平全橋交流電壓波。其調制算法如圖4所示,正半軸載波和調制波生成互補的兩列觸發脈沖,分別觸發VT1和VT3;負半軸載波和調制波生成互補的兩列觸發脈沖,分別觸發VT2和VT4。VT1和VT2的控制脈沖p1和p2如圖5所示。輸出線電壓Uab如圖6所示,與傳統兩電平逆變器相比,三電平逆變器功率管的耐壓、容量提高了一倍,降低了輸出線電壓的du/dt,波形得到明顯改善,對比與兩電平線電壓更趨近于正弦波。
4 三電平PWM代碼生成
三電平PWM為12路觸發脈沖,如若在CCS中逐句逐行編寫程序,則是非常龐大的任務量,而且在編程過程中不可避免地會出現錯誤,需要不停地修改和測試代碼,需花費大量的人力。為節約人力和時間,減少出錯率,提高開發效率,利用自動代碼生成技術來生成三電平PWM控制脈沖。建立三電平PWM自動代碼生成模型如圖7所示。
TSP工具箱中只提供DSP的外圍接口,需要利用Simulink的其他工具搭建三電平PWM模型,再由TSP中的Digital Output模塊定義輸出端口[14-15]。其中PWM模塊來自Simulink>Power Systems>SpecializedTechnology>Control&Measurements>Pulse&Signal Generators,此模塊為三電平PWM輸出模塊,設置頻率、相位、采樣周期等參數,使逆變輸出電壓為50 Hz。三電平PWM輸出有12路脈沖,而每個Digital Output模塊只提供8個GPIO接口,需要用Demux和Mux模塊組合,用兩個Digital Output模塊輸出脈沖。圖7中OUT1模塊GPIO0~GPIO7設置使用,OUT2模塊GPIO8~GPIO11設置使用,如圖8所示,共12路脈沖,控制IGBT工作。
模型建立成功后,設置目標環境。打開Simulation>Model Configuration Parameter環境配置,在Solver中設置仿真環境為離散環境,Hardware Implementation>Hardware board設置TI Delfino F2833x目標板,在Code Generation>System target file設置ert.tlc系統文件,Toolchain選擇CCS開發環境TI CCSV6 C2000,Interface>Code replacement library設置為TI C28x。代碼優化Code Placement>File packaging format設置為Compact,可優化生成代碼的邏輯結構,提高代碼的可讀性。
以上建模及目標環境配置完成后,按Ctrl+B組合快捷鍵編譯模型,或者在模型工具欄中找到編譯工具點擊編輯模型,如若模型設計及環境配置無誤,即可生成.out執行文件,此文件可由CCS下載到DSP中運行。
從整個設計過程來看,DSP開發人員只需在MATLAB中進行Simulink模型設計、構建、仿真及目標環境配置,替代了編寫、調試DSP代碼的復雜過程,減低了出錯率,提高了工作效率。
5 系統測試
本文設計了以TI公司的TMS320F28335為主控芯片的逆變器系統,系統由PC、電源、電源擴展模塊、光電隔離模塊、核心控制模塊、逆變模塊等組成。該系統中逆變器結構可從兩電平—三電平的結構拓撲,并可以提供逆變器結構性故障全模式,可進行逆變器智能控制及故障診斷技術的研究。
連接各模塊組建實驗系統,所有硬件電路接電等待開啟。將自動生成的三電平PWM可執行.out文件下載到DSP芯片并運行,開啟所有電路電源開關,觀測脈沖信號和逆變器輸出線電壓波形。觀測到VT1和VT2的控制脈沖波形如圖9所示,與圖5仿真結果吻合。
示波器顯示波形如圖10所示。對比圖10與圖6,可看出示波器波形與仿真結果完全吻合。
6 結論
針對工作在高頻狀態下的典型混雜系統——逆變器系統的智能控制及故障診斷的DSP代碼開發周期長、效率低、實現比較繁瑣的問題,提出基于代碼生成技術實現的方法。介紹了代碼生成技術及其開發流程,并以三電平PWM代碼生成為例展開說明,最后在逆變器實物系統中實現三電平PWM代碼的調試。結果證明,該方法簡單實用、開發周期短、錯誤率低、效率有明顯提高。為逆變器智能控制及故障檢測與診斷算法實踐驗證提供了方便,具有很高的實用價值。
參考文獻
[1] 付玲,帕孜來·馬合木提,廖俊勃.三相SPWM逆變器的智能故障診斷研究[J].制造業自動化,2015,37(3):72-74.
[2] 廖俊勃,帕孜來·馬合木提,支嬋,等.三電平逆變器IGBT的開路故障診斷研究[J].電測與儀表,2015,52(20):35-40.
[3] 廖俊勃.風力發電逆變器的故障診斷研究[D].烏魯木齊:新疆大學,2015.
[4] 張卿杰,許友,左楠,等.手把手教你學DSP-TMS320-F28335[M].北京:北京航空航天大學出版社,2015.
[5] Texas Instrument,Inc.TMS320F28335/F28334/F28332/F28235/F28234/F28232 digital signal controllers(Rev.M)[Z].2012.
[6] 帕孜來·馬合木提,貝太周.三相并網逆變器的鍵合圖模型實現[J].可再生能源,2013,31(1):21-24.
[7] 孫忠瀟.Simulink仿真及代碼生成技術入門到精通[M].北京:北京航空航天大學出版社,2015.
[8] 劉杰.基于模型的設計及其嵌入式實現[M].北京:北京航空航天大學出版社,2010.
[9] 郭小強,趙剛,黃昆.基于MATLAB/Simulink平臺下TI C2000 DSP代碼的自動生成[J].科學技術與工程,2011,11(13):2941-2944.
[10] 朱斌,謝杰,孫皓澤,等.基于CCSLink的FIR數字濾波器的DSP實現[J].計算機工程與應用,2013,49(S3):245-249.
[11] MathWorks,Inc..Embedded coder getting started guide[Z].2016.
[12] MathWorks,Inc..Embedded coder user′s guide[Z].2016.
[13] 李永東.現代電力電子學—原理及應用[M].北京:電子工業出版社,2011.
[14] MathWorks,Inc..Getting started with TMS320C28x digital signal controllers(Rev.A)[Z].2007.
[15] MathWorks,Inc..Configuring source of multiple ePWM trip-zone events[Z].2007.
作者信息:
安永軍,帕孜來·馬合木提
(新疆大學 電氣工程學院,新疆 烏魯木齊830047)