基于升降压电路的双向DC-DC变换电路之欧阳歌谷创编

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Buck-Booost电路的双向DC-
DC变换电路
欧阳歌谷(2021.02.01)
目录
1系统方案4
1.1 DC-DC双向变换器模块的论证与选择4
1.2 测控电路系统的论证与选择4
2 系统理论分析与计算4
2.1 双向Buck-BOOST主拓电路的分析4
2.2 电感电流连续工作原理和基本关系5
2.3 控制方法与参数计算6
3 电路与程序设计7
3.1 电路的设计7
3.1.1 系统总体框图7
3.1.2 给电池组充电Buck电路模块7
3.1.3 电池放电Boost升压模块8
3.1.4 测控模块电路原理图8
3.1.5 电源9
3.2 程序设计9
4 测试方案与测试结果15
4.1 测试方案15
4.2 测试条件与仪器15
4.3 测试结果及分析15
4.3.1 测试结果(数据)15
4.3.2 测试分析与结论16
摘要
双向DC/DC变换器(Bi-directional DC-DC Converter,BDC)是一种可在双象限运行的直流变换器,能够实现能量的双向传输。

随着开关电源技术的不断发展,双向DC/DC变换器已经大量应用到电动汽车、太阳能电池阵、不间断电源和分布式电站等领域,其作为DC/DC变换器的一种新的形式,势必会在开关电源领域上占据越来越重要的地位。

由于在需要使用双向DC/DC变换器的场合很大程度上减轻系统的体积重量及成本,所以具有重要研究价值。

既然题目要求是作用于可充电锂电池的双向的DC-DC变换器,肯定包括降压、升压、电压可调、恒流、等要求。

考虑到题目对效率的要求,我们选择降压Buck电路,升压Boost 电路,并用反馈电路和运放电路来实现电压可调和恒流等要求,通过一系列的测试和实验几大量的计算,基本上能完成题目的大部分要求。

关键词:双向DC/DC变换器;双向Buck-Boost变换器;效率;恒流稳压
1系统方案
本系统主要由DC-DC双向变换器模块、测控电路模块及辅
助电源模块构成,分别论证这几个模块的选择。

1.1 DC-DC双向变换器模块的论证与选择
方案一:采用大功率的线性稳压芯片搭建稳压电路,使充电压恒定,在输入电压高于充电合适电压时,实现对输入电压的降压,为电池组充电。

该电路外围简单,稳压充电不需要软件控制,简单方便,但转换效率低。

同时采用采用基于NE555的普通升压电路,这种电路设计简单,成本低,但转换效率较低、电池电压利用率低、输出功率小,更不能不易与基于大功稳压芯片所构成的稳压电路结合构成DC-DC双向变换器。

方案二:采用Buck-Boost电路,选择合适的开关管、续流二极管,电能的转化效率高,且电路简单,功耗小,稳压范围宽,能很好的实现输入降压,输出升压。

但输入、输出电流皆有脉动,使得对输入电源有电磁干扰且输出纹波较大。

所以实际应用时常加有输入,输出滤波器。

方案一简单轻便但会影响电源的效率,而方案二中的Buck 电路能很好保对证电源的降压要就对电池组充电,并且使电池组的充电率满足题目要求,所以采用方案二。

1.2 测控电路系统的论证与选择
方案一:采用基于51单片机的数控电路,测控精度高,但不能连续可调,制作过程复杂,工作量大,并且造价高,维护复杂。

方案二:基于UC3843的测控电路,电路简单,效率高,可靠性高,但随着负载的增大,输出波形变得不稳。

综合考虑采用采用方案二。

2系统理论分析与计算
2.1 双向Buck-BOOST主拓电路的分析
Buck-Boost变换器是输出电压可低于或高于输入电压的一种单管直流变换器,其主电路与Buck或Boost变换器所用的元器件相同,也有开关管、二极管、电感、和电容构成。

如下图1所示。

Buck-Boost变换器也有电感电流连续和断续两种工作方式。

图2是电感电流连续时的主要波形。

图3是Buck-Boost变换器在不同工作状态下的等效电路图。

电感电流连续工作室时,有两种工作模式,图(3a)的开关管S1导通时的工作模式,图3(b)是开关管S1关断、L续流时的工作模式。

