简易数控直流电流源摘要基于STC89C52单片机作为整机的控制单元,通过功率放大电路、ICL7107电压测量等设计实现了一个简易数控直流电源。其电压可预置,步进为0.1V,输出电压范围0—9.9V。输出电流为500mA。步进调节输出电压幅度、预置电压和实测电压均可通过数码管显示。本系统调整速度快,效率高,通用,输出纹波小等优点。关键字:数控直流源步进加减功率放大数码管显示1引言在常规电路中,我们一般使用普通的自制电源。输出电压V15。然而却没有数码显示、电压预置和步进增减功能。基于此,我们本次设计一个直流电流源。该电源设计满足以下基本要求:(1)输出电压:范围0-9.9V,步进0.1V。纹波不大于10mV;(2)输出电流:500mA;(3)输出电压值由数码管显示;(4)由“+”、“-”两键分别控制输出电压步进增减;(5)为实现上述几部件工作,自制一稳定直流电源,±15V、±5V输出。系统的设计框图如图1所示输出图(1)总体设计框图2方案设计2.系统设计2.1设计思路采用单片机作为控制器的简易数控直流电源设计方案框图如图一所示。STC89C52完成系统的数控功能。运放电路为功率放大单元的输入级,通过OTL电路进行功率放大。ICL7107和数码管为实际电压测量的反馈单元,为了达到设计的要求,我们需进行功率放大和显示电压。本次设计的关键在于对DAC0832的控制和ICL71017的应用。2.2方案比较与选择通过以上分析我们拟定如下方案:数码管显示按键单片机STC89C52D/A转换电流放大基准电压ICL71017电压预置数码管显示方案一:此方案采用传统的调整管方案,主要采用一套计数器完成系统的控制功能,其中二进制计数器的输出经过D/A变换后去控制误差放大的基准电压,以控制输出步进。十进制计数器通过译码后驱动数码管显示输出电压值,为了使系统工作正常,必须保证双计数器同步工作。从而,难以控制单片机。方案二:此方案的控制部分采用STC89C52单片机,输出部分采用ICL7107与数码管结合。使用单片机发送数字量给DA,转化后得到模拟量输出。此时得到的模拟量非常微弱,中间级通过电压放大提高幅值,后级通过电流放大,从而得到较大的输出功率,设计实现题目要求。方案一采用中小规模器件实现系统的数控部分,使用的芯片很多,造成控制电路内部接口信号繁琐,中间相互关联多,抗干扰能力差。方案二采用单片机完成整个数控部分的功能,而且在输出部分方案二使用运算放大器作前级的功率放大电路,由于运算放大器具有很大的电源电压抑制比,可以大大减小输出端的纹波电压。通过比较,我们选择方案二。2.3硬件模块设计2.3.1数控部分(1)数控部分核心采用STC89C52单片机最小系统,包括STC89C52单片机、复位电路、2个LED数码管及两个按键。(2)步进的改变由按键控制,输出值由数码管显示。仿真图如图(2)所示:图(2)2.3.2DA转换电路模块本系统使用的是逐次逼近型DAC0832芯片。DAC0832是8分辨率的D/A转换集成芯片。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。经预置后单片机给DA发送数据经芯片运算完成后,以电流形式输出,在DA输出后加一电流——电压转换电路。设计中用两个电压控制字代表0.1V,当电压控制字从0,1,2,……99时,电源输出电压为0.1V,0.2V,……9.9V.DA转换部分输出电压Ui作为电源功放级的输入电压。根据基准电压,当8位数据口全为一的时候输出为基准电压值,这样根据输入数据的不同就可以实现输出电压的连续变化,从而达到数控的目的。原理图如图(3)所示,计算式如下:Uimax=(100/256)*5.12V=2V图(3)2.3.3功率放大电路后级需要进行电流放大放大,为此我们采用了推挽式OTL功率放大电路。具体仿真图如图(4)图(4)2.3.4输出电压显示电路为了实现输出电压的实时监控,使用ICL7107搭接的数字电压表对其输出电压采样测量,并输出显示,我们可以从数码管上读取输出电压的实测值,原理图见附录(4)。由此节约了单片机I/O口。2.3.5直流稳压电源设计设计的直流稳压电源给整个系统供电,采用三端稳压芯片7805、7905、LM317和LM337起稳压作用,4700uf电解电容、100uf和0.33uf瓷片电容起滤除纹波作用,输出分别为±15V、±5V给各单元电路供电,设计的电源原理图如附录(2)所示。2.4软件模块设计本次设计的软件比较简单,出于效率的要求,把外围电路设计得尽可能的少,更容易控制,所以单片机驱动外围芯片均采用I/O口直接控制,没有采用总线方式。采用KeiluVision2软件编译,通过独立按键来实现步进的加减,数码管清晰显示输出电压。整个系统主程序流程图如图(4)所示图(5)3设计实现1、步进的实现为了达到步进0.1V的要求,我们采用单片机为控制器,编写实现步进要求的程序,再通过外围电路“+”、“-”两键分别控制输出电压步进增减。每按下一次按键,代表加0.1V或减0.1V,当加到9.9V时回到0V,减到0V时回到9.9V,从而实现了循环效果。2、显示电压的实现输出电压显示采用ICL7107和数码管组成的数字电压表,数字电压表显示如图所示。通ICL7107接至输出,显示实际的输出电压。4系统测试4.1功能测试为了确定系统与题目要求的符合程度,我们对系统的关键部分进行了实际测试。用单片机控制电源时,输出直流稳定,步进0.1V可调,显示清晰,见实物图附录(3)。4.2输出电压测试测试仪器:UT33C数字万用表、Tektronix双踪示波器。输出电压精确度的测试预置值Up/V显示值Ur/V实测值Va/V0.10.100.100.50.500.501.01.011.01.11.111.101.51.511.512.02.022.013.03.043.024.04.054.035.05.075.046.06.096.057.07.117.078.08.138.089.09.149.099.910.0610.004.3输出功率测试对此,我们在输出端加上5Ω的功率电阻,当输出电流为0.51A时,测得输出电压为2.20V。在此状态下去掉负载时,电压恢复到2.41V。5结论经过近一周的努力,我们较成功的完成了简易数控直流电源的制作。从方案的论证、选择,到原理的设计,再到电板元器件的焊接,电路的调试,我们循序渐进,各个击破。制作的过程中,我们在硬件方面力求参数合理,线路简单,软件则发挥编程灵活特点。另外在实测电压显示部分,我们经过多次测试、改进,使数字万用表的误差控制在0.1V之内,系统的性能得到很大的改善。但是由于时间和能力水平的关系,该系统还有好多值得改进的地方,以后要更加努力学习,完善知识储备。6参考文献[1]黄智伟,全国大学生电子设计竞赛系统设计.北京:北京航空航天大学出版社,2006年.[2]谢自美,电子线路设计.武汉:华中科技大学出版社,2005年.][3]康华光,电子技术基础模拟部分.武汉:高等教育出版社,2005年.附录:.附录1:程序清单:#includereg51.HsbitP3_0=P3^0;sbitP3_1=P3^1;sbitP0_7=P0^7;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};charCount,num;voiddelay10ms(void){unsignedchari,j;for(i=20;i0;i--)for(j=248;j0;j--);}voidP1_init(){delay10ms();P1=128;P0_7=1;}voidmain(void){Count=0;P1_init();P0=table[Count/10];P2=table[Count%10];while(1){if(P3_0==0){delay10ms();if(P3_0==0){Count++;if(Count==100){Count=0;}P0=table[Count/10];P2=table[Count%10];P1=Count+128;P0_7=1;while(P3_0==0);}}if(P3_1==0){delay10ms();if(P3_1==0){Count--;if(Count0){Count=99;}P0=table[Count/10];P2=table[Count%10];P1=Count+128;P0_7=1;while(P3_1==0);}}}}附录2:电源模块原理图附录3:步进预置测试图附录4:输出电压显示原理图附录5主要芯片清单STC89C52、DAC0832、OP07、B772、D882、ICL7107