直流稳压电源及漏电保护1.docx
《直流稳压电源及漏电保护1.docx》由会员分享,可在线阅读,更多相关《直流稳压电源及漏电保护1.docx(18页珍藏版)》请在冰豆网上搜索。
直流稳压电源及漏电保护1
2013年全国大学生电子设计竞赛
直流稳压电源及漏电保护装置(L题)
直流稳压电源及漏电保护装置
摘要:
本设计由PMOS功率管IRF4905做调整管,TL431芯片提供2.5V基准电压;低功耗、低电压、运算放大器LM339对输入电压与基准电压比较放大共同构成低压差线性稳压器。
其中使用单片机STC89C52RC控制PCF8591对电源输出电压进行采样,计算功率并显示在液晶屏上;漏电保护装置选用精密电阻并与负载并联,采集其电压,计算漏电流是否达到30mA,通过单片机控制实现漏电保护与复位功能。
关键词:
STC89C52RC,A/D转换,液晶显示
目录
摘要1
一、系统设计3
1.1设计任务3
1.2设计要求3
1.3方案设计及论证3
1.3.1直流稳压电源方案选择3
1.3.2控制器MCU方案选择4
1.3.3漏电保护装置方案设计4
二、系统理论分析与计算5
2.1稳压电源分析计算5
(1)5V主电路设计5
(2)2.5V基准电压设计6
2.2.漏电检测分析计算7
三、电路与程序设计8
3.1硬件电路设计8
(1)线性稳压电源电路设计8
(2)漏电保护装置电路设计8
(3)单片机最小系统9
3.2程序设计11
(1)稳压电源程序流程图11
(2)漏电保护装置程序流程图11
(3)测试数据软件修正流程11
四、测试方案与测试结果12
4.1测试方法与仪器12
4.2测试数据完整性12
4.3.测量结果分析14
五、总结15
六、参考资料16
附录一电路原理图17
附录二系统部分主要源程序17
一、系统设计
1.1设计任务
设计并制作一台线性直流稳压电源和一个漏电保护装置,电路连接如图L-1所示。
图中RL为负载电阻、R为漏电电流调整电阻、A为漏电流显示电流表、S为转换开关、K为漏电保护电路复位按钮。
图L1-1电路连接图
1.2设计要求
设计一台额定输出电压为5V,额定输出电流为1A的直流稳压电源。
(1)转换开关S接1端,RL阻值固定为5Ω。
当直流输入电压在7~25V变化时,要求输出电压为5±0.05V,电压调整率Su≤1%。
(2)连接方式不变,RL阻值固定为5Ω。
当直流输入电压在5.5~7V变化时,要求输出电压为5±0.05V。
(3)连接方式不变,直流输入电压固定在7V,当直流稳压电源输出电流从1A减小到0.01A,要求负载调整率SL≤1%。
(4)制作一个功率测量与现实电路,实时显示稳压电源的输出功率。
1.3方案设计及论证
根据赛题的要求和给出的系统电路连接示意图,该装置包括直流稳压电源和漏电保护装置两部分。
1.3.1直流稳压电源方案选择
方案1:
采用单片机或者UC3842产生PWM控制信号,控制开关管,再通过电感、电容滤波,实现直流稳压电源的设计。
但该方案不符合题目要求的设计一个线性直流稳压电源,故不采用。
方案2:
直接采用LM7805三段稳压器。
LM7805能提供DC5V的输出电压,应用范围广,內含过流和过载保护电路。
带散热片时能持续提供1A的电流。
但LM7805产生的直流5V电源很难保证电压调整率和负载调整率的要求。
故该方案也不采用。
方案3:
采用电压串联负反馈线性直流稳压电源设计方案。
采用大功率场效应管IRF4905作为主要控制器件,利用TL431产生2.5V电压基准,然后将输出电压采样反馈,并与基准比较,比较器输出控制场效应管,制作线性稳压电源,根据IRF4905的参数,最大道统电阻为175mΩ,根据题意,最大负载电流为1A时,最大压差为175mV,完全满足输入输出最小压差为0.5V的指标要求,其他的技术参数,如功耗、最大电流等也都满足题目设计要求。
该方案原理简单,电路经典,能很好地满足题目的各项设计指标要求。
经综合比较,决定采用方案3。
1.3.2控制器MCU方案选择
根据题目要求,要设计功率测量和显示电路,因此得采用MCU配合A/D转换器来完成测量及显示。
方案:
采用STC89C52RC配合8位PCF8951来完成采样及测量,显示用LCD12864实现,整个系统简单灵活,便于实现。
1.3.3漏电保护装置方案设计
漏电保护装置主要有三个基本组成部分,即信号检测、信号处理和执行机构。
根据题目要求,要实现漏电电流的检测,必须检测电源正极线路上的电流和电源负极线路上的电流,计算两个电流的差值,即为漏电电流。
因此在该保护装置的电源正极线路和负极线路上分别串联0.1Ω电阻,用作两个线路上的电流测量。
将信号采样后分别送到查分放大电路和同相放大电路进行放大然后送入PCF8951进行A/D转换,最后计算出实时电路漏电流和设定好的保护阀值比较,超出则控制继电器切断电源,实现保护。
如图L-1-2所示。
图L1-2漏电保护装置框图
二、系统理论分析与计算
2.1稳压电源分析计算
(1)5V主电路设计
如图L-1-2所示,采用串联稳压电路设计,根据题意,要求输入电压i在5.5~25V之间连续调节时,输出电压U0能稳定在5V,并且输出电流能达到1A,因此采用PMOS管IRF4905作为电压调整管。
电路的工作原理是:
在电路上电过程中,误差运放的同相端经由取样电阻R1、R2对输出电压U0采样,再与2.5V基准电压(UREF)比较后输出放大信号,控制调整PMOS管的栅极电压,使输出电压U0保持稳定,即:
U0=UREF(1+R1/R2)
图L2-1主电路设计框图
调整管功耗:
根据题目要求,输入电压在5.5~25V范围内,要能够输出可靠电压5V,最大电流1A。
因此,当最大输入25V电压时,场效应管上将有20V的电压。
管子上将要承受的功耗
负载调整能力和电压调整能力:
负载调整能力指当输出电流变化时,输出电压维持一定值的能力,定义为:
△UO/△IO,
它表征了负载变化而稳压器维持输出在标称值上的能力,该值越小越好。
电压调整能力指当输入电压变化时,输出电压维持一定值的能力,定义为:
△UO/△Ii,它表征了输入电压变化而稳压器维持输出在标称值上的能力,该值也是越小越好。
对如图L-1-2设计的串联稳压电路,其负载调整能力和电压调整能力分别为:
其中gm为调整管的跨导;Aod为误差放大器的开环差模增益;Rds为调整管源漏间的等效电阻;RL为负载电阻;R1、R2为取样电阻。
由上式可见,减小△UO/△IO和△UO/△Ui的关键是尽可能增大gm和Aod。
调整管的选择:
查阅PMOS场效应管IRF4905的主要参数如下:
漏极电流:
Id最大值:
74A
电压:
Uds最大:
55V
功耗:
200W
晶体管类型:
P沟道MOSFET
电流:
Id连续:
74A
电流:
Idm脉冲:
260A
由此,IRF4905的功耗和电流都完全满足本设计要求,因此确定由IRF4905作为稳压电源的核心器件。
(2)2.5V基准电压设计
TL431是一个有良好的热稳定性能的三端可调基准电压源。
它的内部有一个精准的2.5V电压基准,输出电压用两个电阻就可以任意的设置从Uref(2.5V)到36V范围内的任何值。
本设计中利用TL431内部2.5V电压基准,采用图L2-2接法,实现2.5V基准电压输出。
图中电阻为限流电阻,为了更好地在全范围稳定输出2.5V基准,要保证流过TL431的电流达到毫安级,根据TL431的文档资料参数,TL431最大工作电流可达到150mA,但考虑到尽量降低系统功耗,根据输入电压变化范围在5.5~25V的要求,使TL431的最低工作电流不小于3mA即可,因此限流电阻的阻值为:
R=(5.5V-2.5V)/3mA=1K
故选取1K
阻值的限流电阻。
图L2-2TL431产生2.5V基准电压
2.2.漏电检测分析计算
要实现漏电电流的检测,必须检测电源正、负极线路上的电流,计算两个电流的差值,即为漏电电流。
检测电源正、负极线路上的电流时,要在电源正极线路和负极线路上分别串联一个小电阻进行采样。
考虑到题目要求输入5V,输出不小于4.6V能够输出1A电流,漏电保护装置内部线路上的电压不能超过0.4V。
采样电阻总阻值计算:
R=0.4/1A=0.4
正、负极线路上的采样电阻应不大于0.4
/2=0.2
。
考虑到实际电路中的电路连接线缆的阻值及测量误差等其他因素的影响,给出一定的设计余量,故选取采样电阻阻值为0.1
。
采样电阻确定为0.1
,最大负载为1A电流,则在采样电阻上采样的电压为0.1V,由于采用的是MSP430内部的A/D转换器,参考电压为3.3V,考虑到电路的漂移及一些干扰信号的存在,故确定将最大信号放大到3V左右,因此确定电路的放大倍数AV=3V/0.1V=30倍。
选取合适的电阻(10K
和300K
)实现。
三、电路与程序设计
对于一个世纪的单片机应用系统来说,需要从硬件和软件两方面考虑进行设计。
3.1硬件电路设计
(1)线性稳压电源电路设计
线性稳压电源主电路设计
线性稳压电源主电路如图L3-1所示。
图L3-1线性稳压电源电路图
功率测量
功率测量时分别检测线性稳压电源输出端的电压和电流,电压直接用A/D转换,电流用串联的0.1Ω电阻采样,再利用差分放大器放大后传送给A/D转换,最后将测量出来的电压和电流通过P=UI计算出功率并显示出来。
(2)漏电保护装置电路设计
PCF8951A/D转换及继电器控制电路。
利用PCF8951A/D转换器,将信号采样处理电路送来的信号进行A/D转换,获得相应的电压值,即可计算出电流值和功率。
L3-2漏电保护装置电路原理图
(2)单片机最小系统
时钟电路
时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。
单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在STC89C51RC单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。
在STC89C51RC芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。
STC89C51RC的时钟电路如图所示:
图L3-3STC89C51RC的时钟电路
用晶振和电容构成谐振电路。
电容C1、C2容量在15~40pF之间,大小与晶振频率和工作电压有关。
但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本系统采用30pF的电容作为微调电容。
在设计电路时,晶振、电容等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。
复位电路
复位是单片机的初始化操作,其主要功能是使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境也需按复位键以重新启动。
STC89C51RC芯片内部有复位电路,RST引脚是复位信号的输入端高电平有效,复位方式有自动复位和手动复位两种。
本单片机系统采用手动复位方式复位。
STC89C51RC的复位电路如图所示,图中S按键是手动复位按键,输出RST接单片机的9脚(RST):
图L3-4STC89C51RC的复位电路
LCD显示电路
在整个系统中,为了能够更好的显示出测得的结果,使显示界面更突出人性化,所以我们选择的是LCD12864作为显示屏。
LCD12864的显示功能相对来说比较齐全,它不仅能够显示字母和汉字,而且可以显示图片、图形。
在这个系统中要求随着电位器阻值随旋转角度的变化在显示装置中显示电位器阻值随旋转角度变化的曲线,而12864的功能完全能够满足题目的要求,所以在选择显示器时我们首先选择的就是LCD12864。
如图所示,是LCD12864在电路中的连接图。
图L3-5LCD12864在电路中的连接图
在电路设计中,由于单片机的I/O有限制,所以在液晶显示时,我们采用的是串口显示,图中PSB端口是单片机串口的输出端。
3.2程序设计
(1)稳压电源程序流程图
稳压电源部分主要的编程任务就是实时测量并显示电环的输出功率,即要实时测量稳压电源的输出电压和电流。
程序流程如图L3-6所示。
(2)漏电保护装置程序流程图
漏电保护装置主要是实时监测线路是否存在有不小于30mA的漏电电流。
主要的检测原理是分别实时监测电源正极线路上的电流和电源负极线路上的电流,再比较两个电流的差值,如果差值大于30mA,则控制继电器吸合,切断电源电压,同时程序进入循环等待,直到有复位按键按下为止。
程序流程图如图L3-7所示。
(3)测试数据软件修正流程
在调试过程中,由于A/D转换、信号放大电路等各个硬件环节自身的零点误差以及线性度不理想,为了达到在0~1A负载条件下漏电电流30mA±5%的检测要求,因此测量到的数据只有通过软件修正才能达到比较高的准确度,实现所要求的指标。
软件修正流程图如图L3-8所示。
图L3-6图L3-7图L3-8
四、测试方案与测试结果
4.1测试方法与仪器
本设计主要测试指标为电压调整率vhe电流调整率以及漏电保护装置的动作电流的精度。
电流调整率的测量是由于负载的变化而引起稳压电源输出电压变化比率的测量。
电压调整率的测量是由于输入直流电压的变化而引起稳压电源输出电压变化比率的测量。
测量时的仪器连接图如图L4-1所示。
图L4-1稳压电源测量时仪器连接图
4.2测试数据完整性
当直流输入电压在7~25V变化时,测量的结果如表L4-1~L4-3所示。
表L4-1
输入电压/V
7
8
9
10
11
12
稳压值/V
5.00
5.00
5.00
5.00
5.00
5.00
表L4-2
输入电压/V
13
14
15
16
17
18
稳压值/V
5.00
5.00
5.00
5.00
5.00
5.01
表L4-3
输入电压/V
19
21
22
23
24
25
稳压值/V
5.01
5.01
5.01
5.02
5.02
5.03
当直流输入电压在5.5~7V变化时,测量的结果如表L4-4~L4-6所示。
表L4-4
输入电压/V
5.5
5.6
5.7
5.8
5.9
6.0
稳压值/V
4.98
4.98
4.98
4.98
4.98
4.98
表L4-5
输入电压/V
6.1
6.2
6.3
6.4
6.5
6.6
稳压值/V
4.98
4.98
4.98
4.99
4.99
4.99
表L4-6
输入电压/V
6.7
6.8
6.9
7
稳压值/V
4.99
5.00
5.00
5.00
连接方式不变,将输入电压固定在7V,当直流稳压电源输出电流由1A减小到0.01A时,测量的结果如表L4-7~L4-9所示。
表L4-7
输入电压/V
1
0.95
0.90
0.85
0.80
0.75
稳压值/V
5.00
5.00
5.00
5.00
5.00
5.00
表L4-8
输入电压/V
0.65
0.60
0.50
0.45
0.40
0.30
稳压值/V
5.00
5.00
5.00
5.00
5.00
5.01
表L4-9
输入电压/V
0.25
0.15
0.10
0.05
0.02
0.01
稳压值/V
5.01
5.01
5.02
5.02
5.02
5.02
如图L4-1所示,按题目要求,当开关S接2端,将RL阻值固定为20Ω,R和电流表A组成模拟漏电支路。
调节R,漏电电流从0往大慢慢变化。
测量动作的漏电电流值稳定在30mA±1mA。
改变负载从空载到1A负载,本装置都能够在漏电流达到30mA±1mA时准确跳闸,指标完全满足赛题要求。
4.3.测量结果分析
从表L4-1~L4-3数据分析,当电压在7~25V之间变化时,电压基本稳定在5V左右,且满足5±0.05V。
电压调整率Su=(5.02-5.00)/5*100%=0.4%,满足题目不大于1%的要求。
从表L4-4~L4-6数据分析,当电压在5.5~7V之间变化时,电压基本稳定在4.99V左右,输出满足5
0.05V的要求。
从表L4-7~L4-9数据分析,当把输入电压固定在7V时,改变负载,测量电压数值。
当负载从5
变化到500
时,电压基本上稳定在5.01V左右。
此时的负载调整率:
SL=(5.02-5.00)/5
100%=0.4%,满足题目不大于1%的要求。
从漏电测试结果观察分析,当漏电动作电流小于28mA时,漏电保护装置不动作,且此时RL两端电压稳定在4.9V,满足题目输出电压不小于4.6V的要求。
当漏电动作电流达到30mA
1mA时,漏电保护装置动作,继电器吸合,且此时RL两端电压降到0V,满足题目要求。
5、总结
本设计主要特色在于方案经典,简单、可靠,易于实现。
之所以能够在性能指标等各方面都能满足赛题要求,一方面是利用印制电路板制作,工艺美观,可靠性高;另一方面是在程序设计的逻辑性及软件修正测量值、数字滤波等方面做了很多的优化,得到了较好的效果。
و
6、参考资料
[1]田良,王尧,黄正瑾,等.综合电子设计与实践.南京:
东南大学出版社.
[2]陈永真,陈之勃,等.全国大学生电子设计竞赛硬件电路设计精解.电子工业出版社.
[3]施保华,赵娟,田裕康,等.MSP430单片机入门与提高:
全国大学生电子设计竞赛实训教程.华中科技大学出版社.
[4]童诗白,华成英,等.模拟电子技术基础.北京:
高等教育出版社.
[5]胡仁杰,堵国樑,等.全国大学生电子设计竞赛优秀作品设计报告选编(2013年江苏赛区).东南大学出版社.
附录一电路原理图
附录二系统部分主要源程序
#include"config.h"
#include"i2c.h"
#include"lcd12864.h"
#include"pcf8591.h"
#include"key.h"
bitflag300ms=1;
unsignedcharT0RH=0;
unsignedcharT0RL=0;
voidConfigTimer0(unsignedintms);
voidEcToString(unsignedchar*str,unsignedintval,unsignedchardir);
voidmain()
{
unsignedintval;
unsignedintecbuf;
unsignedintW;
unsignedintlouec;
floatec;
unsignedcharstr[10];
unsignedcharkey1;
EA=1;
OUTPUT=1;
ConfigTimer0
(1);
InitLcd12864();
LcdShowString(0,0,"电压:
");
LcdShowString(0,16,"电流:
");
LcdShowString(0,32,"功率:
");
LcdShowString(0,48,"漏电流:
");
while
(1)
{
key1=KeyDriver();
if(flag300ms)
{
flag300ms=0;
val=GetADCValue(0);
val=ValueToString(str,val);
LcdShowString(48,0,str);
ec=val/5;
ecbuf=(unsignedint)ec;
EcToString(str,ecbuf,1);
LcdShowString(48,16,str);
W=val*ecbuf;
W/=100;
EcToString(str,W,0);
LcdShowString(48,32,str);
louec=GetADCValue
(1);
louec=ValueToString(str,louec);
if(louec>=300)
{
OUTPUT=0;//切断
}
elseif((louec<300)&&(key1==0))
{
OUTPUT=1;//导通
}
louec/=100;
str[0]=(louec/100)+'0';
str[1]='.';
str[2]=(louec/10)+'0';
str[3]=(louec/1)+'0';
str[4]='A';
str[5]='\0';
LcdShowString(70,48,str);
}
}
}
voidEcToString(unsignedchar*str,unsignedintval,unsignedchardir)
{
str[0]=(val/100)+'0';
str[1]='.';
str[2]=(val/10%10)+'0';
str[3]=(val%10)+'0';
if(dir)str[4]='A';
elsestr[4]='W';
str[5]='\0';
}
voidConfigTimer0(unsignedintms)
{
unsignedlongtemp;
temp=11059200/12;
temp=(ms*temp)/1000;
temp=65536-temp;
T0RH=(unsignedchar)(temp>>8);
T0RL=(unsignedchar)(temp);
TMOD&=0xF0;
TMOD|=0x01;
TH0=T0RH;
TL0=T0RL;
ET0=1;
TR0=1;
}
voidInterruptTimer0()interrupt1
{
staticunsignedinttmr=0;
TH0=T0RH;
TL0=T0RL;
Keyscan();
tmr++;
if(tmr>=300)
{
tmr=0;
flag300ms=1;
}
}