《双向DC-DC变换器(全国大学生电子设计竞赛全国二等奖作品).pdf》由会员分享,可在线阅读,更多相关《双向DC-DC变换器(全国大学生电子设计竞赛全国二等奖作品).pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2015年全国大学生电子设计竞赛双向 DC-DC 变换器(A 题)2015 年 8 月 15 日I 摘要本设计主要由双向DC-DC 变换电路、测控显示电路、辅助电源三部分构成,其中双向 DC-DC 变换电路降压部分采用XL4016 开关降压型 DC-DC 转换芯片,最高转换效率可达93%,升压部分采用XL6019 开关型升压/降压芯片,具有低纹波,输入范围广,转换效率高的特点。恒流部分采用PWM 控制原理,形成一个闭环回路,控制电流恒定,恒压部分完全由硬件控制,单片机辅助控制的方式。以上部分确保系统满足题目要求,实现恒流充电,恒压放电,过压保护功能,并且有着较高的转换效率。在本次设计中恒压部分
2、完全有硬件控制,硬件自身形成一个闭环控制回路,对电压进行调节使其恒定题目要求的精度范围。单片机通过光耦电路的工作与停止,恒流部分由 PWM 调节占空比,使其恒流。关键字电池充放电升压降压XL4016 XL6019 STM32 II 目录一、系统方案.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:
3、电路原理图.9 附录 2:源程序.10 1 双向 DC-DC 变换器(A 题)【本科组】一、系统方案本设计主要由双向DC-DC 变换电路、测控显示电路、辅助电源三部分构成,其中双向 DC-DC 变换电路降压部分采用XL4016 开关降压型 DC-DC 转换芯片,最高转换效率可达 93%,升压部分采用 XL6019 开关型升压/降压芯片,具有低纹波,输入范围广,转换效率高的特点。恒流部分采用 PWM 控制原理,形成一个闭环回路,控制电流恒定,恒压部分完全由硬件控制,单片机辅助控制的方式。以上部分确保系统满足题目要求,实现恒流充电,恒压放电,过压保护功能,并且有着较高的转换效率。1、双向 DC-D
4、C 变换电路的论证与选择方案 1:由降压斩波变换电路(即 Buck 变换电路)和升压斩波变换电路(即Boost电路)组成双向DC-DC变换电路,分别各使用一个全控型器件VT(IGBT 或 MOSFET),对输入直流电源进行斩波控制通过调整全控型器件VT的控制信号占空比来调整输出电压。方案 2:采用 XL4016开关型降压芯片和XL6019开关型升压/降压芯片构成升压、降压电路具有低纹波,内助功率 MOS,具有较高的输入电压范围,内置过电流保护功能与EN引脚逻辑电平关断功能。综合以上两种方案,考虑到时间的限制,选择了比较容易实现的方案2。2、测量控制方案和辅助电源的论证与选择由于瑞萨单片机开发套
5、件数量有限,所以我们选择了一款相对便宜,速度快,性价比较高的 STM32103V8T6 作为控制器,显示部分由于收到题目对作品重量的要求,选择了质量轻,分辨率较高的0.96 寸 OLED 屏幕显示。由于市场上所售开关电源模块的,纹波大的因素,所以辅助电源选择了一个较小的9V 变压器,进行,整流滤波作为辅助电源。3、控制方法的论证与选择方案 1:采用 PWM 调节占空比的方法控制降压芯片的控制端,达到控制恒流和控制恒压的目的,采用PWM 调节软件较为复杂,而且PWM 调节较为缓慢,软件控制难度大。方案 2:恒压部分完全有硬件控制,硬件自身形成一个闭环控制回路,对电压进行调节使其恒定题目要求的精度
6、范围。单片机通过光耦电路的工作与停止,恒流部分由PWM 调节占空比,使其恒流。综合以上两种方案,选择软件较为简单,硬件较为复杂的方案2。2 二、系统理论分析与计算1、充电电路设计分析充电电路也就是一个降压电路,并且要求是一个恒流源,本次竞赛选取XL4016为核心降压芯片,其结构如图所示。管脚定义如下典型应用电路如下2.2 放电电路设计分析XL6019是一款专为升压、升降压设计的单片集成电路,可工作在DC5V 到 40V输入电压范围,低纹波,内置功率MOS。XL6019内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM 控制环路可以调节占空比从090%之间线性变化。内置过电流保护功能与EN
7、脚逻辑电平关断功能。典型应用电路如下2.1 充电电路设计分析3 充电电路也就是一个降压电路,并且要求是一个恒流源,本次竞赛选取 XL4016 为核心降压芯片,其结构如图所示。XL4016 降压模块电路图如下所示2.2 放电电路设计分析XL6019是一款专为升压、升降压设计的单片集成电路,可工作在DC5V 到 40V输入电压范围,低纹波,内置功率MOS。XL6019内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM 控制环路可以调节占空比从090%之间线性变化。内置过电流保护功能与EN脚逻辑电平关断功能。典型应用电路如下三、电路与程序设计1、电路的设计(1)系统总体框图4(图 3-1)系统
8、总体框图如图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)升压
9、电路原理图升压电路使用 XL6019 型 220KHz、60V、5A 开关电流升压/降压型 DC-DC 转换器。可工作在 DC5V 到 40V 输入电压范围,低纹波,内置功率MOS、XL6019 内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM 控制环路可以调节占空比从090%之间线性变化。内置过流保护功能与EN 脚逻辑电平关断功能。使用单片机控制EN 引脚实现对升压模块开启与关断。(图 3-3)(4)测控电路电路原理图测控电路如图 3-4 所示,通过电阻分压滤波后,使用单片机ADC 采样,得到输入、辅助电源测控电路双向 DC-DC 变换电路电池组直流稳压电源5 输出电压,以及电流和2
10、.5V 基准电压,使用 TL431 产生 2.5V 基准电压用于矫正。恒压恒流控制使用单片机输出PWM,经滤波后使用 LM358 跟随,增强驱动能力,同时可减小输入控制端的能量消耗。使用比较器比较设定值与输出值,再控制芯片的工作状态。(图 3-4)电源为减小高频干扰,辅助电源使用220V 到 9V 普通变压器,经整流滤波后使用7812和 HT7333 分别输出 12V 和 3.3V 电压为 LM358 和单片机小系统板供电。2、程序的设计(1)程序功能描述与设计思路1、程序功能描述根据题目要求,软件部分实现测量显示,切换模式,充电过压保护,控制调节系统。2、程序设计思路(1)、首先进行,按键,
11、OLED 各个内设初始化;(2)、进行按键扫描;(3)、判断模式;(4)、进行 PWM 控制电流,让输出为横流模式;(5)、扫描按键;(6)进行打开光耦,让升压模块工作;6 3 程序流程图1、系统总框图Vin/Vout 电池升压降压7 2、程序流程图8 四、测试仪器与数据分析4.1 测试仪器5 位半数字万用表,4 位半万用表42 测试数据与分析(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
12、,(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%。
13、(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 变换器,各项指标均在题设范围内,是符合要求的。9 附录 1:电路原理图10 附录 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#in
14、clude wdg.h#include myiic.h#include timer.h Int main()void Adc_Init(void)RCC-APB2ENR|=1CRL&=0XFFFF0000;/10/11?RCC-APB2ENR|=1APB2RSTR|=1APB2RSTR&=(1CFGR&=(3CFGR|=2CR1&=0XF0FFFF;ADC1-CR1|=0CR1&=(1CR2&=(1CR2&=(7CR2|=7CR2|=1SQR1|=0SMPR2&=(7SMPR2|=7CR2|=1CR2|=1CR2&1CR2|=1CR2&1SQR3&=0XFFFFFFE0;ADC1-SQR3|=ch;ADC1-CR2|=1SR&1DR;u16 Get_Adc_Average(u8 ch,u8 times)u32 temp_val=0;u8 t;for(t=0;ttimes;t+)temp_val+=Get_Adc(ch);delay_ms(5);return temp_val/times;