谢永超,严 俊,2,杨 利
(1.湖南铁道职业技术学院,湖南 株洲 412001; 2.中南大学 信息科学与工程学院,长沙 410083)
随着电子科学技术的快速发展,电源技术在舰船工业、汽车工业、自动检测、智能制造等领域的应用越来越广泛。特别是数字电子技术产品在工作、工业生产和生活的广泛普及和应用,报警器、比较器等各种各样的电子产品的不断更新和涌现,为各类电子产品提供直流电压的电源系统在电子整机产品中的重要性变得不可缺少,且直流稳压电源自身的性能参数的精度与稳定性将直接影响电子整机产品的功能实现。特别是对直流稳压电源性能参数要求比较高的应用场合,对直流稳压电源的电压调整率、纹波系数等性能参数提出了更加严格的要求[1-16]。因此,开展数字式可调稳压电源系统的设计研究具有重要的意义。本文利用单片机AT89S51作为核心控制部件,设计了一种数字式可调稳压电源系统,输出可调电压范围为0~12 V、输出电流为500 mA、电压误差小于0.1 V,可应用于直流电源提供领域,具有设计简单、输出电压稳定、性能可靠等特点。
数字式可调稳压电源系统硬件部分包括AT89S51与键盘和显示器的连接、D/A 转换、电压和电流放大、将采样电压降压、 A/D 转换电路、电源电路等6个功能模块(如图1所示)。选用单片机小系统AT89S51单片机作为数字式可调稳压电源系统的核心控制单元。数字式可调稳压电源系统输出直流电压的改变通过改变D/A转换芯片(DAC0832)输入的数字量来调节输出的直流电压值,进一步调整输出功率管的基极电压,最终实现输出电压的控制和调整。数字式可调稳压电源系统的输出电压检测功能的实现是将输出直流电压经过A/D转换芯片(ADC0832)进行模拟电压信号和数字电压信号的转换,再通过单片机(AT89S51)实时进行输出直流电压的采样,然后数字式可调稳压电源系统通过单片机(AT89S51)进行输出直流电压的数据处理与显示功能。数字式可调稳压电源系统运行时,首先通过键盘模块输入所需要的目标电压值(G),然后通过A/D (ADC0832)进行转换,将采集到的当下输出的电压值(N)与目标电压值(G)进行比较,求解出二者之建的电压差值(△=G-N)。再使用逐次逼近的方法,把当前的电压值(N)加上△/2。然后将N+△/2作为D/A的转换值,并通过电压、电流放大,最终通过数字式可调稳压电源系统的输出端输出电压。循环上述步骤至△<0.1,从而获得到数字式可调稳压电源系统的最终目标值。
图1 数字式可调稳压电源系统框图
数字式可调稳压电源系统的单片机AT89S51与显示器的电路图如图2所示。其中,数字式可调稳压电源系统时钟电路通过单片机(AT89S51)的X1和X2口外接电容和晶振实现,由电容C6(33pF)、C7(33pF)、晶振(11.059 2 MHz)组成,主要功能是数字式可调稳压电源系统提供唯一且同步时钟信号,进而实现工作方式的同步。单片机(AT89S51)的P1端口和A/D、D/A连接。键盘S1、S2 的主要功能是设定目标电压值的大小,按键S1的功能向上加数,按键S2的功能是向下减数。单片机(AT89S51)的P0端口与液晶显示器(LCD1602)连接,实现输出电压的显示等功能。
图2 单片机小系统及液晶显示连接电路图
数字式可调稳压电源系统的D/A转换电路如图3所示。D/A转换选取的芯片是12位的D/A转换芯片MCP4921。D/A转换芯片(MCP4921)与单片机(AT89S51)的连接方式如下:D/A芯片(MCP4921)的1脚接电源(VCC),D/A芯片(MCP4921)的2、3、4、5、8脚分别接单片机(AT89S51)的P1口的P14、P15、P16和P17。实现数字式可调稳压电源系统中对数字信号(D)与模拟信号(A)相互转换的功能需求。
图3 MCP4921D/A转换电路图
数字式可调稳压电源系统的电压和电流放大电路图如图4所示,其主要作用是实现电压和电流信号的放大。电压放大通过由集成运算放大器(LM324)构成的同相输入放大电路,其放大倍数为1+(R11+W1)/R10。电流放大电路通过2个NPN型三极管Q1和Q2(8050)构成的直接耦合的2级放大电路实现。
图4 电压和电流放大电路图
数字式可调稳压电源系统的采样电压降压电路如图5所示,其主要功能是实现实时进行输出直流电压的采样,并将采样的结果输入DAC-V2,最终实现输出电压的采样与调整。采样电压降压电路通过R2(10K)和R4(10K)构成电阻串联分压电路、集成运算放大器(LM324)构成的同相电压跟随器实现。
图5 采样电压降压电路图
数字式可调稳压电源系统的A/D 转换电路如图6所示,其主要功能是实现数字式可调稳压电源系统的模拟(A)信号和数字(D)信号的转换需求,A/D转换选取的集成芯片是8位的TLC0832CN。A/D转换芯片(TLC0832CN)与数字式可调稳压电源系统的电路连接方式如下:A/D转换芯片(TLC0832CN)的8脚接电源(VCC),3脚、4脚接地(GND),2脚是模拟信号的输入端。A/D转换芯片(TLC0832CN)的1脚、5脚、6脚和7脚分别接单片机(AT89S51)P1口的P10、P11、P12和P13。
图6 A/D转换电路图
数字式可调稳压电源系统的电源电路如图7所示,其主要功能是为数字式可调稳压电源系统的所有集成芯片与电子器件提供工作电压,主要输出+15 V、-15 V和+5 V三种类型的直流电压。其主要工作原理是变压器将AC220V、50 Hz的工频交流电降压为AC18V,AC18V经过4个二极管进行桥式全波整流,整流输出后再经过电容C14和C16、C18和C19进行滤波,滤波后分别由三端固定式的集成稳压器(7815、7915、7805)进行稳压输出。其中,三端集成稳压器7815输出+15 V 电压,三端集成稳压器7915输出-15 V电压,三端集成稳压器7805输出+5 V的电压。
图7 电源电路
数字式可调稳压电源系统的软件设计采用C语言进行模块化设计。主要由主程序(如图8所示)、A/D与D/A转换及显示更新子程序(如图9所示)和盘扫描和显示更新子程序(如图10所示)组成。总体编程思想如下:首先输入所需要的目标电压值(G),然后通过A/D (ADC0832)进行转换,将采集到的当下输出的电压值(N)与目标电压值(G)进行比较,求解出二者之建的电压差值(△=G-N)。再使用逐次逼近的方法,把当前的电压值(N)加上△/2。然后将N+△/2 作为D/A 的转换值,并通过电压、电流放大,最终通过数字式可调稳压电源系统的输出端输出电压。循环上述步骤至△<0.1,获得最终目标值。
图8 主程序流程图
图9 A/D与D/A转换及显示更新子程序流程图
数字式可调稳压电源系统的如图8所示的软件主程序流程执行如下:首先是“开始”,并进行初始化,显示模块(LCD)显示开机界面,并显示数字式可调稳压电源系统当前的电压值(N)与目标值(G),然后键盘扫描子程序开始运行,键盘扫描子程序运行的主要目的是判断按键(S3)是否按下,也就是是否设定了新的目标电压值,如果设定了新的目标电压值,则开始运行A/D和D/A转换及数据处理子程序,实现电压值的采样与调整,并最终输出目标电压值。
图9中A/D与D/A转换及显示更新子程序的主要作用是实现A/D与D/A转换及显示更新的控制,其执行流程如下:首先是开始并进行A/D转换,并实时显示转换更新的结果,然后求解前的电压值(N)与目标值(G)两者的差值(D),并将差值(D)是否大于0.1 V作为判断条件,如果电压值(N)与目标值(G)两者的差值(D)小于0.1 V,则转换及显示更新子程序执行结束。如果电压值(N)与目标值(G)两者的差值(D)大于0.1 V,则需要继续进行(N+D/2)的数学逻辑运算,并进行D/A转换,最终进行延时,则转换及显示更新子程序执行结束。
图10所示的盘扫描和显示更新子程序的主要功能是通过按键电路(也就是电压目标值设置键盘)实时动态扫描,及时更新目标电压值,并实现动态显示。其主要的编制思路是通过电压加设置按键(S1)和电压减设置按键(S2)是否按下,来实现目标值(G)的加减,最终达到设置的目标值(G)。其执行流程如下:首先执行程序的初始化并开始,然后将电压加设置按键(S1)是否按下作为程序执行的首个判断条件。如果电压加设置按键(S1)按下,则目标值(G)增加0.1,并将增加后的目标值(G)通过显示子程序进行动态显示。经过一定的延时后,再第二次判断电压加设置按键(S1)是否按下,如果电压加设置按键(S1)继续按下,则目标值(G)继续加0.1,并将增加后的目标值(G)通过显示子程序进行动态显示。再第三次判断电压加设置按键(S1)是否按下,其执行流程如同第二次判断电压加设置按键(S1)是否按下。在进行三次判断电压加设置按键(S1)是否按下的过程中,如果电压加设置按键(S1)没有按下,则开始执行电压减设置按键(S2)是否按下的判断条件。电压减设置按键(S2)是否按下的判断的执行也是通过3判断,如果每次判断过程中,电压减设置按键(S2)条件成立,则执行目标值(G)减小0.1,如果3次判断过程中目标都不成立,则整个键盘扫描和显示更新子程序执行结束。
图10 键盘扫描和显示更新子程序流程图
为了验证和测试数字式可调稳压电源系统的性能参数的目标达成度,进行了数字式可调稳压电源系统的软硬件联调测试。调试方法如下:
联机调试:1)测试单片机小系统的晶振电路和复位电路,判断AT89S51是否正常工作,可以接上电脑主机自动检测AT89S51是否正常工作;2)测试单片机小系统的I/O端口是否能正常进行数字信号传输,编写简短的测试程序,如果正常的传输信号能控制各部分工作,则表明I/O端口能正常工作。
软件调试:程序模块通过C语言编写完成后,通过keil c软件进行模块程序调试并将子模块程序整合调试。首先得通过单片机开发系统中进行编译,然后进行联机调试,直到每一个模块都能正常工作。各程序在调试时应首先进行单步运行,然后断点运行,最后全速运行。
整机调试:当所有硬件与软件模块调试成功完成后,最后进行整机调试。首先将所有硬件电路连上,把个模块组合好,通电,将程序下载到单片机中,进行整个系统软、硬件调试,目的是为了测试是否成功,或是找出其中的错误,一边更好的改善排除软硬件的残留任务,使整个系统完成工作要求,达到所需的技术指标。
完成数字式可调稳压电源系统的调试后,进行输出电压和电流的测试。通过键盘电路在数字式可调稳压电源系统的电压范围(0 V,12 V)内设定不同的目标值,进行输出电压和输出电流的测试,验证数字式可调稳压电源系统设计的正确性与可靠性。测试结果表明,数字式可调稳压电源系统的输出电压可在(0 V,12 V)的范围之内连续可调,且误差小于0.1 V,达到了预期的设计目标。
表1 数字式可调稳压电源系统测试数据
本文针对自动检测等应用系统对直流稳压电源的需求,设计了一种数字式可调稳压电源系统,可广泛应用与舰船工业、汽车工业、自动检测等领域。该系统选择单片机AT89S51作为核心控制部件,外围模块电路包括MCP4921构成的AD转换模块、电压与电流放大模块、采样电压降压模块、液晶显示模块及电源模块。系统软件C语言设计采用模块化结构。输出可调电压范围为0~12 V、输出电流为500 mA、电压误差小于0.1 V,且可以通过键盘可以设置目标电压。具有设计简单、输出电压稳定、性能可靠等特点。