图1 主电路
图2电感电流连续工作波形
S1导通 S1断开
图3 Buck-Boost不同开关模式下等效电路
2.2 电感电流连续工作原理和基本关系
电感电流连续工作时,Buck/Boost变换器有开关管S1导通和开关管S1关断两种工作模态。

在开关模态1[0~on t]:
t=0时,S1导通,电源电压in V加载电感f L上,电感电流线性增长,二极管D戒指,负载电流由电容f C提供:
t=on t时,电感电流增加到最大值max L i,S1关断。

在S1导通期
间电感电流增加量f L i
在开关模态
2[on t ~ T]:
稳态工作时,S1导通期间f L i 的增长量应等于S1关断期间f L
i 的减小量,或作用在电感f L 上电压的伏秒面积为零,有:
由(2-8)式,若y D =0.5,则o V =in V ;若y D <0.5,则o V <in V ;反之,y D >0.5,o V >in V 。

设变换器没有损耗,则输入电流平均值i I 和输出电流平均值o I 之比为
开关管S1截止时,加于集电极和发射极间电压为输入电压和输出电压之和,这也是二极管D 截止时所承受的电压
由图1-2可见,电感电流平均值f
L i 等于S1和D 导通期间流过的电流平均值Q I 和D I 之和,即:
开关管S1和二极管D 电流的最大值max Q i 、max
D i 等于电感电流最大值max
f L i 。

S1导通期间,电容f C 电压的变化量即输出电压脉动o
V ∆由
S1导通期间f C 放电量f C Q =o I y D T 计算,因f C Q =f C o V ∆⋅,故: 2.3 控制方法与参数计算
1.Boost 电路控制方法:负反馈。

2.Buck 电路控制方法:正反馈+负反馈。

3.振荡频率计算公式:368.1C R f ⋅=
4.反馈深度:TL431是一种并联稳压集成电路。

三端可调分流基准源、可编程输出电压:2.5V~36V 、电压参考误差:±0.4% ,典型值@25℃(TL431B )、低动态输出阻抗:0.22Ω(典型值)、温度补偿操作全额定工作温度范围、负载电流1.0毫安--100
毫安。

全温度范围内温度特性平坦,典型值为50 ppm/℃,最大输入电压为37V 、最大工作电流150mA 、内基准电压为
2.495V(25°C)。

5.放大器选用基于Lm358的放大电路,放大倍数的计算公式:
⎪⎪⎭⎫ ⎝⎛+=11R R A f u 6.软件算法:15f2k60s2单片机是高速/低功耗的单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率在12MHz 以下时,复位脚可直接接地。

工作电压:5.5V - 3.8V (5V 单片机)/3.8V - 2.4V (3V 单片机)、工作频率范围:0-40MHz ,相当于普通8051的 0~80MHz 、用户应用程序空间4K/6K/7K/8K/10K/12K/13K/16。

K/32K/40K/48K/56K/ 61K/字节、片上集成 1280字节/512/256字节 RAM 、工作温度范围:0-75℃/-40-+85℃。

提高效率的方法:提高频率,改善电路结构。

3 电路与程序设计
3.1 电路的设计
3.1.1 系统总体框图
系统总体框图如图四所示:
图4系统总体框图
3.1.2 给电池组充电Buck 电路模块
降压充电模块原理图如图5(附录)所示。

图5降压buck电路原理图
3.1.3 电池放电Boost升压模块
电池放电升压Boost电路原理图如图6所示。

图6 升压Boost电路
3.1.4 测控模块电路原理图
测控模块电路如下图图7。

图7 测控电路图
3.1.5 电源
系统需要直流稳压电源供电,采用基于LM7805和LM7815的直流稳压电路给单片机、放大器供电。

3.2程序设计
采用基于STC15F2K60S2的单片机系统,来控制电压和电流的显示,和调节数字电位计。

