Simulink 自动代码生成: 记录一次CLLC双向谐振变换器控制仿真到硬件实现过程

文章介绍了CLLC拓扑在车载OBC系统中的应用,该拓扑实现电能的双向转换,并具有ZVS和ZCS优点。控制原理中详细阐述了Buck和Boost模式的调节方式,以及8个开关管的开关时序。通过仿真和硬件实现验证了其功能,但提到硬件发波机制是优化难点之一。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

CLLC拓扑介绍

控制原理

仿真和硬件实现

总结


CLLC拓扑介绍

双向谐振变换器主要应用在车载OBC系统,实现电能的正向和反向,也就是充电和放电。其结构完全对称。如下图:

只需要控制输入侧V1的大小就可以控制V2输出侧的大小,进而控制输出电压。

使用CLLC拓扑的优点:

实现ZVS和ZCS

电路结构简单,双向对称

可以实现Buck和Boost两种模式,且两种模式根据实际情况可以互相切换,比如PFC输入电压600V,经过CLLC后可以提升电压超过800V也可以低于600V,取决于外部充电电压和实际电压的需求。

另外一种典型的双向DC/DC变换器是boost全桥ZVS双向DC/DC,它可以从低压到高压进行升压转换,也可以从高压到低压进行降压转换,但是其开关电压应力非常大,需要增加吸收电路,造成效率的降低和电路复杂度增加。

这一个完全对称的结构,能量通过原边开关进行逆变,然后通过变压器传递到副边,并且起到电气隔离的作用,副边再进行整流,产生输出电压。由于变压器的匝比设计为1:1,所以反向的运行和正向运行完全一致。 

控制原理

这里变压器设计的匝比是1:1, 谐振频率200Khz。当原边和幅边占空比一样,输入电压就等于输出电压

CLLC Buck模式:

在副边占空比为100%时(这里的占空比指的是对管同时导通的有效占空比,是PWM占空比的一半),调节原边的占空比,相当于减小V1的宽度。达到降压的目的。这时候输入电压大于输出电压。

CLLC Boost模式:

原边占空比全开100%,副边从100%开始减小。

 8个开关管的开关时序如下

 理论增益如下

 

仿真和硬件实现

根据理论原理和发波时序构建模型

1是和硬件参数及拓扑一致的功率部分电路模型

2是生成代码部分的控制算法

3PWM发波时序发生模块

 仿真效果 如下,输入电压800V,给定输出电压750V和850V都能稳住

 Buck 模式的PWM波形

 在模型里完成仿真并生成代码在实际的硬件上验证:

硬件发波机制实现:

添加了缓启动,输入电压600V,目标输出电压650V也能很好的控制住

总结

通过仿真和实际的硬件验证了CLLC的Buck和Boost模式,工作正常,基本功能实现。但是还有很多需要优化的地方,在这里总结下。难点之一是硬件的发波,需要MCU的发波机制足够灵活才能更好的实现这种控制方式。

### CLLC谐振变换器仿真实现方法及工具 #### 1. MATLAB/Simulink作为主要仿真平台 MATLAB/Simulink实现CLLC谐振变换器仿真的理想选择。该软件提供了强大的建模和仿真能力,能够方便地构建复杂的电力电子系统模型并进行动态性能分析[^1]。 ```matlab % 创建一个新的Simulink模型文件 new_system('CLLC_Resonant_Converter') open_system('CLLC_Resonant_Converter') % 添加必要的模块库中的组件到新创建的模型中 add_block('simulink/Power Systems/Fundamental Blocks/Machines/AC7', 'CLLC_Resonant_Converter/Three-phase VSC'); ... ``` #### 2. 构建详细的电路拓扑结构 为了准确模拟CLLC谐振变换器的行为,需按照其具体设计参数精确搭建电路模型。这通常涉及到设置开关器件、电感、电容以及其他无源元件的具体数值,并确保它们之间的连接关系正确无误[^4]。 #### 3. 实施变频控制策略 对于CLLC谐振变换器而言,采用合适的调制技术至关重要。通过调整逆变侧的工作频率来改变传输功率大小是一种常见做法。可以在Simulink环境中利用内置函数或自定义算法完成此操作[^2]。 ```matlab function freq = adjust_frequency(error_signal, Kp, Ki) % PID控制器用于调节输出电压误差 static integral_error = 0; proportional_term = error_signal * Kp; integral_error = integral_error + error_signal; integral_term = integral_error * Ki; freq = base_freq + (proportional_term + integral_term); end ``` #### 4. 输出电压闭环控制系统的设计 为了提高系统的稳定性和响应速度,可以引入反馈环节形成完整的闭合回路。这样不仅有助于保持期望的直流母线电压水平,还能有效降低输出端可能出现的大规模波动现象。 #### 5. 自动生成嵌入式代码部署至目标硬件 当确认所建立的虚拟原型满足预期指标之后,则可通过MathWorks提供的HDL Coder等插件来自动生成适用于特定微处理器单元(MCU)或其他FPGA设备上的固件程序片段。随后将其下载烧写进实物板卡当中开展进一步测试评估活动[^5]。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡洛斯伊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值