李 莎,李志斌
基于Saber環(huán)境的數(shù)字電源DSC功能仿真
李 莎,李志斌
(深圳職業(yè)技術(shù)學(xué)院 機(jī)電工程學(xué)院,廣東 深圳 518055)
文章分析了數(shù)字電源控制的環(huán)路組成,介紹一種優(yōu)化的虛擬DSC仿真方法.該方法通過(guò)模擬真實(shí)DSC相關(guān)外設(shè)的工作原理和操作時(shí)序,并配合動(dòng)態(tài)鏈接庫(kù)文件來(lái)實(shí)現(xiàn)相關(guān)控制算法,達(dá)到真實(shí)模擬實(shí)際DSC進(jìn)行數(shù)字控制,縮短實(shí)際產(chǎn)品前期理論驗(yàn)證和后期調(diào)試時(shí)間的目的.最后基于相關(guān)模型搭建LLC電路的仿真和實(shí)際應(yīng)用場(chǎng)景,理論和實(shí)際對(duì)比驗(yàn)證了虛擬DSC模擬的準(zhǔn)確性和可行性.
Saber;數(shù)字電源;DSC;電路仿真;LLC
數(shù)字電源以其控制靈活、集成度高、調(diào)試方便及易于功能模塊化等諸多優(yōu)勢(shì),成為電力電子行業(yè)重要發(fā)展方向[1].通常數(shù)字電源中會(huì)用一顆具有數(shù)字信號(hào)處理能力的單片機(jī)作為核心控制芯片(下文簡(jiǎn)稱DSC:Digital Signal Controller)來(lái)處理整個(gè)的控制過(guò)程.仿真是輔助加速數(shù)字電源開(kāi)發(fā)進(jìn)程的重要手段,在諸多仿真工具中,Synopsys公司的Saber是最常用的軟件之一,相對(duì)于MATLAB[2,3],Saber擁有包括電源專用器件和功率電子器件在內(nèi)的幾萬(wàn)種電子元件庫(kù),仿真結(jié)果更加接近真實(shí)情況.
雖然Saber對(duì)于電力電子的仿真已經(jīng)足夠優(yōu)秀,但是在實(shí)際數(shù)字電源系統(tǒng)仿真時(shí)仍然存在一些不足,數(shù)字電源實(shí)際應(yīng)用時(shí)通常需要用到DSC,DSC的型號(hào)較多,Saber并未提供具體型號(hào)的DSC用于仿真需求,這個(gè)給仿真帶來(lái)了一定麻煩.目前常用的解決方案通常有3種:一是通過(guò)分立元件搭建來(lái)模擬DSC的算法功能[4],控制器最后的控制輸出通過(guò)“control to voltage”模塊產(chǎn)生驅(qū)動(dòng)作用于功率電路并完成仿真.最后再將模組中的相關(guān)參數(shù)離散化實(shí)施到實(shí)際的DSC軟件中.該方案實(shí)現(xiàn)相對(duì)簡(jiǎn)單,但是無(wú)法模擬真實(shí)的數(shù)字控制場(chǎng)景,仿真完成后還需要進(jìn)一步離散處理并定標(biāo)后才能應(yīng)用在DSC軟件中,無(wú)法直接對(duì)算法本身進(jìn)行仿真;二是利用Saber與MATLAB的接口控件進(jìn)行雙軟件聯(lián)合仿真[5],將相關(guān)算法在MATLAB中實(shí)現(xiàn),Saber實(shí)現(xiàn)功率電路為主,通過(guò)調(diào)用軟件接口來(lái)進(jìn)行聯(lián)合互補(bǔ)仿真,充分發(fā)揮Saber和MATLAB各自在電路及算法處理上的優(yōu)勢(shì).該方案充分發(fā)揮了2個(gè)軟件的優(yōu)勢(shì),MATLAB中的算法也可以直接應(yīng)用于DSC軟件中,彌補(bǔ)了方案一的不足,但是對(duì)仿真人員的個(gè)人能力要求較高,需要精通2個(gè)軟件;另外,由于要同時(shí)運(yùn)行2個(gè)軟件,對(duì)電腦的配置要求也較高,否則仿真會(huì)很慢;對(duì)于公司而言,需要采購(gòu)兩套仿真軟件,成本也較高,因此該方案在實(shí)際公司層面應(yīng)用很少;三是利用Saber自帶的MAST語(yǔ)言來(lái)編寫相關(guān)算法,從而模擬DSC相關(guān)功能的實(shí)現(xiàn)[6].該方案彌補(bǔ)了前2種方案的不足,目前也有文獻(xiàn)對(duì)該方法進(jìn)行研究,如文獻(xiàn)[6]提到的通過(guò)MAST語(yǔ)言模擬虛擬信號(hào)處理器的方法,在一定程度上通過(guò)MAST語(yǔ)言模擬了DSC的相關(guān)算法,但是未考慮如何保證虛擬DSC和真實(shí)DSC的行為一致,無(wú)法脫離MAST語(yǔ)言進(jìn)行配置,給應(yīng)用場(chǎng)景的推廣使用帶來(lái)了一定限制.本文基于Saber軟件,使用MAST語(yǔ)言對(duì)DSC做數(shù)字控制時(shí)需要用到的ADC、PWM及核心控制算法功能進(jìn)行仿真模擬,并介紹如何通過(guò)封裝方式將所有功能進(jìn)行打包,以利于硬件工程師黑盒模式對(duì)虛擬的DSC進(jìn)行配置,最后以一個(gè)LLC全橋應(yīng)用說(shuō)明本文所介紹方法的實(shí)際應(yīng)用.
數(shù)字控制電源系統(tǒng)組成可以精簡(jiǎn)為如圖1所示,總共分為3個(gè)部分:數(shù)字控制器、功率電路和采樣電路.圖1中的控制目標(biāo)是輸出電壓,采樣電路會(huì)調(diào)制輸出電壓值到數(shù)字控制器能承受的一定電壓范圍并反饋到數(shù)字控制器,數(shù)字控制器通過(guò)內(nèi)部的ADC模塊采樣反饋信號(hào)并轉(zhuǎn)成相應(yīng)的數(shù)字量,數(shù)字量輸入到控制器單元(Control law),控制單元會(huì)將反饋信號(hào)和參考信號(hào)(Vref)對(duì)比處理并依特定的控制算法生成控制信號(hào),控制信號(hào)施加到PWM模塊產(chǎn)生調(diào)頻或調(diào)占空比的PWM驅(qū)動(dòng),PWM信號(hào)作用到功率電路的開(kāi)關(guān)管,調(diào)制輸入電壓(Vin)產(chǎn)生脈動(dòng)的輸出電壓,經(jīng)濾波后得到最終的被控量Vout.以上整個(gè)過(guò)程便形成了對(duì)輸出電壓的閉環(huán)控制.
對(duì)于整個(gè)仿真系統(tǒng)而言,功率電路和采樣電路可以輕易通過(guò)相關(guān)功率器件搭建生成,而數(shù)字控制器,主要由ADC(數(shù)模轉(zhuǎn)換單元)、Control law(控制計(jì)算單元)及PWM(驅(qū)動(dòng)生成模塊)3部分功能模塊組成,因此,本文提到的虛擬DSC核心是要實(shí)現(xiàn)如下需求:
1)使用單個(gè)虛擬DSC實(shí)現(xiàn)上述3個(gè)功能模塊;
2)為了保證仿真和實(shí)際使用控制效果一致,需要保證虛擬DSC行為跟真實(shí)DSC行為一致,這行為包括AD采樣時(shí)刻可控一致、控制信號(hào)值更新裝載時(shí)刻一致及PWM發(fā)波方式等;

