31
收藏
微博
微信
复制链接

基于单片机的双向DC-DC恒流开关电源设计(程序+PCB+原理图)

提问于
2024-11-28 14:05

本开关电源设计采用STC12C5A60S2单片机发生47KHZ的PWM脉冲信号,经过IR2104控制MOS,从而控制整个BUCK(降压式变换)电路。单片机内部自带的10位ADC能通过电压电流检测电流实时反馈电流和电压数值,并由此调整输出的PWM的占空比,形成电流电压闭环控制系统。按键能设置输出电流从0.2A到2A,以0.01A递增,输出最大10V,液晶能显示实时输出电流与电压。根据测试,满载的供电效率为88%。按键设置的输出电流的误差小于0.01A。

目录
1 前言
1.1课题研究意义
1.2研究现状及存在问题
1.3研究内容和方式
2系统分析
2.1 系统论述
2.2 Buck工作原理
2.3 Buck波形分析
2.4 Buck稳压分析
2.5小结
3硬件设计
3.1总统框架
3.2各部分电路的选择
3.3小结
4软件设计
4.1电压电流双闭环控制算法设计
4.2主程序程序设计
4.3按键子程序设计
4.4  ADC中断程序
4.5  关键程序
5系统测试
5.1实物图片
5.2电压调整率测试
5.3  负载调整率测试
5.4  电路效率测试
6 总结
6.1结论
6.2创新点
6.3存在问题
致谢
参考文献
附录
附  C语言程序源代码

1 前言

1.1课题研究意义

开关电源顾名思义,开关电源便是使用半导体开关器件(如晶体管、场效应管、可控硅闸流管等),经过控制电路,使半导体开关器件不停地“导通”和“关闭”,让半导体开关器件对输入的电压进行脉冲调制,从而完成直流到交流、直流到直流电压变换,和输出电压可调和自动稳压。

开关电源一般有三种工作模式:频率、脉冲宽度固定模式,频率固定、脉冲宽度可变模式,频率、脉冲宽度可变模式。前一种工作模式多用于直流交流逆变电源,或直流/直流电压变换;后面两种工作模式一般用在开关稳压电源。另外,开关电源输出电压也有三种工作式样:直接输出电压的方式、平均值输出电压的方式、幅值输出电压的方式。同样的,前一种工作方式经常用在直流/交流逆变电源,或直流/直流电压变换;后两种工作模式经常用于开关稳压电源[1]。

1.2研究现状及存在问题

近半个世纪以来,国内外学者对开关电源进行了很多的研究,取得了很多的成果。

1.2.1国外研究现状

上个世纪的50年代初,美国宇航局为了搭载火箭,开关电源诞生了,这便是开关电源诞生的起源,此开关电源以小型化、轻巧化为目标。在历史进程中进行了近半个多世纪后,开关电源技术越来越成熟,更因具备了性能稳定、小、发热较低、轻、转换效率高等优点慢慢的在取代了传统电源技术下所制造的不间断工作电源,并在电子设备等各领域有了广泛的应用。最终在80年代,率先完成了大部分电子产品的电源换代,同时也完成了全面开关电源普及化。在到来的20世纪90年代,开关电源更是进入了快速发展的黄金时间,家电、电子设备都得到更广泛的应用。又经历了几十年的努力下,现在的开关电源技术都有了技术性的重大突破与发展。更多新技术的发现与开发将当代开关电源又带上了另一个全新的时期,在高新技术领域的应用更是推动了高新技术产品的发展,其中以其小型化、简便化的特征尤为突出。

1.2.2国内研究现状

国内学者有关开关电源的研究,有以下研究状况:

伴跟着开关电源的诞生,1960年代初期,我国开始对开关稳压电源进行的设计,研制并加以生产。直到60年代中期才开始慢慢地进入了实用的阶段。在对开关电源有了一定认识后,我国在70年代初期便试着开始对无工频降压变换器进行深入研究应用在开关稳压电源上,继而对其进行设计、研制和生产。最终在1974年,我国第一台工频降压变压器式的开关电源被研发出来了,输出电流是5v,工作频率是10KHz。跟着我国开关电源的向前发展,我国许多研究所、工厂等在近十年发展中也纷纷研制出来了无工频降压变换器的开关稳压电源,这种开关电源的工作频率大概在20K左右,输出的功率在1000W以下,但是其型号与用途众多,都投入电子设备、电视机、通信等领域进行广泛的使用。跟着时期的发展,因为我国半导体与工艺跟不上时期的潮流,导致了自己生产与研制的开关稳压电源的关键元器件大部分仍要经过国外进口,导致当代开关电源技术与一些先进国家相比仍存有巨大的差距。

1.2.3目前存在的问题

综上所述,目前国内外学者研究的开关电源普遍存在以下四大方面的问题:

