双向DC-DC变换器(A题)报告.doc
-#2015年全国大学生电子设计竞赛双向 DC-DC 变换器(A题)2015年8月16日摘要:本系统以同步整流电路为核心构成双向DC-DC电路,用两块LT8705构建双向DCDC,当系统选择了充电模式,则关断放电的LT8705模块,当放电的时候则关断充电LT8705模块。自动模式的时候通过系统自动调整输入输出模式,使得系统达到稳定。系统充电电流I1在 12A 范围内步进可调;设定I1=2A后,U2在2436V范围内变化时,充电电流I1的变化率小于1%;设定I1=2A,在U2=30V条件下,变换器的效率达到95%;12864实时显示充电电流的数值,精度误差小于2%;具有过充保护功能;放电模式时,保持U2=300.5V,变换器效率达到97%,满足题目要求。关键词:双向DC-DC电路; LT8705;关断保护目录一、系统方案11.1双向DC-DC 电路方案论证与选择11.2电流监测反馈模块的选择21.3电流电压测量AD模块的论证与选择31.4辅助电源的选择31.5单片机的选择4二、理论分析与计算42.1提高效率的方法4三、核心部分电路及程序设计5四、测试方法与数据6五、结果分析8六、参考文献8一、系统方案1.1双向DC-DC 电路方案论证与选择方案1:采用双向Buck-Boost DC-DC变换电路。工作原理:当Q2保持关断,Q1采用PWM工作方式工作时,变换器实际是一个Buck电路,能量从V1传到V2。当Q1保持关断,Q2采用PWM工作方式工作时,交换器相当于一个Boost电路,能量从V2传到V1。如图1所示。其可以实现降压充电又可实现升压输出,有较好的灵活性。驱动开关管部分电路简单,但效率达不到要求。 图1 双向Buck-Boost DC-DC变换电路方案2:采用LT8705降压-升压型DC-DC控制器,该器件可以在输入电压高于、低于或等于输出电压的情况下运作。输入电压范围:2.8V至80V;输出电压1.3V至80V。同步整流:效率高达98%,可同步的固定频率:100KHz至400KHz。该方案的优点,效率极高,可以很好的满足题目的效率要求。电路原理图见附图1。方案3:采用双向半桥DC-DC变换电路。如图2,电路由两个半桥组成,高压侧为电压型半桥,低压侧为电流型半桥Lr为变压器漏感与外加电感之和。由于变压器的激磁电感Lm远远大于漏感,因此可以将其忽略。该方案电路相对复杂,且有变压器整个系统质量偏重,效率较低,不符合题目要求。图2 双向半桥DC-DC变换电路分析: 方案二效率更高,且电路简单易实现,故选用LT8705作为双向DC-DC电路的主要芯片。1.2电流监测反馈模块的选择方案1:采用INA196电流采样芯片,INA194是16位电流检测器。共模电压范围-16到+36v,工作温度范围-45C到+125C,在整个工作温度范围内,误差小于3%;带宽可达500kHz;静态电流最大值900uA;输出电压正比于检测电流,检测电流范围大;内部运放输出接近电源电压:与V+差0.1V,与GND差3mV,工作温度范围-45C到+125C,该方案的优点是:精度高,功耗低,电路简单易实现。方案2:采用MAX471精密电流传感放大器MAX471。MAX471内置35m精密传感电阻,可测量电流的上下限为3A。所需的供电电压VBRVCC为336V,所能跟踪的电流的变化频率可达到130kHz。该方案的优点:响应速度快,精度可观。方案3:采用AD8221精密仪表放大器,AD8221是一款增益可编程、高性能仪表放大器,相比于同类芯片其相对于频率的共模抑制比(CMRR)最高,从而打打降低对滤波器的要求,该器件的额定工作温度为-40C至+85C,该方案的优点:功耗低,速度快。分析:AD8221的精度相比于其他两个芯片更高,且性能最佳,故选用AD8221作为电流检测反馈模块的主要芯片。1.3电流电压测量AD模块的论证与选择方案1:分别采用电流电压型模数转换芯片ADC0832和ADC0809。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。ADC0809是CMOS单片型逐次逼近式A/D转换器,8路输入通道,8位A/D转换器,即分辨率为8位。单个+5V电源供电。该芯片,分辨率相对较低,不符合题目的分辨率要求。方案2:采用ADS8688单电源8通道逐次逼近寄存器(SAR)模数转换器(ADC),其工作时的吞吐量可达500kSPS。支持自动和手动两种扫描模式的 4 通道或 8 通道多路复用器、以及低温度漂移的片上 4.096V 基准电压。 采用 5V 单模拟电源供电时,器件上的各输入通道均可支持 10.24V、5.12V 和 2.56V 的实际双极输入范围以及 0V 到 10.24V 和 0V 到 5.12V 的单极输入范围。模拟前端在所有输入范围内的增益均经过精确微调,以确保高直流精度。 输入范围的选择可通过软件进行编程,各通道输入范围的选择相互独立,输出保护电压高达20 V,低功耗65mW,具有极好的性能。该方案的优点是,精度(分辨率)高,速度快,功耗低。分析:方案一用了两块芯片,电路比较复杂,且精度不高温度漂移大,使系统准确性不高,且相比于方案二功耗更高,所以本设计选用方案二。1.4辅助电源的选择方案1:采用凌力尔特公司的LTC3114。LTC3114是可编程输出电流DC/DC转换器,输出电压可低于或高于输入电压。输入电压范围2.2 v至40 v,输出电压范围2.7V至40V,输出电流可达1安。效率高达96%。该方案的优点是:效率高,电路简单。 方案2:采用LM2596S-5V开关电压调节器,LM2596开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。可以稳定输出5V电压。内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。由于该器件只需4个外接元件,可以使用通用的标准电感,这更优化了LM2596的使用,极大地简化了开关电源电路的设计。在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在4%的范围内,振荡频率误差在15%的范围内。分析:考虑到输出电压稳定性及系统质量的要求,本设计选用方案二的 LM2596S-5V开关电压调节器1.5单片机的选择方案1:采用STM32F103系列单片机。该单片机采用ARM32位Cortex-M3CPU内核,最高72MHz工作频率,128K字节的闪存程序存储器高达20K字节的SRAM,2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。具有速度快,功耗低,体积小重量轻的优点。方案2:AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元, AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。分析:由于本系统对单片机处理速度要求较高,故选用速度更快且功耗更低的STM32来作为整个系统的控制模块芯片。二、理论分析与计算2.1提高效率的方法(1) 采用LT8705作为双向DC-DC电路的核心,LT8705用4个反馈环路来调节输入电流/电压以及输出电流/电压。使用的同步整流能能有效的提高效率,达到98%以上,相比于采用拓扑结构的方案效率更高。(2) 使用印制电路板,低线路进行合理的布局,使电路更稳定,防止电路过激或震荡, 增强电路可靠性,降低功耗,提高效率。三、核心部分电路及程序设计图3程序结构框图外接30伏电压时系统为充电模式,AD芯片采集电流电压信号反馈单片机,实现恒流输入,并实时显示,按键扫描检测按键是否按下,来控制充电电流大小,充电电压超过阀值时,自动断电。接负载时自动切换为放电模式,AD芯片采集输出电压信号传输到单片机对比,进行闭环控制,保证输出电压为恒定30伏。图4 系统结构框图四、测试方法与数据(1)题目要求:U2=30V 条件下,实现对电池恒流充电。充电电流I1在12A范围内步进可调,步进值不大于 0.1A,电流控制精度不低于 5%。测试结果如下:表1 充电电流步进控制检测数据按键次数12345678910理论电流值(A)1.051.101.151.201.251.301.351.401.451.50实际电流值(A)1.041.111.131.211.241.291.331.381.441.49按键次数11121314151617181920理论电流值(A)1.551.601.651.701.751.801.851.901.952.00实际电流值(A)1.531.581.651.681.751.801.861.881.952.01电流初始值1A,每按两次键,理论充电电流增加0.05A。根据电流控制定义式:eIc=I1-I10I10*100% 实际电流控制值精度为2%,符合题目要求。(2)题目要求:设定I1=2A,调整直流稳压电源输出电压,使U2在2436V范围内变化时,要求充电电流I1的变化率不大于 1%。测试结果如下:表2 充电电流调整率测试数据输入电压U2/V242628303234充电电流I1/A1.981.981.992.001.992.01根据电流变化率计算公式:SI1=I11-I12I1*100% 实际电流变化率为0.5%,符合题目要求。(3)题目要求:测量并显示充电电流I1,在I1=12A范围内测量精度不低于2%。测试结果如下:表3 显示电流测试数据实际电流I11.0121.2351.4361.6451.8052.003显示电流IX/A1.0051.2201.4021.6001.8232.023根据测试结果,测量精度误差低于2%符合题目要求。(4)题目要求:接通S1、S2,断开S3,调整直流稳压电源输出电压,使Us在3238V范围内变化时,双向DC-DC电路能够自动转换工作模式并保持U2=300.5V。测试结果如下:表4 电压调整率测试数据直流稳压电源输出电压US/V32333435363738U2/V30.230.630.729.529.730.129.5根据测试结果,电压值基本能稳定在300.5V,基本满足题目要求。(5)充放电效率及质量测量。充电效率为95%,放电效率为97%,很好的达到了题目的要求。五、结果分析经测试,系统充电电流I1在 12A 范围内步进可调;设定I1=2A后,U2在2436V范围内变化时,充电电流I1的变化率小于1%;设定I1=2A,在U2=30V条件下,变换器的效率达到95%;12864实时显示充电电流的数值,精度误差小于2%;具有过充保护功能;放电模式时,保持U2=300.5V,变换器效率达到97%,满足题目要求。六、参考文献1 周志敏,开关电源实用技术M.北京:人民邮电出版社,20072 康华光,电子技术基础模拟部分M.第五版.北京:高等教育出版社,20063 王兆安,刘进军,电力电子技术M.第五版.北京机械工业出版社,20094 Raymond A. Mack,Jr.开关电源入门M.北京:人民邮电出版社,20075 张占松,蔡宣三,开关电源的原理与设计M.修订版.北京:电子工业出版社,2007附 件/AD8688 IO SPI1 PA4 5 6 7/OLED显示屏 SCLK PA0 SDA PA1/SD关断开启模式 SDboost PA2SDbuck PA3/DA7612 模拟法 CS PB12 SCLK PB13 DIN PB14/按键key 和板子上一样 key1234#include "include.h"#include "TLV2543.h"char a8;void work(void);int main(void)delay_init();/系统初始化SDInit();spi_init();/AD初始化ADInit();KEY_Init();/按键初始化DAInit();/DA初始化OLEDIO_Init();OLED_Init();/初始化OLED OLED_Clear(); /清屏work();void Boostmode(void);void Buckmode(void);void Automode(void);static u16 U2;static u16 U1;static u16 Us;static u16 Uc;void work()OLED_Clear(); /清屏while(1)OLED_ShowString(0,0,"KEY1:BUCK Mode",16); OLED_ShowString(0,2,"KEY2:Boost Mode",16); OLED_ShowString(0,4,"KEY3:AUTO Mode",16);if(KEY_Scan()=3) OLED_Clear(); Automode();/进入自动模式else if(KEY_Scan()=1) /降压模式OLED_Clear(); SDboost=0; /关升压SDbuck=1; /开降压Buckmode();/进入降压模式else if(KEY_Scan()=2)OLED_Clear(); SDboost=1; /开升压SDbuck=0;/关降压Boostmode();/进入升压模式void Buckmode()float Current;int i=1000;OLED_ShowCHinese(0,0,0);/恒 OLED_ShowCHinese(18,0,1);/流 OLED_ShowCHinese(36,0,2);/模OLED_ShowCHinese(54,0,3);/式DA_conver(2,1000); /默认输入电压1V,控制电流1Awhile(1)Current=Chan(1)/100;/检测输出电流 I1 1毫欧放大十倍OLED_ShowString(0,6,"KEY4:Add Current",16);if(KEY_Scan()=4)/i=i+50;if(i=2000)i=2000;if(Chan(2)>=23.5) /检测充电电压U1SDboost=0; /关升压 关降压SDbuck=0;OLED_Clear(); OLED_ShowString(0,0,"Error:Reboot",16); delay_ms(10000);work(); /出错返回开始DA_conver(2,i); /DA步进0.05Vsprintf(a,"%.3f A",Current);OLED_ShowString(0,2,a,16); void Boostmode()OLED_ShowCHinese(0,0,4); /恒OLED_ShowCHinese(18,0,5); /压OLED_ShowCHinese(36,0,6); /模OLED_ShowCHinese(54,0,3); /式OLED_ShowString(0,2,"OUT:30.0V",16); /DA输出2.5V,与U2反馈比较稳压30VDA_conver(2,4096); /DA7612输出A通道 4.096Vvoid Automode()static float Auto=0;static int j=1000;float US;while(1)US=Chan(3);if(US>=35.0)OLED_Clear();OLED_ShowCHinese(0,0,0);/恒 OLED_ShowCHinese(18,0,1);/流 OLED_ShowCHinese(36,0,2);/模OLED_ShowCHinese(54,0,3);/式DA_conver(2,j); /默认输入电压1V,控制电流1Awhile(1)Auto=Chan(4)/100;/检测输出电流 I1 1毫欧放大十倍OLED_ShowString(0,6,"KEY4:Add Current",16);if(KEY_Scan()=4)/j=j+50;if(j=2000)j=2000;if(Chan(1)>=23.5) /检测充电电压U1SDboost=0; /关升压 关降压SDbuck=0;OLED_Clear(); OLED_ShowString(0,0,"Error:Reboot",16); delay_ms(10000);work(); /出错返回开始DA_conver(2,j); /DA步进0.05Vsprintf(a,"%.3f A",Auto);OLED_ShowString(0,2,a,16); if(Chan(3)>=35.0)Automode();elseOLED_Clear();OLED_ShowCHinese(0,0,4); /恒OLED_ShowCHinese(18,0,5); /压OLED_ShowCHinese(36,0,6); /模OLED_ShowCHinese(54,0,3); /式OLED_ShowString(0,2,"OUT:30.0V",16); /DA输出2.5V,与U2反馈比较稳压30VDA_conver(2,4096); /DA7612输出A通道 4.096Vif(Chan(3)<=35.0)Automode();图1 系统原理图