数控直流稳压电源新颖文档格式.docx

上传人:b****1 文档编号:4073789 上传时间:2023-05-02 格式:DOCX 页数:19 大小:97.50KB
下载 相关 举报
数控直流稳压电源新颖文档格式.docx_第1页
第1页 / 共19页
数控直流稳压电源新颖文档格式.docx_第2页
第2页 / 共19页
数控直流稳压电源新颖文档格式.docx_第3页
第3页 / 共19页
数控直流稳压电源新颖文档格式.docx_第4页
第4页 / 共19页
数控直流稳压电源新颖文档格式.docx_第5页
第5页 / 共19页
数控直流稳压电源新颖文档格式.docx_第6页
第6页 / 共19页
数控直流稳压电源新颖文档格式.docx_第7页
第7页 / 共19页
数控直流稳压电源新颖文档格式.docx_第8页
第8页 / 共19页
数控直流稳压电源新颖文档格式.docx_第9页
第9页 / 共19页
数控直流稳压电源新颖文档格式.docx_第10页
第10页 / 共19页
数控直流稳压电源新颖文档格式.docx_第11页
第11页 / 共19页
数控直流稳压电源新颖文档格式.docx_第12页
第12页 / 共19页
数控直流稳压电源新颖文档格式.docx_第13页
第13页 / 共19页
数控直流稳压电源新颖文档格式.docx_第14页
第14页 / 共19页
数控直流稳压电源新颖文档格式.docx_第15页
第15页 / 共19页
数控直流稳压电源新颖文档格式.docx_第16页
第16页 / 共19页
数控直流稳压电源新颖文档格式.docx_第17页
第17页 / 共19页
数控直流稳压电源新颖文档格式.docx_第18页
第18页 / 共19页
数控直流稳压电源新颖文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数控直流稳压电源新颖文档格式.docx

《数控直流稳压电源新颖文档格式.docx》由会员分享,可在线阅读,更多相关《数控直流稳压电源新颖文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

数控直流稳压电源新颖文档格式.docx

数控基准电压源的原理框图如图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数字量值

if(DA_code>

0)

{

DA_code--;

DAC1L=DA_code%256;

DAC1H=DA_code/256;

}

elseif(voltage<

date)//当输出电压小于设定值时,增大输出DA数字量值

if(DA_code<

4095)

DA_code++;

}

voidmain()

WDTCN=0XDE;

WDTCN=0XAD;

//关闭看门狗

EA=1;

//开启中断开关

SYSCLK_Init();

//系统时钟初始化

ZLG7289_Init(60);

//ZLG芯片初始化

PORT_Init();

//端口初始化

ADC0_Init();

//ADC0初始化

T0_Init();

//定时器T0初始化

INT7_Init();

//外部中断7初始化

DAC1_Init();

//DAC1初始化

while

(1)

if(model==0)//medel=0时,设定电压值,更新输出

if(flag1==1)

{

Read();

flag1=0;

}

else//model=1时,输出电压电流值,并调整DA_code的值

model=!

Display();

AMX0SL=0x00;

//采集输出电流值,输入选择AIN0

ADC0CF=0x2b;

//采集输出电流值,增益为8

AD0INT=0;

//清除转换结束标志

AD0BUSY=1;

//开始转换

while(AD0INT==0);

//等待转换结束

current=(2*2421.0*(ADC0H*256+ADC0L))/32768;

//计算电流值,单位为mA

AMX0SL=0x01;

//采集输出电压值,输入选择AIN1

ADC0CF=0x28;

//采集输出电压值,增益为1

voltage=51*(2.421*(ADC0H*256+ADC0L))/4096-current/200.0;

//计算电压值,单位为1V扩大10倍

if(ms>

=50)

ms=0;

//Adjust();

//调整,使输出电压值等于设定电压

//INT7中断服务程序

voidser19()interrupt19using1

flag1=1;

P3IF=0x00;

//标志位清零

//定时器T0中断控制函数

voidser1()interrupt1using2

{

ms++;

//计时周期为10ms,当有中断时,计时增加

//定时器初值重载

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2