1)多数使用模拟IC控制,控制式样不够智能化;

2)不能显示输入和输出的电流电压状况;

3)多数开关电源为固定输出;

4)可调的开关电源只能通过电位器模拟调整,不能直接得到准确的预设电压。

1.3研究内容和方式

为了设计一种更加智能化的开关电源,必须进行更深入的开关电源机理研究,下文字阐述了具体的研究内容以及研究方法。

1.3.1研究方案

设计出一种基于STC系列51单片机的BUCK型直流降压开关电源是本课题所要研究的主要内容。本系统需要达到的预期目标是:在系统完成后,系统能预置电压,其步进的电压为1V,输出的电压的限度为0V~10V,输出电流为0~1A。同时液晶显示屏上可以显示出所预置的电压,另有实时的输入输出电压,实时的电流,来使得本系统可以让调整速度加快、提升精准度,同时也能使得电压和负载的调整率降低,提升系统的效率,不在附加额外的电源板,最后还可以让输出的纹波变小等。

1.3.2内容安排

1.              首先了解课题研究的意义,和国内国外相关发展动态。

2.              大致的概述设计的开关电源的系统方案。

3.              系统的硬件设计,包括输出电路,直流斩波电路,PWM发生电路,显示电路设计等。

4.              系统的软件设计,对应用的编程软件进行流程图讲解,对所用方式进行概述所。

5.              系统调试与测试,对做好的机开关电源进行调试与数据测试并对结果进行分析。

6.              最后简要的总结本系统设计的工作要点和所得收获。


2系统分析

2.1 系统论述

直流/直流变换是将固有的直流电压转换成可调整的电压,又叫做直流斩波。它有多种拓扑结构,本系统应用的是BUCK(降压式变换电路)型直流/直流,其特征是输出的电压比输出电压低。如图2-1所示。

图2-1 BUCK电路拓扑
2.2 Buck工作原理

当Mos管或者三级管导通很长很长时间后,所有的元器件均处在一种理想状态的情况下,此时电容的电压会等于输入的电压。在这样的条件下,我们使用BUCK变换器的充电和放电这两个阶段来对这个电路进行说明:

2.2.1在电感充电的情况下

当BUCK变压器处于充电的过程时,将开关闭合,此时三级管处于导通的状态,可以用一条导线来替代,替代后的等效图如下。当输入的电压经过电感这时刻,二级管因为反接,所以没起到作用,这里删去。再加上输入的是直流,因此电感发生的电感电流是成比率上升的,具体上升多少与电感的大小有关系,电感相当于一个恒定电流源,起传递能量作用,电容等于恒定电压源,在电路里起到滤波的作用。BUCK变换器充电阶段等效图如图2-2所示。

图2-2  BUCK变换器充电阶段等效图
2.2.2在电感放电的情况下

当BUCK变压器处于放电的过程中,开关管子已经断开,此时的三级管处于截止状态,这里把它拿掉,等效电路图如下。在开关断开的时间里,因为电感的保持电流不变特征,电感上的电感电流不会一下子下降到零,而是把充电完成后所累积的电流值慢慢下降到0。在这个过程中,因为原来的电路已经断开了,因此电感沿着之前的方向,经过二极管D形成一个新的回路的,即流过电容对电容进行充电,从而保证了负载端获得连续的不间断的电流。BUCK变换器放电阶段等效图如图2-3所示。

图2-3  BUCK变换器放电阶段等效图

综上所述,BUCK变换器的升压过程便是电感能量储存和释放的过程。在充电的过程时。电感通过流过它自身的电流不断储存能量,在放电的过程时,假如电容容量足够大,那电容的两端就可以在放电的过程中保持一个持续不间断的电流放电,假如这个通断的过程不断的被重复,那么就可以够让电容两端的电压低输出的电压,从而完成降压的目的。

2.3 Buck波形分析

波形如下所示。

导通时Q电流

闭合时C电流

L的电流和输出电流的关系:


输出电压与输入电压的关系
2.4 Buck稳压分析

本设计采用串连型开关电源,其稳压原理框图如图2-4所示。在MOS管导通的时刻,电感L将流过的电流转换成磁能进行能量储存,电容C将流过电感L的部分电流转换成电荷储存。在MOS管关断的时刻,电感L发生反向电动势,输送给负载R并与续流二极管D组成回路,同时电容C将电荷转换成电流向负载供电。

经过不断导通与关断MOS管,使uo发生脉动电压,经过LC滤波电路使脉动电压转变成较稳定的直流电压Uo输送给负载,输出电压Uo的电压值与MOS管在一个周期内导通的时间成正比。当外部因素使输出电压或电流发生变化时,经过单片机自带的10位ADC实时采集输出的电压和电流,实时调整开关K导通的占空比,从而组成闭环电压控制电路,使输出电压能达到稳定。

