数字式可调稳压电源Word文档格式.docx
《数字式可调稳压电源Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字式可调稳压电源Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
![数字式可调稳压电源Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/12/78ba41b2-7e01-4095-a48b-cd111bed0360/78ba41b2-7e01-4095-a48b-cd111bed03601.gif)
在当代科技与经济高速开展的过程中,电源起到关键性的作用。
随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的准确度。
电源在使用时会造成很多不良后果,因此电源的数字化控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数控直流稳压电源就是一个很好的典型例子,人们对它的要求也越来越高,要想为现代人工作、科研,生活、提供更好的,更方便的设施就需要从数字电子技术入手,一切向数字化,智能化方向开展。
此题采用单片机和其它元器件及外围电路,开发一个数字式可调稳压电源。
能够设定输出电压值、电压值输出显示、存储等功能。
通过此系统的设计,让开发者更深刻的掌握单片机根本原理,并熟悉一些外围电路的扩展,以及进一步提高C语言的硬件编程能力。
当前在国内外电源产业中,占主导地位的产品有各种线性稳压电源、通讯用的AC/DC开关电源、DC/DC开关电源、交流变频调速电源、电解电镀电源、高频逆变式整流焊接电源、中频感应加热电源、电力操作电源、正弦波逆变电源、UPS、可靠高效低污染的光伏逆变电源、风光互补型电源等。
而产品价格、性能指标、品牌效应及使用寿命一直是用户最关心的问题。
这就促使国内外电源生产商朝着应用技术数字化、硬件构造模块化、产品性能绿色化智能化的方向开展。
对我们学生而言,在大学的实验室里和课程设计里面,有一个稳定可调的直流电源是很有必要的。
因传统的直流稳压电源输出电压是通过粗调波段开关及细调电位器来调节的,并由电压表指示电压值的大小。
这种直流稳压电源存在读数不直观、电位器易磨损、稳压精度不高、不易调准、电路构成复杂、体积大等缺点,而基于单片机控制的数字式可调稳压电源能较好地解决了以上问题。
2数字式可调稳压电源原理介绍
本设计采用AT89S52单片机作为整机的控制单元,利用4×
4键盘输入数字量,通过控制单元输出数字信号,再经过D/A转换器〔DA0832〕输出模拟量,最后经过运算放大器隔离放大,控制输出功率管的基极,随着输出功率管的基极电压的变化,间接地改变输出电压的大小。
2.1单片机AT89S52介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
1、与MCS-51单片机产品兼容;
2、8K字节在系统可编程Flash存储器;
3、1000次擦写周期;
4、全静态操作:
0Hz~33Hz;
5、三级加密程序存储器;
6、32个可编程I/O口线;
7、三个16位定时器/计数器;
8、八个中断源;
9、全双工UART串行通道;
10、低功耗空闲和掉电模式;
11、掉电后中断可唤醒;
12、看门狗定时器;
13、双数据指针;
14、掉电标识符。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。
其引脚构造如图2.1
图2.1AT89S52引脚构造
2.2矩阵式键盘扫描原理
键盘是由假设干按键所组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令,地址和数据。
通常单片机系统采用非编码键盘。
非编码键盘通过软件来识别键盘上的闭合键,它具有构造简单、使用灵活等特点,因此被广泛应用于单片机系统。
4×
4矩阵式键盘〔如图2.2〕的按键识别方法:
行扫描法又称逐行扫描查询法,是一种常用的按键识别方法,其过程如下:
为判断键盘是否有键按下,将全部列线置为低电平,全部行线置为高电平,然后读行线的状态[7]。
只要有一行的电平为低电平,那么说明键盘中有按键按下。
然后依次将行线置为低电平,即在置某根行线为低电平时,其它行线为高电平。
在确定某根行线位置为低电平后逐行检测各列的电平状态。
假设某列线为低电平,那么该列线与置低电平的行线相穿插处的按键就是闭合键。
图2.24×
4矩阵式键盘
2.3数码管动态显示原理
如图2.3,共阴LED数码管由7只发光二极管共阴连接并按8字形构造排列而成。
这样,我们将这些二极管的正极接上下不同的电位,把所有的负极接地,当正极为高电位时相应的二极管就会导通而发光,从而使数码管呈现不同的字符。
共阳LED数码管,即选通位接高电平,a,b,c,d,e,f,g,h端接高或低电平,如想让数码管显示“0〞,就必须使g,h和选通位为高电平,其他引脚均为低电平。
在设计电路时,可将数码管这几个引脚分别接到单片机的引脚上,还要加上限流电阻,这样就可由程序控制数码管的工作情况了。
图2.3LED数码管构造图
3 数字式可调稳压电源硬件电路设计
本系统的硬件电路设计主要围着AT89S52单片机作为整机的控制单元用PROTEL99SE设计软件来布线的,其中还用到了模数转换芯片DAC0832、外部存储芯片24C01、放大器芯片LM324、4×
4矩阵式键盘、数码管等其他器件。
总体框图考虑到各个元件的电气特性,例如元器件之间的干扰问题,接地问题,布线问题等,本系统将硬件电路设计分为数字局部和模拟局部。
3.1稳压电源数字局部电路
稳压电源数字局部电路即单片机外围接口电路主要包括:
DAC0832数模转换电路、EEPROM接口电路、键盘接口电路、扬声器接口电路、复位电路、晶振电路及数码管显示局部电路。
3.1.1单片机外围接口电路
单片机AT89S52与外围器件的接口总电路如图3.1所示,为了将各局部电路介绍的更加清楚,下面就单片机外围接口电路作一个扼要介绍。
图3.1AT89S52与外围器件的接口总电路
如图3.2所示,AT89S52的P0、P2.5-P2.7接数码管输出显示局部电路,其中P0口用来输出字段码;
P2.5-P2.7用来输出数码管选通位信号;
P2.0、P2.2分别接外部存储芯片24C01的数据线〔SDA〕和时钟线〔SCL〕;
P2.3接扬声器电路,为执行内部程序指令,EA/VPP必须接VCC.
图3.2AT89S52局部接口电路一
如图3.3所示,AT89S52的P1口与数模转换芯片DAC0832相连接,用来输出数字量信号;
RST为复位脚,用来输入复位信号,同时它还与P1.5-P1.7一起用作ISP下载端口;
P3口用做键盘信号输入端口,XTAL1、XTAL2接晶振电路。
图3.3AT89S52局部接口电路二
3.1.2数字局部电路PCB设计
本系统中,数字局部电路PCB采用Protel99se软件进展设计,其设计步骤是:
1、画电路原理图;
2、电路元件封装;
3、生成报表〔ERC表、网络表、元件列表〕;
4、创立一个PCB工程文件,将网络表导入该工程;
5、自动布局,自动布线后通过手工调整布线完成整个PCB幅员的设计。
系统设计中,数字局部电路PCB如图3.4所示。
图3.4数字局部电路PCB图
3.2稳压电源模拟局部电路
稳压电源模拟局部电路主要包括电源局部电路,由运放LM324、达林顿管TIP127等构成的输出电压控制单元电路。
这一局部采用普通万能板来完成,主要是由于模拟局部电路的可变性大,随时都有可能更改电路。
另外,模拟局部电路属于高压局部,稳压管和达林顿管发热量比拟大,要带散热片;
同时须将它与5V低压工作的数字局部电路分开,这样可有效地防止元件的损坏。
3.2.1电源局部电路
在系统设计中考虑到单片机及其他器件的电源供电问题,采用一个变压器将220V交流电降压再经电桥整流,获得25V左右的平稳电压,然后用稳压管78L24、78L12、78L05进展三次稳压,分别获得24V、12V和5V的稳定电压,24V提供的是运算放大器LM324和达林顿管TIP127的工作电压,5V是AT89S52单片机和DAC0832的工作电压。
图3.5所示,图中电容起滤波作用。
在硬件电路的实际设计中,由于电源工作时的发热量比拟大,因此对稳压管要外加散热片。
图3.5电源供电局部电路
3.2.2输出电压控制单元电路
系统中,矩阵键盘输入数字信号经AT89S52处理后输出给DAC0832,数字信号经过数模转换后输出的是电流量,因此必须将电流量接电阻后接反应放大电路以实现稳压输出。
本设计的模拟局部利用了LM324作为放大器,采用二级放大电路,第一级为同相比例放大电路,第二级为闭环反应放大电路。
下面就将一级放大电路做详细的介绍。
同相比例运算放大电路如图3.6所示,根据集成运放的"
虚短"
和"
虚断"
2个重要概可得式〔3.1〕、〔3.2〕,又由式〔3.1〕、〔3.2〕、〔3.3〕可推出式〔3.4〕,式〔3.4〕即为同相比例放大器增益的计算公式。
U+=U- (3.1)
UI=U+(3.2)
U-/Uo=R/(R+Rf)(3.3)
Uo=(1+Rf/R)UI(3.4)
Uo=R∑i(1+Rf/R1)(3.5)
图3.6同相比例运算电路
在本系统设计中,需要数模转换输出一个电压X围为0~10V的基准电压Ur,即数模转换输出的电压值,由于DA转换芯片DAC0832输出的是电流信号,将它作用在电
阻R上变成电压,然后用同相比例放大器放大电压到0~10V作为基准电压,同相比例放大器满足式〔3.5〕,其中∑i是DAC0832的IO1脚输出的电流,R1为同相端的接地电阻,Rf为反应电阻,Rf选用5k的微调电阻,R1选用100的电阻,R选用1K,将各值代入式〔3.5〕,这时同相比例放大器的最大放大系数为:
A=51,满足输出基准电压Ur的要求,如图3.7所示。
图3.7第一级放大电路
4数字式可调稳压电源软件设计
本系统软件设计要实现的功能是:
键盘对单片机输入数据,单片机对获得的数据进展处理,处理后的数据送4位共阳数码管,再送到8位数模转换芯片〔DAC0832〕,以实现数字量对电压的控制。
系统中的主程序主要完成键盘扫描、判断、处理和数码显示。
而电压值输出显示和输出音响提示在中断处理程序中完成。
4.1系统程序介绍
C语言在单片机的应用中,由于其逻辑性强,可读性好,比汇编语言灵活,简练,目前越来越多的人从普遍使用汇编语言到逐渐使用C语言开发,市场上几种常见的单片机均有其C语言开发环境。
因此,在本系统中,考虑到汇编语言的这些缺点,采用了C语言作为软件设计语言。
1、输入、控制、转换显示模块的编程
系统采用4×
4矩阵键盘作为输入模块,因此在编程中必须通过扫描键盘的行和列,读出其值,然后通过AT89S52单片机控制键盘值散转,给各个键盘编写相应的处理程序实现其相应的功能,在此过程中用AT89S52单片机/定时器TR0作为中断处理显示,用定时器TR1作为中断处理提醒,开音响。
〔1〕初始化硬件例如对P3口作为键盘输入口的定义:
#definekey_pointP3;
对标志位的定义:
staticbitselect=0,即在开场还没按下“设定键〞时,标志位select为“0〞;
在主程序中,初始化局部程序如下:
voidmain(void)
{speaker=1;
//蜂鸣器不响
WDTRST=0x1E;
WDTRST=0xE1;
//初始化看门狗
TMOD=0x11;
//初始化定时器
TH0=(65536-5000)/256;
//T0置初值
TL0=(65536-5000)%256;
TH1=(65536-50000)/256;
//T1置初值
TL1=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
//开T0中断
ET1=1;
//开T1中断
TR0=1;
//启动T0
TR1=0;
//关闭T1
DA=0;
//初始化DA转化
当中用到了看门狗定时器〔WDT〕、定时器0和定时器1。
为了激活WDT,用户必须向WDTRST存放器〔地址为0A6H的SFR〕依次写入01EH和0E1H。
当WDT激活后,用户必须一定时间内周期性地向WDTRST写入01EH和0E1H喂狗来防止WDT溢出。
因为当计数到达8191(1FFFH)时,13位计数器将会溢出,这将会复位器件。
定时器0计时满5毫秒时产生定时中断,进入中断处理显示子程序;
同理定时器1计时满50毫秒产生定时中断,进入相应的中断处理程序。
定时器0中断处理程序如下:
voiddisp(void)interrupt1
{TH0=(65536-5000)/256;
//对T0重置初值
dispbuf[0]=num1;
//数码值送显示缓冲区
dispbuf[1]=num2;
dispbuf[2]=num3;
ledwork();
//显示函数
}
显然,进入中断处理程序时,须对定时器0重置初值,然后数码值送输出显示缓冲区,最后通过显示程序局部将数码转换成数码代码输出显示。
〔2〕单片机执行控制功能,判断键盘值,转入键盘处理程序。
其中判断有键按下后须紧跟着延时程序,以去掉键盘的机械抖动,键盘延时时间约10毫秒:
voiddelay10ms(void)//延时程序
{unsignedchari,j;
for(i=10;
i>
0;
i--)
for(j=248;
j>
j--);
}
具体的键盘判断处理程序在这里就不做一一介绍了,详情可以参考附录程序清单。
〔3〕输出显示并将数字量送DA。
数码的输出显示局部程序主要围绕着十位、个位、十分位何时选通,送数字代码显示来进展编程〔程序可参考附录程序清单〕。
将数字量
送DA显示是通过按“确定"
键来最终实现的,其“确定〞局部程序如下:
case0x7b:
{select=0;
//确定键
read_bit=0;
if(num1<
3)
if(num1!
=2||num2<
5)
{temp=num1;
num=temp*100;
temp=num2;
num+=temp*10;
temp=num3;
num+=temp;
temp=num;
DA=buchang(temp);
//整体数码值送DA
speaker=0;
fengmin=1;
}
cancel();
}break;
其中DA=buchang(temp)指令即数字量送DA。
2、存储模块编程
在本系统中实现一个存储电压值,掉电永久保存的功能,需要一个外部存储芯片〔24C01〕,因此在编程中运用到了I2C总线技术。
I2C总线是一种用于IC(IntegratedCircuit)器件之间连接的二进制总线。
它通过SDA〔串行数据线〕及SCL〔串行时钟线〕在连至总线的器件之间传送信息,并根据地址识别每个器件。
如图4.1所示,SCL为高电平时,SDA由高电平向低电平跳变,开场传送数据;
SCL为高电平时,SDA由低电平向高电平跳变,完毕传送数据。
SDA线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态〔数据有效〕,只有在SCL线的时钟信号是低电平时才能改变,见图4.2。
系统先通过发送开场信号开场数据转送,然后传送写从地址信号,最后从外部存储器地址读数据到单片机或写数据到外部存储器。
系统对SCL时钟的编程如下:
voidclock()//I2C总线时钟
{
unsignedchari=0;
scl=1;
somenop();
while((sda==1)&
&
(i<
255))i++;
scl=0;
其中somenop()函数为延时函数,其余局部的程序可以参照附录程序清单。
图4.1开场/完毕定时信号
图4.2数据线的变化示意图
3、软件补偿编程
系统如果通过ADC0809进展模数转换,间接用单片机实时对输出电压进展采样,然后进展数据处理及显示,可以让实际输出电压值与输出显示值一致。
由于系统中没有用到ADC0809模数转换,并且DAC0832的线性稳定度不够好,因此系统实际输出电压值与输出显示值存在误差,必须用软件补偿的方法来消除误差。
为此通过测试多组实际输出电压值与输出显示值比照,然后进展软件补偿。
总结
此次毕业设计,从一开场接到任务书到最后完成整个系统的设计,总体上按要求完成了毕业设计的工作。
尽管设计的过程是十分繁琐、枯燥的,但当领悟到一个个知识点,将问题一一解决时,有无比的成就感,让自己更加有信心坚持下去。
在这方面,我认识到要想做成一件事是不容易的,当中必定有很多的阻力,但是一定要有恒心,细心地认真地找出问题的所在,再一点一点去解决它,这样,到达成功的此岸也就仅仅是时间的问题了。
这次设计的题目是数字式可调稳压电源,在参考了很多书籍的情况下,尝试增加了一些功能,尽管没有到达所期望的最完善的目的,但也有了一定的突破。
我想,通过这次设计,特别是通过对硬件的制作而不单单是对原理的论述,我学到的不仅仅是电子方面的知识,更重要的是,我学到了作为一名电子设计者所必需的心理素质,那就是——决心加上耐心!
参考文献
[1]胡桂阳.用单片机制作直流稳压可调电源[J].电子世界,2005,12:
24-25.
.tai-yan./bbs1/index.php.
[2]金球.单片机原理与接口技术[M].:
清华大学,2004:
1-40,186-191.
[3]毛敏.MCS-51系列单片机系统及应用实践教程[M].:
高等教育,
[4]王翠珍.可调直流稳压电源电路的设计[J].中国测试技术,2006,32(5):
113-115.
[5]胡烨,姚鹏翼,陈明.Protel99se原理图与PCB设计教程[M].:
机械工业,2005:
1-224.
[6]梁建光.基于AT89C51单片机的数控开关稳压电源[J].电工技术,2004,12:
54-55.