找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7750|回复: 2
收起左侧

降压型直流开关稳压电源-2016年四川省TI杯大学生电子设计竞赛设计报告

[复制链接]
ID:344451 发表于 2018-6-20 10:57 | 显示全部楼层 |阅读模式
2016年四川省TI杯大学生电子设计竞赛
A题:降压型直流开关稳压电源


随着开关电源技术的迅速发展,DC-DC降压性开关电源已在通信、计算机以及消费类电子产品等领域得到了广泛应用,是当今电子信息产业飞速发展不可缺少的一种电源。近年来,电池供电便携式设备的需求越来越大,对DC-DC开关电源的需求也日益增大,同时对其性能要求也是越来越高。在当前背景下,高频化、小体积化、轻质量化、高效率化、低成本化、安全可靠性乃至绿色化都成了为DC-DC开关电源未来必须追求的发展方向。
本设计的降压型直流开关稳压电源采用TI公司的降压控制器LM5117芯片和CSD18532KCS MOS场效应管为核心器件,本着当前降压型直流开关稳压电源的发展方向,此电源设计正是一款效率、质量、电压调整率、负载调整率、纹波均满足设计要求,额定输入电压为16V,额定输出电压为5V,最大输出电流为3A的DC-DC开关电源电路。同时就有负载识别实时输出恒定电压,过流保护的功能。


1系统方案
1.1 方案一
1.2 方案二
2系统理论分析与计算
2.1 DC-DC变换方法
2.2 稳压控制方法
2.3 降低纹波方法
3电路与程序设计
3.1系统总设计
3.1.1系统总框图
3.2主回路设计与器件选择
3.2.1主回路设计
3.2.2主要器件的选择
3.3可变电压输出设计
3.4程序的设计
3.4.1程序功能描述与设计思路
3.4.2程序流程图
4测试方案与测试结果
4.1测试方案
4.2 测试条件与仪器
4.3 测试结果及分析
4.3.1测试结果(数据)
4.3.2测试分析与结论
参考文献
附录1:电路原理图
附录2:DC-DC相关计算
附录3:源程序

II



降压型直流开关稳压电源A题)
本科组】
1系统方案
本设计以LM5117降压控制器和CSD18532KCS NMOSFET场效应管为核心器件,搭建一个DC-DC同步整流降压拓扑变换电路。实现5 V 固定电压输出,最大3A 电流输出,纹波小于50mV,效率高于85%。搭建DC-DC直流稳压器,并引入负载电阻测试功能,能识别电阻的大小来控制输出电压。
1.1 方案一
本方案采用纯硬件的方式来识别电阻大小以及控制输出电压。测电阻时,采用将外接负载识别电阻作为运放的反馈电阻,通过电阻值的变化调节输出电压。通过后级运放输出的高低电平信号来控制LM5117 的反馈引脚FB(0.8V参考电压,低于0.8V出电压上升,高于0.8V,输出电压降低)。通过调节几个运放之间的放大倍数,从而实现输出电压与负载电阻的关系。
本设计采用纯硬件方式,电路略微复杂,可靠性容易受运放影响,且在调试上会比较困难,识别控制精度较低。
1.2 方案二
本方案采用DC-DC加MCU 的方式,使用德州仪器(TI)高性能超低功耗处理器MSP430F5438A为核心控制。将外接负载识别电阻与参考电阻R 串联分压后,用单片机内部ADC 采集负载识别电阻两端电压大小,从而计算出该电阻阻值,之后配置外部DAC输出相应的电压值用于作为参考电压。将参考电压与LM5117输出的反馈电压用比较器进行比较。将比较器输出端连接到LM5117的反馈引脚FB ,从而根据负载识别电阻大小精确控制输出电压大小。
本方案引入了MCU,增加了系统设计难度,但是具有高可靠性,高控制精度,以及高效率。

综上所述,选择方案二。

1




