液位检测方法和液位检测装置与流程

文档序号:11175273
液位检测方法和液位检测装置与流程

本发明涉及测控技术领域,特别涉及一种液位检测方法以及一种液位检测装置。



背景技术:

相关技术提出了一种智能电容式液位测量仪,该方案通过电容频率转换电路将电容变化转换为频率变化,并采用温度传感器检测温度,然后中央处理单元根据频率变化并通过软件公式计算液位,以及根据温度并通过软件公式对计算出的液位进行补偿和分段修正。

但是,相关技术存在的问题是,增加了温度传感器,从而使得电路较复杂,并且电容检测精度也受限于温度传感器的精度,从而影响液位检测准确性。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种液位检测方法,该方法能够准确判断液位变化,有效避免环境对液位检测的干扰。

本发明的另一个目的在于提出一种液位检测装置。

为达到上述目的,本发明一方面实施例提出了一种液位检测方法,分别检测当前电容检测单元的自电容值和互电容值;根据所述当前电容检测单元的自电容值与对应的自电容基准值之间的关系和所述当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元;如果判断有液体覆盖所述当前电容检测单元,则向上分别检测与所述当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。

根据本发明实施例提出的液位检测方法,分别检测当前电容检测单元的自电容值和互电容值,然后根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元,如果判断有液体覆盖所述当前电容检测单元,则向上分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信 息。由此,该方法联合互电容和自电容的变化情况来检测液位,可有效避免环境对液位检测的干扰,提升了液位检测的准确度。并且,该方法不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

为达到上述目的,本发明另一方面实施例提出了一种液位检测装置,多个电容检测单元;控制模块,所述控制模块与所述多个电容检测单元相连,所述控制模块用于分别检测当前电容检测单元的自电容值和互电容值,并根据所述当前电容检测单元的自电容值与对应的自电容基准值之间的关系和所述当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元,如果液体覆盖所述当前电容检测单元,所述控制模块则向上分别检测与所述当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断所述没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。

根据本发明实施例提出的液位检测装置,控制模块分别检测当前电容检测单元的自电容值和互电容值,然后根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元,如果判断有液体覆盖所述当前电容检测单元,则向上分别检测与当前电容检测单元相邻的下一个电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。由此,该装置联合互电容和自电容的变化情况来检测液位,可有效避免环境对液位检测的干扰,提升了液位检测的准确度。并且,该装置不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

附图说明

图1是根据本发明实施例的液位检测方法的流程图;

图2是根据本发明一个实施例的多个电容检测单元的安装示意图;

图3是根据本发明一个实施例的液位检测方法的流程图;

图4是根据本发明一个具体实施例的液位检测方法的工作原理图;

图5是根据本发明实施例的液位检测装置的方框示意图;

图6是根据本发明一个实施例的液位检测装置的部分结构示意图;以及

图7是根据本发明一个实施例的自电容模型和互电容模型的示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同 或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图来描述本发明实施例提出的液位检测方法和液位检测装置。

图1是根据本发明实施例的液位检测方法的流程图。本发明的实施例的方法利用互电容和自电容在液位变化与环境变化时的电容变化差异性来进行检测液位,即言,根据互电容的原理特性,液位发生变化时互电容值不会变化,而根据自电容的原理特性,液位发生变化时自电容值变化。基于此,本发明实施例液位检测方法将互电容和自电容的变化情况相结合来检测液位。

如图1所示,本发明实施例的液位检测方法包括以下步骤:

S1:分别检测当前电容检测单元的自电容值和互电容值。

也就是说,可先启动互电容模式,在互电容模式下检测当前电容检测单元的互电容值,再启动自电容模式,在自电容模式下检测电路检测当前电容检测单元的自电容值。

根据本发明的一个实施例,通过多个电容检测单元进行液位检测,分别检测当前电容检测单元的自电容值和互电容值,即步骤S1包括:将多个电容检测单元中的当前电容检测单元作为激励端,且将其他电容检测单元接地,以检测当前电容检测单元的自电容值;将多个电容检测单元中每个电容检测单元均作为激励端,以检测当前电容检测单元的互电容值。

