他们逼我做卧底

2021 Question C-Three-port DC-DC converter + waveform adjustment is not in line

 
Overview
### 一.前言

本设计实现了一个三端口DC-DC变换器,该变换器由两个双向DCDC变换器(分别称为主、副DCDC)、级联辅助转换器、锂电池、单片机和一系列电压/电流传感器组成。主DCDC和转换器的输入端在光伏电池输入端口并联,辅助转换器从模拟光伏电池转换12V和5V直流稳压为单片机和驱动芯片供电,锂电池接入副DCDC,主、副DCDC输出端并联入输出端口。单片机控制副DCDC,利用锂电池电压的相对稳定性,形成输出电压闭环回路,在输出端口维持30V的恒压;同时,单片机控制主DCDC,利用副DCDC产生的输出恒压,精确控制Ui,对其进行扰动以追踪最大功率点。模拟光伏电池为整个电路供电,当其最大输出功率不足以维持输出端口为30V时,电池组将同时为负载供电(模式II),此时IB≤ 0;当模拟光伏电池足以供电时,它还会给电池组充电(模式I),此时IB≥0。

### 二.项目分析

设计并制作三端口 DC-DC 变换器,其结构框图如图 1 所示。变换器有两种工作模式:模式 I,模拟光伏电池向负载供电的同时为电池组充电(IB≥0);模式 II,模拟光伏电池和电池组同时为负载供电(IB≤ 0)。根据模拟光照(US 的 大小)和负载情况,变换器可以工作在模式 I或模式 II,并可实现工作模式的自动转换,在各种情况下均应保证输出电压 UO稳定在 30V。

1. 基本要求

(1)US=50V、IO=1.2A 条件下,变换器工作在模式 I,UO=30V±0.1V,IB≥0.1A。

(2)IO=1.2A、US由 45V 增加至 55V ,电压调整率 SU ≤ 0.5% 。

(3)US=50V、IO由 1.2A 减小至 0.6A,负载调整率 SI ≤ 0.5%。

(4)US=50V、IO=1.2A 条件下,变换器效率≥90%。

2. 发挥部分

(1)IO=1.2A、US 由 55V 减小至 25V,要求:变换器能够从模式 I 自动转换到模式 II;在 US全范围实现最大功率点跟踪,偏差 ≤0.1V;电压调整率 SU ≤0.1%。

(2)US=35V、 IO=1.2A 条件下,变换器工作在模式 II,UO=30V±0.1V,效率≥95%。

(3)US=35V、 IO由 1.2A 减小至 0.6A,变换器能够从模式 II 自动转换到模式 I,负载调整率 SI ≤ 0.1%。

(4)其他。

3.说明

(1)图 1 中直流稳压电源、二极管 D、电阻 RS 构成模拟光伏电池。直流稳压电源建议使用输出电压不小于 60V(可两路串联获得),额定电流不小于 3A 的成品电源,使用过程中应注意安全、避免触电伤害,测试时直流稳压电源由赛区提供;二极管 D、电阻 RS的选用应注意电流、功率等指标,必要时加装散热装置,注意避免烫伤。

(2)图 1 中电池组由 4 节容量 2000~3000mAh 的 18650 型锂离子电池串联组成,要求采用自带管理功能(或自带保护板)的电池。电池组不需封装在作品内,测试时自行携带至测试场地,测试过程中不允许更换电池。

(3)参赛队应认真阅读所用电池的技术资料,能够正确估算或检测电池的荷电状态,测试前自行合理设定电池的初始状态,保证测试过程中电池能正常充、放电。

(4)制作时应合理设置测试点,具体可参考下图。

![image.png]
5.题目分析
拿到这个题目一开始,我们对这个系统得整体框架其实是模糊的。通过对这个题目要求进行分析,我们最终明确了这道题目的方案,先通过电阻分压将输入的电压降低,经过DC-DC升压后,调节输入输出符合题目要求比例,同时通过另一块双向DC-DC降压后为电池充电并稳定负载电压符合题目要求。当输入电压降低至一定值时,由于boost输入跟随为最大功率点无法为负载提供30v电压,此时通过电池后双向DC-DC电路调节并稳定负载电压至30v。该系统的模式切换由硬件闭环控制无需软件过多干涉。

![image.png]
### 三.硬件设计

