DGN-1型流量计是笔者针对灌区渠系量水建筑物的测流原理研制的测量仪表,在使用中决定其测量精度的因素主要是采集水位的传感器和A/D转换器MC14433的转换精度。本文仅对提高A/D转换器的转换误差补偿措施和软件补偿措施进行探讨。对误差的补偿有两种处理方法,一是硬件补偿方法,二是软件补偿方法。软、硬件补偿措施同时采用,则可以极大地提高仪表的测量精度。
ADC-MC14433是美国Motorola公司生产的双积分型3位半A/D转换器,这种集成电路的芯片具有自动调零、自动极性转换、功耗低、精度较高、调整使用方便等特点,在仪表测量数字化方面得到了广泛的应用。为了提高整个仪表的测量精度,A/D转换器的转换精度是至关重要的,为了保证MC14433的转换精度,在应用中采用了高精度、高质量的外围元件;尽管在外围元件上采取了必要的措施,实测中仍然存在一定的转换误差,且呈非线性变化。为了满足仪表对某些技术指标的要求,提高测量的精度,必须采取某些技术措施对其进行补偿加以修正。其次对传感器的测量误差也可以在软件上做一定的补偿加以修正。
1 MC14433转换误差的分析
1.1 A/D MC14433的工作原理
为了论述问题方便,简要的看一下双积分型A/D MC14433的内部结构。其组成框图如图1所示。所谓双积分型是指这种转换器把输入的模拟信号量(水位、压力等)转换成与电量幅值成正比的时间Tx,然后再将时间Tx转换为相应的数字量输出。

从图1可以看到模拟部分共有3个集成运算放大器A1、A2、A3。其中A1接成电压跟随器,以提高A/D转换器的输入阻抗。A2和外接的R1、C1构成积分器,当控制逻辑电路发出定时控制脉冲使模拟开关S1接通输入信号Vi时,A/D转换器对输入的模拟信号进行定时采样,积分器对输入信号信号Vt进行正向积分。而当S1与基准电压VREF接通时,积分器又对基准电压进行反向积分,且正反向积分的时间相等,均等于积分电路A2的时间常数τ=R1×C1,这就是所谓的双积分。A3组成电压比较器,主要功能是对模拟部分的“0”电平检出,作为内部数字控制电路的判别信号。
由控制逻辑电路发出的的控制信号,一个是令模拟开关S0=“1”,使S0闭合,使积分器的积分电容C1完全放电。另一个是令RD=“0”,使数字逻辑电路的计算器清零,使其输出状态为:Qn,Qn-1,…,Q0=000…0的初始状态。由于数字逻辑电路的输出为零状态,又使控制逻辑电路发出S1=“1”的脉冲信号,使模拟开关S1闭合,将传感器采集的模拟信号V1接入电路A1,积分器A2从0开始对Vt进行反向积分,A2的输出V02以一定的斜率从0开始负向线性增大,如图2(C)中曲线①线所示。由于积分器输出V02为负值,使电压比较器A3输出为V03=+V0m,送出逻辑电平“1”,将数字部分的控制门G打开,当时钟CP向数字逻辑电路发出计数脉冲时,计数器从0开始计数,一直计到2n个脉冲时,数字逻辑电路中的各触发器的输出为:Qn,Qn-1,…,Q1,Q0=10…00。由于Qn=1,给控制逻辑电路发出一个定时控制信号,使模拟开关S1=0,使S1从与Vt接通位置切换到与基准电源VREF接通。积分器从对Vt积分转换为对VREF的正向积分,如图2(C)中曲线②所示。

