一、方案论证及方框图
1.根据设计要求和使用需要,设计的简易数控直流电源具有以下功能:
(1)输出电压范围为0~+9.9V,步进0.1V,纹波小于10mV,输出电压值由数码管显示。额定输出电流为500mA。
(2)用户对数控电源的控制,可通过键盘进行,键盘设计如下图,通过键盘可以实现以下功能:
a.选择“步进”后,可通过“+”或“—”以0.1V步长单步增减输出电压。
b.选择“连续”后,按“+”或“—”则电源自动向正向或负向扫描,再按“+”或“—”则停止扫描。
c.选择“置数”后,用键盘输入两位数,再按“输入”,输出电压立即调至输入数值。
d.选择“三角波”、“方波”“阶梯波”后,用键盘输入信号参数,如频率和幅度,再按“输入”,电源就可输出指定的信号波形。
e.键入“清除”,输出电压立即清零,等待输入下一步的指令,实现不同功能的切换。
(3)关机时可以预置输出电压,开机后立即自动输出预置电压,预置电压值由两个九位拨码开关输入。
(4)整机由自制稳压电源供电,输入交流220V,输出直流输出±15V和+5V。
(5)由于电源为数控,必须保证电源在加电后到数控建立之前输出电压基本为0,为防止在这段时间内由于输出电压太高而损坏接在电源上的用电器,本电源中采取了措施,能够满足上述要求。
(6)具有完善的保护功能,如果输出端短路或过流,首先硬件保护电路工作,限制输出电流,若过流超过0.5S,则软件保护开始工作,将输出电压制为0,数码管闪烁报警,同时蜂鸣器发出声音报警。软件保护的延时主要考虑了很多用电器接有大容量的滤波电容,刚加电时会有较大的冲击电流,若软件保护太灵敏,就会由于此冲击电流而进入软件保护状态,使电流难以启动。
(7)由于是简易电源,在设计时充分注意成本因素,使电源具有较高的性能价格比。
2.实现方案及框图
为了完成上面所列的各种功能,将整个电源电源分成三部分:数控部分,稳压输出部分和供电部分。框图如下:
(1)数控部分
主要由数字电路构成,它要完成键盘控制、预置拨码开关输入控制、电压控制字输出、数码管显示控制、电流过流时的软件保护及报警等功能。
数控部分功能较多,若用固定功能的芯片来搭,如74系列,则电路比较庞大,也不经济。单片机由于价廉、编程灵活、功能强大,成为我们的首选。通过比较,我们选择了目前广泛使用的INTEL公司的8位单片机8051,与INTEL公司的8096系列16位单片机相比,8051具有明显的价格优势,而且能够满足数控的需要。用单片机实现数控功能的框图如下:
数控部分的核心是一个8051最小应用系统,包括一片8031CPU,一片2764EPROM程序存储器,一片地址锁存用的74LS373,一片地址译码用的74LS138。由于数控部分接口较多,包括键盘输入.预置输入.数码显示和电压控制,8031本身的接口不够用,于是又用了一片8255可编程并行接口。
采用了4×5的键盘作为输入控制,键盘一共用了20个按钮开关,用8255的PB口和PC口完成键盘输入。PC口的PC0-PC4作为扫描输出,PB口的PB0~PB3作为扫描输入,每当检测到有键盘输入就产生一个中断,中断送入CPU的INTO,键盘的去抖动通过CPU用软件实现。CPU的输出电压控制字先送到8255,再由8255的PA口送到稳压输出部分,控制输出电压。
预置电压输入电路包括两个九位的拨码开关和两片10——4线BCD优先编码器74LS147。两个拨码开关分别表示输出电压的整数部分和小数部分,若九位开关全为“0”,则表示数字0。第几位开关为“1”,则表示数字几。若同时有几个开关为“1”,则以编号最高的开关 作为输出。拨码开关的输出送到74LS147进行10——4的BCD优先编码,编好的BCD码送到8031的P1口。电源加电时,在初始化程序中CPU从P1口读入预置值,根据预置值输出电压控制字,实现开机预置。
输出电压值由两位LED数码管显示,用两片74LS164移位寄存器静态驱动数码管,CPU把显示的内容通过串行口(8051的RXD和TXD)送入74LS164。由于显示只用两位数码管,故采用这种显示方式硬件开销不大,又能节省CPU端口,静态显示也减轻了CPU负担,这种显示方式用在这里是比较合适的。
软件过流保护和报警通过中断实现。稳压输出电路含有过流检测电路。当电路过流时,过流检测电路输出低电平,送到CPU的INT1申请中断,CPU接收后,延时0.5秒,再次检测是否过流,若仍然过流,则软件保护动作进行以下操作:电压控制字置为0;控制数码管全灭全亮,交替闪烁;CPU的P11脚送出约1kHz的方波,经三级管驱动后推动蜂鸣器发出警报声。
数控部分与稳压输出部分的接口有两个,一个是由数控部分到稳压部分的电压控制字,宽度为八位,另一个是稳压部分给数控部分的过流指示信号。
(2) 稳压输出部分 这部分将数控送来的电压控制字转换成稳定电压输出,电路主要由D/A转换.稳压输出.过流保护.过流保护指示和延时启动等几部分组成。电路图见下图。
电压输出范围0~ 9.9V,步长0.1,共有100种状态,8位字长的D/A 转换器具有256种状态,能满足要求。设置中用2个电压控制字代表0.1V,当电压控制字从0,2,4,…到198时,电源输出电压为0.0,0.1,…,9.9。电路选用的D/A转换芯片是DAC0832,该芯片价廉且精度较高。DAC0832属于电流输出型D/A,输出的电流随输入的电压控制字线性变化。若要得到电压,还需外接一片运放来实现电流到电压的转换。该运放输入端的输入电流对转换精度影响很大,DAC8032输出的电流在几微安到几十微安间变化,若运放输入端的输入电流为0.1μA(μAA741的输入电流约为此值,且有一定变化),则会引入相当1到2个电压控制字的误差,因此应选用高输入阻抗的运放,如JEET输入的运放LF356,它的输入电流可以忽略。DAC0832需外接基准电压,此基准电压的性能决定了输出电压的性能,要求基准电压具有高稳定度和低纹波,电路选用LM336,-5V作为基准源。当DAC8032采用5V基准电压时,D/A转换电路的满幅输出为5.0V(电压控制字为255时)。由于实际最大用到电压控制字198,因此D/A部分最大输出电压V1=(198/255)5.0=3.882V。
D/A转换部分输出的电压作为稳压输出电路的参考电压。稳压输出电路与参考电压成比例,范围是0~9.9V,负载能力大于500mA,文波小于10mV。稳压输出电路采用典型的串联反馈稳压电路,也可以看成是以参考电压作为输入的直流功率放大器。这部分电路主要由功放U3A和三极管T1.T2构成,T2是大功率三极管。D/A转换电路输出的电压V1接到运放U3A的同相端,稳压电源的输出经R5.RW3和R6组成的取样电路分压后送到运放U3A的反相端,经运放比较放大后,驱动有T1和T2组成的复合调整管。当电路平衡时,D/A输出电压V1与取样后电压V2 相等,R5 =680Ω,R6 =6430Ω,51Ω的电位器RW3调在中心位置,设稳压电源输出电压为VOUT,则
V2= (R6+51/2)/(R5+R6+51)VOUT=(430+51/2)/(430+680+51)VOUT=0.392VOUT
V1 =V 2
VOUT=(1/0.392)V1=2.55V1
所以
前面已算出控制字为198时,V1=3.882V,这时
VOUT,=2.55V1 =2.55×3.882V=9.9V
电源最大输出为500mA,假设电源调整管电流放大倍数β=100,则电源调整管基级最大驱动电流为5mA。用运放驱动略显不足,因此加一级复合,将调整管接成达林顿形式,若T2的β=100,T1的β=100.则运放驱动电流降为0.05mA。
保护电路由T3和R8构成,设Im为保护动作电流,则当电源输出电流I增加到Im 时,R8上的压降Im ×R8 使得T3管道导通,分掉了复合管的基级电流,使输出I不再增加。电路中Im定为600mA,T3的导通电压约0.6V,则R8 =0.6V/600mA=1.0Ω。
过流时的中断申请由运放U3B产生。当过流发生时,稳压源输出经取样后得到的电压V2低于D/A输出电压V1,U3A输出正向饱和,使得U3B的反向端电位升高,U3B输出低电平,产生中断申请信号。
稳压输出部分的延时启动是这样实现的,在基准电压源LM336中-5V的两端并了一只3.3μF的电容,电路图中编号C2.开机通电时,由于C2的存在,基准源基本为0,这时无论D/A的输入是何值,D/A输出接近0,整个电源输出也接近0.延时电路的时间常由R3(7.5kΩ).RW2(10kΩ)和C3(3.3μF)决定:
Τ=(R×RW2)/(R+RW2)C=(7.5×10)/(7.5+10)×3.3×10-3≈14.1ms
而程序加载可在几个毫秒内完成。
(3)供电部分 供电部分输入220V.50Hz交流电,输出全机所需的三种电压:+5V,+15V和-15V。+5V主要供数控部分和D/A转换芯片使用,电流最大约为400mA;+15V作为运放的正电源,同时也是稳压输出电路的主电源,最大电流约650mA;-15V作为运放的负电源同时也给基准电压源(LM336,-5.0V)供电,该电流较小,不超过50mA。
供电部分的电路见图IA-2-5.这部分电路比较简单,不作详述,要说明的就是由于+5V,+15V和-15.+5V主要供数控部分和D/A转换芯片使用,电流最大约为400mA;+15作为运放的正电源,同时也是稳压输出电路的主电源,最大电流约为650mA;-15V作为运放的负电源同时也给基准电压源(LM336,-5.0V)供电,该电流较小,不超过50mA。
供电部分的电路见图IA-2-5.这部分电路比较简单,不作详述,要说明的就是由于+5V和+15需提供较大电流,因此相应的滤波电容取值较大,均为2200μF,-15V电流很小,滤波电容取470μF即可。7815和7805负载重.功耗大.加装了散热片,7915无需加散热片。这样在保证性能的同时也降低了成本。
二.单片机工作的流程图
程序的设计采用了模块化的思想,有一个主控程序,六个应用程序,还有键盘中断程序和过流保护中断程序。
- 主控程序
主控程序首先进行系统初始化,然后读入预置电压值,输出相应的电压控制字,等待键盘输入根据键盘的不同输入,用散转方式转入相应的应用程序,执行后,若用户又输入“清除”,则输出电压控制字0.返回初始状态,等待下一次按键。框图如下所示。
- 应用程序
每个应用程序都根据每一步的键盘输入,进行相应的控制操作,按错键认为输入无效,按“清除”则返回状态。
应用程序1(“单步”)框图如图I A-2-7所示。
应用程序2(“单步”)框图如图I A-2-8所示。
应用程序3(“置数”) 框图如图IA—2—9所示。
应用程序4.5和6仅波形不同,框图相同,以”三角波”为例的框图如图IA—2—10所示。
- 中断程序
过流保护由中断实现,在中断服务程序中进行各项报警和保护操作,中断服务程序框图如图下所示。
程序中读取此标志和变量值,作为进行各种操作的依据,读后将标志清”0”.中断程序中采取了消除键盘抖动措施。
三.电源测试结果
设计完成后,进行了样机制作,稳压输出部分和供电部分各制作了一套,数控部分制作了两套,一套用单片机实现,另一套用FPGA实现,每套数控部分均可通过电缆与稳压部分相连,组成一台完整的数控电源。样机完成后进行了严格的功能测试和性能测试,测试结果如下。
1 功能测试
用单片机控制电源时,输出直流0~9.9V,数码管显示清晰正确。开机预置电压正确,功能开关和按键操作灵活有效,能进行单步或连续扫描。
2性能测试
性能指标 | 测量条件 | 测量结果 | 测量仪表 |
全程输出电压 | 0~9.9V | DT890B型万用表 | |
负载电流 | >500mA | ||
短路电流 | V0=9.9 | 710mA | |
过流保护 | ≥650mA | ||
输出电阻 | 6V/500mA | 0.08Ω | |
纹波 | 全程空载 全程满载(500mA) | <2mA <5mA | |
零漂 | <3mA |
由上面的测量结果可看出,样机达到了设计要求。