2系统理论分析与计算2.1 DC-DC变换方法
本设计中LM5117 采用的是同步整流,上管作为功率管,下管为续流管,在上管关闭后,由于两端电流不突变,所以低管为电感续流,进而为外接负载续流。普通的开关电源芯片采用的是二极管续流,由于二极管有个PN结压降(一般0.5V), 输出电压较小时随着输出电流增大,,在二极管上的损耗将会很大,这将极大的影响整个电源供电的效率。LM5117 将续流二极管换成了超低导通内阻NMOSFET,在大电流低电压输出时损耗会大大降低,从而提高电源系统的效率。
原理图见附录一。
2.2 稳压控制方法
LM5117内置误差放大器,通过比较器输出电平给LM5117反馈引脚,进而调节输出占空比,从而实现稳压的功能。
本设计通过一个继电器来选择反馈电阻通道,根据外接是否有电阻来判断默认选择固定电压反馈通道,在检测到电阻后,控制DAC 的输出电压来与反馈信号进行比较,进而控制输出电压的稳定。稳压控制电路原理图如图2.1。


图2.1 稳压控制电路

2.3 降低纹波方法
由于开关管不断导通关断,电感电容不停的充放电,从而产生了输出电压的幅度波动,可以适当提高开关频率来降低纹波。本设计采用546KHz 开关频率,为了达到较小的输出纹波,选择37uH输出电感,并选择了低ESR,470uF输出电容来降低负载下的纹波,并通过合理的PCB 走线来降低走线纹波带来的干扰。
原理图见附录一。
3电路与程序设计3.1系统总设计3.1.1系统总框图
系统总体框图如图3.1所示:


图 3.1 系统总体框图

3.2主回路设计与器件选择3.2.1主回路设计
TI公司的降压控制器LM5117芯片和CSD18532KCS MOS场效应管为核心器件搭建DC-DC变换电路,作为负载主回路。
本设计采用LM5117做降压控制器,输出5V、3A 电流。开关频率546KHz,开启二极管仿真,相关参数计算见附录二。
电路原理图图见附录一。

3.2.2主要器件的选择
DC-DC主回路采用德州仪器官方提供的LM5117 同步降压整流芯片和超低导通电阻,高速NMOSFET—CSD18532 ,搭建降压直流稳压电源。以超低功耗单片机MSP430F5438A,为主控芯片,采用内部ADC采样。LM393高速比较器,进行过流保护比较和电压调节比较。模数转换采用MCP4822为比较器反相输入端提供参考电压。XL4005作为辅助电源芯片提供3.3V供电系统。
原理图见附录一。

3.3可变电压输出设计
此设计是电源电压可调的关键,通过从输出端串联两个电阻分压后反馈给比较器同相输入端,比较器反相输入端接DAC输出电压,通过调节DAC 输出电压值,从而改变控制阀值,并将比较器的输出端直接接到LM5117 反馈引脚FB。当改变DAC 输出电压时,输出电压也会随之改变。从而实现了电压调节的功能,为外接负载识别电阻调节输出电压大小提供了基础。
原理图见附录一。
3.4程序的设计3.4.1程序功能描述与设计思路

1、程序功能描述

本设计采用MSP430F5434A内置ADC采样,根据公式(U0 = R / 1K)处理后,控制DAC输出电压作为参考电压控制输出电压的大小,从而实现自动识别,自动控制的目的。不接负载识别电阻则默认选择固定输出电压通道,当ADC检测到有允许范围内的阻值时,单片机控制继电器选择电压可调通道,根据采样的电阻值,来控制输出电压。

3.4.2程序流程图

1、主程序流程图


图3.2主程序流程图
4测试方案与测试结果4.1测试方案

1、硬件测试

1)输入输出电压电流

测试方法:通过四个六位半高精度数字万用表同时测量总输入和负载输出点处的电压及电流。并以这些数据计算效率。

2)电压调整率测试

在满载(3A)条件下,根据题目要求,输入电压Uin从17.6V 调至13.6V,测量负载两端电压变化。并根据以下公式计算电压调整率。

  公式(4-1)

3)负载调整率测试

在输出电压不变的情况下,从满载变到轻载 时,测量输出电压的变化,并根据以下公式计算负载调整率:

                    公式(4-2)

4)纹波测试

用示波器交流档测量输出负载两端,将负载加大至输出电流3A,调节示波器电压刻度,使测量到的信号(波形)在屏幕上占大约2/3 的比例,然后打开峰峰值监测,观察纹波大小。

