APP下载

数字可调直流稳压电源设计

2015-05-30李鹏宋旭日

科技创新与应用 2015年32期

李鹏 宋旭日

摘 要:对所有电子产品而言,电源是其不可缺少的“心脏”。随着电子技术的发展,对电源性能要求越来越高,不仅要求其直流稳定,更对其电压范围的可调与精度有了更高的要求。文章在基于单片机技术基础上设计了一个数字可调直流稳压电源。该电源的硬件电路是由六个单元模块组成,采用单片机AT89C52作为处理计算核心,完成外部调节与控制,实现了输出电压范围数字可调、可扩展的,精度为0.01伏特,并且具有一定负载功能的直流稳压电源的设计,该电源系统具有一定的市场价值与推广价值。

关键词:直流稳压电源;数字可调;STC89C52RC;LM317

1 概述

众所周知,电源是所有电子产品中起着“心脏”作用的关键组成部件,一个“机体”能否正常稳定的工作,“心脏”的好坏起到了至关重要的作用[1]。随着电子技术的发展,人们对电源性能的要求越来越高,不仅要求电源输出直流稳定,更对其输出电压范围的可调性与精度都要求甚高。相对于模拟可调,数字可调更加精确、便捷。故文章设计了一个数字可调直流稳压电源,其具有精度0.01V的步进调制、范围为1.25V-10.00V(可扩展)的直流电压输出、输出误差较小且具有带负载和数码显示功能等特点。

2 总体设计思想及方案

本设计主要采用单片机AT89C52作为处理计算核心[2],完成外部调节与控制。本系统主要由六个单元模块组成,即电源模块、按键模块、单片机最小系统模块、显示模块、线性电阻模块和电压输出模块。其连接原理框图如图1所示。其中电源模块[3]采用7815与7805芯片分别产生15V和5V的电压给其它模块供电。输出模块采用LM317芯片构成,为了满足LM317的工作特性[4],故该系统必须为LM317增设一个输入比较的线性电阻模块。线性电阻模块是由若干个阻值以2的指数倍增长的电阻串联而成,它利用继电器和单片机巧妙地将数字信号与模拟信号融合到一起,即线性电阻模块的输出电阻取决于单片机获取的数字信号,从而可以使系统实现一定范围内任意连续可调的电压输出。由于要对输出电压进行数字调节和显示,因此还要增设按键模块和显示模块。显示模块使用4个数码管对所输出的电压进行显示,而按键模块使用4个按键组成,对单片机产生中断信号,使单片机控制LED数码管显示,并且同时计算,控制线性电阻模块的总电阻输出,由于此阻值决定了电源系统最后的输出电压,从而实现输出电压与显示电压的一致。

3 主要单元模块电路分析与设计

3.1 单片机最小系统模块分析与设计

单片机最小系统在本设计中起到接收按键中断信号,控制数码管显示并处理计算,改变线性电阻的输出阻值等作用。该模块电路是由复位电路、时钟晶振电路、电平上拉电路和单片机芯片AT89C52组成。其中时钟晶振电路使用12MHz的晶振,给单片机提供时钟信号,而复位电路采用的是上电复位电路。AT89C52的P2.0到P2.7和P0.0到P0.3引脚连接在线性电阻模块的12个继电器开关上,P3.0到P3.2加上P1.7引脚连接在按键开关上,P3.3为外部中断1下降沿触发,绑在按键开关公共端,P3.4到P3.7引脚端连接在数码管位码上。

3.2 按键模块分析与设计

按键模块是用4个按键对单片机产生中断信号来控制显示模块显示和线性电阻模块的阻值,以便实现输出电压的数字调节。此模块设置的4个按键,其功能分别为:

KEY1:每按键一次加一,输出电压增加1V;

KEY2:每按键一次加一,输出电压减少0.1V;

KEY3:每按键一次加一,输出电压增加0.01V;

KEY_OUT:按键按一次,确认输出电压,使电阻模块去匹配,使输出与显示值一致。

该按键电路是将一个外部中断拓展成多个[5]。按键开关一端接地,另一端通过二极管与电阻接到Vcc上,二极管1N4007的管压降为0.7V,端口8接到单片机外部中断1上。按键没有按下时端口4、5、6、7均为高电平,8也为高电平;每当按键按下,会将端口4、5、6、7对应接地,电平被拉低,8端口也会被拉低从而产生下降沿进入中断从而改变显示模块和线性电阻模块的值的变化。

3.3 电压输出模块分析与设计

电压输出模块主要采用LM317芯片完成转换输出。由于LM317芯片的输入电压一般要比输出电压高3V(即有3V的压降),所以要求其输入Vin接15V的电压。LM317芯片输出电压取决于ADJ端口(1引脚)与V0端(2引脚)之间的电阻R12和1引脚所接的电阻R1,计算公式如(1)所示。

Vo=1.25*(1+R1/R12)+IADJ*R1 (1)

