由于许多电子设备不能在反相电压下工作,于是在该电源设计中有电压偏置纠正电路,如图3所示,由R20,R9,R10,R18和U2D构成电压反馈电路,在电源刚刚启动时(这时的DAC的输出是0),这部分电路能够消除负电压输出。这里是用电路来完成,没有使用在软件中加一个常数给DAC的方法,这是因为偏移量可能是正值,在软件中DAC的常数就应该是一个负值来纠正,而这种方法不起作用,因为DAC只在无符号数下工作。
二极管D1给供电电路提供了保护使得输出电压不会低于-0.7 V。在电源的输出端,有一个1μF的电容,是用来防止电路的自激振荡,这个电容值不能太大,如果太大电源的输出响应会变慢,CPU控制电源的速度降低了。三极管Q1用来放大LM723的电流输出,Q1耗散的多余功率P=(VIN-VOUT)×IOUT。
电阻R14设置了LM723的电流门限,当R14上的电压达到0.65 V时,输出电压由微分放大器U2C钳制,此时R14上的电压被微分放大器放大,电压与输出电流的比是1 V/1 A。电压放大到5.6 V/A以适应Butter-fly的VIN测量电路的测量要求。电源的控制部分是Butterfly,结构如图3所示,它有良好的用户界面,有五通道的控制杆和六字符的LCD许多外围设备连接着微控制器,比如扬声器、数据闪存、一个NTC电热调节器、一个光敏传感器和一个RS 232通信端。所有的外围接口都能用来扩展系统的功能。现在,在这个电源设计中使用到LCD、控制杆、JTAG、ADC、USI(用I2C驱动DAC)和一电流保护指示LED。
DAC(U3)和Butterfly模块使用HT7533-1线性降压稳压电源供电,该电源不会有高电压输出。为了避免噪声对电源精度的影响,电路中所有的“地”都连接到电路板上的一点上,并且信号“地”也连接到同一点上。
3 软件设计
软件的结构图如图4所示,基于Martin Thomas的Butterfly演示版代码的GCC接口设计。CPU的工作频率设定为8 MHz,因为在程序中要用到浮点运算,但在电源设计中不需要,所以省电模式都未使用。AT-mega169的ADC在每一次转换时都会发出中断请求,电流保护的优先级高于其他进程,ADC的取样来自8次输入的平均值,以消除毛刺,不至于触发错误的过流保护。ADC的一些匹配的常量值在测量电路的参数后再在软件中设置。
4 校 准
因为要作为测试用的信号源使用,所以电源在使用之前必须校准。校准包括两部分,硬件校准和软件设置,在这个过程中,需要对Butterfly的程序进行改写和重新编译。