源程序如下:
#include "STC15Fxxxx.h"
#include "intrins.h"
#include "codetab.h"
#include "LQ12864.h"
#include "stdio.h"
#include "adc.h"
#include "PCA.h"
#define T imer0_Reload (65536UL -(MAIN_Fosc / 1000))
//Timer 0 中断
频率, 1000次/秒
#define P1n_pure_input(bitn) P1M1 |= (bitn), P1M0 &= ~
(bitn)
typedef unsigned char BYTE;
sbit X9313W_INC = P3^2; //计数脉冲输入端,下降沿触发
sbit X9313W_UPDN = P3^3; //方向,高电平加、低电平减
sbit X9313W_CS = P3^4; //片选,低电平有效
/********************(STC12C5608AD 11MHZ z=1时精确延时1ms)
*******************/
void delayms(unsigned int z)
{
unsigned int x,y;
for(x=z; x>0; x--)
for(y=1848; y>0; y--);
}
void X9313W_SetVol(unsigned char RNumber)
{
unsigned char i;
X9313W_INC = 1;
_nop_();
_nop_();
X9313W_CS = 0;
_nop_();
_nop_();
X9313W_UPDN = 0; //先调到0 for(i=0;i<32;i++){
X9313W_INC = 1;
_nop_();
_nop_();
X9313W_INC = 0;
_nop_();
_nop_();
}
X9313W_UPDN = 1; //调到指定值 for(i=0;i<RNumber;i++){
X9313W_INC=1;
_nop_();
_nop_();
X9313W_INC=0;
_nop_();
_nop_();
}
X9313W_INC = 1; //电阻值保存
_nop_();
_nop_();
X9313W_CS = 1;
_nop_();
_nop_();
X9313W_UPDN = 1;
_nop_();
_nop_();
X9313W_INC = 1;
}
void X9313W_IncVol(unsigned char RNumber)
{
unsigned char i;
X9313W_INC = 1;
_nop_();
_nop_();
X9313W_CS = 0;
_nop_();
_nop_();
X9313W_UPDN = 1; //加RNumber个指定值 for(i=0;i<RNumber;i++){
X9313W_INC=1;
_nop_();
_nop_();
X9313W_INC=0;
_nop_();
_nop_();
}
X9313W_INC = 1; //电阻值保存 _nop_();
_nop_();
X9313W_CS = 1;
_nop_();
_nop_();
X9313W_UPDN = 1;
_nop_();
_nop_();
X9313W_INC = 1;
}
void X9313W_DecVol(unsigned char RNumber) {
unsigned char i;
X9313W_INC = 1;
_nop_();
_nop_();
X9313W_CS = 0;
_nop_();
_nop_();
X9313W_UPDN = 0; //减RNumber个指定值 for(i=0;i<RNumber;i++){
X9313W_INC=1;
_nop_();
_nop_();
X9313W_INC=0;
_nop_();
_nop_();
}
X9313W_INC = 1; //电阻值保存
_nop_();
_nop_();
X9313W_CS = 1;
_nop_();
_nop_();
X9313W_UPDN = 1;
_nop_();
_nop_();
X9313W_INC = 1;
}
/************* 本地函数声明**************/
void DelayXus(BYTE n);
/**************** 外部函数声明和外部变量声明*****************/
bit B_1ms; //1ms标志
u16 msecond;
u16 Bandgap;
unsigned int step;
/********************** PWM配置函数************************/
/********************** ADC配置函数************************/
void ADC_config(void)
{
ADC_InitTypeDef ADC_InitStructure;
//结构定义
ADC_InitStructure.ADC_Px = ADC_P1_All; //设置要做ADC的IO,
ADC_P10 ~ ADC_P17(或操作),ADC_P1_All
ADC_InitStructure.ADC_Speed = ADC_180T;
//ADC
速度
ADC_90T,ADC_180T,ADC_360T,ADC_540T
ADC_InitStructure.ADC_Power = ENABLE;
//ADC
功率允许/关闭ENABLE,DISABLE
ADC_InitStructure.ADC_AdjResult = ADC_RES_H8L2;
//ADC结果调整,
ADC_RES_H2L8,ADC_RES_H8L2
ADC_InitStructure.ADC_Polity = PolityLow; //优先级设置
PolityHigh,PolityLow
ADC_InitStructure.ADC_Interrupt = DISABLE; //中断
允许ENABLE,DISABLE
ADC_Inilize(&ADC_InitStructure);
//初始化
ADC_PowerControl(ENABLE);
//单独的ADC电源操作函数, ENABLE或DISABLE
// P1n_pure_input((1<<0) ||(1<<1) ||(1<<2) || (1<<3)||(1<<4) || (1<<5)||
(1<<6) || (1<<7)); //把ADC口设置为高阻输入
}
/**********************************************/
/*********************主函数************************************/
void main(void)
{
// unsigned char i;
// int a;
u16 j;
unsigned char c[10];
LCD_Init(); //oled 初始化
ADC_config();
Timer0_1T();
Timer0_AsTimer();
Timer0_16bitAutoReload();
Timer0_Load(Timer0_Reload);
Timer0_InterruptEnable();
Timer0_Run();
EA = 1; //打开总中断
LCD_CLS();
LCD_P8x16Str(0,0,"step:");
LCD_P8x16Str(0,2,"AD0:");
LCD_P8x16Str(0,4,"AD1:");
X9313W_SetVol(0);
step=0;
while(1)
{
if(B_1ms) //1ms到
{
// LCD_CLS();
B_1ms = 0;
if(++msecond >= 100) //300ms到
{
msecond = 0;
// LCD_P8x16Str(40,3,"abc");
// Get_ADC10bitResult(0);
Get_ADC10bitResult(0);
j = Get_ADC10bitResult(4); //ad通道0
sprintf(c,"%.2fA",j*5.0/1024.0);
LCD_P8x16Str(40,2,c);
j = Get_ADC10bitResult(5); //ad 通道1
sprintf(c,"%.2fV",j*30.0/1024.0);
LCD_P8x16Str(40,4,c);
if(P24==0)
step++;
if(step==32)step=0;
if(P25==0)
if(step--==0)step=31;
X9313W_SetVol(step);
sprintf(c,"%2d",step);
LCD_P8x16Str(40,0,c);
delayms(100);
/*
*/ }
}
}
}
/**********************************************/
/********************** Timer0 1ms中断函数************************/
void timer0 (void) interrupt TIMER0_VECTOR
{
// DisplayScan(); //1ms扫描显示一位
B_1ms = 1; //1ms标志
}
4 测试方案与测试结果
4.1 测试方案
1、硬件测试,测试电路的恒流恒压以及功率的设置。