也就是说,如图7所示,在当前电容检测单元例如C1作为激励端而其他电容检测单元例如C2-C6作为地的情况下,检测到的电容可定义为自电容,如此只向当前电容检测单元施加激励信号时,通过检测当前电容检测单元的电容即可获得当前电容检测单元的自电容;在多个电容检测单元例如C1-C6同时作为激励端的情况下,消除了任意两个电容检测单元之间的电容影响的电容定义为互电容,如此向每个电容检测单元施加激励信号时,通过检测当前电容检测单元的电容即可获得当前电容检测单元的互电容。

在本发明的一个具体示例中,如图2所示,多个电容检测单元与待测容器紧密贴合,例如通过3M胶粘贴,并且,多个电容检测单元可按照液体在待测容器内的上升方向依次排列,例如多个电容检测单元可在待测容器的底部的垂直方向上依次排列,被液面覆盖的电容检测单元的数量将随着液位的变化而变化。应当理解的是,多个电容检测单元与待测容器的设置方式不限于贴合方式。

并且,电容检测单元被液面覆盖时的自电容值与未被液面覆盖时的自电容值不一致,即言,液位上升或下降时电容检测单元的自电容值将会发生变化,而互电容值不会发生变化。但是,当环境发生变化时,电容检测单元的自电容值和互电容值均会发生变化,因此通过监测电容检测单元的自电容值和互电容值可以消除环境的的影响,准确识别液位信息。

S2:根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖当前电容检测单元。

应当理解的是,当当前电容检测单元被液体覆盖时,判断液体至少达到当前电容检测单元所处的位置,而当当前电容检测单元未被液体覆盖时,判断未上升至当前电容检测单元所处的位置。

需要说明的是,当前电容检测单元可在待测容器的底部或顶部、或中间任意位置。

S3:如果判断有液体覆盖当前电容检测单元,则向上分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。

进一步地,根据本发明的一个实施例,如果判断没有液体覆盖当前电容检测单元,则向下分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断有液体覆盖电容检测单元时,根据有液体覆盖时对应的电容检测单元获取液位信息。

需要说明的是,向上指的是液位的上升方向,如图2中箭头所示的方向,如此,向上检测即为检测当前电容检测单元上面的电容检测单元。相应地,向下即为图2中箭头所示的反方向,如此,向下检测即为检测当前电容检测单元下面的电容检测单元。也就是说,可从多个电容检测单元中任一个电容检测单元开始检测,如果判断有液体覆盖当前电容检测单元,则分别检测与当前电容检测单元上面的相邻电容检测单元的自电容值和互电容值,直至判断没有液体覆盖当前电容检测单元;如果判断没有液体覆盖当前电容检测单元,则分别检测与当前电容检测单元下面的相邻电容检测单元的自电容值和互电容值,直至判断有液体覆盖当前电容检测单元。

下面以从与待测容器底部最接近的电容检测单元开始检测为例来详细描述本发明实施例的液位检测方法。

具体地,可从与待测容器底部最接近的电容检测单元开始依次向上逐级判断相应的电容检测单元是否被液体覆盖。假设通过N个电容检测单元进行液位检测,N个电容检测单元从下向上依次记为C1、C2、C3、…、CN,N为大于1的整数,当当前电容检测单元为第i个电容检测单元Ci时,可根据第i个电容检测单元Ci时的互电容值和自电容值判断是否有液体覆盖第i个电容检测单元Ci,如果判断有液体覆盖第i个电容检测单元Ci,则说明液体至少上升/下降到第i个电容检测单元Ci所处的位置,再继续分别检测第i+1个电容检测单元C(i+1)的互电容值和自电容值,此时根据第i+1个电容检测单元C(i+1)的自电容值和互电容值判断是否有液体覆盖第i+1个电容检测单元C(i+1),以判断液体是否上升/下降到第i+1个电容检测单元C(i+1)所处的位置。

如此逐级检测自电容值和互电容值并判断是否有液体覆盖电容检测单元,一旦判断没有液体覆盖电容检测单元,就根据检测到没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息,例如,第1个至第i个电容检测单元对应的判断结果均为有液体覆盖,而第i+1个电容检测单元对应的判断结果为没有液体覆盖,则将第i个电容检测单元对应的液位信息作为容器的当前液位信息。

具体来说,可以轮询的方式对多个电容检测单元的互电容值和自电容值依次进行检测,每检测到一次自电容值和互电容值,就根据检测到的自电容值和互电容值判断是否检测到相应的电容检测单元被液体覆盖,当判断连续的N(N为正整数)个电容检测单元均被液体覆盖,而第N+1个电容检测单元未被液体覆盖时,根据第N个电容检测单元对应的液位档位输出液位信息。

