恒流源是一种能向负载提供恒定电流的电源装置,在外界电网电源产生波动和阻抗特性发生变化时它仍能使输出电流保持恒定,广泛应用于计量、半导体器件性能测试、传感器、稳定磁场的产生等领域。
仪器仪表的自动化、智能化成为今后发展趋势。传统恒流源由镇流器、晶体管以及后来的半导体技术,输出电流调节缺乏灵活性。根据不同系统对恒定电流信号的不同需求,人们希望输出电流信号的幅值可调,且分辨率高、工作稳定。在旋翼转速调节放大器测试系统中,磁放大器性能测试环节需要精度高,变化范围广的恒定电流输入。因此,研制一种由计算机数字化控制,高精度的恒流源系统是十分必要的。传统恒流源已远远不能满足目前设备要求,而以单片机技术为基础实现的程控化、智能化的数字恒流源,功能上更强大,操作更简洁,能满足不同场合的需求。为此,这里提出一种基于DAC7512的数控直流恒流源系统设计方案,其输出电流调节范围为-45~+45 mA、精度为±0.1 mA,分辨率达0.024 4 mA。该设计已在旋翼转速调节放大器测试系统中得到应用。
1 DAC7512简介
DAC7512是TI公司生产的具有内置缓冲放大器的低功耗单片12位数模转换器,其片内高精度的输出放大器可获得满幅(供电电源电压与地电压间)任意输出。DAC7512带有一个时钟达30 MHz的通用三线串行接口,因而可接入高速DSP。其接口与SPI、QSPI及DSP接口兼容,因而可与多种系列单片机直接连接而无需任何其他接口电路。由于DAC7512串行数模转换器可选择供电电源作为参考电压,因而具有很宽的动态输出范围,此外,DAC7512数模转换器还具有3种关断工作模式。正常工作状态下,DAC7512在5 V电压下的功耗仅为0.7 W,而省电状态下的功耗为1 μW。因此,低功耗的DAC7512无疑是便携式电池供电设备的理想器件。DAC7512的主要特点如下:
1)微功耗,5 V时的工作电流消耗为135 μA(DAC7512);
2)掉电模式时,采用5 V电源供电,其电流消耗为135 nA;而采用3 V供电时,其电流消耗仅为50 nA;
3)供电电压范围为+2.7~+5.5 V;
4)上电输出复位后输出为0 V;
5)具有3种关断工作模式可供选择,5 V电压下的功耗仅为0.7 mW;
6)带有低功耗施密特输入串行接口;
7)内置满幅输出的缓冲放大器;
8)具有SYNC中断保护机制。
图1为DAC7512的写操作时序,其引脚功能描述如表1所列。
2 数控恒流源系统硬件设计
2.1 系统设计原理
整个数控恒流源系统由计算机、AT89C51单片机、DAC7512、差动放大模块、电压,电流转换电路和功率驱动电路组成。采用AT89C51单片机为控制芯片实现数控恒流源系统的各项功能。测试系统需要相应电流输出时,计算机经MAX232通信接口发送电流控制字(12位的数字量)给单片机系统,单片机系统将电流控制字经模拟SPI通信接口,写入DAC7512数膜转换器,控制其输出相应的电压量,然后经高输入阻抗的差动电路、电压,电流转换电路和功率驱动电路,最终输出需要的恒定电流。数控恒流源实现原理如图2所示:
2.2 系统硬件设计
硬件系统设计主要分为电压输出模块、电压/电流转换模块、基准电压发生模块和通信模块4部分。系统硬件电路原理如图3所示。
2.2.1 电压输出模块
单片机通过SPI通信接口将电流控制字写入DAC7512后,DAC7512的输出端VOUT(图1中为DAC1)输出一个范围在0~5 V之间的模拟电压。模拟电压通过与2.5 V零基准电压比较,差动输入到运放U1C(LM224)中,运放U1C输出+0.5~-0.5 V之间变化的电压Vo。运放U1C组成的差动缩放电路:
当Vi=5 V时,Vo=0.5 V;当Vi=0 V时,Vo=-0.5 V。
电流控制字K的计算公式理论推导如下:
则电流控制字
设定恒流源输出为I=10 mA时,代入式(5)得到电流控制字K=2 064。
该电路初始化时发送电流控制字K=2 048,实现零电流输出。另外,实际电路中由于选用电阻本身的误差和运放输入失调、温漂等问题的存在,上述计算公式的零位和线性系数会稍有偏差,可以通过标定得到准确的系数和零位。
2.2.2 电压/电流转换模块
由电压发生模块产生的+0.5~-0.5 V之间变化的电压,经运放U1D(LM224)的正向输入端接入电压/电流转换模块。该模块采用运放U1D组成的串联电流负反馈电路,实现V/I转换。其转换电路的输出电流大小由正端输入电压和负端与地间电阻确定。根据运放的“虚短”原理,运放U1D的正向输入端U12和反向输入端电压相等,再由“虚断”原理,正反向输入端之间没有电流通过,流经反向输入端和地之间电阻上的电流全部来自运放输出端经负载反馈的电流。因此,反向接地电阻和正向电压的大小共同决定了流经负载电流的大小,正向电压不变则流经负载的电流不变,即实现了恒定电流输出。计算输出电流:
根据式(6)可计算得恒定电流输出范围为-50~+50 mA。由于运放输出功率有限,在负载超过其输出功率时,运放的输出电流会相应的发生变化。因此,电路中为了提高恒流源的输出精度,采用多个运放输出并联的方法增大输出功率,并联运放输出端电阻R25等用于消除输入失调电压的影响。多运放并联接法如图4所示。
2.2.3 基准电压发生模块
DAC7512输出0~5 V之间的模拟电压需要有高精度的基准电压才能保证输出电压的准确性。由于电路中DAC7512参考电压需要选用5 V,故采用LM336产生高精度的5 V基准电压,以保证输出信号的稳定性和精度。
LM336是一个稳压二极管,它具有以下特点:稳压范围可调节、低温度系数、大范围的工作电流为600 μA~10 mA、0.6 Ω的动态电阻、±1%的初始化误差等。本系统中利用LM336产生控制精度比较高的5 V工作电压(比一般的7805控制精度要高),作为A/D转换器电源电压Vcc和基准电压Vref,这样可以提高输出电压精度,有效减少系统误差的产生。其典型应用原理如图5所示。5 kΩ的电阻为限流电阻限制LM336的工作电流。
在产生负电流时,DAC7512输出0~5 V之间的模拟电压,不能产生负电压,需要和2.5 V的电压进行比较输出负电压。本系统中,2.5 V电压是由2个相同电阻分压得到。为了防止接入运放反向输入端时对分压电阻阻抗匹配的现象发生,将2.5 V电压接入高阻抗跟随器电路,这样对分压电阻影响小,2.5 V电压输出稳定。
2.2.4 通信模块
PC机的串行通信接口采用的是EIA RS-232E标准串行通信协议,用于实现计算机与计算机之间、计算机与外设之间的数据通信。该信号源模块传输距离小于1.5 m,我们选用的通信波特率为28 800 b/s。在硬件系统设计中,AT89C51单片机与DAC7512通信端口外加上拉电阻保证通信可靠。
89C51单片机串行通信接口采用的是TTL电平,TTL电平规定0~0.8 V为“0”电平,2~5 V为“1”电平,它不能直接与PC机标准串行通信接口连接通信,必须设计TTL电平到RS232协议电平信号的转换电路。MAX232是一种把TTL电平转换为RS232电平的芯片,输出电平协议-3~25 V为“0”,+3~+25 V为“1”。MAX232与PC和89C51的接口电路如图6所示。
3 系统软件设计
本系统中,单片机程序由3个模块组成,分别是初始化模块,串口通信模块及SPI通信模块。初始化模块完成串口通信参数以及其他参数的设置。串口通信模块完成与上位机通信过程中数据的判别和接收。SPI通信模块完成对DAC7512的数据写入。
系统复位后,单片机先进行各参数(如串口通信波特率)初始化设置及清空看门狗,继而判断是否有通信事件发生,没有通信发生或通信命令错误则返回清空看门狗。如果有正确通信事件发生,则将通信命令中的电流控制字经SPI通信模式写入DAC7512,更新控制发生电流大小。单片机程序流程如图7所示。
由于采用的AT89S51单片机本身不带有SPI总线接口,因此为了和DAC7512进行通信,本系统利用单片机普通I/O口和其SPI接口相连,采用软件来实现SPI总线协议下的数据通信,这样单片机就可以经过SPI串行总线将电流控制字(12位的数字量)写入DAC7512。根据DAC7512的SPI通信时序图,用汇编语言编写单片机系统模拟SPI通信程序如下:
4 实验结果
在进行电流源性能测试时,用万用表作为实际电流的测量仪器。通过上位机设定特定电流值,控制恒流源模块产生设定电流。再通过万用表串联接入电路测得实际电流值,从而可以进行设定电流和实测电流的对比试验。电流和实测电流的对比结果如表2所示。
经表2分析可知恒流源模块可以在-45~+45 mA连续变化,实际误差小于0.5%。另外通过不同负载下的性能试验。表明负载电阻在0~100 Ω变化输出电流变化小于0.05%,分辨率仅为0.024 4 mA,满足了磁放大器性能测试的需要。
5 结论
本系统产生的恒定电流可在-45~+45 mA连续变化,分辨率为0.024 4 mA,实际误差小于0.5%,电路简单,应用灵活、精度高。系统各项技术指标均达到设计要求,工作可靠,并已投入使用,有较高的使用价值。另外系统采用普通I/O口实现模拟SPI通信方式下的数据传输,该通信设计有助于直观理解SPI通信过程,使不具备SPI接口的控制芯片同样可以和外围芯片进行SPI通信,对过程监控、数据采集等系统的开发具有借鉴意义。