圖1 數(shù)字控制電源系統(tǒng)組成
3)虛擬DSC使用到的代碼在仿真完成后可直接應(yīng)用于實(shí)際系統(tǒng);
4)虛擬DSC提供相關(guān)接口便于硬件工程師或其它不懂軟件的工程師可以直接修改使用.
ADC功能的實(shí)現(xiàn)直接在MAST語(yǔ)言執(zhí)行過(guò)程中讀取相關(guān)引腳信號(hào)即可,本文設(shè)計(jì)了4路的AD采樣引腳如圖2所示,仿真應(yīng)用時(shí),無(wú)需做復(fù)雜處理,直接根據(jù)真實(shí)DSC的AD采樣時(shí)刻配置在不同的PWM仿真時(shí)刻進(jìn)行AD引腳采樣值讀取,讀取時(shí)刻可通過(guò)下文提到的MAST語(yǔ)言控制的狀態(tài)機(jī)進(jìn)行,通過(guò)在不同的狀態(tài)機(jī)時(shí)刻操作,進(jìn)而模擬并實(shí)現(xiàn)真實(shí)DSC的AD采樣觸發(fā)配置的仿真功能.
真實(shí)的DSC有專門的事件管理單元用于生成PWM信號(hào),而這些事件管理單元可通過(guò)一系列的寄存器進(jìn)行配置,如周期寄存器、比較值寄存器、時(shí)基控制寄存器等,在控制算法計(jì)算出相應(yīng)的控制量后,只需要配置這些寄存器,事件管理單元即可發(fā)出特定的PWM驅(qū)動(dòng)信號(hào),進(jìn)而控制功率電路的開(kāi)關(guān)管[7].Saber中顯然不會(huì)有這類的寄存器,但Saber給我們提供了事件驅(qū)動(dòng)函數(shù),我們可以通過(guò)這個(gè)函數(shù)進(jìn)行一系列的邏輯操作進(jìn)而模擬出相關(guān)功能,下面通過(guò)具體的驅(qū)動(dòng)生成來(lái)說(shuō)明該方法如何應(yīng)用.
如圖3所示,我們需要生成PWM1A和PWM2A驅(qū)動(dòng),同時(shí)需要保證2個(gè)驅(qū)動(dòng)之間有一定的死區(qū)時(shí)間td,對(duì)于真實(shí)的DSC,通過(guò)配置ZRO、CMPA及CMPB事件即可,事件管理單元會(huì)自動(dòng)生成相應(yīng)的PWM波形,而對(duì)于Saber環(huán)境,我們需要通過(guò)事件件驅(qū)動(dòng)函數(shù)(schedule_event())處理圖上所示的4個(gè)位置的4個(gè)事件來(lái)模擬相關(guān)驅(qū)動(dòng)的生成.