应当理解的是,多个电容检测单元中每个电容检测单元对应一个液位档位,且每个电容检测单元对应的液位档位在程序中提前预设,如图2所示,电容检测单元可为6个即C1、C2、C3、C4、C5和C6,6个电容检测单元分别对应6个液位档位,且6个液位档位按顺序依次递增或递减,例如,C1对应液位1、C2对应液位2、C3对应液位3、C4对应液位4、C5对应液位5和C6对应液位6,且液位1<液位2<液位3<液位4<液位5<液位6。

还应当理解的是,电容检测单元的数量和大小是可调的,电容检测单元越多即N越大,所能检测到的液位档位越多,液位检测精度越高。并且,电容检测单元面积越大,电容检测单元的灵敏度就越高。

由此,本发明实施例的液位检测方法,联合互电容值和自电容值的变化情况来检测液位,可有效避免环境例如温度对液位检测的干扰,提升了液位检测的准确度,对量产的不一致性也有很好的补偿作用。并且,该方法不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

根据本发明的一个实施例,根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元,即步骤S2包括:获取当前电容检测单元的互电容值与对应的互电容基准值之间的第一差值即互电容变化量;获取当前电容检测单元的自电容值与对应的自电容基准值之间的第二差值即自电容变化量;如果第一差值小于第一预设阈值且第二差值大于第二预设阈值,则判断有液体覆盖当前电容检测单元。

并且,如果第一差值大于等于第一预设阈值或第二差值小于等于第二预设阈值,则判断没有液体覆盖所述当前电容检测单元,并将对应的互电容基准值更新为当前电容检测单元的互电容值,以及将对应的自电容基准值更新为当前电容检测单元的自电容值,以将更新后的互电容基准值和自电容基准值用于下一次液位检测。

也就是说,如果当前电容检测单元的互电容变化量小于第一预设阈值且该电容检测单元的自电容变化量大于第二预设阈值,则说明当前电容检测单元的自电容值和互电容值的变化是由液体变化引起,判断当前电容检测单元检测到了液体,并计算当前电容检测单元上面的相邻电容检测单元的互电容变化量和自电容变化量以判断该电容检测单元是否被液体覆盖,如此循环判断直至判断到电容检测单元未被液体覆盖。并在判断电容检测单元未被液体覆盖时,根据与未被液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息,并根据未检测到液体时对应的电容检测单元的互电容值和自电容值分别更新对应的互电容基准值和自电容基准值,以将更新后的互电容基准值和自电容基准值用于下一次液位检测。

需要说明的是,多个电容检测单元对应的互电容基准值可设置为同一个互电容基准值,多个电容检测单元对应的自电容基准值也可设置为同一个自电容基准值,从而使得寄存器空间相对较小;多个电容检测单元对应的互电容基准值可设置为互不相同的互电容基准值,多个电容检测单元对应的自电容基准值可设置为互不相同的自电容基准值,从而使得检测准确度相对较高。

还需说明的是,互电容基准值和自电容基准值的设置情况可根据实际需求设置。并且,互电容基准值的初始设定值可根据无液体时每个电容检测单元的互电容值选取,自电容基准值的初始设定值可根据无液体时每个电容检测单元的自电容值选取。

具体来说,本发明实施例的方法采用N个电容检测单元进行液位检测,N个电容检测单元从容器底部向上依次为第1个电容检测单元、第2个电容检测单元、第3个电容检测单元、……、第N个电容检测单元。具体可采用如下流程:首先启动互电容模式,获取第i(i可为1至N中的任意整数值)个电容检测单元的互电容值Rawdata1(i),将第i个电容检测单元的互电容值Rawdata1(i)与对应互电容基准值Base1(i)进行比较以计算出第i个第一差值differ1(i)=|Rawdata1(i)-Base1(i)|,以及保存计算出第i个第一差值differ1(i)。

其次,再启动自电容模式,获取第i个电容检测单元的自电容值Rawdata2(i),将第i个电容检测单元的自电容值Rawdata2(i)与对应的自电容基准值Base2(i)进行比较以计算出第i个第二差值differ2(i)=|Rawdata2(i)-Base2(i)|,并保存计算出的第i个第二差值differ2(i)。

