基于CAV444的电容式波高传感器的设计与温度补偿

2014-03-21 12:23阳志杰倪文军栗克国王金海
仪表技术与传感器 2014年5期
关键词:波高遗传算法电容

阳志杰,倪文军,栗克国,王 臣,郑 羽,王金海

(1.天津工业大学电子与信息工程学院 天津 300387;2.交通运输部天津水运工程科学研究院 天津 300456)

0 引言

传统波高传感器的检测电路一般由激励源,C/V转化电路,放大电路以及滤波电路组成[1],但是该电路结构复杂且功耗高,而文中采用基于一款新型电容测量集成电路芯片CAV444设计的检测电路具有结构简单,功耗低,输出稳定等特点,同时根据波高传感器的测量原理和实验数据分析可知,温度变化对波高传感器的测量结果影响明显,所以必须对测量结果进行温度补偿。温度补偿的方法有很多种,其中软件补偿是比较常见的一种,常用的软件方法有最小二乘多项式曲线拟合法[2],然而它在实际应用中,当多项式的次数较低时,难以逼近多个数据点所代表的真实情况,而当多项式的次数较高时,拟合曲线在两端附近又容易出现振荡现象,因而限制了它的应用。利用BP(Back Propagation)神经网络的非线性映射能力也能实现温度的补偿[3-4],但该方法容易陷入局部极小且学习速度慢。遗传算法是一种用于全局优化搜索的迭代算法,把遗传算法与BP神经网络有机融合,就是分别利用它们的全局搜索能力和局部搜索能力,且利用遗传算法来弥补BP神经网络权值和阀值选择上的随机性缺陷,从而加快网络学习速度,提高整个学习过程中的逼近能力和泛化能力[5],所以文中采用遗传算法优化的BP神经网络来建立波高传感器的温度补偿模型,并利用此模型来补偿传感器因温度变化引起的测量误差。

1 电容式波高传感器的测量原理

该传感器电极电容结构如图1(a)所示,它的正极采用胆丝和聚乙烯绝缘层,负极采用裸露电极。

(a)传感器结构图

(b)电极电容测量原理示意图

波高传感器的测量原理如图1(b)所示,当传感器的电极电容浸入水中时,传感器的电容量由水上C0和水C1下两部分并联组成。水上部分因为正电极与外界(空气)之间是绝缘的,而负电极无绝缘层,所以正负两极可以看做是相互串联的2个电容。电容之一:正电极(空气与绝缘层之间的界面,Ca);电容之二:负电极(绝缘层与空气之间的界面,Cb)。水下部分因为水是导电体,负极和水之间没有绝缘层,所以水也是负极,则正极与水之间就形成了圆筒形电容,此两极之间的介质是正极的绝缘层。传感器的总电容量Csum的计算如式(1)所示。

(1)

式中:

(2)

将式(2)代入式(1),整理得:

Csum=C0+C1=C+KH

(3)

(4)

式中:K和C为常数;d为胆丝直径;D为正极绝缘层的外直径;ε1为空气的介电常数;ε2为绝缘层的介电常数;S为正极与负极中心之间的距离;R1为负极半径;R2为正极绝缘层外半径;L为量程;H为水位的高度。

理想状态下,K和C都是固定不变的,传感器的电容量只与波浪的高度有关,所以通过测得电容值的变化就可以获取波高的变化。

2 波高传感器检测电路的设计

2.1电容/电压转化原理

CAV444工作原理如图2所示[6],测量的电容(传感器CM)为内置测量振荡器的电容器,CAV444对它进行充放电产生振荡信号,该振荡信号的周期与测量电容的大小成线性关系。振荡信号通过频率/电压转换电路和低通滤波器,最后得到一个直流电压信号,经过零点和满度可调的输出级后得到电压信号输出值。输出电压与内置的参考电压VREF(2.5 V)组成差分电压输出。

CAV444的电容/电压传递函数为:

VOUT=VDIFF+VREF=GLPVTPAS+VRER

(5)

图2 CAV444工作原理图

把式(3)代入式(5)可得:

VOUT=K1(C+KH)+K2=K3H+K4

(6)

式中:VDIFF为差分电压;GLP为可调增益;VTPAS为经过低通滤波器后的输出电压;R1为满度调节电阻;R2为输出级电阻;ΔVCM=2.1 V(由CAV444内置电阻定义);RCM为测量振荡器的电阻;CW为频率/电压转换电路电容;RCW为频率/电压转换电路滤波电阻;K1~K4为常数。

从式(6)中可以看出CAV444测量的电容值与输出电压值成线性关系,综合整个电路系统,波浪的高度和CAV444输出的电压值成线性关系。

2.2波高传感器实际检测电路

