\
2015年全国大学生电子设计竞赛
双向DC-DC变换器(A题)
2015年8月15日
摘 要
本设计主要由双向DC-DC变换电路、测控显示电路、辅助电源三部分构成,其中双向DC-DC变换电路降压部分采用XL4016开关降压型DC-DC转换芯片,最高转换效率可达93%,升压部分采用XL6019开关型升压/降压芯片,具有低纹波,输入范围广,转换效率高的特点。恒流部分采用PWM控制原理,形成一个闭环回路,控制电流恒定,恒压部分完全由硬件控制,单片机辅助控制的方式。以上部分确保系统满足题目要求,实现恒流充电,恒压放电,过压保护功能,并且有着较高的转换效率。
在本次设计中恒压部分完全有硬件控制,硬件自身形成一个闭环控制回路,对电压进行调节使其恒定题目要求的精度范围。单片机通过光耦电路的工作与停止,恒流部分由PWM调节占空比,使其恒流。
关键字 电池充放电 升压降压 XL4016 XL6019 STM32
目 录
一、系统方案 1
1、双向DC-DC变换电路的论证与选择 1
2、测量控制方案和辅助电源的论证与选择 1
3、 控制方法的论证与选择 1
二、系统理论分析与计算 2
三、电路与程序设计 3
1、电路的设计 3
(1)系统总体框图 3
2、程序的设计 5
(1)程序功能描述与设计思路 5
(2)程序流程图 6
3、程序流程图 7
四、测试仪器与数据分析 7
附录1:电路原理图 9
附录2:源程序 10
双向DC-DC变换器(A题)
【本科组】
一、系统方案
本设计主要由双向DC-DC变换电路、测控显示电路、辅助电源三部分构成,其中双向DC-DC变换电路降压部分采用XL4016开关降压型DC-DC转换芯片,最高转换效率可达93%,升压部分采用XL6019开关型升压/降压芯片,具有低纹波,输入范围广,转换效率高的特点。恒流部分采用PWM控制原理,形成一个闭环回路,控制电流恒定,恒压部分完全由硬件控制,单片机辅助控制的方式。以上部分确保系统满足题目要求,实现恒流充电,恒压放电,过压保护功能,并且有着较高的转换效率。
1、双向DC-DC变换电路的论证与选择
方案1:由降压斩波变换电路(即Buck变换电路)和升压斩波变换电路(即Boost电路)组成双向DC-DC变换电路,分别各使用一个全控型器件VT(IGBT或MOSFET),对输入直流电源进行斩波控制通过调整全控型器件VT的控制信号占空比来调整输出电压。
方案2:采用XL4016开关型降压芯片和XL6019开关型升压/降压芯片构成升压、降压电路具有低纹波,内助功率MOS,具有较高的输入电压范围,内置过电流保护功能与EN引脚逻辑电平关断功能。
综合以上两种方案,考虑到时间的限制,选择了比较容易实现的方案2。
2、测量控制方案和辅助电源的论证与选择
由于瑞萨单片机开发套件数量有限,所以我们选择了一款相对便宜,速度快,性价比较高的STM32103V8T6作为控制器,显示部分由于收到题目对作品重量的要求,选择了质量轻,分辨率较高的0.96寸OLED屏幕显示。由于市场上所售开关电源模块的,纹波大的因素,所以辅助电源选择了一个较小的9V变压器,进行,整流滤波作为辅助电源。
3、 控制方法的论证与选择
方案1:采用PWM调节占空比的方法控制降压芯片的控制端,达到控制恒流和控制恒压的目的,采用PWM调节软件较为复杂,而且PWM调节较为缓慢,软件控制难度大。
方案2:恒压部分完全有硬件控制,硬件自身形成一个闭环控制回路,对电压进行调节使其恒定题目要求的精度范围。单片机通过光耦电路的工作与停止,恒流部分由PWM调节占空比,使其恒流。
综合以上两种方案,选择软件较为简单,硬件较为复杂的方案2。
二、系统理论分析与计算
1、充电电路设计分析
充电电路也就是一个降压电路,并且要求是一个恒流源,本次竞赛选取XL4016为核心降压芯片,其结构如图所示。
管脚定义如下典型应用电路如下
2.2 放电电路设计分析
XL6019是一款专为升压、升降压设计的单片集成电路,可工作在DC5V到40V输入电压范围,低纹波,内置功率MOS。XL6019内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM控制环路可以调节占空比从0~90%之间线性变化。内置过电流保护功能与EN脚逻辑电平关断功能。典型应用电路如下
2.1 充电电路设计分析
充电电路也就是一个降压电路,并且要求是一个恒流源,本次竞赛选取XL4016为核心降压芯片,其结构如图所示。
XL4016降压模块电路图如下所示
2.2 放电电路设计分析
XL6019是一款专为升压、升降压设计的单片集成电路,可工作在DC5V到40V输入电压范围,低纹波,内置功率MOS。XL6019内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM控制环路可以调节占空比从0~90%之间线性变化。内置过电流保护功
能与EN脚逻辑电平关断功能。典型应用电路如下
三、电路与程序设计
1、电路的设计
(1)系统总体框图
辅助电源
测控电路
直流稳压电源
双向DC-DC变换电路
电池组
(图3-1)
系统总体框图如图3-1所示,主要由辅助电源、测控电路、双向DC-DC变换电路等组成,辅助电源为测控电路供电,测控电路用于检测和控制双向DC-DC电路,以及电压电流的采集与控制。
(2) 降压电路原理
降压电路采用XL4016型8A,180KHz,40V,PWM降压型直流对直流转换器,最大效率可达96%。输出1.25V到36V可调,8A恒定输出电流能力。
如下图3-2所示为XL4016降压部分电路图,通过对FB引脚的控制,可有效的实现电流及电压的控制。该转换器外围器件少,低纹波,调节简单,内置短路保护功能。PWM占空比0%到100%连续可调。
(图3-2)
(3)升压电路原理图
升压电路使用XL6019型220KHz、60V、5A开关电流升压/降压型DC-DC转换器。可工作在DC5V到40V输入电压范围,低纹波,内置功率MOS、XL6019内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM控制环路可以调节占空比从0~90%之间线性变化。内置过流保护功能与EN脚逻辑电平关断功能。使用单片机控制EN引脚实现对升压模块开启与关断。
(图3-3)
(4) 测控电路电路原理图
测控电路如图3-4所示,通过电阻分压滤波后,使用单片机ADC采样,得到输入、输出电压,以及电流和2.5V基准电压,使用TL431产生2.5V基准电压用于矫正。恒压恒流控制使用单片机输出PWM,经滤波后使用LM358跟随,增强驱动能力,同时可减小输入控制端的能量消耗。使用比较器比较设定值与输出值,再控制芯片的工作状态。
(图3-4)电源
为减小高频干扰,辅助电源使用220V到9V普通变压器,经整流滤波后使用7812和HT7333分别输出12V和3.3V电压为LM358和单片机小系统板供电。
2、程序的设计
(1)程序功能描述与设计思路
1、程序功能描述
根据题目要求,软件部分实现测量显示,切换模式,充电过压保护,控制调节系统。
2、 程序设计思路
(1)、首先进行,按键,OLED各个内设初始化;
(2)、进行按键扫描;
(3)、判断模式;
(4)、进行PWM控制电流,让输出为横流模式;
(5)、扫描按键;
(6)进行打开光耦,让升压模块工作;
3程序流程图
电池
降压
升压
1、系统总框图
Vin/Vout
2、程序流程图
四、测试仪器与数据分析
4.1 测试仪器
5位半数字万用表,4位半万用表
4.2测试数据与分析
(1)U2=30V条件下对电池恒流充电,电流I1在1-2A变化过程中测量值如下表:
按按键次数
1
2
3
4
5
6
7
8
9
10
I1测量值(A)
1
0.99
1.01
1.06
1.07
1.10
1.12
1.14
1.16
1.17
,
(2)设定I1=2A,使U2在24-36V范围内变化时,测量记录I1的值。数据如下:
U2(V)
24
25
26
27
28
29
30
31
32
36
I1(A)
1.99
1.98
1.98
1.99
1.97
1.98
1.99
1.96
2.01
1.99
(3)设定I1=2A,在U2=30V,测量U1,I2,计算效率。数据如下:
当I1=2A,U2=30V时,测得I2=1.47A,U1=20V,由此计算效率为97%。
(4)放电模式下,保持U2=30V,计算效率,数据如下:
当U2=30V时,I2=1.02A,U1=18.9V,I1=0.63A,由此计算效率为98%。
(5)使US在32-38V范围内变化时U2记录如下:
Us/V
32
33
33
34
35
36
37
U2/V
29.7
29.8
29.8
29.9
29.8
30.3
30.4
以上数据可以说明,本次设计的双向DCDC变换器,各项指标均在题设范围内,是符合要求的。
附录1:电路原理图
附录2:源程序
#include "adc.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
#include "key.h"
#include "exti.h"
#include "wdg.h"
#include "myiic.h"
#include "timer.h"
Int main()
{
void Adc_Init(void)
{
RCC->APB2ENR|=1<<2;
GPIOA->CRL&=0XFFFF0000;
//10/11
RCC->APB2ENR|=1<<9;
RCC->APB2RSTR|=1<<9;
RCC->APB2RSTR&=~(1<<9);
RCC->CFGR&=~(3<<14);
RCC->CFGR|=2<<14;
ADC1->CR1&=0XF0FFFF;
ADC1->CR1|=0<<16;
ADC1->CR1&=~(1<<8);
ADC1->CR2&=~(1<<1);
ADC1->CR2&=~(7<<17);
ADC1->CR2|=7<<17;
ADC1->CR2|=1<<20;
ADC1->SQR1|=0<<20;
ADC1->SMPR2&=~(7<<3);
ADC1->SMPR2|=7<<3;
ADC1->CR2|=1<<0;
ADC1->CR2|=1<<3;
while(ADC1->CR2&1<<3);
ADC1->CR2|=1<<2;
while(ADC1->CR2&1<<2);
}
u16 Get_Adc(u8 ch)
{
ADC1->SQR3&=0XFFFFFFE0;
ADC1->SQR3|=ch;
ADC1->CR2|=1<<22;
while(!(ADC1->SR&1<<1));/
return ADC1->DR;
}
u16 Get_Adc_Average(u8 ch,u8 times)
{
u32 temp_val=0;
u8 t;
for(t=0;t
展开阅读全文
淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。