当前位置:首页 期刊杂志

基于双重移相控制的DC-DC变换器系统代码生成技术研究

时间:2024-09-03

伏永浩, 蒋 赢, 郑春生

(上海电机学院 电气学院, 上海 201306)

隔离型双向全桥DC/DC变换器具有能量双向流动、结构简单对称、高功率密度、电气故障隔离且易实现软开关等优点,在分布式微电网、新能源电动汽车、直流固态变压器、不间断电源和储能装置等领域有着广泛的应用[1-2]。双重移相(Dual Phase Shift, DPS)调制因兼具单重移相(Single Phase Shift, SPS)调制的简单及三重移相(Triple Phase Shift, TPS)调制的灵活性而成为隔离型双向全桥DC/DC变换器最常见的调制策略[3-5]。传统的数字信号处理(Digital Signal Processing, DSP)程序开发方式在开发的过程中花费时间较长,其开发过程包括:数学模型的建立、算法设计等。在开发的过程中只要其中一个环节出现问题,就需要花费很多时间来查找错误或者重新设计,这使得开发时间和开发难度大大增加。而基于模型的设计主要研究控制算法而不是编程语言,从而降低开发设计程序的时间。其需要通过DSP、微控制器等硬件平台来进行控制,之后这种方法将被应用于工程并进行相关测试。

基于模型的设计是系统仿真技术与自动代码生成技术的有机结合,采用统一、可视化、交互式的开发测试平台,贯穿于整个软件开发过程,是开发复杂控制系统的一种高效模式,广泛应用于汽车电子、航空、工业控制等领域[6]。

Matlab Simulink应用于DSP时具有很高的价值,因为其可以完成控制算法的模型设计、仿真、代码生成、调试和运行[7],在Simulink中安装一套包含DSP TMS320F28335各个模块的模型,通过将Simulink中的模型和控制算法相结合可以建立主电路的电路输出电压控制模型,通过Matlab中的编译按键可生成DSP控制程序,将电脑和TMS320F28335开发板通过XDS 100V2仿真器相连,Matlab生成的CCS代码无需处理即可直接在CCS(Code Composer Studio)6.1.2的开发环境中加载和调试,然后将生成代码下载到DSP硬件平台。最后,可在示波器中观察控制电路的控制波形。

1 DPS控制原理

在SPS控制中,使用占空比为50%的方波控制每个开关管,一、二次侧同一桥臂上的两个开关管互补导通,斜对角两只开关管之间的脉冲信号相同,通过控制移相角可改变传输功率的大小和方向。

图1给出了隔离型双向全桥DC-DC变换器(Isolated Bidirectional Full-bridge DC-DC Converter, IBDC)的拓扑结构,主要由电源(U1和U2)、开关管(S1~S8)、反并联二极管(VD1~VD8)、电容(C1、C2)、变压器(T)、等效电感(L)组成。与传统的SPS控制相比,在DPS控制中,由两种参数来控制双有源桥中能量的流动,通过在一次侧或二次侧斜对角的两只开关管引入新的移相占空比,可以达到提高功率因数和效率的目的。

图1 隔离型双向全桥DC-DC变换器拓扑

在本文中,对半个周期内一次侧全桥的移相比D1定义为内移相比,对半个周期内U1侧和U2侧之间的移相比D2定义为外移相比。图2所示为0≤D1≤D2≤1情况下变换器的工作波形图[8],D1THS和D2THS为内外部的移相角,DPS控制需要内外移相比D1和D2之和≤1,如果D1和D2之和>1,则外移相将无法控制能量的流动[9]。Up为全桥逆变器的输出电压,Us为U2侧全桥逆变器的输出电压折算到U1侧的电压,UL为等效电感L两端电压,iL为流过电感L的电流。

图2 DPS控制原理波形

2 Matlab目标模型设置

基于模型的设计以实时软件为开发平台,快速地实现算法建模、DSP底层驱动集成、自动代码生成、集成测试等,使开发者能够更快捷、更低成本地进行开发[10]。在进行建模之前,需要在电脑中安装CCS、Control SUITE、Matlab软件,然后进行关联配置。目前,MathWorks公司与德州仪器(TI)联合推出的Embedded Target for TI C2000 DSP提供了将Matlab和Simulink与Texas Instruments eXpress-DSO工具、TI C2000 DSP处理器,集成在一起进行系统开发的手段,通过实时工作站(RTW)和TI的开发工具将Simulink模型转变为实时c代码[11]。在Matlab中下载安装Embedded Coder Support Package for Texas Instruments C 2000 Processors。在这个安装包中,包含DSP TMS320F28335中的各个模块,如ePWM、ADC、GPIO等模块,在Matlab命令栏中使用

checkEnvSetup(‘ccsv5’,‘f28335’,‘setup’)

对系统变量进行配置,使用命令

“checkEnvSetup(‘ccsv5’,‘f28335’,‘check’)”

可以检查系统变量是否设置成功,在Matlab命令窗口输入“xmakefilesetup”命令并对相关参数进行设置就可以将Matlab与CCS关联配置,之后需要在Target模块中设置模型的关键参数,如求解器、采样时间、代码生成等,然后就可以进行代码开发。MBD开发流程[12]如图3所示。通过将各个模块拖拽到模型窗口中,可以完成模型搭建,这样可将测试提前到仿真阶段,便于发现早期问题,而且可以避免手工编程可能导致的错误[13]。