图2-4开关电源模块稳压原理
2.4.1  LC滤波电路参数推导
采用输入电压25V,输出电压最大为10V,根据推导公式如式(2-1)所示:此中Ton为PWM一个周期内导通时间、Ui为输入电压、Uo为输出电压、Ud为肖特基二极管的电压降(约等于0.6V)、Io为一个直流/直流模块的输出电流。
                   (2-1)
PWM的占空比为D:
                                   (2-2)
代入数据后得到
                                       (2-3)
              一般而言,开关电源的频率越高,电感的感量可以越小,效率也可以越高。此单片机能输出的PWM最高频率为47KHZ,所以本设计选择让单片机输出47KHZ的PWM。那么f=47Khz导通时间Ton为
               (2-4)
电感量L为:
                                (2-5)
因此将各参数代入式(2-5)得式(2-6):
          (2-6)
              计算得到32uH电感,这里采用5倍以上余量,采用150uH的电感,可降低电感温度。另外本设计采用铜线和磁芯做成的电感以增大电感的储能能量提升供电的效率。
              按照串连型开关电源的电容推导公式如式(2-7)所示,此中C为电容容量、Io为一个模块个输出电压、△Up-p为输出纹波电压,T为PWM一个周期的时间。
                             (2-7)
              输出电压最大为10V,我们设定纹波电压为0.1V,将各参数代入式(2-7)得式(2-8)结果:
                       (2-8)
              本设计采用2个1000的电容,达到降低纹波电压的目的。
2.5小结

综合以上的分析论证,本单片机的开关电源设计采用BCUK拓扑,经过原理分析和认证,最终推导选择了合适的电容和电感。


3硬件设计
31总统框架

基于单片机的开关电源设计,由STC单片机、变压器,整流滤波电路,BUCK主回路、降压稳压电路、按键电路、液晶电路、电压检测电路、电流检测电路等组成。总体设计框图如3-1图所示。下面分别论证这些方面的详细方案选择。


图3-1总体设计构架图
32各部分电路的选择
3.2.1  单片机

STC12C5A60S2单片机,在指令代码的方面可以完全兼容传统8051,同时它的速度比传统的8051单片机要快8-12倍,体现了其高速度的一面。这系列单片机其里面有专用的集成复位电路,另有8路高速的10位ADC转换,同时还兼有2路的PWM等,它的功能之强大远超传统的8051系列。

图3-2 STC12C5A60S2单片机实物图
3.2.2  IR2104半桥驱动电路


IR2104是一种高性能的半桥驱动芯片,该芯片内部是采用被动式泵荷升压原理。上电时,电源流过快恢复二极管D向电容C充电,C上的端电压很快升至接近Vcc,这时假如下管导通,C负级被拉低,形成充电回路,会很快充电至接近Vcc,当PWM波形翻转时,芯片输出反向电平,下管截止,上管导通,C负极电位被抬高到接近电源电压,水涨船高,C正极电位这时已超过Vcc电源电压。因有D的存在,该电压不会向电源倒流,C此时开始向芯片里面的高压侧悬浮驱动电路供电,C上的端电压被充至高于电源高压的Vcc,只要上下管一直轮流导通和截止,C就会不断向高压侧悬浮驱动电路供电,使上管打开的时刻,高压侧悬浮驱动电路电压一直大于上管的S极。采用该芯片降低了整体电路的设计难道,只要电容C选择恰当,该电路运行稳定。IR2104应用电路图如3-3所示。

图3-3 IR2104应用电路图
3.2.3  电路供电电源的选择

线性降压芯片7805。这个稳压IC需要的外围元件很少,IC内部还有过流、过热及调整管的保护措施,不但价廉且输出电压很稳定。78系列的稳压集成块要考虑输出与输入压差带来的功率损耗,所以一般输入输出之间压差要大于2V。其应用电路图如图3-4所示。

图3-4  7805应用电路
3.2.4  电流检测电路

方案一:霍尔电流传感器。电流流过霍尔传感器的线圈发生磁场,磁场随电流的大小变化而变化,磁场汇集在磁环内,霍尔元件输出跟着磁场变化的电压信号。经过检测电压值,能得到电流的大小。

方案二:电阻分压检测电路。经过在输出回路中串连采样电阻,将经过电阻的电流转换成两端的电压,经过检测电压值从而获得电流值。该检测方式电路和程序控制都比较简洁。

要完成对输出电压和电流的闭环控制,务必对输出电流和电压进行采样反馈。本设计采用如下图所示的电流电压检测电路。为了便于MCU采集,分压电阻发生的电压经过由LM358组成的同相比例放大器放大后,输入到MCU的ADC端口。

LM358内部集成的是双运放,单电源和双电源都能使其工作。

