http://bbs.kechuang.org/read-kc-tid-9837-page-e.html

摘要:本文介绍了一种性价比高、功能丰富的程控开关电源的设计,对基于LM2576控制核心的升、降压电路设计、切换及恒流输出电路进行了详细介绍。性能测试结果验证了本设计的有效性及实用性。
关键词:开关电源;多功能;LM2576
引言
随着电源技术的飞速发展,开关电源以其功耗小、体积小、重量轻等优点得到了广泛的应用。目前开关电源也正在朝着集成化与多功能化的方向发展。本文以大学生电子设计竞赛为背景,介绍一种性价比高、功能较强的实用开关电源设计方案。
竞赛内容为设计具有单路恒压输出功能的开关电源,输出电压范围为0 ~ 15 V,步进100 mV;输出电流不小于1 A,纹波300 mV以下;调整过程用单片机完成,并提供数字显示功能。扩展要求为:电源具有升压功能:输入为5 V,测量负载电流为1 A时的输出电压;具有延迟输出功能,避免上电冲击;具有掉电记忆功能,存储上次设置的参数。
方案论证及设计
开关电源控制核心模块,包括开关电源控制器和配套的必要外围电路、反馈回路和继电器切换电路。这一模块的作用是完成开关电源最基本的功能,包括降压、升压和恒流等。其中开关电源控制器采用LM2576-ADJ,这是具有可调电压输出的开关电源控制芯片,内置PWM控制电路和驱动管,性价比高。此芯片最大输入电压为37V,输出通过反馈电阻分压,可在1.25V~ 35V范围内调整,输出电流可以达到3A,满足题目设计要求。反馈回路中进行比较、差分放大的电路采用CMOS型集成运放TLC2262,具有功耗低、精度高、满幅输出范围大、线性度好等特点,适合在本设计电路中应用。
单片机控制模块,包括单片机和相应的A/D、D/A转换模块、继电器切换控制模块,以及人机交互接口。这一模块的作用是通过单片机输出的D/A转换信号和继电器切换控制信号,对开关电源核心模块进行控制,从而实现程序控制升压、降压和电路切换的功能。模块中的单片机采用C8051F330D,为增强型51内核单片机,集成了10位ADC和10位DAC,满足设计精度需要。人机交互接口采用CH452L集成数码管显示和键盘控制器,完成数据显示和键盘输入的功能。扩展要求中的参数掉电记忆功能,由串行E2PROM芯片AT24C08完成。
辅助电源模块完成从220V到系统所需各路电源的变压、整流、降压等工作。辅助电源模块通过整流提供两路直流输出,一路给开关电源的核心模块提供输出所需的足够能量,另一路由LM2576和LM1117稳压给单片机和其他控制模块提供控制需要的较低压直流电。
以上描述的总体设计原理见图1。

图1 系统的模块结构和设计原理框图
硬件电路设计
降压型电路原理和设计
采用LM2576构成的降压电路如图2所示,输出电压经R1和R2分压取样后送到减法器的正输入端,负端接VSET。VSET信号是单片机给出的电压信号,输出的取样电压减去D/A转换电压后得到误差信号。再将误差信号加上参考电压(VREF)1.23V,将此结果送到LM2576的反馈端。当输出电压因某种原因下降时,取样电阻分压下降,低于单片机D/A转换信号给出的参考电压,减法器输出小于1.23V,此信号送到LM2576反馈端后,开关信号的占空比增加,电感储能增加,输出电压上升,最终使输出电压保持稳定。此反馈回路的本质仍然是负反馈,并且符合LM2576的使用要求。

图2 降压型(Buck)基本电路
相比于传统的直接反馈,本设计中的反馈回路复杂度较高,这种设计主要是出于以下考虑:首先是便于单片机控制,只要改变D/A转换输出电压,则反馈回路起作用,自动将输出取样电压向D/A转换电压靠近,完成电压调整过程;其次,可以满足设计要求中的零伏输出。若单纯用LM2576的反馈引脚,则手册中给出的参考电路最低输出只能达到1.25V,因此需要将反馈电压“平移”一个VREF参考电压的电平。最后是因为LM2576的反馈端是以1.23V为基准进行比较的:当反馈取样电压大于1.23V时,减小开关的占空比;大于1.23V时,增加占空比。一般的误差电压不会大于1V,因此需要将减法结果再向上“平移”一个VREF的电平。
反馈电阻分压得到的电压还同时送到单片机的DAC,通过D/A转换和尺度换算,得到输出电压值,作为数字量显示输出到数码管上。

升压型电路原理和升降压电路的切换

升压型开关电源的原理

图3是升压型开关电源的原理图。由于存在电感,因此可以做到输出电压大于输入电压。开关管导通时,电流经电感→开关管→接地,二极管截止;开关管截止时,电流被截断,电感放出能量,这时电流经二极管给电容充电并给负载提供电流,实现了升压型电源。

图3 升压型电路原理图
LM2576在电路中所起的作用可以看作是PWM发生器和开关管的集成,因此,虽然LM2576通常用做降压电路,但具有改造成为升压电路的能力。

升降压电路的切换

升压电路和降压电路的连接方式不同,因此无法在同一电路中同时实现升降压。本文采取的办法是用小型继电器切换。
通过受信号控制的切换,开关连接到不同的触点,完成电路连接形式的切换。

切换电路如图4所示,图中四个开关分属两个不同的继电器(双刀双掷)K4和K3,均受单片机控制。通过继电器触点切换,实现升压和降压作用。
要说明的是,图4中没有画出反馈回路。反馈既可以采用经典的取样电压直接反馈的办法,也可以采用前边说明的加入了减法器的改进反馈回路。