再次,判断第i个电容检测单元是否被液体覆盖,如果第i个第一差值differ1(i)小于第一预设阈值Vref1即differ1(i)<Vref1,且第i个第二差值differ2(i)大于第二预设阈值即differ2(i)>Vref2,则判断第i个电容检测单元被液体覆盖。否则,如果第i个第一差值differ1(i)大于等于第一预设阈值Vref1即differ1(i)≥Vref1,或者第i个第二差值differ2 (i)大于第二预设阈值即differ2(i)≤Vref2,则判断第i个电容检测单元未被液体覆盖。

并且,在判断第i个电容检测单元被液体覆盖之后,按照前面的步骤继续检测第i+1个电容检测单元的自电容值和互电容值并进行判断。而在判断第i个电容检测单元未被液体覆盖之后,将第i-1个电容检测单元对应的液位档位作为容器的当前液位,并更新互电容基准值和自电容基准值,其中,如果互电容基准值互不相同,则只更新第i个电容检测单元对应的互电容基准值,将检测到的互电容值作为互电容基准值,而如果互电容基准值均相同,则更新该互电容基准值,将检测到的互电容值作为互电容基准值;同理,如果自电容基准值互不相同,则只更新第i个电容检测单元对应的自电容基准值,将检测到的自电容值作为自电容基准值,而如果自电容基准值均相同,则更新该自电容基准值,将检测到的自电容值作为自电容基准值。

其中,在第一次计算过程中,采用的初始互电容基准值Base1和初始自电容基准值Base2可提前内置在EEPROM里,也可以把上电后无液体时采样到的互电容值设定为初始互电容基准值Base1、无液体时采样到的自电容值设定为初始自电容基准值Base2。

需要说明的是,第一预设阈值Vref1和第二预设阈值Vref2的设置与灵敏度有关,如果Vref1和Vref2设置过小,判断条件(differ1<Vref1)且(differ2>Vref2)极容易满足,则细微的环境变化也会被错误的判定为液位变化,而如果Vref1和Vref2设置过大,判断条件(differ1<Vref1)且(differ2>Vref2)难以满足,则液位变化时无输出或输出错误液位。

并且,第一预设阈值Vref1和第二预设阈值Vref2可根据实际测试结果设置,具体地,可在电容检测单元未被液体覆盖时,分别测量该电容检测单元的第一互电容测量值和第一自电容测量值,以及在该电容检测单元被液体覆盖时,分别测量该电容检测单元的第二互电容测量值和第二自电容测量值,这样可根据第一互电容测量值与第二互电容测量值之间的差值设置第一预设阈值Vref1,并可根据第一自电容测量值与第二自电容测量值之间的差值设置第二预设阈值Vref2,例如如果第一互电容测量值与第二互电容测量值之间的差值为20,则第一预设阈值Vref1可选取20-30之间的值;如果第一自电容测量值与第二自电容测量值之间的差值为100,则第二预设阈值Vref2可选取70-100之间的值。

具体来说,假设多个电容检测单元的互电容基准值均为同一个互电容基准值Base1、自电容基准值均为同一个自电容基准值Base2,如图3所示,本发明实施例的液位检测方法包括以下步骤:

S100:上电初始化,读取预设的互电容基准值Base1和自电容基准值Base2。

S101:启动互电容模式,获取第i个电容检测单元的互电容值Rawdata1(i),将互电容值Rawdata1(i)与互电容基准值Base1进行比较以计算出第i个第一差值differ1(i)=|Rawdata1(i)-Base1|,以及保存计算出第i个第一差值differ1(i)。

S102:启动自电容模式,获取第i个电容检测单元的自电容值,将第i个自电容值值Rawdata2(i)与自电容基准值Base2进行比较以计算出第i个第二差值differ2(i)=|Rawdata2(i)-Base2|,并保存计算出的第i个第二差值differ2(i)。

S103:判断第i个第一差值differ1(i)是否小于第一预设阈值Vref1,且判断第i个第二差值differ2(i)是否大于第二预设阈值Vref2。

如果是,则执行步骤S104;如果否,则执行步骤S105。

S104:判断第i个电容检测单元未被液体覆盖,i=i+1,并返回步骤S101。

其中,在i=N时,i重新设定为1。

S105:判断第i个电容检测单元未被液体覆盖,i重新设定为1。

S106:更新互电容基准值Base1和自电容基准值Base2,返回步骤S101。