5)过流保护测试

将负载加大,当输出电流达到3.2A ,输出将会关断,减小负载后,电流输出又马上恢复。

2、软件仿真测试

1)测试ADC采样是否正常。

2)测试DAC采样是否正常。

3)根据ADC采样值来控制DAC是否正常。

3、硬件软件联调

1)外加负载电阻时,能够根据实际的阻值,输出对应的电压(U0 = R/1K)。

2) 测试去掉外接负载电阻后能否自动调回固定电压输出档。


4.2 测试条件与仪器
测试条件:检查多次,硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:高精度的数字万用表,数字示波器,大功率负载电阻。
4.3 测试结果及分析4.3.1测试结果(数据)
测试结果好下表所示:
输入电压
输入电流
输出电压
输出电流
效率
纹波
负载调整率
电压调整率
17.60V
1.07A
4.98V
3.01A
87.75%
42mV
0.7%
0.1%
13.60V
1.25A
4.96V
3.02A
87.82%
36mV
16.00V
1.08A
4.96V
3.01A
87.68%
38mV
——
——
外接负载识别电阻与输出电压关系表:
外接负载电阻
1.00K
3.90K
7.80K
9.00K
10.00K
输出电压
0.83V
3.89V
7.84V
9.02V
9.98V

4.3.2测试分析与结论

分析:









      • 输出电压误差小于0.1V。
      • 输出电流具有过流保护,误差低于0.1V。
      • 调整电压,输出电压变化0.02V 电压调整率低于题目要求。
      • 输出电压不变,输出负载变化,负载调整率低于题目。
      • 5.01V输出时,3A 电流输出,输入16V 系统效率高于85%。
      • 测试多个电阻值,均能按照题目公式输出相应电压。

结论:

综上述,原理图跟实物一致,实测参数满足题目要求。本设计满足设计要求。

参考文献
[1]童诗白 第四版《模拟电路》
[2]北京航空航天大学出版社《MSP430超低功耗单片机开发实例》
[3]中国电力出版社《开关电源入门设计》

1





附录1:电路原理图


图1系统总电路图



1




