简易数控直流稳压电源的设计①
2009-02-01彭建英单同坤雷立云
彭建英 单同坤 雷立云
[摘 要]随着单片机技术的快速发展,其越来越多的应用到各个电子领域,以单片机为核心设计的直流电源可以解决很多传统的直5流电源功能简单,难于控制,不方便调节等缺点。本数控直流稳压电源系统采用AT89C51单片机为主控模块,由DAC0832数模转换模块输出电压,然后由放大电路对模拟电压进行放大,以达到我们所要求输出的值。
[关键词]单片机 DAC0832 放大电路
[中图分类号]G633 [文献标识码]A [文章编号]1007-9416(2009)12-0010-02
数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源[1]。
1 系统框图和工作原理
系统框图如图1所示,主要由单片机组成的控制电路,DAC0832组成的数模转换电路,按键电路和数码管显示电路等组成。
系统工作原理:利用单片机对按键输入值进行判断键值处理并送入数码管显示,然后将数据送入DAC0832进行数模转换并经过放大电路输出。
2 系统设计
2.1 系统硬件接口电路设计
系统硬件接口电路见图2所示,单片机P1口与U2 74HC573和U3 74HC573的D0-D7相接相连,P2口与矩阵键盘的行列相接,P0口与DAC0832的数据端D10-D17相接,P3.0 与U2的LE相连,P3.1 与U3的LE相连,U2的Q0-Q7接数码管的段码A、B、C、D、E、F、G、DP,U3的Q0、Q1接数码管的位选段1、2,DAC0832的输出电流接运算放大器U2:A[1]。
2.2 软件设计
2.2.1软件流程图
程序流程图见图3,程序开始进行键盘扫描,然后获得键值送数码管显示,再经DA0832数模转换获得与输入键值相对应的模拟输出电压值[2]。
2.2.2接口程序
部分程序源码:
sbit dula1=P3^0;
sbit wela1=P3^1;
sbit key1=P2^3;
sbit key2=P3^4;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0,};
uchar code tablexianshi[]={0x17,0x31,0x4b,0x65,0x7f,0x99,0xb3,0xcd,0xe6,0xff,};
uchar num,temp,aa;
uchar keyscan();
void display(uchar aa);
void main()
{dula1=1;P1=0;dula1=0;wela1=1;P1=0xfd;wela1=0;P0=0;while(1)}
{display(keyscan());}
3 仿真与调试
系统利用PROTEUS和KEILC软件进行仿真和调试,且结果准确。仿真图见图2所示。图中数码管显示的是键盘输入值5V电压,由运放U2:A将DAC0832的电流值转换为电压值为-2.5v,再由放大电路放大2倍,由Volts B测得的是输出直流电压值4.98V,其中存在0.02V的误差。
本设计利用AT89C51作为主控芯片来控制DAC0832产生直流电压信号,经输出采样电路的电流/电压转换、放大,输出稳定的直流电流。系统中用键盘进行数值设定,用数码管进行显示。整个系统可编程,使得系统的灵活性大大的增加,由于运算放大器具有很大的电源电压抑制化,可以大大减小输出端的纹波电压。
[参考文献]
[1] 谢维成.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2006.
[2] 马忠梅.单片机原理的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003.
[项目基金]
基于ARM-Linux 的嵌入式系统应用研究,湖南省教育厅科技项目支助;编号:07C446