下面结合图2和图4来详细描述本发明实施例的液位检测装置的工作原理。

如图4所示,假定无液体时互电容模式下的互电容基准值Base1=2000、第一预设阈值Vref1=50;无液体时自电容模式下的自电容基准值Base2=3000、第二预设阈值Vref2=400。

如图2和4所示,t1-t2时刻,液位上升到电容检测单元C1的位置,先开启互电容模式,获取电容检测单元C1的互电容值Rawdata1(1),Rawdata1(1)=1990,进而获取第1个第一差值differ1(1),即differ1(1)=|1990-2000|=10;再开启自电容模式,获取电容检测单元C1的自电容值Rawdata2(1),Rawdata2(1)=3500,进而获取第1个第二差值differ2(1),即differ2(1)=|3500-3000|=500,再次根据第1个第一差值和第1个第二差值判断电容检测单元C1被到液体覆盖,即第1个第一差值满足differ1(1)=10<50,第1个第二差值differ2(1)满足differ2(1)=500>400,满足液位判断条件,可判断液位升高到电容检测单元C1的位置。

t3~t4时刻,先开启互电容模式,获取电容检测单元C2的互电容值Rawdata1(2),Rawdata1(2)=1930,进而获取第2个第一差值differ1(2),即differ1(2)=|1930-2000|=70;再开启自电容模式,获取电容检测单元C2的自电容值Rawdata2(2),Rawdata2(2)=3100,进而获取第2个第二差值differ2(2),即differ2(2)=|3100-3000|=100,再次根据第2个第一差值和第2个第二差值判断电容检测单元C2未被液体覆盖,即differ1(2)=70>50,differ2(2)=100<400,不满足液位判断条件,判定液位未升高到电容检测单元C2的位置。这样,结合t1-t2时刻以及t3~t4时刻的判断,识别到的液位信息为电容检测单元C1对应的液位档位。

然后,在t5时刻,因判断电容检测单元C2未被液体覆盖,更新互电容基准值Base1=1930,自电容基准值Base2=3100。

由此,本发明实施例的液体检测方法联合互电容值和自电容值的变化情况来检测液位, 可有效避免环境对液位检测的干扰,提升了液位检测的准确度。

此外,还需说明的是,从靠近待测容器顶部的电容检测单元或从位于待测容器中间任意位置的电容检测单元开始进行检测判断的具体实现方式与上述实施例所描述的实现方式类似,这里不再详细赘述。

综上,根据本发明实施例提出的液位检测方法,分别检测当前电容检测单元的自电容值和互电容值,然后根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖当前电容检测单元,如果判断有液体覆盖当前电容检测单元,则向上分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据与没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。由此,该方法联合互电容值和自电容值的变化情况来检测液位,可有效避免环境对液位检测的干扰,提升了液位检测的准确度。并且,该方法不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

图5是根据本发明实施例的液位检测装置的方框示意图。如图5所示,液位检测装置包括电容检测模块,多个电容检测单元10和控制模块20。

在本发明的一个具体示例中,如图2所示,多个电容检测单元10与待测容器4紧密贴合,例如通过3M胶粘贴,并且,多个电容检测单元10可按照液体在待测容器4内的上升方向依次排列,例如多个电容检测单元10可在待测容器4的底部的垂直方向上依次排列,被液面覆盖的电容检测单元的数量将随着液位的变化而变化。应当理解的是,多个电容检测单元与待测容器的设置方式不限于贴合方式。

并且,电容检测单元被液面覆盖时的自电容值与未被液面覆盖时的自电容值不一致,即言,液位上升或下降时电容检测单元的自电容值将会发生变化。而且,环境发生变化时,电容检测单元的自电容和互电容值均会发生变化,因此控制模块20通过监测电容检测单元的自电容和互电容值即可准确识别液位信息。

如图5所示,控制模块20与多个电容检测单元10相连,控制模块20用于分别检测当前电容检测单元的自电容值和互电容值,并根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖当前电容检测单元,如果判断有液体覆盖当前电容检测单元,控制模块20则向上分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。

进一步地,根据本发明的一个实施例,如果判断没有液体覆盖当前电容检测单元,控 制模块20则向下分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断有液体覆盖电容检测单元时,根据有液体覆盖时对应的电容检测单元获取液位信息。