附录2DC-DC相关计算
定时电阻
输出电感
电流检测电阻
斜坡电阻 和斜坡电容 的关系:
自举电容和自举二极管的关系:
输出电容
输入电容
软启动电容的启动时间
重启电容器的启动时间
输出分压器的关系:
附录3:源程序


  1. #include <msp430x54x.h>
  2. #include "4822_SPI.H"
  3. #include "MSP430_ADC.H"
  4. float ADR=326.0;      //ADC采样值
  5. int DAU = 3496;     //DAC输出值
  6. float R=0.0;        // R 的值
  7. void main(void)
  8.               {
  9.                             WDTCTL = WDTPW | WDTHOLD;              // Stop watchdog timer
  10.                             Init_ADC();                    //初始化ADC
  11.                             _4822_IO_init();                //初始化DAC通信接口
  12.                             P2DIR |= BIT3;
  13.                             P2REN |= BIT3;
  14.                             P2OUT ^= BIT3;            //置低,选择固定5 V 输出
  15.                             while(1)
  16.                             {
  17.                                           ADC12CTL0|=ADC12SC;     //进行一次转换
  18.                                           while(ADC12CTL0&0X0);    //等待转换完成
  19.                                           ADR=ADC12MEM0;        //获得采样值
  20.                                           R= 10*ADR/(4096-ADR);     //获得R的值
  21.                                           if(ADR < 100 || ADR > 2098 ) //上限设置为10.5k
  22.                                           {
  23.                                                         P2OUT &= ~BIT3;
  24.                                           }
  25.                                           if(ADR > 100 && ADR < 372) //0-1K
  26.                                           {
  27.                                                         P2OUT |= BIT3;
  28.                                                         DAU = 261-(1-R)*261;
  29.                                           }
  30.                                           if(ADR == 372)  //1K
  31.                                           {
  32.                                                         P2OUT |= BIT3;
  33.                                                         DAU = 261;
  34.                                           }
  35.                                           if(ADR > 372 && ADR < 682) //1-2K
  36.                                           {
  37.                                                         P2OUT |= BIT3;
  38.                                                         DAU = 661-(2-R)*400;
  39.                                           }
  40.                                           if(ADR == 682)  //2K
  41.                                           {
  42.                                                         P2OUT |= BIT3;
  43.                                                         DAU = 661;
  44.                                           }
  45.                                           if(ADR > 682 && ADR < 945) //2-3K
  46.                                           {
  47.                                                         P2OUT |= BIT3;
  48.                                                         DAU = 1046-(3-R)*385;
  49.                                           }
  50.                                           if(ADR == 945)  //3K
  51.                                           {
  52.                                                         P2OUT |= BIT3;
  53.                                                         DAU = 1046;
  54.                                           }
  55.                                           if(ADR > 945 && ADR < 1170) //3-4K
  56.                                           {
  57.                                                         P2OUT |= BIT3;
  58.                                                         DAU = 1436-(4-R)*390;
  59.                                           }
  60.                                           if(ADR == 1170)  //4K
  61.                                           {
  62.                                                         P2OUT |= BIT3;
  63.                                                         DAU = 1436;
  64.                                           }
  65.                                           if(ADR > 1170 && ADR < 1365) //4-5K
  66.                                           {
  67.                                                         P2OUT |= BIT3;
  68.                                                         DAU = 1811-(5-R)*375;
  69.                                           }
  70.                                           if(ADR == 1365)  //5K
  71.                                           {
  72.                                                         P2OUT |= BIT3;
  73.                                                         DAU = 1811;
  74.                                           }
  75.                                           if(ADR > 1365 && ADR < 1535) //5-6K
  76.                                           {
  77.                                                         P2OUT |= BIT3;
  78.                                                         DAU = 2186-(6-R)*375;
  79.                                           }
  80.                                           if(ADR == 1535)  //6K
  81.                                           {
  82.                                                         P2OUT |= BIT3;
  83.                                                         DAU = 2186;
  84.                                           }
  85.                                           if(ADR > 1535 && ADR < 1686) //6-7K
  86.                                           {
  87.                                                         P2OUT |= BIT3;
  88.                                                         DAU = 2556-(7-R)*370;
  89.                                           }
  90.                                           if(ADR == 1686)  //7K
  91.                                           {
  92.                                                         P2OUT |= BIT3;
  93.                                                         DAU = 2556;
  94.                                           }
  95.                                           if(ADR > 1686 && ADR < 1820) //7-8K
  96.                                           {
  97.                                                         P2OUT |= BIT3;
  98.                                                         DAU = 2920-(8-R)*364;
  99.                                           }
  100.                                           if(ADR == 1820)  //8K
  101.                                           {
  102.                                                         P2OUT |= BIT3;
  103.                                                         DAU = 2920;
  104.                                           }
  105.                                           if(ADR > 1820 && ADR < 1940) //8-9K
  106.                                           {
  107.                                                         P2OUT |= BIT3;
  108.                                                         DAU = 3296-(9-R)*376;
  109.                                           }
  110.                                           if(ADR == 1940)  //9K
  111.                                           {
  112.                                                         P2OUT |= BIT3;
  113.                                                         DAU = 3296;
  114.                                           }
  115.                                           if(ADR > 1940 && ADR < 2048) //9-10K
  116.                                           {
  117.                                                         P2OUT |= BIT3;
  118.                                                         DAU = 3696-(10-R)*400;
  119.                                           }
  120.                                           if(ADR == 2048)  //10K
  121.                                           {
  122.                                                         P2OUT |= BIT3;
  123.                                                         DAU = 3696;
  124.                                           }
  125.                                           Awrit(DAU); //DAC输出参考电压
  126.                             }

  127. }
复制代码

完整的Word格式文档51黑下载地址:
2016四川省电子设计大赛电源题LM5117设计方案论文.rar (214.82 KB, 下载次数: 69)
回复

使用道具 举报

ID:508266 发表于 2019-7-20 11:25 | 显示全部楼层
楼主,已经下载文件了,请问,MSP在这个实验中的原理图能给出来么?上面只有三张原理图,没有MSP430的引脚连接
回复

使用道具 举报

ID:508266 发表于 2019-7-20 11:59 | 显示全部楼层
楼主能给一张实物图么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表