1.系统的主功率电路为两个双向DC-DC变换器电路,如图所示。模式一下直流源输入后,经电阻分压作为一个boost的输入,调节PWM使得此板输入跟踪最大功率电且为电阻与电池同时供电。并联的buck电路降压实现对电池充电及对负载电压的调整。模式下二下电池经boost产生稳定30v为电阻供电,通过另一块boost控制保证Ui最大功率跟踪

![image.png]
![image.png]
2.输出电压及电流检测电路如图所示。电压检测选取电阻分压后经过运放制作电压跟随器达到相对稳定后进行数字滤波。电流采样选取INA282芯片放大信号,同时在输出端设计RC滤波器及电压跟随器稳压。

![image.png]
3.辅助电源我们采用tps5430和tps54360进行供电。由于题目要求所有电均从U1处取得,所以我们先采用高耐压芯片TPS5430进行取电并使输出稳定在12V,为驱动芯片IR2104和TPS54360供电。TPS54360将12V输入稳定在5V为单片机供电。

![image.png]
![image.png]
![image.png]
![image.png]
### 四.软件设计

1.控制程序的原理如图所示,分为两个相对独立的闭环控制,主DCDC所在的主回路由MPPT根据功率检测值给出Ui参考值,然后通过一个PID反馈回路保证主DCDC的输入端口电压,即Ui跟随该参考值。副DCDC则保持恒定的30V输出参考电压,同样通过一个PID反馈回路控制输出值Uo稳定在30V。

![image.png]
2.最大功率跟随(MPPT)程序的设计

本程序采用扰动观察法(爬山法)。当输出电压稳定在30V后,MPPT轻微改变Ui的参考值,随后Ui将跟随该值,待其稳定后,MPPT根据功率变化,如果功率增大,则继续向该方向改变Ui参考值,否则回退,并以更小的程度反向改变Ui。如此反复,当输入电压变化时,功率也会较大变化,从而再次放大扰动程度,实现长期跟随。

部分程序如下,所有代码已打包作为附件

void pid_control(double ui, double uo) //输入采样电压,改变输出的pwm波占空比

{

pidm.err_sum -= pidm.err[pid_cnt];

pidm.err[pid_cnt] = pidm.ExpectedVolt - ui;

pidm.err_sum += pidm.err[pid_cnt];

if((uo-30.0)<0.1 || (30.0-uo)<0.1){

pidm.OutCycle += (pidm.Kp*pidm.err[pid_cnt]+ pidm.Ki*pidm.err_sum);

}

if(pidm.OutCycle > 0.95){

pidm.OutCycle = 0.95;

}

if(pidm.OutCycle < 0.3){

pidm.OutCycle = 0.3;

}

duty_set(3, 1, pidm.OutCycle);

pids.err_sum -= pids.err[pid_cnt];

pids.err[pid_cnt] = pids.ExpectedVolt - uo;

pids.err_sum += pids.err[pid_cnt];

out_volt += pids.Kp*pids.err[pid_cnt]+ pids.Ki*pids.err_sum;

if(out_volt < 15){

out_volt = 15;

}

if(out_volt > 40){

out_volt = 40;

}

pids.OutCycle =BATTERY_VOLT/out_volt; //下管开通时间,与输出电压成正比

duty_set(3, 2, pids.OutCycle);

pid_cnt++;

if(pid_cnt == 10){

pid_cnt = 0;

}

}

### 五.实物展示

![image.png]
### 六.总结

这次电赛我们三人还是缺乏经验,遇到很多问题时候犹犹豫豫浪费了不少时间。好在最后也在规定的时间内完成时绝大部分题目要求,同时由于部分地方不够细致,导致我们最后一天发现其中一个测试点不符合题意,紧急调整拟合曲线。专业课上虽然也学到了一些开关电源相关知识,但实际应用中缺总能发现种种问题。从PCB设计,到选型,到实物制作于调试,每一步都有不少注意点。理论固然重要,但工科缺乏实践,确实与理论相距甚远。同时团队协作也保证了我们这次得以高效完成题目,这是我第一个开源的项目,旨在与喜爱电力电子的朋友们分享自己的制作经历与成果,以便共同成长。

b站展示视频链接如下

https://b23.tv/fNlqDza
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-20 06:49:42

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号