波高传感器的检测电路如图3所示,由电容/电压芯片CAV444和电压/电流芯片AM462组成。因为电压信号容易受到噪音的干扰以及传输线的分布电阻会产生电压降,所以最后波高传感器采用电流来传输信号。当传感器完全处在空气中或者电极电容刚侵入液体中时,电容量非常小,而CAV444能够检测的电容范围为20~2 200 pF,所以在电容输入端并联了一个30 pF的电容。该传感器待测电容范围为30~150 pF,经CAV444转换为电压,电压通过AM462转换为工业标准4~20 mA电流输出。

图3 波高传感器的检测电路图

2.2波高传感器检测电路的测试结果

采用交通运输部天津水运科学研究院研发的2008型数据采集仪采集波高传感器信号,把采集到的电流信号(4~20 mA)转换成电压显示(1~5 V)。让波高传感器的检测电路处在5~30℃的室温中,而整个电极电容部分处在一个恒温的水箱中,这样确保电极电容部分与检测电路分离且不受室温的影响,同时水箱中的水温保持20℃不变,从水位10 cm开始,每隔4 cm采集一次数据,记录数据时要等待1~2 min,等数据稳定后才读取数据,得到的部分实验数据如表1所示。

表1 波高传感器检测电路的测试数据

从表1的数据可以看出,基于CAV444的波高传感器的检测电路在室温5~30℃标定实验中相同水位处检测到的电压值最大浮动为1.47 mV,占电压总量程的0.0294%,所以说该检测电路在水温一定的情况下信号输出稳定,且检测到的电压值与波浪高度成线性关系,如图4所示,与测量原理分析的一致,说明了该检测电路能够完成波高的测量。

图4 电压与波高的关系曲线图

3 波高传感器的温度补偿

3.1温度对传感器的影响分析

从波高传感器的测量原理可以推出,传感器电容值的大小不仅与波高有关,与绝缘层和空气的介电常数以及正负极元件的几何尺度都有关系。因为该波高传感器一般用于5~30℃的水中,在测量的过程中,水温处在一个动态的过程中,根据文献[7]可知,绝缘层的介电常数是一个与温度有关的无量纲常数,所以该传感器在应用的过程中,绝缘层的介电常数将会随着水温的变化而改变,另外,绝缘层的厚度受热膨胀系数影响也会产生变化。

从理论分析可以看出,温度变化对波高传感器存在影响,为了更好的了解温度对波高传感器的影响程度,文中做了波高传感器的温度特性实验,部分实验数据如表2所示。

表2 波高传感器的温度特性实验的部分数据

表2中的实验数据是在下列条件下测量的:天津水运科学研究院的2008型数据采集仪(电流信号4~20 mA转换为电压1~5 V)采集传感器信号,波高传感器固定在温度和水位可调的恒温水箱中,Pt1000温度传感器采集水箱中的水温,水温在5~30℃(波高传感器工作的水域温度一般在5~30℃)之间,在每一个水温上都是从10 cm开始,每隔4 cm采集一次数据,共采集10次,每次读取数据时要等待1~2 min,等数据稳定后再记录。根据表2中的数据,把水温12.45℃各水位测量的电压值作为标准值,不同水温下各水位的电压浮动值为测量值减去标准值,将不同温度下各水位的电压浮动值绘制成平滑曲线,如图5所示。

图5 温度对波高传感器测量结果的影响

从图5中的温度对波高传感器的影响曲线来看,在26℃以下时各水位的电压值随着水温的升高而变大,而在26℃以上时部分水位的电压值随水温呈下降趋势,同时水位越大电压值随温度变化也越明显。综合理论分析和实验数据我们得到波高传感器的测量结果明显受到温度变化的影响,所以采用遗传算法的BP神经网络对波高传感器进行温度补偿来消除因温度引起的测量误差是有必要的。

3.2波高传感器温度补偿原理

波高传感器采用遗传算法的BP神经网络对输出值进行温度补偿的原理图由传感器测量模型和神经网络补偿模型组成,如图6所示。

图6 波高传感器温度补偿结构模型

图6中,H为经遗传算法的BP神经网络补偿后的波高输出值,波高传感器的测量的数学模型为:

U=f(h,T)

(7)

式中:h为待测目标波高参量;T为水温参量;U为传感器的输出电压值。

如果U和T都为h的单值函数,则式(7)的反函数存在,即:

h=f-1(U,T)

(8)

将传感器的输出电压值与水温参量作为神经网络的输入样本,经遗传算法的BP神经网络处理的的输出波高H为期望的消除了水温干扰后的目标参量h.文中通过对给定的样本数据来训练BP神经网络,通过遗传算法优化调整BP神经网络的权值和阀值,使得输出值H尽可能的逼近波高的目标参量h,实现温度补偿,从而提高波高传感器的测量精度。