与此同时电压比较器A3的输出仍为“1”电平控制门G仍处于打开状态,时钟脉冲CP继续发出计数脉冲,数字逻辑电路继续进行加法计数,直到电压比较器A3的输出变为“0”电平,将控制门关闭,数字逻辑电路停止计数。对应此时数字逻辑电路输出的就是与输入信号Vt成正比的数字量,完成一个A/D的转换过程。
由上述可知,双积分A/D转换器进行一次转换,可以分成采样时间(0—t1)和测量时间(t1—t2)两个阶段。在采样时间内积分器对输入的模拟信号Vt从0开始积分,当达到时间t1时积分器的输出为:
(1)
若输入信号Vt在0—t1时间内取为平均值,则:
(2)
在测量时间间隔内(t1—t2),对应t2时刻积分器输出V02=0,即:
(3)
从(3)式可以求得:
(4)
由(2)与(4)两式可以求得:
(5)
设时间脉冲CP的周期为T,计数器在时间t0—t1时段累计的脉冲数为N1=2n,N2为计数器在时段t1—t2累计的脉冲数,则有:
t1=N1·T t2=N2·T (6)
将(6)式代入(5)式,可以推得:
(7)
或
(8)
从以上的分析可以看出,计数器所累计的脉冲数N2就是输出的二进制数字量,从(8)式可以看到,它与输入的模拟信号电压Vi成正比。只要Vi<VREF,该转换器就能正常地将输入信号电压Vt分时段地转换为对应的数字量输出。
1.2 A/D转换器非线性误差的分析
由上面的论述可以看出,双积分A/D转换器MC14433转换的核心部件是积分器A2,它的性能直接影响模数转换结果的精度。式(8)是在理想条件下得出的结论。但是在实际应用中,由于积分器的积分电容存在漏电阻,其二是运算放大器的增益和输入阻抗都是有限值,而且运算放大器还存在着一定的输入失调电流和失调电压等原因,因此积分器的特性不可能是是理想的,必然造成一定的转换误差。在实际调试中,我们发现影响MC14433转换精度的最主要的是外接的积分电容的漏电阻。为此可以用积分器的等效电路进行以下的定量分析。A/D转换器的等效原理图见图3。

积分器的阶跃响应为:
(9)
当t极小时,根据泰勒级数,(9)式可写为:
(10)
从(10)式可以看到,在理想条件下即积分电容的漏电阻RC趋于∞,积分器的输出为:
(11)
但实际情况积分电容的漏电阻RC不可能为∞,所以按(9)和(11)两式,用泰勒级数可以推出实际情况下MC14433模数转换的关系为:
(12)
从(12)式可以看出,积分电容的漏电阻RC带来了一定的转换误差,RC的值越小,误差就越大,而且该误差随模拟输入电压Vt的幅值的增加而非线性地增加。由于电阻是一种耗能元件,所以实质上转换误差是由积分电容的漏电阻损耗造成的。
2 硬件补偿方法
双积分A/D转换的非线性误差,可以通过采用各种软件补偿方法加以改善,如直接查表法、分段线性补偿法等。但是以上方法应用起来比较麻烦,且工作量也大,一般要求建立在微处理器的智能测量系统上。实际应用中,我们采用更加简便的方法,即在积分器的外接元件上做以改动,可以收到比较满意的效果。补偿后的等效电路见图4。

从放大电路的角度分析时,可以把积分电容的漏电阻RC与积分电容器C并联后造成反馈支路阻抗下降,因此可以在积分电容支路串联一个高精度的阻值较小的电阻Rf来补偿。加上补偿电阻Rf后A/D转换器的转换关系为:
(13)
若取:
(14)
则(13)式经过整理得:
(15)
比较(12)式与(15)式,可以看到(15)式的转换误差要小得多。因此Rf的接入可以有效地改善A/D转换器的转换精度。
在实际调试中,可以采用实验的方法来确定补偿电阻的最佳值,即采用一个100Ω的精密电位器与积分电容串联,进行调试,寻求最佳值,当确定后,可以用一个等效的高精度的金属膜电阻替代焊接在电路中即可。
3 软件补偿方法
传感器测量的不变误差的补偿较可变误差容易一些,将测试值加上或减去一个固定的误差值就可以了。而可变误差则较为复杂,先要判断所测试的值是否是可变误差,然后判断其大小和极性。
设不变误差为△y,可变误差为△x,测试值为Z,补偿后的的测试值为Z',则:
Z'= Z - △y - △x (16)
测试的值是多样的,但可以分为两种,阶跃变化值和非阶跃变化值。对测试系统因采用了采样保持电路,所以两种变化值均可以归结为测试阶跃值(图5)。