2、软件仿真测试,测试程序功能的完整性,以及程序电流电压能满足对电路电流电压调节和显示精度的控制。

3、硬件软件联调,连接单片机和电源电路,测试两者功能的完整性,通过对硬件电路和程序参数的调整使其能很好的完成对电压电流的控制节及显示功能。

4.2 测试条件与仪器
测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。

测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。

4.3 测试结果及分析
4.3.1 测试结果(数据)
基础部分测试结果(数据)
1、恒流充电测试
由基本要求1:在2U=30V、充电电流在在1~2A范围内可调条件下,设置1I初始值为步进A,步进值为0.1A,测试数据如表1.
表 1电流调节测试
充电时1I的变化率测试
由基本要求2:1I=2A,调整直流稳压电源输出电压,使2U在24~36V范围变化,计算1I的变化率,如表2。

表2 变化率
3、变换器的效率测试
由基本要求3:1I=2A,2U=30V,条件下,测量1U和2I的值,变换器的效率如下。

表3变换器效率
所以η=(1U×1I)÷(2U×2I)×100%=89.5%。

经计算变换器的转换效率=90%。

4、1I的测量精度
由基本要求4:1I在1~2A内变化,所测试量充电电流1I的测量精度如表4。

表4电流1I的测量精度
发挥部分测试结果(数据)
由发挥部分要求1,在充电模式下,使2U=23V5.0±,变换器的效率如下表
表5变换器的效率
4.3.2 测试分析与结论
根据上述测试数据,并经过计算分析,得出以下结论:
1. 在要求条件下电路对电流的调节精度达到6%,次达到了对电流的准确显示和要求精度的控制。

2. 在要求条件下电路电流的变化率为0.45%,满足了题目对电流变化率的要求,同时说明电路的电流有很高的稳定性。

3.电路的转换效率在所定条件下为89.5%,有较高的转化效率,基本满足题目要求。

4.有测量数据可知电路有充电过呀保护、较高精度显示充电电流的功能。

相关文档
最新文档