3.3遗传算法的BP神经网络结构

BP网络是一种按误差逆向传播算法训练的多层前馈网络,是目前神经网络应用最广泛的一种,BP神经网络能够学习和存贮大量的输入—输出模式的映射关系,而不需要事前知道描述这种映射关系的数学方程,其算法由信号的前向传播和误差的逆向传播两部分组成[3]。遗传算法的BP神经网络就是利用遗传算法来弥补BP神经网络算法中权值和阀值选择上的随机性缺陷以及BP网络在学习训练过程中容易陷入局部最优的缺点[5]。

遗传算法的BP神经网络算法的具体步骤如下:

(1)因为在标定实验过程中,水位的读取为人工操作,所以为了排除人为误差,需要对样本数据进行预处理。

(2)建立一个初始BP神经网络结构,设定好网络相关参数和函数,通过编码方式产生初始种群,用BP神经训练得到的误差作为适应度值,经过选择操作、交叉操作、变异操作等遗传操作获得最优权值和阈值。

(3)用得到的最优权值和阈值优化BP神经网络,经过训练得到满足要求的最佳BP神经网络结构。

3.4波高传感器温度补偿的实现

因为波高传感器工作时的水温一般为5~30℃,所以我们在采集样本数据时从水温5℃开始,然后每2℃对波高传感器进行一次标定实验,直到30℃,把采集到的样本数据作为遗传算法的BP神经网络的训练样本,表2中的部分温度下的数据作为测试样本。把水温值与电压值作为输入向量中的数据,水位作为唯一期望输出值,采用三层的神经网络结构,输入层的神经元数为2,隐晦层的神经元个数为31,输出层的神经云个数为1,目标误差设置为10-8,然后按照3.3中的操作步骤在MatLAB中进行学习训练得到最佳的BP神经网络结构。

为了检验遗传算法的BP神经网络算法的效果,文中还采用了最小二乘多项式曲线拟合法来进行温度补偿。通过上面的训练样本数据及利用最小二乘多项式曲线拟合法原理得到传感器的数学模型为:

H=f(U,T)=(0.014840412-0.00013146T)U-

0.001431T2+0.237137T-7.23092

(9)

式中:H为水温补偿后的波高输出值,cm;U为电压值,mV;T为水温,℃.

表3给出了表2中部分温度下的实验数据采用遗传算法的BP神经网络和最小二乘多项式曲线拟合法进行温度补偿后的波高值,通过数据对比,文中采用的遗产算法的BP神经网络温度补偿模型,简单易行,精度较高。

表3 不同方法温度补偿模型拟合结果的对照表

4 结语

文中阐述了电容式波高传感器的测量原理,并设计了一款基于CAV444的新型波高传感器检测电路,从表1实验数据来看,该波高传感器的检测电路信号输出稳定,能够满足测试要求;同时本文通过采用遗传算法的BP神经网络对输出值进行温度补偿来消除因温度变化引起的测量误差,并通过与最小二乘多项式曲线拟合法相比较,实验数据表明文中所提出的修正方法是可行的,提高了波高传感器的测量精度。参考文献:

[1]蒋家云,富宝龙.电容式传感器电容检测电路的研究.传感器世界,2008(3):46-49.

[2]张艳锋,严家明.基于最小二乘法的压力传感器温度补偿算法.计算机测量与控制,2007,15(12):1870-1874.

[3]张潜,武强.基于BP神经网络的一种传感器温度补偿方法.电子设计工程,2011,19(9):152-154.

[4]严洁,赵研,张俊利.基于BP神经网络的称重传感器静态非线性误差补偿研究.传感技术学报,2008,12(6):1025-1028.

[5]彭基伟,吕文华,行鸿彦,等.基于改进GA-BP神经网络的湿度传感器的温度补偿.仪器仪表学报,2013(1):153-160.

[6]赵远鹏,靳宝全,程珩.基于变介质感测的液位传感器研究.自动化与仪表,2012(7):20-23.

[7]行鸿彦,彭基伟,吕文华,等.一种湿度传感器温度补偿的融合算法.传感技术学报,2012,25(12):1711-1716.

猜你喜欢
波高遗传算法电容
珊瑚礁地形上破碎波高试验研究
基于漂流浮标的南大洋卫星高度计有效波高研究
低压电容器电容值衰减原因分析及改造
海堤设计波高计算
复合土工膜缺陷条件下平原水库波高分布研究
浅析投射式多点触控电容触摸屏
现代传感器中的微电容检测技术
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
宽电容测量仪的设计
软件发布规划的遗传算法实现与解释