在实际的电路设计中采用了带减法器的电路。

图4 电路升降压切换图示
恒流输出电路设计
在上述功能基础上,本设计进一步增加了恒流输出功能,如图5所示。将输出电流在分流器上的压降取出来,并加以放大,得到适当大小的直流电压信号。此信号一方面送到单片机进行A/D转换,一方面送到反馈回路减法器的输入,并与D/A转换输出电压比较。当输出电流增加时,放大器电压增加,通过减法器与参考电压比较后得到的反馈电压增加,LM2576减少开关信号的占空比,电感中储能减少,导致输出电流下降,完成反馈过程。

图5 实现恒流输出的电流-电压转换电路
通过单片机I/O引脚对继电器的控制,实现反馈减法器输入的选择,从而实现电路恒压/恒流的切换控制。

[制作实践]一种基于LM2576的多功能开关电源设计的更多相关文章

  1. 基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则

    目录 系列文章 领域服务 应用服务 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践 ...

  2. 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践

    目录 系列文章 数据传输对象 输入DTO最佳实践 不要在输入DTO中定义不使用的属性 不要重用输入DTO 输入DTO中验证逻辑 输出DTO最佳实践 对象映射 学习帮助 系列文章 基于ABP落地领域驱动 ...

  3. 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则

    目录 系列文章 仓储 仓储的通用原则 仓储中不包含领域逻辑 规约 在实体中使用规约 在仓储中使用规约 组合规约 学习帮助 围绕DDD和ABP Framework两个核心技术,后面还会陆续发布核心构件实 ...

  4. 基于ABP落地领域驱动设计-06.正确区分领域逻辑和应用逻辑

    目录 系列文章 领域逻辑和应用逻辑 多应用层 示例:正确区分应用逻辑和领域逻辑 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落 ...

  5. 基于ABP落地领域驱动设计-00.目录和小结

    <实现领域驱动设计> -- 基于 ABP Framework 实现领域驱动设计实用指南 翻译缘由 自 ABP vNext 1.0 开始学习和使用该框架,被其优雅的设计和实现吸引,适逢 AB ...

  6. atitit.基于http json api 接口设计 最佳实践 总结o7

    atitit.基于http  json  api 接口设计 最佳实践 总结o7 1. 需求:::服务器and android 端接口通讯 2 2. 接口开发的要点 2 2.1. 普通参数 meth,p ...

  7. 26种基于PHP的开源博客系统

    26种基于PHP的开源博客系统 来源:本站原创 PHP学习笔记 以下列举的PHP开源Blog系统中,除了我们熟知的WordPress之外,大多都没有使用过,其中一些已经被淘汰,或者有人还在使用.除了做 ...

  8. 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则

    目录 前言 聚合 聚合和聚合根原则 包含业务原则 单个单元原则 事务边界原则 可序列化原则 聚合和聚合根最佳实践 只通过ID引用其他聚合 用于 EF Core 和 关系型数据库 保持聚合根足够小 聚合 ...

  9. [信安Presentation]一种基于GPU并行计算的MD5密码解密方法

    -------------------paper--------------------- 一种基于GPU并行计算的MD5密码解密方法 0.abstract1.md5算法概述2.md5安全性分析3.基 ...

随机推荐

  1. ASP.NET中的状态保持

    1.ASP.NET中的状态保持解决方案 2.常用的状态报保持方式 view state  ASP.Net的.aspx页面特有,页面级的,就是在页面上的一个隐藏域中保存客户端单独使用的数据的一种方式(b ...

  2. MD5做为文件名。机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧。

    可以采用机器(电脑)唯一码 + 上传IP + 当前时间戳 + GUID ( + 随机数),然后MD5做为文件名.机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能 ...

  3. python RSA加密解密及模拟登录cnblog

    1.公开密钥加密 又称非对称加密,需要一对密钥,一个是私人密钥,另一个则是公开密钥.公钥加密的只能私钥解密,用于加密客户上传数据.私钥加密的数据,公钥可以解密,主要用于数字签名.详细介绍可参见维基百科 ...

  4. JSP基础与提高(一).md

    JSP基础 JSP的由来 1.1. 为什么有JSP规范 Servlet技术产生以后,在使用过程中存在一个很大的问题,即为了表现页面的效果而需要输出大量的HTML标签,这些标签在Servlet中表现为一 ...

  5. java基础10 单例模式之饿汉式和懒汉式单例

    前言: 软件行业中有23中设计模式 单例模式    模版模式    装饰者模式    观察者模式    工厂模式    ........... 单例模式 1. 单例模式包括 1.1 饿汉式单例 1.2 ...

  6. ultra-console

    console.__proto__.styleText = function (option) { if (!option) { console.groupCollapsed('请输入option') ...

  7. 洛谷P1420 最长连号 题解

    题目传送门 这道题我是打暴力的...(尴尬) 所以直接是O(N2)的时间,但好像没有炸,数据很水... #include<bits/stdc++.h> using namespace st ...

  8. Spark 源码解析 : DAGScheduler中的DAG划分与提交

    一.Spark 运行架构 Spark 运行架构如下图: 各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规 ...

  9. socket.io分布式

    socket.io是目前较为流行的web实时推送框架,其基于nodejs语言开发,底层用engine.io实现. 借助nodejs语言异步的特性,其获得了不错的性能.但单个实例的socket.io依然 ...

  10. 【C#】Lamada表达式演变过程

    static void Main() { //第一步 委托实例调用 Func<string, int> test = new Func<string, int>(getLeng ...