目前,国外直流稳压电源已朝着多功能和数字化的方向发展.M atthew 等〔1 〕提出了采用多路D /A 分别设定多路输出电压,以及以多路A /D 进行输出检测的微机数控电源.本文在文献〔2〕的基础上,以单片机为核心,构成可同时控制6路正负输出,具有定点显示和巡回显示等功能的数控直流稳压电源.它有效地克服了传统电源的不足,与国外同类电源相比,具有更高的性价比.
1 系统的功能和特点
系统有6路电压输出,其中3路为正,3路为负.电压调节范围为0~35 V ,最大输出电流(A )分别为5,2和1,具有过流保护功能.数字显示有5位,其中1位显示路号,1位显示电压极性,另3位显示输出电压.键盘设有16个键,数字键0~ 9及小数点键用于设定电压输出路号及幅值;“↑”键为逐步增加输出电压或路号;“↓”键为逐步减少输出电压或路号;“C L R ”键用于清除错误输入,恢复原先状态;“# ”键用于启动电压设定状态和确认新设定;“@ ”键为巡回显示和定点显示切换键.
本系统设有巡回显示、定点显示和电压设定3种工作状态.当接通电源时,自动设置为巡回显示状态,它将每隔4 s 在显示器上巡回显示不同路号和相应电压.电压开机设定值为0.此时,若按数字键,则定点显示该路数和电压.若再按“# ”,则电压显示值出现闪烁现象,表示进入电压设定状态.如果依次按下“2”,“6”,“·”,“3”,再按“# ”键确认,新的电压26.3 V 为实际输出,设定完毕.也可以在电压设定状态下, 用“↑”键和“↓”键以0. 1 V 的增量设定电压.系统设有自动识别功能,将不接受超出使用范围的电压设定值.在未按“# ”键之前,对误输入的电压可以用“C L R ”键清除后重新设定.在定点显示态,可用数字键、“↑”或“↓”键选择监视的电压路号.同样地,系统将不接受超出实际范围的路号设定值.输出电压的正负值由系统自动给出,无需用户输入.巡回显示和定点显示的切换按“@”键即可.
2 硬件电路分析
系统选用A T 89C 51单片机为控制核心,完全兼容了8031单片机的指令和功能.同时,它还增加了内置4 K B 闪速存储器,具有128 B 内部R A M ,3个I/O 口,功耗低,体积小巧,不需扩展存储器就能满足系统要求.图1为系统硬件原理图.
2.1 电压输出回路
电压输出回路原理,如图2所示.其调整管采用共射极连接方式,与常见的共集极连接方式相比,功耗和纹波系数大为降低.增并调整管,适当增加B G 2 的容量即可扩展功率输出容量.由于电压反馈调节采用了比例积分调节器,输出电压在正常的工作区能完全地跟踪控制电压Uin .经过推导,可得稳态的输出电压值Uo = WinRw /Rr .Rb 及B G 3 等构成过流保护电路.理论可以证明,该回路近似为一阶控制系统,具有绝对的稳定性.因此,它十分适合于系统的设计要求,详细的分析说明可参见文献〔2〕.
2.2 控制电压给定回路
控制电压给定回路由单片机、D /A 转换器和采样保持器等组成.控制电压由D /A 提供,
系统采用了开环控制方式.一般说来,开环控制的抗干扰能力和精度差〔3 〕.但由于本电压输出电路采用了特有的结构,能实现无静差调节.这样,可以省去类似文献〔2〕电路中的A /D 采样和比较电路,既降低了成本,又简化了结构.其控制算法简单,可靠性显著增强.D /A 输出一般很稳定,但分辨率有限.按本系统的设计要求,输出电压的分辨率必须大于0.1 V .已知稳压输出量程为0~3 5V , 若D /A 的量程和参考电压以5V 计,则D / A 的分辨率B应满足2B> 35/0.1,B> 8.4.故可采用10或12位的D /A 转换器.为保证一定裕量,系统采用D A C 1210.本系统具有多路正负输出,考虑到高位D /A 转换器价格较高.因此,采用了一块D /A ,经不同采样保持器,提供不同控制电压.D A C 1210 的接口原理详见文献〔4〕. 采样-保持电路由数据锁存器74L S 273,以及6块采样-保持器L F 398组成.当D A C 1210输出第N 路(1≤N≤6)控制电压时,通过74L S 273的第N 位输出状态的改变,使相应路的采样/保持器L F 398由保持状态变为采样状态.然后,再恢复成保持状态,从而实现对控制电压的采样和保持.
2.3 显示和键盘接口电路
考虑到本系统监控软件的负担较重,显示采用了静态显示模式〔5 〕.不难发现,电源输出的极性决定于输出电压回路的电路结构,与路号有一一对应的关系.因而,可由软件自动设置.路号及输出电压极性显示需两位数码管,但路号的显示不用小数点位,而极性的显示(负号)仅需一位数据线.故两块数码管完全可以共享一组8位显示数据.这样5位L E D 只需设4个锁存器(74L S273).键盘电路设置于P 1 口,为典型的4×4中断扫描键盘.
3 系统软件设计
本软件设计通过合理安排中断和划分各功能模块,设置统一的状态字,有效克服了系统的功能多、状态转换复杂给软件设计带来的困难.系统软件流程图,如图3所示.
3.1 状态字设计
状态字(SB )占用一个字节,有效位为5位.有
S B .0 = 1,表示处于巡回显示状态, SB .0 = 0,无意义;
S B .1 = 1,表示处于定点显示状态, SB .0 = 0,无意义;
S B .2 = 1,表示处于电压设定状态, SB .0 = 0,无意义;
S B .3 = 1,表示电压设定值有误, SB .3 = 0,表示电压设定值正确;
S B .4 = 1,表示电压非首次数字设定,SB .4 = 0,表示电压首次数字设定.
3.2 各功能处理模块
(1)主程序.进行系统初始化设定(I/O 口、定时、中断、状态字、各数据缓冲区等初始化),等待中断.(2) 定时中断服务程序.输出电压的稳定性是稳压器最重要的指标.考虑到采样-保持器输出有一缓慢的下降速率(当L F 398保持电容为0.1 μF 时,下降速率约200 V ·m in- 1 ),故需定时对其进行保持和电压刷新.本服务程序完成各路电压值刷新和显示.中断申请由定时/计数器T 0 提出,每隔130 m s 中断一次,中断服务级为最高级.(3) 键盘中断服务程序.根据键码和当前状态字,跳转相应的功能处理程序,中断由IN T 0 引入.(4) 键扫描译码程序.将0~9、小数点,以及其它按键译成对应00H ~0F H 的十六进制码.(5) 显示译码程序.将键码缓冲区的内容译成七段码并存入相应的显示缓冲区.(6) D /A 译码程序.将键码缓冲区的内容译成对应的12位D /A 二进制数码,并存入相应的D /A 数据缓冲区(一路输出占2 B ).(7) 显示子程序.根据路数,将该路数据缓冲区的内容与屏蔽字相或后,送对应数管.(8)错程识别序1.在电压设定状态,判定键入数字码后,键码缓冲区数据格式的错误,恢复键入前的状态并给出相应标志(SB .3).(9) 错程识别序2.在电压设定状态,判定键入“↑”键、“↓”键后,键码缓冲区数据格式的错误恢复键入前的状态,并给出相应标志(S B .3).
3.3 数据缓冲区设定
(1) D /A 数据缓冲区.存放各路输出的D /A 值二进制码,每路占2 B ,共12 B .(2) 键码缓冲区.在电压设定状态,存储键入的数值码(包括小数点),一键码用4位二进制数表示.故每路占2 B ,共12 B .(3) 显示缓冲区. 存储各路输出电压显示七段码(含路数、输出极性、电压大小),每路占4 B ,共24 B .(4) 键码备份缓冲区.进入电压设定状态时,程序将复制当前路键码缓冲区的内容并存入此区,共2 B .(5) 显示备份缓冲区.进入电压设定状态时,程序将复制当前路显示缓冲区的内容并存入此区,共4 B .
4 结束语
本文将单片机控制回路与无静差的电压输出回路有机结合,构成一款新式多路数字可调功率直流稳压电源,非常适合一般教学和科研使用.在制作时,电压输出回路,单片机、D A C 、采样保持电路,显示键盘面板宜分开设计.单片机、D A C 与其它外围电路独立供电.D A C 采用高稳定性的基准电源为参考电压,面板电源开关可设计成仅切断输出回路的供电电源.还要注意选择特性较理想的、功率适当的晶体管,加装大小适当的散热片.这样,一般不需太多调试就能获得成功.因此,本电源推广容易,可望获得广泛的应用.