应当理解的是,当当前电容检测单元被液体覆盖时,控制模块20判断液体至少达到当前电容检测单元所处的位置,而当当前电容检测单元未被液体覆盖时,控制模块20判断未上升的当前电容检测单元所处的位置。需要说明的是,当前电容检测单元可在待测容器的底部或顶部、或中间任意位置。

需要说明的是,向上指的是液位的上升方向,如图2中箭头所示的方向,如此,向上检测即为检测当前电容检测单元上面的电容检测单元。相应地,向下即为图2中箭头所示的反方向,如此,向下检测即为检测当前电容检测单元下面的电容检测单元。

也就是说,控制模块20可先启动互电容模式以在互电容模式下检测当前电容检测单元的互电容值,再启动自电容模式以在自电容模式下检测电路检测当前电容检测单元的自电容值。并且,可从多个电容检测单元10中任一个电容检测单元开始检测,如果判断有液体覆盖当前电容检测单元,控制模块20则分别检测与当前电容检测单元上面的相邻电容检测单元的自电容值和互电容值,直至判断没有液体覆盖当前电容检测单元;如果判断没有液体覆盖当前电容检测单元,控制模块20则分别检测与当前电容检测单元下面的相邻电容检测单元的自电容值和互电容值,直至判断有液体覆盖当前电容检测单元。

下面以从与待测容器底部最接近的电容检测单元开始检测为例来详细描述本发明实施例的液位检测方法。具体地,控制模块20可从与容器底部最接近的电容检测单元开始依次向上逐级判断相应的电容检测单元是否被液体覆盖。假设通过N个电容检测单元进行液位检测,N个电容检测单元从下向上依次记为C1、C2、C3、…、CN,N为大于1的整数,当当前电容检测单元为第i个电容检测单元Ci时,控制模块20可根据第i个电容检测单元Ci时的互电容值和自电容值判断是否有液体覆盖第i个电容检测单元Ci,如果判断有液体覆盖第i个电容检测单元Ci,则说明液体至少上升/下降到第i个电容检测单元Ci所处的位置,控制模块20再继续分时检测第i+1个电容检测单元C(i+1)的互电容值和自电容值,此时控制模块20根据第i+1个电容检测单元C(i+1)的自电容值和互电容值判断是否有液体覆盖第i+1个电容检测单元C(i+1),以判断液体是否上升/下降到第i+1个电容检测单元C(i+1)所处的位置。

如此控制模块20逐级检测自电容值和互电容值并判断是否有液体覆盖电容检测单元,一旦判断没有液体覆盖电容检测单元,就根据检测到没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息,例如,第1个至第i个电容检测单元对应的判断结果均为有液体覆盖,而第i+1个电容检测单元对应的判断结果为没有液体覆盖,控制 模块20将第i个电容检测单元对应的液位信息作为容器的当前液位信息。

具体来说,控制模块20可以轮询的方式对多个电容检测单元10的互电容值和自电容值依次进行检测,每检测到一次自电容值和互电容值,就根据检测到的自电容值和互电容值判断是否检测到相应的电容检测单元被液体覆盖,当判断连续的N(N为正整数)个电容检测单元均被液体覆盖,而第N+1个电容检测单元未被液体覆盖时,控制模块20即可根据第N个电容检测单元对应的液位档位输出液位信息。

应当理解的是,多个电容检测单元10中每个电容检测单元对应一个液位档位,且每个电容检测单元对应的液位档位在程序中预设,如图2所示,电容检测单元10可为6个即C1、C2、C3、C4、C5和C6,6个电容检测单元10分别对应6个液位档位,且6个液位档位按顺序依次递增或递减,例如,C1对应液位1、C2对应液位2、C3对应液位3、C4对应液位4、C5对应液位5和C6对应液位6,且液位1<液位2<液位3<液位4<液位5<液位6。

还应当理解的是,电容检测单元的数量和大小是可调的,电容检测单元越多即N越大,所能检测到的液位档位越多,液位检测精度越高。并且,电容检测单元面积越大,电容检测单元的灵敏度就越高。

由此,本发明实施例的液位检测装置,联合互电容值和自电容值的变化情况来检测液位,可有效避免环境例如温度对液位检测的干扰,提升了液位检测的准确度,对量产的不一致性也有很好的补偿作用。并且,该装置不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

