简介:一套完整的6.6kW双向DAB CLLC变换器设计资料,主要面向电力电子硬件工程师、DSP固件开发者以及相关专业学生,可用于新能源汽车充电器、储能系统和电力系统的双向功率变换设计参考。压缩包共16个文件,大小约1.51MB,文件类型包括8张JPG图片(用于查看原理图截图和PCB布局)、6个TXT文档(设计说明与算法解析)、1个HTML页面及1个DOC文档,全面覆盖原理图与PCB设计文件、DSP控制源码、仿真模型、计算资料和测试报告。资源以CLLC谐振和双有源桥(DAB)为技术主线,从主电路拓扑、谐振参数计算到数字控制逻辑均有详细说明,有助于快速理解宽负载范围内的双向AC/DC与DC/AC转换原理,并借助仿真模型和实测报告验证设计可行性。已有314人学习下载,特别适合需要从零搭建或优化6.6kW功率等级DAB CLLC变换器的工程师,作为一套完整的参考案例。
1. 6.6kW双向DAB CLLC变换器资料:从原理图到DSP源码的完整工程闭环
6.6kW双向DAB CLLC变换器资料包,是我最近拆过的完整度最高的一套工程包:原理图、PCB、DSP程序源码、仿真模型、设计计算书、测试报告六类文件全部齐整。它不是一篇纯拓扑分析的论文,而是一条从设计公式到实物验证的闭环。做车载双向充电机、储能双向DC-DC、高功率密度备电电源的人,拿这套资料当设计基板,能省掉自己从零推公式、搭仿真、写程序、调板子的大量试错。下面按我实际拆解的顺序,把每个文件怎么用、坑在哪讲透。
2. 双有源桥CLLC设计计算与仿真模型:先把参数钉死再谈控制
2.1 CLLC和LLC的区别:双向能力从哪来
CLLC可以看成“对偶的LLC”:一次侧和二次侧各有一组LC谐振元件(Lr1/Cr1和Lr2/Cr2,加上变压器的励磁电感Lm)。普通LLC的副边是二极管整流,能量只能单向流;CLLC把副边整流二极管换成全桥同步开关管,两个方向的增益特性做成对称或准对称,功率就能双向传。这个拓扑的本质是一台“两头都能激发”的谐振变换器:正向时一次侧四个管子做逆变,二次侧四个管子按同步整流时序工作;反向时把副边当输入,原边当输出,走完全对称的流程。
这套6.6kW资料包里的计算书,就是把拓扑表达成一组可实施的参数:变压器匝比、一次侧Lr1/Cr1、二次侧Lr2/Cr2、励磁电感Lm、谐振频率,以及对应的增益和频率工作范围。这几个数字直接决定了后级DSP程序里PFM的起止频率、移相限幅、软启动斜率和保护阈值。我一般建议先读透计算书,再碰仿真和代码。顺序反了会绕圈,很多人拿着源码调了半天,结果问题出在谐振参数本身。
2.2 计算资料里最先读的四组数
打开计算资料,先不要看长篇推导过程,直接找下面这四组数,位置通常集中在变压器设计和谐振参数两节:
| 参数 | 在资料里的位置 | 影响什么 |
|---|---|---|
| 变压器匝比 n(Np:Ns) | 计算书-变压器设计 | 输出电压覆盖范围、增益曲线基准 |
| 谐振电感 Lr1 / Lr2 | 计算书-谐振参数 | 谐振频率、最大增益、ZVS条件 |
| 谐振电容 Cr1 / Cr2 | 计算书-谐振参数 | 低频增益、电容耐压选择 |
| 励磁电感 Lm | 计算书-变压器磁设计 | ZVS范围、空载损耗、最高频率限制 |
匝比的经验是先按输入输出电压的中间值估算,再结合增益曲线拉出极限母线电压下的最大和最小增益,确认整个电压范围都落在可控区间。谐振参数Lr和Cr成对出现,核心关系就是 fr = 1/(2π√(Lr·Cr)),这个fr应该落在计算书记录的预期开关频率范围内。Lm的大小直接决定轻载下能不能进入ZVS:Lm调小ZVS容易但励磁损耗变大,调大空载损耗小但ZVS范围变窄。资料包里计算书会给一个折中推荐值,后面测试报告里有对应效率曲线可以佐证。
2.3 仿真模型落地:把计算参数填进谐振腔跑开环
仿真模型打开后,先别急着看闭环波形。我通常第一件事是把计算书里Lr1、Cr1、Lr2、Cr2、Lm、变压器变比六个参数填进模型的一次侧和二次侧,然后跑一次开环扫描,步骤如下:
- 断开闭环反馈,PFM信号改用外部扫频源或模型自带的VCO扫频模块
- 设定扫频范围,一般从0.5倍fr扫到2倍fr,覆盖容性和感性两个区间
- 负载设满载和四分之一载两个典型点,分别记录增益曲线
- 观察原边电流波形,判断在哪个频率点电流刚好和驱动同相(ZVS边界)
这里有个容易忽略的点:计算书里如果写的是“Lr包含变压器漏感”的等效值,那仿真模型里的变压器就不要再额外加漏感,否则谐振腔等效参数被重复计算,扫出来的增益曲线会和计算书对不上。我拆过的资料里,好几套都是这个细节没统一,导致仿真结果和实测差了好几个点。
2.4 仿真和计算书互相校验
把仿真扫频得到的谐振频率fr与计算书中的目标fr对比,偏差一般控制在5%以内。再对比满载增益和最高/最低母线电压点的增益,确认曲线斜率方向正确。做完这一步,后面读DSP源码时你对PFM的起止频率范围心里有底,改移相限幅也知道往哪个方向给余量。仿真模型里驱动信号的死区设置也要和计算书一致,这部分会影响后续效率测试的对比基准。
3. DSP程序源码导读:移相角、采样与保护都在哪几个文件里
3.1 源码目录:三块结构一次摸清
资料包里的DSP源码是典型的电源控制工程结构,具体芯片型号以包内头文件为准,不同型号寄存器名会有差异,但控制框架是通用的。打开工程先把文件分三组看:
- 外设初始化:PWM、ADC、GPIO、定时器、通信接口的初始化文件
- 控制环路:中断里执行的电压环、功率环、PFM频率计算与移相角管理
- 保护与状态机:过压过流/过温处理、软启动状态机、使能与故障复位逻辑
关键控制都在中断服务函数里,主循环只处理慢速任务(通信、显示、故障标志),这是电源程序的主流结构,保证控制周期稳定不被打断。如果发现某个功能写在主循环的while里,说明这套程序的分层有问题,调试时要格外小心。
3.2 EPWM移相角生成:功率环到PWM的换算链
移相控制是DAB CLLC的常用做法之一。源码里通常用两路EPWM模块分别驱动一次侧和二次侧全桥,通过设置两路PWM的相位寄存器差值来调整原副边驱动信号的相位差,从而控制功率方向和大小。
下面这段代码是从资料包里提取出来的移相初始化框架,主要看它的分层思路:
// EPWM1:一次侧全桥,作为相位基准 EPwm1Regs.TBPRD = periodCount; // 周期计数,由开关频率换算 EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; // 周期归零时输出置高 EPwm1Regs.AQCTLA.bit.PRD = AQ_CLEAR; // 到达周期值时输出置低 EPwm1Regs.DBCTL.bit.IN_MODE = DB_WM; // 死区模式:上升沿延迟 EPwm1Regs.DBRED.bit.DBRED = deadBandCount; // 上升沿死区计数(死区时间/时钟周期) // EPWM2:二次侧全桥,相位可在运行中动态调整 EPwm2Regs.TBPRD = periodCount; EPwm2Regs.TBPHS.bit.TBPHS = phaseShiftCount; // 初始移相角,单位是TB时钟周期 EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // 由EPWM1的同步信号触发相位同步逻辑说明:EPWM1作为主桥基准源,每个周期发出同步信号,EPWM2收到同步信号后把自己的相位计数器与主桥对齐,再通过TBPHS这个相位寄存器产生固定偏移。两路PWM驱动信号的错相,就是原副边全桥的移相角。程序里的移相角管理只需要按方向调整TBPHS,运行中每个控制周期写一次,不需要复位同步链。
参数说明:periodCount由目标开关频率除以EPWM时钟频率得到;deadBandCount是死区时间除以EPWM时钟周期;phaseShiftCount是移相角换算到计数单位。这三个值都必须和电路实际设计保持一致,特别是死区,改错了轻则效率变差,重则桥臂直通炸管。刚拿到资料包时,先把phaseShiftCount对应的角度换算关系找出来,通常源码注释里会写“每计数对应多少度”;如果没写,用整个周期计数值对应360度推算。
3.3 软启动斜坡:程序里必须有的参数
CLLC谐振变换器从零功率起机时,如果直接给目标移相角,一次侧全桥会在谐振腔没建立起稳态电压的情况下承受很大的冲击电流。常见做法是软启动状态机:从最小移相角开始,每隔若干控制周期叠加一个步进,让功率缓慢爬升。
#define SOFT_START_STEP 5 // 移相角增量,单位0.1度 #define SOFT_START_INT 20 // 每隔20个控制周期加一次步进 #define SOFT_START_LIMIT 800 // 软启动限幅,单位0.1度(80.0度) void SoftStart_Handler(void) { if (g_ctrl_state == CTRL_SOFT_START) { g_phase_target += SOFT_START_STEP; if (g_phase_target >= SOFT_START_LIMIT) { // 到达目标移相角 g_phase_target = SOFT_START_LIMIT; g_ctrl_state = CTRL_RUN; // 切入正常运行 } } }逻辑说明:这段代码的核心是状态机里对目标移相角的斜坡限速。SOFT_START_STEP是每次步进量,SOFT_START_INT是步进间隔。按上面的宏,从0到80度共需要160次步进,控制周期设为10us、每隔20个周期加一次,软启动总时长约32ms。实际需要按负载电容充电时间和冲击电流上限反推这两个宏。
参数说明:SOFT_START_STEP越大起机越快,但冲击电流越大;SOFT_START_INT越大斜坡越平缓,但输出电压建立变慢。我看到不少“上电炸整流管”的案例,都是这两个值给太大,或者有人为了省事直接把软启动整个绕过。
3.4 ADC采样与保护:过流过压如何进中断
电源程序里保护优先级绝对不能放在主循环等着轮询。常见做法是硬件比较器直接触发故障信号拉低PWM输出,DSP程序里同时使能对应的TZ中断,在中断里做软件锁存和故障状态记录。ADC采样则配合PWM同步触发,把采样窗口放在开关周期中点,避开MOSFET导通和关断瞬间的电压电流噪声。
// ADC触发:由EPWM1的周期事件启动一次采样,保证采样点对齐开关周期 AdcRegs.INTSEL1N2.bit.EPWM1_SOC = ADC_SOC_TRIGGER; // EPWM1触发ADC启动 AdcRegs.ADCSOC0CTL.bit.CHSEL = ADC_CH_A_ISENSE; // 采样通道:原边电流 AdcRegs.ADCSOC0CTL.bit.ACQPS = 15; // 采样窗口,值越大抗噪声越强 // 过流保护:比较器输出直接接TZ1,硬件级快速封锁PWM // 实际引脚映射和比较器阈值以源码头文件及原理图为准逻辑说明:ADC由PWM同步触发,省掉软件轮询的对齐误差。采样窗口ACQPS越大,采样电容充电时间越长,抗噪声越强,但信号跟踪延迟也越大,典型值在10到20之间,具体看信号源阻抗。TZ接到比较器输出后,一旦电流超过硬件阈值,PWM在下一个时钟周期就被强制拉低,不经过CPU,属于硬件级快速保护;程序里的TZ中断只负责记录故障标志和关闭使能。
调试时注意:实际过流阈值在源码里通常以AD值或电压形式给出,要和原理图上的采样电阻、分压电阻配合换算。资料包测试报告里的保护动作点就是改程序时的校对基准。
4. 原理图PCB与测试报告对照:从图纸上反推设计意图
4.1 原理图分区阅读:先找功率级骨架
拿到原理图不要从头到尾顺序看,先按功能分区:输入EMI与预充、一次侧全桥、谐振腔、变压器、二次侧全桥、输出滤波与采样、辅助电源、控制与驱动。6.6kW这个功率等级,一次侧全桥一般由两路半桥组合而成,器件选型上会考虑SiC或者高性能MOSFET;谐振腔的Lr和Cr是独立发热元件,原理图上会标注材质、耐压和额定电流。这些参数是你后续改板时不能想当然替换的边界。
谐振电容的耐压选择是原理图里最容易被忽略的点:谐振电容上的电压是正弦波叠加直流偏置,峰值电压可能远超母线电压。把计算书里的电容应力数据和原理图上标注的额定电压做对比,余量低于1.5倍就要警惕。资料包里如果出现电容选型偏紧的情况,测试报告里的温升数据通常会暴露出来,注意看电容位置的红外温升记录。
4.2 PCB布局:四件事决定了调试体验
PCB的难点集中在电流采样走线、驱动回路、谐振腔布线和功率地信号地划分。资料包提供的PCB文件是完整版的Layout,配合测试报告里的效率数据可以反推布局是否合理:
- 电流采样走线:采样电阻要用差分走线直接接到电阻两端做到开尔文连接,走线不能经过大电流区域,否则差模干扰会让电流信号带上开关毛刺,最终在DSP程序里表现为随机误过流。
- 驱动回路:栅极驱动芯片到MOSFET的G-S回路越短越好,源极做开尔文连接,避免功率回路的大di/dt耦合进栅极。很多vgs振铃翻车案例不是驱动芯片的问题,而是驱动回路面积太大。
- 谐振器件摆放:Lr挨着变压器放置,走线短而宽,同时保留散热间距。如果Lr和变压器集成在同一个磁芯上,要看清楚是集成式设计还是分立设计,这会直接影响PCB开模和磁件采购。
- 功率地与信号地:DSP控制部分的模拟地要在采样电阻附近单点接入功率地,避免数字噪声灌进模拟采样。
4.3 测试报告怎么读:效率、温升、波形三张图
测试报告里最值得花时间的是三部分:效率曲线、温升记录、开关波形。
| 测试项 | 关注什么 | 如果异常说明什么 |
|---|---|---|
| 效率曲线 | 额定点和轻载点效率是否达到预期 | 谐振参数偏了或死区设置不当 |
| 温升记录 | 变压器和谐振电感温度差 | 磁芯损耗偏大或散热设计不足 |
| 开关波形 | 一次侧Vds开通前是否已经反向续流 | ZVS是否实现,与计算书结论对照 |
把测试报告和计算书对照着看,能很快判断这套参数是不是“设计值和实际值打架”。比如波形里Vds下降沿没有贴着开通信号,说明死区时间匹配不足;低频满载时效率掉得厉害,说明Lr和Cr的Q值没落在最优区间。这些信息和源码里的死区寄存器值一核对,就能定位是程序问题还是硬件问题。新上手的人容易忽略的一点是:测试报告的测试条件(输入电压、环境温度、风速)决定了结论的有效范围,脱离条件谈效率没有意义。
5. DAB CLLC调试避坑:五条实测踩坑记录
5.1 启动瞬间冲击电流:软启动斜坡不是可选项
现象:接上母线上电瞬间,一次侧电流尖峰远超稳态值数倍,严重时直接把输入保险烧掉。
原因:开机瞬间谐振电容电压为零,如果直接按稳态移相角运行,谐振腔相当于短路,冲击电流全部由开关管承受。程序里如果没有软启动或者斜坡太陡,第一轮开关周期就会触发过流。
解决:确认源码里软启动状态机存在且步进合理。把启动波形抓下来看,冲击峰值应控制在稳态值的1.2倍以内;如果超出,把SOFT_START_STEP调小或者加长步进间隔。
注意:软启动总时长不是越长越安全。太长会导致轻载下输出电压建立缓慢,反复启动容易触发欠压保护,整套系统表现为“起不来”。
5.2 死区时间设错:能效和炸管只有一线之隔
现象:满载效率比预期低三五个百分点,或者某个桥臂MOSFET长时间满载后温升异常;极端情况下驱动芯片报直通故障。
原因:死区设得太大时,原副边驱动信号之间产生额外占空比损失,谐振电流相位偏移,ZVS条件被破坏,开关损耗大幅上升;死区设得太小时,上下管同时导通的风险直线上升,瞬态直通直接炸管。
解决:先按器件Qg和栅极驱动电流估算死区下限,常见做法是对体二极管反向恢复电荷时间留2到3倍余量,再拿测试波形观察Vds切换时的体二极管导通时间。资料包源码里的DBRED和DBFED寄存器值对应死区计数,按“死区时间=计数/EPWM时钟频率”回算实际死区,与实测波形对比。
5.3 轻载环流偏大:不是功率器件的问题
现象:四分之一负载点效率明显偏低,原边电流有效值远高于负载折算下来的平均电流。
原因:CLLC在轻载下,谐振腔环流没有随负载等比减小。如果频率没有往远离谐振点的方向偏移,环流损耗占比会急剧上升,表现为轻载效率曲线塌陷。
解决:检查PFM控制的最低频率限制和移相限幅在轻载时是否正常生效。如果源码里有间歇模式(Burst Mode),确认它的使能条件和阈值是否匹配硬件设计。调整fmin参数可以改善轻载效率,但注意不要超过变压器磁芯和死区余量的上限。
5.4 电流采样毛刺误触发保护:先怀疑采样网络
现象:程序出现随机误过流故障,重新上电后又能正常跑,偶尔在带载切入时触发。
原因:电流采样信号里混入了开关节点的dv/dt耦合尖峰。硬件比较器阈值设在尖峰附近时,噪声就会误触发TZ保护。采样电阻离功率回路太近、差分走线不对称、地平面切割都会放大这个问题。
解决:用示波器在DSP的ADC引脚处测量采样信号,确认毛刺幅度和宽度。常见做法是在采样调理电路里加RC滤波,或调大ADC的ACQPS采样窗口,把毛刺滤在硬件层面。如果毛刺来源于地平面噪声,优先优化采样电阻的近端接地,而不是一味加大滤波时间常数——滤波太深会把真实过流信号也钝化掉。
5.5 变压器偏磁饱和:直流分量最隐蔽
现象:满载运行一段时间后变压器温度异常升高,原边电流波形正负半周不对称,测试报告里该点效率低于预期。
原因:原副边全桥的PWM占空比不完全对称,或者MOSFET导通压降不一致,导致变压器励磁电流里积累直流偏磁分量。PFM模式下频率抖动和死区不对称也会加剧偏磁,最终推动磁芯进入饱和区。
解决:检查原理图谐振腔里是否有隔直电容。如果没有,源码里需要带占空比对称修正或正负半周电流均衡功能。直流分量检测可以通过采样电流波形在一个完整周期内的平均值来判断,平均值越接近零越健康。资料包源码里如果已经有偏磁抑制逻辑,注意它的启动时间和响应速度,调得太慢同样会保护不到位。
6. 拿到资料包后的三小时验证法:别急着抄板子
这套资料包再完整,也是别人的设计。直接抄板子往往会被一个隐藏的测试条件卡住:你的输入电压范围、负载特性、散热方式和原设计不完全一致。我的做法是固定三小时评估流程,先验证再动手。
第一小时:计算书与仿真模型交叉验证。把计算书里Lr1、Cr1、Lr2、Cr2、Lm、变比六个参数填进仿真模型,跑一次开环扫频,记录fr和满载增益。如果仿真fr和计算书fr偏差超过5%,说明两个文件里至少有一个的参数口径跟另外一份不一致,这时先停下来找口径差异,不要继续往下看代码。这一步通常能筛掉一半“看起来完整但内部对不上”的资料。
第二小时:保护阈值与你的系统边界对齐。把源码里的过压、过流、过温阈值全部提取出来,换算回电压电流实际值,和你的输入最高电压、输出短路电流、最大负载功率做对比。特别注意原边过流阈值和隔直电容的电压应力,这两个是CLLC最容易在系统级出问题的点。如果阈值和你的需求差太多,把这几个宏定义记下来,它们是最优先修改的地方。
第三小时:采样网络与驱动电路的硬件核对。在PCB上把电流采样电阻、分压电阻、驱动电阻的阻值和封装全部提取成一张清单,和源码里对应的换算系数逐一核对。CLLC调试中有一类最常见的“软件背锅”案例:程序写法完全正确,但因为采样电阻换过阻值、分压比变了,导致保护阈值整体偏移。提前把这份清单做好,后面上电调机会少走很多弯路。
三小时走完后,再决定是直接照板复制、小改参数,还是只参考拓扑和控制逻辑重新布局。我自己的习惯是:无论资料多完整,上电前都用这套流程过一遍。有一次我跳过第二小时直接改板子,结果某颗采样电阻的阻值和源码换算系数差了近一倍,上电后误过流保护乱跳,查了两个晚上才发现是阈值换算问题。从那以后我拿到任何电源类资料,都强制先走完这三步再动手。希望帮到你。
本文还有配套的精品资源,点击获取