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. u-boot界面添加命令[demo]

    目标板:2440 如何在u-boot界面中增加命令 在/common/目录下建立文件,调用执行函数do_bootm就行,然后在修改Makefile,就OK了. 比如在u-boot界面添加命令test ...

  2. Photon3Unity3D.dll 解析三——OperationRequest、OperationResponse

    OperationRequest 代表Operation操作的Request,包含Code和Parameters OperationCode  Byte类型的值,代表操作,由LiteOpCode定义了 ...

  3. MINI_httpd移植,构建小型WEB服务器

    一.简介 目的:构建小型WEB站,具备SSL. mini_httpd is a small HTTP server. Its performance is not great, but for low ...

  4. bitbucket SSH 生成

    在bitbucket设置ssh的方法: 1.运行ssh-keygen. 2.一路enter,直接到结束. 3 seeting 中Bitbucket选择.ssh/id_rsa.pub文件

  5. win7下docker环境centos容器中安装mysql5.7

    docker环境基于镜像skiychan/nginx-php7,进行安装 ps:skiychan/nginx-php7此镜像已封装nginx1.15.3+php7.2.9 1.环境配置 配置共享文件夹 ...

  6. Django学习笔记-2018.11.17

    URL配置: 项目下的urls.py配置的为URL总路径,在使用第二种方法在app下配置的urls.py是在总路径下的分路径 Templates: DTL初步使用 render()函数支持dict类型 ...

  7. 【SQL Server】书签

    书签是什么 不论表是堆结构还是段结构,可以确定的是,表中每一行都是某一页的第N行,这个某一页又是某个数据库文件的第N页,这个某个数据库文件又是构成数据 库的文件组的第N个文件,因此,数据库中的每一行, ...

  8. 20169211《Linux内核原理与分析》第三周作业

    假期中抽时间学习了一下linux内核的启动过程,在此做一下学习总结. Linux启动过程描述: 1.启动BootLoader 2.Linux系统的初始化 3.Linux的应用程序的初始化 通用寄存器的 ...

  9. Wannafly挑战赛7 E - 珂朵莉与GCD

    题目描述 给你一个长为n的序列a m次查询 每次查询一个区间的所有子区间的gcd的和mod1e9+7的结果 输入描述: 第一行两个数n,m之后一行n个数表示a之后m行每行两个数l,r表示查询的区间 输 ...

  10. Python函数系列-迭代器,生成器

    一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不 ...