传感器的温度修正算法

 传感器的温度修正是使用传感器时常遇到的问题,尤其是需要传感器工作在一个较宽的温度范围时,这个问题更加突出。这里描述的方法是我在使用某型压力传感器时厂家提供的,这种方法不一定是最好的,但是它比较简单,适用范围也比较广。我在几种不同类型的传感器上应用了这个方法,效果还不错。因此,写这篇小文与大家交流。


首先,不考虑温度的影响,在某一固定的温度下,设传感器的输入输出值可以用多项式函数表示:

这里是传感器的输出(比如电压值或直接就是数字量),是传感器所测量的物理量的真实值。实际上,只要传感器的响应可以表示为单调连续函数,就可以利用多项式函数来逼近到任意精度,因此,一般情况下上面的式子是可以成立的。ai可以根据实验数据利用最小二乘拟合(LMS)的方法计算出来,唯一需要注意的是对于N次多项式,至少需要N+1个数据点才可以计算出。实际应用中,N的取值不宜过大,一般取为4以下就足够了,而数据点则是多多益善。

上面的式子可以写成矩阵的形式:

 

 

然后考虑温度的影响,不同温度下,上面公式中ai的 会发生变化。也就是说ai是温度的函数。类似的,也可以用多项式函数来逼近:

最终输出则可以表示为:

只要将这里的bij 确定下来就可以完成温度修正工作了,同样,上面的公式也可以表示为矩阵形式。

写为矩阵形式后的表达式非常的简洁,同时也易于在程序中实现。下面再多说一句,多项式函数可以通过一个小小的变型来减少乘法的次数。

这种方法称之为多项式的Horner 算法,也被称为秦九韶算法(虽然知道这个名称的人不多)。

上面的计算都是假设bji已经求出来了,但还都没有说明如何计算bji。下面将讨论这个问题。最直观的方式就是在一系列不同温度下,用最小二乘拟合的方法计算出一系列的多项式系数ai(t)ai(t)M次多项式函数,因此我们至少要计算出M+1个不同温度下的系数,也就是说要至少先进行M+1次多项式拟合。然后根据ai(t)拟合出bji,很显然,这里又需要进行N+1次多项式拟合。前后两次总共要进行至少M+N+2 次的多项式拟合才能求出所有的系数。

另一种方法是直接去求所有的bji。将所有的bji排成一个列向量:

定义一个辅助矩阵:

上述公式中的下标是标注的是第几次的测量值,xp表示第p个测量值。

则传感器的经过温度修正后的测量值为:

而传感器测量量的真实值为:

则我们的目标就是求b使得矢量 y-z 最小,这个最小如果是在2-范数的意义下的最小则是最小二乘拟合。这也就等效于求下列线性代数方程的最小二乘意义下的最优解。

这个方程的解法很多,比如说转换成下面的普通的线性代数方程:

上式中FT是F的转置。其他的方法还有奇异值分解一类的数值算法。想详细研究这个问题的话可以参考各种版本的数值分析课本。

总结,本文描述的方法比较简单、粗暴,之所以这么说是因为它不去探究温度漂移的物理本质,只是用简单的多项式函数来补偿温漂的结果。但就是因为它不依赖于某个具体的物理模型,可应用的范围才会很广。

 

  • 14
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MQ2烟雾传感器可以检测空气中的烟雾、液化气、丙烷、甲烷、氢气、一氧化碳等气体浓度。它的浓度计算公式如下: Gas_Concentration = (Sensor_Voltage / RL_VALUE) * (5.0 / 3.3) 其中,Sensor_Voltage 是传感器输出的模拟电压值,RL_VALUE 是传感器上的负载电阻值,一般为1KΩ。 例如,当传感器输出的电压为1.5V,负载电阻为1KΩ时,计算公式为: Gas_Concentration = (1.5 / 1000) * (5.0 / 3.3) = 0.00227 这个值是一个相对浓度值,可以通过实验测量得到对应的实际浓度值。需要注意的是,MQ2传感器对不同气体的响应不同,因此需要根据具体应用场景选择合适的校准方法。 ### 回答2: MQ2烟雾传感器是一种常用于检测室内空气质量的传感器,它可以感知到烟雾和一些可燃物体的气体。传感器的输出是一个模拟电压值,需要经过一定的算法来转换为烟雾浓度的表示。 MQ2烟雾传感器的浓度算法一般有以下几个步骤: 1. 传感器读数转换:首先,将传感器输出的模拟电压值转化为数字信号。一般通过模数转换器(ADC)将模拟电压值转换为数字量,在微控制器中进行处理。 2. 零点修正传感器的输出受到环境因素的影响,例如温度、湿度等的变化会引起零点偏移。因此,需要进行零点修正来消除这些偏差。 3. 校准过程:传感器需要事先进行校准,以知道在特定浓度下的输出值。通过将传感器暴露在已知浓度下的气体中,记录相应的传感器读数,并与预期值进行比较。根据校准曲线,可以修正传感器的浓度测量值。 4. 浓度计算:利用经过校准的传感器读数,结合校准曲线,可以计算出烟雾的浓度值。一般可以使用线性插值法或多项式拟合来计算浓度。具体的计算方法可以根据传感器的特性和厂商提供的说明进行确定。 总的来说,MQ2烟雾传感器的浓度算法包括传感器读数转换、零点修正、校准过程和浓度计算等步骤。通过这些步骤,可以将传感器输出的模拟电压值转换为烟雾浓度的表示,并提供相应的浓度值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值