根据本发明的一个实施例,控制模块20进一步构造为:获取当前电容检测单元的互电容值与对应的互电容基准值之间的第一差值即互电容变化量,并获取当前电容检测单元的自电容值与对应的自电容基准值之间的第二差值即自电容变化量,如果第一差值小于第一预设阈值且第二差值大于第二预设阈值,控制模块20则判断有液体覆盖当前电容检测单元。

并且,如果第一差值大于等于第一预设阈值或第二差值小于等于第二预设阈值,控制模块20则判断没有液体覆盖所述当前电容检测单元,并将对应的互电容基准值更新为当前电容检测单元的互电容值,以及将对应的自电容基准值更新为当前电容检测单元的自电容值,以将更新后的互电容基准值和自电容基准值用于下一次液位检测。

也就是说,如果当前电容检测单元的互电容变化量小于第一预设阈值且该电容检测单元的自电容变化量大于第二预设阈值,则说明当前电容检测单元的自电容值和互电容值的变化是由液体变化引起,控制模块20判断当前电容检测单元检测到了液体,并计算当前电容检测单元上面的相邻电容检测单元的互电容变化量和自电容变化量以判断该电容检测单 元是否被液体覆盖,如此循环判断直至判断到电容检测单元未被液体覆盖。并在判断到电容检测单元未被液体覆盖时,控制模块20根据与未被液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息,并根据未检测到液体时对应的电容检测单元的互电容值和自电容值分别更新对应的互电容基准值和自电容基准值,以将更新后的互电容基准值和自电容基准值用于下一次液位检测。

需要说明的是,多个电容检测单元10对应的互电容基准值可设置为同一个互电容基准值,多个电容检测单元10对应的自电容基准值也可设置为同一个自电容基准值,从而使得寄存器空间相对较小;多个电容检测单元10对应的互电容基准值可设置为互不相同的互电容基准值,多个电容检测单元10对应的自电容基准值可设置为互不相同的自电容基准值,从而使得检测准确度相对较高。

还需说明的是,互电容基准值和自电容基准值的设置情况可根据实际需求设置。并且,互电容基准值的初始设定值可根据无液体时每个电容检测单元的互电容值选取,自电容基准值的初始设定值可根据无液体时每个电容检测单元的自电容值选取。

具体来说,本发明实施例的装置采用N个电容检测单元进行液位检测,N个电容检测单元从容器底部向上依次为第1个电容检测单元、第2个电容检测单元、第3个电容检测单元、……、第N个电容检测单元。控制模块20具体可采用如下流程:控制模块20首先启动互电容模式,获取第i(i可为1至N中的任意整数值)个电容检测单元的互电容值Rawdata1(i),将第i个电容检测单元的互电容值Rawdata1(i)与对应互电容基准值Base1(i)进行比较以计算出第i个第一差值differ1(i)=|Rawdata1(i)-Base1(i)|,以及保存计算出第i个第一差值differ1(i)。

其次,控制模块20再启动自电容模式,获取第i个电容检测单元的自电容值Rawdata2(i),将第i个电容检测单元的自电容值Rawdata2(i)与对应的自电容基准值Base2(i)进行比较以计算出第i个第二差值differ2(i)=|Rawdata2(i)-Base2(i)|,并保存计算出的第i个第二差值differ2(i)。

再次,控制模块20判断第i个电容检测单元是否被液体覆盖,如果第i个第一差值differ1(i)小于第一预设阈值Vref1即differ1(i)<Vref1,且第i个第二差值differ2(i)大于第二预设阈值即differ2(i)>Vref2,则判断第i个电容检测单元被液体覆盖。否则,如果第i个第一差值differ1(i)大于等于第一预设阈值Vref1即differ1(i)≥Vref1,或者第i个第二差值differ2(i)大于第二预设阈值即differ2(i)≤Vref2,则判断第i个电容检测单元未被液体覆盖。

并且,在判断第i个电容检测单元被液体覆盖之后,控制模块20按照前面的步骤继续检测第i+1个电容检测单元的自电容值和互电容值并进行判断。而在判断第i个电容检测单 元未被液体覆盖之后,控制模块20将第i-1个电容检测单元对应的液位档位作为容器的当前液位,并更新互电容基准值和自电容基准值,其中,如果互电容基准值互不相同,则只更新第i个电容检测单元对应的互电容基准值,将检测到的互电容值作为互电容基准值,而如果互电容基准值均相同,则更新该互电容基准值,将检测到的互电容值作为互电容基准值;同理,如果自电容基准值互不相同,则只更新第i个电容检测单元对应的自电容基准值,将检测到的自电容值作为自电容基准值,而如果自电容基准值均相同,则更新该自电容基准值,将检测到的自电容值作为自电容基准值。