图3-5 Lm358引脚图及引脚功能
要完成对输出电压和电流的闭环控制,务必对输出电流经过运放放大后进行采样反馈。本设计采用如图3-6所示的电流检测电路。

图3-6 电流检测电路

输出最大电流为2A。本设计采用电阻分压的式样对输出的电压进行实时检测,因为采样电压直接输送给单片机10位ADC进行检测,单片机供电电源为5V,所以其内部自带的检测的最高电压也为5V, 这个电路中,LM358由5V电压供电,最大输出电压和供电电源电压之前有1.2V压差,所以能输出最大电压为:

                    (3-1)
2A电流经过0.02Ω电阻得到的电压为
                    (3-2)
该电压要经过放大后才能更容易被单片机检测到,在这个应用中运放的放大倍数应该小于
                       (3-3)
这里选择R12和R10为33K和1K,放大倍数为
                       (3-4)
因为> , 符合设计要求。
即当电流为2A时,运放输出电压为:
                    (3-5)
3.2.5  电压检测电路
输入电压最大为10V,而单片机的采样电压最高位5V,故电压采样电阻比例应该小于
                           (3-6)
这里取R1和R5是47K 和10K,
                       (3-7)
因为1<2,所以满足条件。
当10V输出时,单片机检测到的电压是,
                    (3-8)
电压分压检测电路如图3-7所示。
图3-7 电压检测电路
3.2.6  按键电路

目前单按键这种模式的键盘使用方便,响应的快并且接口还简洁。综合以上本系统采用的是非编码式键盘。本系统设计应用了3 个按键,按照软件来定义它的功能,键盘与单片机的P2.3、P2.2、P2.1键盘是若干按键的集合,是向系统提供操作人员干预命令的接口设备。

S1为开关按键,按一下即有输出,按第二下即输出停止,如此循环

S2为输出电流增加。

S3为输出电压减少。

如图3-8所示

                       
图3-8 按键电路
3.2.7  液晶显示模块

系统采样1602液晶显示。液晶驱动电流较小,能显示较大信息量,无需增外设电路。

能显示多行数据,方便用户进行更多的操作。

能显示输入输出的实时电压,输出的实时电流,预设的输出电压。如图3-9所示

图3-9 1602液晶显示
33小结

综上所述,本开关电源设计采用STC12C5A60S2单片机发生47KHZ的PWM脉冲信号,经过IR2104控制MOS,从而控制整个BUCK(降压式变换)电路。单片机内部自带的10位ADC能通过电压电流检测电流实时反馈电流和电压数值,并由此调整输出的PWM的占空比,形成电流电压闭环控制系统。按键能设置输出电流从0.2A到2A,以0.01A递增,输出最大10V,液晶能显示实时输出电流与电压。总体电路图如3-10所示。

图3-10 总体电路图

4软件设计

51的语言主要有汇编和C两种。汇编虽然运行快,但是编程繁琐,移植性差;C具备良好的可读性和移植性。本系统采用C语言编写程序,Keil C51作为集成开发环境。

41电压电流双闭环控制算法设计
              由于题目要求输出电压在10V以内,输出电流应该在0.2~2A以内,所以应该具有如下C-V曲线特性,在电流和电压的双闭环控制中。
使得输出电流在2A范围内,电压在10V范围内;
控制模式如下:

电流
电压
PWM
条件
>2A
>10V
++
<=10V
--
<=2A
>10V
--
<=10V
--

收藏 13 0 31
粉丝
0
关注
0
主题
2
先谢大佬,认真看看学习
0

回答于 · 2024-11-29 23:23

粉丝
0
关注
0
主题
4
之前在proteus里仿真过buck电路,电压出来的数值怎么都不对。过来观摩一下楼主是怎么做的。
0

回答于 · 2024-11-30 20:10

粉丝
0
关注
0
主题
3
感谢大佬,跑来观摩
0

回答于 · 2024-11-30 20:39

粉丝
0
关注
0
主题
2
大佬,这个怎么下载?
0

回答于 · 2024-12-01 00:24

粉丝
0
关注
0
主题
9
大佬!这个电路是拓扑结构的
0

回答于 · 2024-12-01 01:58

粉丝
1
关注
0
主题
3
谢谢分享!
0

回答于 · 2024-12-01 03:28

粉丝
0
关注
0
主题
5
感谢大佬
0

回答于 · 2024-12-01 06:06

粉丝
0
关注
0
主题
6
厉害,学习了
0

回答于 · 2024-12-01 08:52

粉丝
0
关注
0
主题
5
好东西收藏了 ,谢谢分享
0

回答于 · 2024-12-01 10:23

粉丝
0
关注
0
主题
3
谢谢楼主我下载了,
0

回答于 · 2024-12-01 14:36