上式中,由于R12为定值电阻,所以输出电压仅仅决定于R1的大小。由于本设计产生的电压在1.25V到10V之间,当Vo=10V时,根据式(1)计算出R1=(10/1.25-1)*512=3968Ω,由于R1来自线性电阻模块的阻值,所以本系统的线性电阻模块采用12位阻值以2的指数递增的电阻串联,可实现从1Ω到4095Ω之间的任何一阻值的选取,即可使系统得到范围为1.25V到10V之间的任意电压输出。由式(1)还可以得到最小精度为1/512*1.25=0.0024V的调节,这样就可满足最小0.01V的步进调制了。

3.4 线性电阻模块分析与设计

此模块,前人大多使用变阻器调节或者数字模拟开关CD4066进行调节[6],考虑到数字模拟开关存在着较大内阻(大约为50Ω左右)会对线阻总阻值产生较大影响,因此在本设计中,使用继电器来代替数字模拟开关。又考虑到担心单片机的输出电流不够无法驱动继电器导通,于是给继电器添加了一个三极管和一个放电二极管,利用三极管的导通截止特性来加大继电器的驱动电流,以便使单片机可控[7]。也就实现了用数字信号来精确控制模拟电阻总阻值的效果。

每当继电器部分电路接收到单片机传输过来一个高电平时,对应三极管导通,从而使继电器导通,继电器就将其并联的电阻短接,使对应电阻可选择性的接入串行电阻中,从而达到通过数字信号改变电阻总值的目的。例如,获取的数字信号为000101101010B,则对应电阻为28+26+25+23+21=362Ω。

由于继电器导通可认为导线直接连接几乎没有内阻,所以排出了由其内阻影响线阻总阻值的情况。由于此模块中线性电阻采用阻值为1、2、4……2048Ω(阻值以2的指数倍增长)的12个电阻串联而成,根据等比数列的求和公式可得到此模块理论电阻取值范围为1Ω到4095Ω,精度为1Ω。

4 软件程序分析与设计

在软件编程上,采用了中断、延时和数组调用等功能。设定了一个按键为标志位,首先给4个数码管赋予初值,当按键中断信号来了,就可通过循环使LED数码管在不停地扫描显示,只有当按键标志位的中断信号来到时,确认下数码管显示的数值,此时才使单片机内部进入计算阶段,匹配出与之相应的线性电阻的12位二进制代码,并行输出,由于一位二进制数控制一个继电器开关,那么就可得到线阻模块最后与数码管显示匹配的串行输出总阻值;再根据式(1)计算出LM317的输出电压V0,由于IADJ一般在0uA到100uA之内较小,故通常情况下是可以忽略的。但此设计中为了提高精度,不能忽略,因此在程序编写上取个中间值50uA,如此在软件上完成通关按键对显示和电压的控制与调配。

5 系统功能测试分析

5.1 软件仿真测试

使用仿真软件protuse7.10对电路系统进行理论仿真,得到的测试数据如表1所示。

由表1中的测试数据可以看出,该电源系统实现了输出电压在1.25V到10V的调节;由测试数据6和7可以看出,该电源系统还实现了精度为0.01V的电压调节。

测试还得到:把输出电压任意调到5.25V,在其后接一个保护电阻,再继续连接一个绿色LED时,该绿色LED灯能亮,说明该电源系统可以接负载。

5.2 实物电路功能测试

用UT39B型数字万用表测试该电源电路的输出,得到的测试数据如表2所示。

由表2中测试数据可以看出,当测试数据靠近电压范围的两端时误差相对来说较大,但是测试数据越距中间范围时误差越小,几乎为零。究其原因,这与LM317的电压输出计算中的IADJ值有关。IADJ原为变值,而算法中使用的是一个中间值,因此存在这样的波动误差。由于总的平均误差不大,是在误差允许的范围内,所以该电源系统的设计还是成功有效的。

6 结束语

测试结果表明,文中设计的数字可调直流稳压电源的方案相比于市场上其他的方案,更具有控制灵活方便、调节精度细、显示误差小、工作比较稳定等优点,故使用价值更高。当然,该设计也存在功能需要进一步提升的地方,比如如何可以更简便地扩大电压输出范围,算法计算如何更精确来减小显示误差等问题仍需进一步完善。总之,设计高性能的电源是市场所需。

参考文献

[1]周国雄,晏密英.一种输出可调智能开关稳压电源设计[J].微计算机信息,2008,24(34).

[2]赵建领.51系列单片机开发宝典[M].北京:电子工业出版社,2007,1.

[3]陈念军,胡荣强,等.基于单片机控制的输出连续可调开关电源的设计[J].电气应用,2006,25(4).

[4]王港元.电子设计制作基础[M].南昌:江西科学技术出版社,2011,9.

[5]张占松,蔡宣三.开关电源的原理与设计[M].北京:电子工业出版社,2004,9.

[6]李一鸣.基于数字控制的开关电源设计[J].吉首大学学报(自然科学版),2009(6).

[7]郑锋,王巧芝,等.51单片机运用系统典型模块开发大全[M].北京:中国铁道出版社,2013.

[8]蔺鹏,王炜奇.多数字数码管显示驱动设计[J].兰州高等专业专科学校学报,2002.

作者简介:李鹏(1979-),女,汉族,湖北随州人,九江学院,讲师,硕士,研究方向为嵌入式系统。宋旭日(1993-),男,汉族,江西九江人,九江学院2011级电子信息工程专业学生。