其中,在第一次计算过程中,采用的初始互电容基准值Base1和初始自电容基准值Base2可提前内置在EEPROM里,也可以把上电后无液体时采样到的互电容值设定为初始互电容基准值Base1、无液体时采样到的自电容值设定为初始自电容基准值Base2。

需要说明的是,第一预设阈值Vref1和第二预设阈值Vref2的设置与灵敏度有关,如果Vref1和Vref2设置过小,判断条件(differ1<Vref1)且(differ2>Vref2)极容易满足,则细微的环境变化也会被错误的判定为液位变化,而如果Vref1和Vref2设置过大,判断条件(differ1<Vref1)且(differ2>Vref2)难以满足,则液位变化时无输出或输出错误液位。

并且,第一预设阈值Vref1和第二预设阈值Vref2可根据实际测试结果设置,具体地,可在电容检测单元未被液体覆盖时,分别测量该电容检测单元的第一互电容测量值和第一自电容测量值,以及在该电容检测单元被液体覆盖时,分别测量该电容检测单元的第二互电容测量值和第二自电容测量值,这样可根据第一互电容测量值与第二互电容测量值之间的差值设置第一预设阈值Vref1,并可根据第一自电容测量值与第二自电容测量值之间的差值设置第二预设阈值Vref2,例如如果第一互电容测量值与第二互电容测量值之间的差值为20,则第一预设阈值Vref1可选取20-30之间的值;如果第一自电容测量值与第二自电容测量值之间的差值为100,则第二预设阈值Vref2可选取70-100之间的值。

根据本发明的一个实施例,控制模块20进一步构造为:将多个电容检测单元中的当前电容检测单元作为激励端,且将其他电容检测单元接地,以检测当前电容检测单元的自电容值,以及将多个电容检测单元中每个电容检测单元均作为激励端,以检测当前电容检测单元的互电容值。

也就是说,如图7所示,在当前电容检测单元作为激励端而其他电容检测单元作为地的情况下,检测到的电容可定义为自电容,如此只向当前电容检测单元施加激励信号时,控制模块20通过检测当前电容检测单元的电容即可获得当前电容检测单元的自电容;在多个电容检测单元同时作为激励端的情况下,消除了任意两个电容检测单元之间的电容影响的电容定义为互电容,如此向每个电容检测单元施加激励信号时,控制模块20通过检测当前电容检测单元的电容即可获得当前电容检测单元的互电容。

根据本发明的一个实施例,如图2和图6所示,多个电容检测单元10可设置在电路板2上,即言可电路板2上可印制多个电容检测单元10,电路板2通过排线1连接到控制模块20。其中,排线1包含电源、地、电容检测模块导线。

或者,根据本发明的另一个实施例,多个电容检测单元10与控制模块20可设置在同一电路板2上。具体来说,当控制模块20离硬件电路较远或者电容检测单元很多时,可以把多个电容检测单元10与控制模块20均放置在电路板2上。

此外,还需说明的是,从靠近待测容器顶部的电容检测单元或从位于待测容器中间任意位置的电容检测单元开始进行检测判断的具体实现方式与上述实施例所描述的实现方式类似,这里不再详细赘述。

综上,根据本发明实施例提出的液位检测装置,控制模块分别检测当前电容检测单元的自电容值和互电容值,然后根据当前电容检测单元的自电容值与对应的自电容基准值之间的关系和当前电容检测单元的互电容值与对应的互电容基准值之间的关系判断是否有液体覆盖所述当前电容检测单元,如果判断有液体覆盖所述当前电容检测单元,则向上分别检测与当前电容检测单元相邻的电容检测单元的自电容值和互电容值,直至判断没有液体覆盖电容检测单元时,根据没有液体覆盖时对应的电容检测单元相邻的前一个电容检测单元获取液位信息。由此,该装置联合互电容和自电容的变化情况来检测液位,可有效避免环境对液位检测的干扰,提升了液位检测的准确度。并且,该装置不需要增加额外的外部器件例如温度传感器,电路简单,算法可靠。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1