圖2 ADC采樣引腳設(shè)計(jì)

圖3 PWM生成事件
這些事件我們可以通過(guò)一個(gè)狀態(tài)機(jī)進(jìn)行循環(huán)處理,進(jìn)而完成驅(qū)動(dòng)的重復(fù)輸出.對(duì)應(yīng)圖3的①~④狀態(tài)機(jī)觸發(fā)的事件語(yǔ)句分別如下:
schedule_event (time + ton1, tick, 1) ①
schedule_event (time + toff1, tick, 1) ②
schedule_event (time + ton2, tick, 1) ③
schedule_event (time + toff2, tick, 1) ④
配置如上事件后,即可通過(guò)when(event_on(tick))檢測(cè)不同時(shí)刻事件的產(chǎn)生,進(jìn)而在特定時(shí)刻控制進(jìn)行相應(yīng)驅(qū)動(dòng)信號(hào)配置成高電平或低電平.需要注意的是,上述處理過(guò)程中,需要增加一個(gè)狀態(tài)機(jī)變量來(lái)用于切換不同工作狀態(tài).實(shí)際仿真產(chǎn)生的驅(qū)動(dòng)及狀態(tài)機(jī)跳轉(zhuǎn)效果如下圖4所示,從圖4可以看出,隨著狀態(tài)機(jī)(dacvout0)的循環(huán)變化,驅(qū)動(dòng)信號(hào)也循環(huán)地進(jìn)行輸出.

圖4 仿真驅(qū)動(dòng)產(chǎn)生效果
當(dāng)需要死區(qū)時(shí)間td功能時(shí),只需要對(duì)toff和td時(shí)間作對(duì)比,確保至少能產(chǎn)生td時(shí)間的off狀態(tài),即可模擬出td的效果.另外,通過(guò)在不同狀態(tài)時(shí)刻讀取采樣信號(hào),可以模擬實(shí)際DSC的特定點(diǎn)采樣效果.
MAST語(yǔ)言除了能直接編程產(chǎn)生特定的信號(hào),還支持調(diào)用外部的DLL文件實(shí)現(xiàn)C語(yǔ)言函數(shù)的使用.由于實(shí)際應(yīng)用中我們的核心控制算法是通過(guò)C語(yǔ)言來(lái)實(shí)現(xiàn)的,因此,我們選擇通過(guò)C語(yǔ)言生成DLL文件給MAST模塊調(diào)用從而實(shí)現(xiàn)相關(guān)的控制算法,而不是直接用MAST語(yǔ)言實(shí)現(xiàn)算法,這樣仿真時(shí)用到的C代碼可以直接應(yīng)用于真實(shí)DSC的編譯環(huán)境中,實(shí)現(xiàn)了代碼復(fù)用,減小了仿真和開(kāi)發(fā)的工作量.
控制算法復(fù)用方式如圖5所示,對(duì)于同樣的控制算法文件“Control law”,可以直接用于VS編譯器環(huán)境生成DLL文件供虛擬DSC調(diào)用[8,9],也可以通過(guò)Codewarrior的編譯環(huán)境生成HEX文件供真實(shí)DSC調(diào)用.虛擬DSC的仿真驗(yàn)證結(jié)果可以直接輔助真實(shí)DSC的應(yīng)用調(diào)試,從而大大減少開(kāi)發(fā)調(diào)試的工作量.

