过程校准仪中高精度电压源的设计
系统采用单片机SST89E58RD2进行控制,另外的功能模块以及外围的键盘输入、液晶显示电路在此不作详细介绍。最终的硬件实物如图4所示。
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159336_2_0.jpg)
硬件电路搭好之后,通过单片机程序将AD8400的值设为(向AD8400的寄存器写数据),然后通过算法将预输出的电压值分别拆分成D/A1、D/A2各自需要输出的电压再将值写入LTC1590的寄存器中,便可从输出端得到直流电压V。
以上是整个系统的程序流程图,先前一直介绍的便是此过程校准仪所拥有的4个功能中的电压输出功能。
重写先前的算式V=5×Vstand=(V1+V2”)×5=(V1分辨率×N+V2”分辨率×M)×5,V1相对于最终输出电压V的贡献应该 是提供V1分辨率×5=0.61305×5=3.06525mV的改变量,然后通过V2来进行细调。但是实际不可能在整个动态范围得到恒定的 3.06525mV改变量,这点已经在调试的过程中得到了证实,而纯粹的使用程序消除不了这种由于器件非线性引起的误差。
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159336_2_1.jpg)
于是需要测量具体V1对V贡献的电压值,再通过V2进行细调。如此的话需要测试整个V1的4096个值,这是现阶段实现不了的(在以后如果引入 自动测试的话或许可以进行)也是没有必要的。分析精调电压V2可以进行调节的范围为0.001×4096=40.96mV>30.6525mV,因 此V1可以以10倍的步进进行改变,如此需要进行测量的值最多在409个,能够做到。
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159336_2_2.jpg)
具体实现的方法是:第一步,恒定V2的值为0,然后以10倍步进改变V1,即分别给V1写值0、10、20、30……4080、4090,记录 下的这些值即是对应的V1对V的贡献值;第二步,恒定V1为0,以较大步进例如100来改变V2的值,通过这些值计算出V2对应的平均步进,通过修改数字 电位器来使其满足0.01mV;第三步,把V1所对应的贡献电压值写入程序中;第四步,当要求输出某个电压时,先通过算式算出所需要的V1的值,再通过查 表得到V1对V的贡献值,然后通过算式确定V2的值,最后对V1、V2写值,得到最终电压V。
除了上述消除非线性误差的方法,还使用了针对线性误差的校准方式,在此不做详细描述,简单来讲是使用了单片机的IAP功能来记录误差然后运用算式进行消除。
测试实验
由于电压输出的动态范围0~12.5V,分辨率为0.1mV。因此,所包含的点数为125000。如此多的点数在测试时,不可能也无需完全测量,只需测量不同输出段的多个点,来说明系统整体的性能指标。
结语
观察上表,部分的输出电压有0.1mV的误差。这是由于在系统定标校准时(进行前述的消除非线性与线性误差的方式),采用的是HP34401进 行的系统定标,HP34401是五位半的万用表,与本系统的精度一致,因此在定标时就引入了系统误差,而在测试实验中依然采用的是HP34401,这就造 成了部分数据的测试误差。若采用六位半精度以上的万用表进行系统定标以及测试,相信精度以及测试结果会更好。不过如今以本人所拥有的实验条件已经得到了令 人满意的实验结果:即通过本文所阐述的此种方法确实能够低成本地实现高精度直流电压源。
评论