图3 MBD开发流程

3 DPS程序的开发

3.1 ePWM模块配置

TMS320F28335 DSP具有多达18个PWM输出,足以控制许多三相功率转换器。这些输出中的12个模块是ePWM模块,TMS320F28335的系统时钟SYSCLK最大频率设置为150 MHz[14],TMS320F28335 DSP作为TI公司推出的32位浮点数字控制处理器,其主频150 MHz,具有外设丰富、性价比高、存储空间大、处理速度快等优点[15]。

通过配置PWM模块的计数器周期、计数模式等参数。其中,ePWM1a和ePWM1b、ePWM2a和ePWM2b、ePWM3a和ePWM3b输出三路互补波形。在ePWM模块中,Deadband Unit选项卡可以设置一个上升沿或者下降沿,延时500 ns的死区,防止同一桥臂上的两个开关管同时导通。

在移相全桥PWM控制中,将ePWM1设置为主模式,ePWM2、ePWM3设置为从模式。双击打开ePWM1模块,将Synchronization action选择Disable,将Synchronization output(SYNCO)选择Counter equals to zero(CTR=Zero),双击打开ePWM2、ePWM3模块,将Synchronization action选择Set counter to phase value specified via dialog,SYNCO选择Pass through(ePWMxSYNCI or SWFSYNC),将ePWM2的时基相位寄存器(TBPHS)设置为750作为移相比0.2,ePWM3的TBPHS设置为1 500作为移相比0.4。

3.2 建立控制算法模型

Simulink模型如图4所示,在这个模型中,开关频率为20 kHz,可以发现该模型包含PWM等模块。PWM模块、Constant模块均由Simulink中的库提供,用户只需要修改每个模块中的参数,而不需要过多的关注每个模块内部的算法本身。通过调节PWM波形的占空比和幅值,使得通过PWM驱动的开关管的电路输出波形趋于稳定。

图4 Simulink仿真模型

CCS软件可以对TMS320F28335提供软件程序部分支持,使用CCS在TMS320F28335上运行编写的程序,同时可以使用CCS软件对在DSP芯片上运行的程序状态进行监视,在Matlab中也提供了TMS320F28335的模块,可以让Matlab与DSP衔接得更加紧密。

在图4的Simulink模型中,该模型可以用于生成DPS的PWM波形。

DSP TMS320F28335的时钟频率最高可达150 MHz,PWM的频率是由时基周期寄存器值和TB计数器模式共同控制的。PWM模块具有递增、递减、增/减计数3种计数模式。在模型中采用增/减计数模式来确定波形周期值。

(1) 定时器周期寄存器设置为3 750个时钟周期(开关频率为20 kHz)。计算方法如下:

(1)

式中:fsys为CPU时钟频率(TMS320F28335 DSP为150 MHz);fPWM为开关管的开关频率;TPRD为定时器周期寄存器的值。

(2) 计数模式为增/减计数,比较寄存器的值为1 875(占空比为50%)。计算方法如下:

(2)

式中:D为PWM波形的占空比;TCMPA为比较寄存器的值。

3.3 自动代码的生成及结果

Matlab具有非常强大的功能,在将程序下载到TMS320F28335之前需要对Simulink进行设置,模型中使用的是Matlab 2017a和CCS 6.1.2软件。在CCS选择合适的DSP目标板及仿真器模型,就可以将程序下载到目标板,在以上步骤设置完成后,将TMS320F28335通过USB连接到主机,然后编译就可以将程序下载到目标板。同时,会打开CCS软件,在CCS中生成一个完整的项目,其中包含源文件、头文件、库文件、链接命令文件和可执行文件。当仿真器和硬件板连接到主机时,项目文件代码将自动下载到硬件电路板[16]。编译结果如图5所示。

图5 编译结果

4 DPS程序测试

4.1 仿真模型及实验波形

通过DPS PWM控制的双向DC/DC变换器进行仿真。其中,输入电压U1=100 V,输出电压U2=12 V,等效电感L=200 μH,电阻Rs1=Rs2=0.01 Ω,电容C1=C2=1 mF,变压器变比为8,负载电阻为2 Ω,开关频率为20 kHz,仿真波形如图6所示。

图6 双向DC-DC仿真波形

4.2 实物测试

编译完成后,通过示波器可以看到生成的DPS PWM波形,其结果如图7所示。将程序下载到DSP中并运行,示波器输出波形V1、V2、V3分别为开关管S1、S4、S5(S8)的驱动波形,且S1与

图7 输出波形

S2、S3与S4、S5(S8)与S6(S7)分别互补导通,这表明可以使用基于模型的设计方法来产生用于控制电路开关管的驱动波形。

5 结 语

本文将基于模型的设计方法引入到了电力电子的设计中,并将其应用于DPS PWM波形的实现。实验结果表明,通过基于模型的设计来编写DPS PWM的程序从而控制双向全桥DC-DC电路是可行的,此程序开发的步骤主要包括建模、模型验证、代码生成、代码集成。在使用Matlab开发的过程中,其可视化图形、早期验证、自动代码生成等功能节省了开发时间,降低了工作量,提高了开发效率,使得工程师只需要在开发时关心算法和系统的效率问题,这为电力电子软件开发提供了新的思路。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!