圖5 控制算法復(fù)用流程
本文使用Microsoft visual studio 2019來(lái)生成DLL文件,相關(guān)操作步驟如下:
●VS2019中創(chuàng)建DLL工程,配置“_declspec(dllexport)”函數(shù),通過(guò)*in和*out功能作DLL模塊的輸入和輸出;
●在DLL工程中編寫相關(guān)控制算法,并生成DLL文件;
●將DLL文件拷貝到Saber工程目錄,確保跟仿真文件同一文件夾;
●通過(guò)MAST的foreign聲明調(diào)用DLL文件;
經(jīng)過(guò)以上步驟,便實(shí)現(xiàn)了Saber中通過(guò)MAST調(diào)用C語(yǔ)言函數(shù)的功能實(shí)現(xiàn),完成了Saber和DLL文件的信號(hào)交互,簡(jiǎn)化了仿真時(shí)的算法實(shí)現(xiàn)過(guò)程.
以上完成了Saber仿真應(yīng)用環(huán)境虛擬DSC的核心功能設(shè)計(jì),所有功能基于MAST語(yǔ)言或C語(yǔ)言進(jìn)行實(shí)現(xiàn),實(shí)際應(yīng)用中我們的虛擬DSC模塊通常會(huì)給硬件工程師或其他不懂軟件的人員使用,對(duì)于這些人員無(wú)法直接操作MAST或C代碼不便操作虛擬DSC模塊,本文提出封裝的方式來(lái)解決這個(gè)問(wèn)題.
Saber提供仿真環(huán)境的同時(shí),也提供了symbol編輯功能,通過(guò)該功能,我們可以自由定制我們需要的功能模塊,本文的虛擬DSC模塊配置如圖6左所示,其中包括2組(ADCA和ADCB)共8路的ADC通道、4組PWM模塊、5路的DAC輸出、Vss接地信號(hào)及f_int信號(hào),DAC用于測(cè)試信號(hào)的輸出,f_int信號(hào)用于配置環(huán)路計(jì)算頻率.圖6右給出了封裝的屬性,通過(guò)該屬性可以非常便捷地配置DSC的主頻,環(huán)路的參考電壓和參考電流,同時(shí),也預(yù)留出了環(huán)路參數(shù)的k1、k2、k3接口供仿真時(shí)直接配置.

圖6 虛擬DSC模塊封裝及屬性
為了驗(yàn)證虛擬DSC的仿真實(shí)用性,建立了LLC電路的閉環(huán)仿真系統(tǒng),主功率電路由Saber元器件直接搭建,虛擬DSC使用的是前文創(chuàng)建的模型,相關(guān)電路如圖7所示,從圖上可以看出,設(shè)計(jì)的仿真電路架構(gòu)與圖1的系統(tǒng)組成一一對(duì)應(yīng),也符合實(shí)際的應(yīng)用場(chǎng)景.
上述電路的主要輸入輸出參數(shù)如下:
輸入電壓:紋波有效值10 V;紋波頻率100 Hz;直流偏置450 V.
負(fù)載:純阻性負(fù)載,=85Ω.
輸出電壓:設(shè)定值set=330V;仿真時(shí)刻1s時(shí);set切換到380 V,模擬實(shí)際輸出電壓設(shè)定值的動(dòng)態(tài)調(diào)節(jié)
圖8為仿真和實(shí)際系統(tǒng)的測(cè)試波形對(duì)比,(a)為仿真波形,(b)為實(shí)際硬件平臺(tái)的示波器測(cè)試波形,對(duì)比二圖可以看到系統(tǒng)在輸出參考電壓設(shè)定值從330 V切換到380 V的動(dòng)態(tài)調(diào)節(jié)過(guò)程,二者無(wú)論在調(diào)節(jié)時(shí)間還是在超調(diào)量及調(diào)節(jié)過(guò)程上都是基本一致的,即虛擬DSC模擬真實(shí)DSC的功能得到了驗(yàn)證,準(zhǔn)確模擬出了真實(shí)的應(yīng)用場(chǎng)景,仿真得以指導(dǎo)實(shí)際.

