数控直流稳压电源最新Word文档下载推荐.docx
《数控直流稳压电源最新Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数控直流稳压电源最新Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。
稳压电路的输出电压为:
Uz
图3采用差动放大电路的稳压电路
由上式可知输出电压与基准电压为线性关系,当改变Uz的大小,则输出电压也将发生变化。
如果此基准电压是一个数控基准电压,则此稳压电路就可以构成一个数控的稳压电源。
数控基准电压源的原理框图如图3所示。
图4数控基准电压源原
三、单元电路设计参考
(1)稳压电路
串联型稳压电路参见图2,其中调整管是核心元件,它的安全工作是电路正常工作的保证,它的选用主要考虑其极限参数ICM,U(BR)CEO和PCM。
调整管极限参数的确定,必须考虑到输入电压UI由于电网电压波动而产生的变化,以及输出电压的调节和负载电流的变化所产生的影响。
由图可知,调整管的发射极电流IE等于采样电阻R1中电流和负载电流IL之和,即IE=IR1+IL,调整管的管压降UCE等于输入电压UI与输出电压UO之差,即UCE=UI-UO。
显然,当负载电流最大时,流过调整管发射极的电流最大,即IEmax=IR1+Ilmax。
通常,R1电阻上电流可以忽略,且IEmax≈ICmax,所以调整管集电极最大电流为:
ICmax≈IEmax
(2)当电网电压最高,即输入电压最高同时输出电压最低时,调整管承受的管压降最大,即UCEmax=UImax-UOmin
(3)当晶体管的集电极电流最大,且调整管承受的管压降最大时,调整管的功率最大,即Pcmax=ICmaxUCEmax
(4)由以上几式即可确定调整管的极限参数。
实际选用时,还要考虑留一定的余量。
(5)电路设计的参数计算:
图中输出电压关系为:
=12+1.5+1=14.5V
取
取1.2
取43
取560
放大倍数为6倍,取
采样电阻取值:
要满足最大采样电压不超过2.4V避免烧坏单片机ADC0口
所以取值:
额定电流下(500mA)负载是R=
C=133
取100
具体电阻视实验室提供的大小进行调整!
四、稳压电源主要性能指标
直流电源的技术指标分为两种:
一种是特性指标,包括允许输入电压、输出电压、输出电流及输出电压调节范围等;
另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数(或电压调整率)、输出电阻(或电流调整率)、纹波电压及温度系数等。
稳压电源主要性能指标测试。
1、输出电压范围
在额定负载情况下,稳压电源输出电压可调范围。
2、输出最大电流
最大输出电流是指稳压电源正常工作的情况下能输出的最大电流,用Iomax表示。
一般情况下的工作电流Io<Iomax,稳压电路内部应有保护电路,以防止Io>Iomax或者输出端与地短路时损坏稳压器。
图5稳压电源性能指标测试电路
3、纹波电压
叠加在输出电压上的交流电压分量。
用示波器观测其峰峰值一般为毫伏量级。
也可用交流毫伏表测量其有效值,但因纹波不是正弦波,所以有一定的误差,一般直流电源的纹波电压VP-P≤10mV。
4、电压调整率
当输出电流和环境温度保持不变时,只考虑由于输入电压改变Ui所引起输出电压的变化量Uo与输出电压Uo的百分比,即
(5)
5、电流调整率
当输入电压和环境温度保持不变时,改变输出电流所引起输出电压的变化量Uo与输出电压Uo的百分比,即
(6)
该参数用于考核器件对应于负载变化而维持输出电压不变的能力。
6、输出最大电流
图15稳压电源性能指标测试电路
测试数据:
输入9V下降5%,即8.55V时,最大输出电流为594mA;
输入12V下降5%,即11.4V时,最大输出电流为598mA;
所以有上述数据得到:
最大输出电流小于600mA。
7、纹波电压
也可用交流毫伏表测量其有效值,但因纹波不是正弦波,所以有一定的误差,一般直流电源的纹波电压。
输入6.0V,输出电流501mA时,示波器的波动电压为Vp-p=8mV
小于实验要求(10mV),所以达到实验要求。
五过流保护电路(硬件保护)
为了使电路安全工作,一般需要加入过流保护电路。
当调整管输出电压不变时,负载电阻RL变小输出电流就变大,极限情形负载电阻短路。
输出电流变大,图6中的电阻R上压降增大,使得Q2的ICE电流增大,从而流向调整管基极电流变少,从而限制了输出电流的增大。
极限情形当UR超过VBE时,三极管Q2饱和导通,调整管无电流输出。
图6过流保护电路图
相关计算如下:
(14)
根据实验室已有电阻,取R=1.2Ω
六、实验数据测量与记录
相对误差=|设定电压-实测电压|/实测电压
当输入电压为17V时的测量数据:
最大输出电流(mA)
设定电压(V)
数码管显示电压(V)
高精度万用表测量电压(V)
相对误差(设定电压与实测电压的误差)
504
6.00
6.07
5.91
1.52%
502
6.10
6.15
6.06
0.66%
507
6.20
6.22
0.81%
497
6.30
6.28
6.26
0.64%
503
6.40
6.45
6.41
0.16%
506
6.50
6.53
6.49
0.15%
7.00
6.97
6.98
0.28%
499
8.50
8.44
8.59
1.05%
501
9.00
8.98
9.09
0.99%
10.50
10.56
10.68
1.69%
11.00
11.05
11.08
0.72%
12.00
12.02
11.88
1.01%
小结:
由表中数据可知在误差允许范围内系统基本达到设计要求。
而且单片机测量值与使用高精度电压表的实测值很逼近。
系统设计达标。
当输入电压为15.3V时的测量数据
495
6.14
6.01
0.17%
505
8.96
9.27
2.91%
500
11.90
12.80
6.25%
当输入电压为18.7V时的测量数据
6.27
6.13
2.12%
9.06
9.45
4.76%
12.36
13.20
9.09%
空载时测量数据:
负载断开时(即输出电流0mA)
0mA
5.29
6.39%
7.87
9.37
3.95%
11.60
13.70
12.4%
满载时测量数据:
输出电流为额定电流时(500mA)
过流保护时测量数据:
额定电流(mA)
额定电流500mA下测得的电压(V)
过流时电压(V)
过流电流(mA)
6.06(1-5%)=5.75
590
8.87
8.87(1-5%)=8.43
594
11.97
11.97(1-5%)=11.37
598
由以上几个表格的数据可看出,本实验设计基本合理能够达到设计要求。
七、元器件(设计过程用分立元件实现)
三极管:
90133个,BD6811个,导线、电阻若干。
八、实验总结:
由上述原理分析知本项目设计制作一个输出电压范围(6~12V)可调节和输出电流范围(0~500mA)可调节的数控直流稳压电源。
由信号源提供一个直流电源设计制作一个串联型线性数控稳压电路,主要包括基准电压电路,调整管,比较放大,取样电路四个单元模块组成。
基准电压由单片机键盘数控输入提供,此基准电压通过单片机的A/D转换实现。
调整管采用9013三级管进行过流保护,比较放大器采用了由两个9013三极管构成的差动放大电路,与取样电压进行比较放大,输出电压通过调整管得到稳定,并通过单片机的D/A转换将采样电压,采样电流转换成输出电压电流并用数码管显示出来。
本项目制作的数控直流稳压电源达到了本实验的要求,具有结构简单、调节方便(采用单片机键盘数字输入控制)、输出电压稳定性强(电压调整率与电流调整率<
1%)、纹波电压小(Vp-p=8mV)、有过流保护(IOmax<
600mA)等优点。
附录:
单片机代码
#include<
ZLG7289.h>
bitmodel=0;
//定义model,0为输入数据,1为显示电压电流
bitflag1=0;
//定义标志位作为INT7中断标志
chardata_10=0,data_1=0,data_01=0,date=0;
//定义data表示输入三个数据的十位,个位和十分位
unsignedintDA_code=0,mun=0;
//DA转化的数字量
intvoltage=0,current=0;
//定义voltage、current表示测定的电压、电流值
intms=0;
//定义ms为T0计时单位,每过10ms,ms加1
//时钟初始化,外部时钟12M
voidSYSCLK_Init(void)
{
inti;
OSCXCN=0x77;
//外部时钟选择12M
for(i=0;
i<
256;
i++);
while(!
(OSCXCN&
0x80))//等待晶体震荡稳定
{;
}
OSCICN=0x08;
//切换到外部时钟
}
//IO端口初始化
voidPORT_Init(void)
XBR2=0x40;
//使能交叉开关
P3MDOUT=0xff;
//将P3设置为推挽输出
//DAC初始化
voidDAC1_Init()
REF0CN=0x03;
//内部偏压发生器工作
DAC1CN=0x80;
//使能DAC1,更新发生在在写DAC1H时。
//ADC0初始化
voidADC0_Init()
ADC0CN=0x80;
//使能ADC0,向AD0BUSY写1启动ADC0转换,转化结果右对齐
//设置基准电压为内部偏压
AMX0SL=0x00;
//通道选择,通道0,初始化为电压传感器
ADC0CF=0x28;
//ADC0SC=5,ADC0的转化时钟为2M,PGA增益为1
//外部中断7初始化
voidINT7_Init()
EIE2=0x20;
//使能外部中断7
EIP2=0x20;
//设置外部中断7为高优先级
//定时器T0初始化
voidT0_Init()
CKCON=0x00;
//定时器时钟选择,用系统时钟12分频
TMOD=0x01;
//定时器方式设置为方式0
TH0=(65536-10000)/256;
//为T0装初值
TL0=(65536-10000)%256;
//
TR0=1;
//开启T0
ET0=1;
//允许T0中断
//数码管显示
voidDisplay()
if(model==0)//model=0显示设定电压值
{
ZLG7289_Download(1,0,0,data_10);
ZLG7289_Download(1,1,1,data_1);
ZLG7289_Download(1,2,0,data_01);
//ZLG7289_Hide(0x07);
}
else//model=1,显示电流电压值,0~3管显示电流,4~7管显示电压
ZLG7289_Download(1,0,0,current/1000);
ZLG7289_Download(1,1,0,(current%1000)/100);
ZLG7289_Download(1,2,0,(current%1000%100)/10);
ZLG7289_Download(1,3,0,current%1000%100%10);
ZLG7289_Download(1,4,0,voltage/1000);
ZLG7289_Download(1,5,0,(voltage%1000)/100);
ZLG7289_Download(1,6,1,(voltage%1000%100)/10);
ZLG7289_Download(1,7,0,voltage%1000%100%10);
//处理读按键值并更新DAC输出
voidRead()
charkey_data;
key_data=ZLG7289_Key();
//读键值
switch(key_data)
case0:
model=!
model;
break;
case1:
if(data_10==1)data_10=0;
elsedata_10++;
break;
case2:
if(data_10==0){if(data_1==9)data_1=0;
elsedata_1++;
}else{if(data_1==2)data_1=0;
}break;
case3:
if(data_01==9)data_01=0;
elsedata_01++;
//case5:
data_10=(data_10-1)%10;
//case6:
data_1=(data_1-1)%10;
//case11:
data_01=(data_01-1)%10;
default:
if(data_10>
1)
data_10=1;
data_1=2;
if(data_10==1&
&
data_1>
2)
data_10=1;
/*if(data_10==0&
data_1<
6)
data_10=0;
data_1=6;
}*/
date=data_10*100+data_1*10+data_01;
Display();
DA_code=(4096*(data_10*10+data_1+data_01*0.1))/14.526;
DAC1L=DA_code%256;
DAC1H=DA_code/256;
//向DAC1H写数据,DA更新输出
//调整输出
voidAdjust()
if(voltage>
date)//当输出电压大于设定值时,减小输出DA数字量值