3.1 阶跃变化值的分析
对图5a所示的阶跃值,由于测试系统的可变误差的变化率是有一定限度的。如以这个限度作为设定的界限,设为△B,则采样频率所获得的测试值的增量在这个限度内的相应变化就定为可变误差的变化量。超过这个限度的则认为是所要测试的值,该值含有可变误差的的变化量。为了明确鉴别该值是否是测量的值,最为有效的方法是将两次相邻的测量值相减,看其差值的绝对值是否在这个限度内,这样就可以判断出测试的量值了。设两相邻的值为Bn、Bn-1,相对应的测量值的可变误差的变化量为△X',则
|△X'|=|Bn-Bn-1|≤△B (17)
若在n次测量前和n次(17)式均成立,则可认定Bn值不是所要测试的量值,而是系统的可变误差△Xn,与部分不变误差△yn'之和,即Bn=△Xn+△yn',而可变误差可表示为:
(18)
若在第n+1次时出现|(Bn+1-Bn)|> △B,则认定Bn+1值为所要测试的阶跃值。经过处理,可得出如下的Bn+1值的补偿算式:
3.2 非阶跃变化值的分析
由图5b可以看出,这种信号经采样保持器后变成了具有不同高度的阶跃值。也可以利用前面测试阶跃值的补偿方法将每个阶跃值其间的可变误差的变化量△xn'累加起来,从而得出测试第n+1个阶跃值时的可变误差△xn,使测试的阶跃值得以补偿。
令第n个阶跃值期间测试的值为A1,有Bn=A1,采样次数m(i=1,2,…,m),则在测试第n+1个阶跃值时,第n个阶跃值的可变误差△xn为:
(21)
在(21)式中,当n=1时应保证不含有所要测试的阶跃值,使得B1=△x1+△y1',以便求得△x1。在测试每个阶跃值期间,必须保证m≥2,否则,将得不到△xn'。由此可以得出测试第,n+1个阶跃值的补偿算式为:

(22)式中的△yn+1与(19)式中的△y'n+1相同。
由于测试系统中的误差形式与诸多因素有关,其影响的程度也不同,因此在编写程序前需搞清影响误差的主要的一些因素,根据具体情况决定取舍。

如对某种压力传感器在其量程范围内不可能随压力的变化,在其输出端显示出绝对的线性变化,如经放大器放大直接参与运算,其结果将会出现偏差,为消除此误差,必须对非线性部分进行修正。由于这种非线性部分可能存在于整个量程的多个区段之中,所以对不同的量程区段就要采取不同的修正系数加以补偿。阶跃变化的测试值的补偿程序见图6。
4 结语
通过试验证明,对A/D转换器的补偿,可以提高仪表的转换精度,在传感器上通过软件补偿可以补偿信号采集的精度,相应地提高了整个仪表的测量精度。
参考文献:
[1] 王国定,王鸿宾,尹嘉祥,等.CMOS集成电路[M],北京,国防工业出版社.1985.
[2]李清泉,等.集成运算放大器原理及应用[M].北京:科学出版社,1988.
[3]李华,孙晓民,李红青,等,MCS-51系列单片机实用接口技术[M].北京:北京航天大学出版社,1993.
[4]韩克敏,朱凤书,李新.DGN-1型多功能流量计[A].灌区用水管理与量水技术论文集[C].1997:35-40.
[5]彭兵,韩克敏,韩勇.基于计数器的可编程定时电路[J].西北农林科技大学学报(自然科学版),2003,31(5):1999-201.