圖7 使用虛擬DSC模塊的LLC閉環(huán)仿真系統(tǒng)

圖8 仿真實(shí)際測(cè)試波形對(duì)比
本文綜合分析了基于Saber進(jìn)行數(shù)字控制仿真的優(yōu)缺點(diǎn),提出通過(guò)優(yōu)化的虛擬DSC方案來(lái)彌補(bǔ)相關(guān)不足,并綜合應(yīng)用MAST語(yǔ)言和DLL文件搭建虛擬DSC模型,最后給出了基于LLC電路的閉環(huán)仿真和實(shí)際電路測(cè)試驗(yàn)證對(duì)比,相關(guān)仿真和實(shí)驗(yàn)結(jié)果表明,本文提到的虛擬DSC仿真方法能真實(shí)地模擬出實(shí)際的控制過(guò)程并能方便地指導(dǎo)相關(guān)硬件系統(tǒng)調(diào)試工作,有效縮短項(xiàng)目的理論驗(yàn)證和實(shí)際調(diào)試時(shí)間,將該方法進(jìn)行類推,可以應(yīng)用于更多的數(shù)字電源研究調(diào)試開(kāi)發(fā)場(chǎng)景.
[1] 柳彥釗.基于STM32的數(shù)控開(kāi)關(guān)電源設(shè)計(jì)[D].西安科技大學(xué),2019.
[2] 孫軍民.基于Saber的開(kāi)關(guān)電源設(shè)計(jì)仿真[J].電子世界,2020,592(10):11-12.
[3] Gilbert Sybille, Hoang Le-Huy. Digital Simulation of Power Systems and Power Electronics using the MALAB/Simulink Power System Blockset[C]//Power Engineering Society Writer Meeting, IEEE. 2000(4):2973-2981.
[4] 劉小建.基于DSP控制的不間斷電源的Saber仿真研究[D].昆明理工大學(xué),2015.
[5] 曾偉,王君艷.車載逆變電源的Saber與Simulink聯(lián)合仿真[J].現(xiàn)代電子技術(shù),2012,35(12):186-188+191.
[6] 謝銀銀,裴雪軍,康勇.基于MAST語(yǔ)言的虛擬數(shù)字信號(hào)處理器[J].電源學(xué)報(bào),2011(02):12-17.
[7] 宋君健,孫佳偉,姜濤.三相靜止坐標(biāo)系不連續(xù)PWM實(shí)現(xiàn)方法研究[J].電力電子技術(shù),2018,52(05):9-12.
[8] Fu Hudai, Wang Hua, Yang Wei. Applocation of Mixed Programming between MATLAB and Visual C++ on Circles Detection[C]//IHMSC, 2009.
[9] 吳江華,王玲玲,周元,等.基于Matlab與VC++混合編程的雷達(dá)探測(cè)威力預(yù)測(cè)技術(shù)實(shí)現(xiàn)[J].雷達(dá)與對(duì)抗,2016,36(03):62-66.
DSC Function Simulation of Digital Power Supply Based on Saber Environment
LI Sha, LI Zhibin
()
In the paper, we analyze the control loop composition of digital power supply and introduce an optimized virtual DSC simulation method. The method was presented to simulate the working principle and operation sequence of real DSC related peripherals, and to realize the related control algorithm with dynamic link library file. The method would achieve real simulation of real DSC for digital control and shorten the time of early theoretical verification and later debugging of actual products. Finally, the simulation and practical application scenarios of LLC circuit are built based on the relevant models. The accuracy and feasibility of virtual DSC simulation are verified by theoretical and practical comparison.
saber; digital power; DSC; circuit simulation; LLC
TN911.72
A
1672-0318(2021)05-0026-06
10.13899/j.cnki.szptxb.2021.05.005
2021-03-01
李莎,女,湖北孝感人,碩士,工程師,主要研究方向:數(shù)字電源DSC控制.
(責(zé)任編輯:王璐)
深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年5期