双向DC-DC变换器研究:全桥拓扑与软开关控制

5星 · 超过95%的资源 需积分: 42 68 下载量 61 浏览量 更新于2024-08-08 收藏 1.9MB PDF 举报
"这篇硕士学位论文主要探讨了双向全桥DC-DC变换器的研究,作者为庄元明,指导教师为孙频东和居荣,专业领域为电工理论与新技术。论文详细分析了双向DC-DC变换器的基本单元,包括软开关技术,并提出了一种新型的全桥拓扑结构的软开关双向DC-DC变换器的控制策略。这种变换器利用隔离变压器实现了电能的双向传递,提高了效率并减小了设备体积。文中还通过实例分析,进行了建模、仿真及实验验证。关键词包括双向DC-DC变换、仿真和电路设计。" 双向全桥DC-DC变换器是一种关键的电力电子设备,它能够在直流电源系统之间实现能量的双向流动。这种变换器广泛应用于直流不间断电源系统、航天电源系统、直流电机驱动以及混合能源电动汽车等领域。其主要优势在于可以根据需求调整能量的流向,从而实现高效的能源管理。 论文首先介绍了多种新型的软开关双向DC-DC变换器的基本单元,这些单元通常利用特定的开关控制技术来减少开关损耗,提高工作效率。软开关技术允许开关器件在接近零电压或零电流的状态下开通和关断,从而降低开关过程中的瞬态应力,减少损耗,使得变换器能在更高的开关频率下工作,进而减小设备体积。 作者提出的新型全桥拓扑结构的双向DC-DC变换器,其核心在于全桥变换器的四个开关管组成两个桥臂,提供了更大的灵活性。全桥结构使得控制策略更为多样,可以轻松实现开关管的软开通和软关断。此外,通过在变换器的两个桥式电路中间添加隔离变压器,能够在不增加额外元件的情况下,实现电能的双向传输,这不仅简化了设计,也降低了设备的体积和重量,同时提升了转换效率。 论文的实例部分详细阐述了这种变换器的工作原理,通过建立数学模型进行分析,并结合仿真和实验结果进行了验证。这不仅加深了对双向DC-DC变换器工作机理的理解,也为实际应用提供了重要的参考依据。 这篇论文深入研究了双向全桥DC-DC变换器的软开关技术和控制策略,为该领域的研究者和工程师提供了宝贵的理论支持和技术指导。
2011-10-18 上传
#include #include //Keil library #include //Keil library #include #define uchar unsigned char #define uint unsigned int #define DataPort P0 //LCD1602数据端口 sbit SCL=P1^0; //IIC时钟引脚定义 sbit SDA=P1^1; //IIC数据引脚定义 sbit LCM_RS=P2^0; //LCD1602命令端口 sbit LCM_RW=P2^1; //LCD1602命令端口 sbit LCM_EN=P2^2; //LCD1602命令端口 #define SlaveAddress 0xA6 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改 //ALT ADDRESS引脚接地时地址为0xA6,接电源时地址为0x3A typedef unsigned char BYTE; typedef unsigned short WORD; BYTE BUF[8]; //接收数据缓存区 uchar ge,shi,bai,qian,wan; //显示变量 int dis_data; //变量 void delay(unsigned int k); void InitLcd(); //初始化lcd1602 void Init_ADXL345(void); //初始化ADXL345 void WriteDataLCM(uchar dataW); void WriteCommandLCM(uchar CMD,uchar Attribc); void DisplayOneChar(uchar X,uchar Y,uchar DData); void conversion(uint temp_data); void Single_Write_ADXL345(uchar REG_Address,uchar REG_data); //单个写入数据 uchar Single_Read_ADXL345(uchar REG_Address); //单个读取内部寄存器数据 void Multiple_Read_ADXL345(); //连续的读取内部寄存器数据 //------------------------------------ void Delay5us(); void Delay5ms(); void ADXL345_Start(); void ADXL345_Stop(); void ADXL345_SendACK(bit ack); bit ADXL345_RecvACK(); void ADXL345_SendByte(BYTE dat); BYTE ADXL345_RecvByte(); void ADXL345_ReadPage(); void ADXL345_WritePage(); //-----------------------------------