作为一个无法使用实验室设备的业余爱好者,对我来说似乎真的不可能校准我拥有的热敏电阻。
当然,还有经过校准的温度传感器,例如DS18B20,但是特别适用于慢速MCU(例如Aruino UNO)的热敏电阻(与新的MCU相比)更加简单。
在不使用实验室设备的情况下校准热敏电阻有哪些选择?
作为一个无法使用实验室设备的业余爱好者,对我来说似乎真的不可能校准我拥有的热敏电阻。
当然,还有经过校准的温度传感器,例如DS18B20,但是特别适用于慢速MCU(例如Aruino UNO)的热敏电阻(与新的MCU相比)更加简单。
在不使用实验室设备的情况下校准热敏电阻有哪些选择?
Answers:
校准热敏电阻(或几乎所有与此相关的传感器)分两个步骤:
第一步是最困难的,不幸的是我经验最少的一步。然后,我将仅以非常笼统的术语来描述它。第二步主要是数学。
您必须用(T,R)对填写表格,即在已知温度下测得的电阻值。校准数据应涵盖实际使用中需要的整个温度范围。超出此范围的数据点不是很有用。否则,您拥有的数据点越多越好。
为了测量热敏电阻的电阻,建议您 不要使用欧姆表。而是使用与实际校准后测量相同的设置。这样,电阻测量中的任何系统误差(如ADC失调和增益误差)都将被校准。
要了解温度,您有两种选择:使用固定的温度点(例如沸水或融冰)或使用已校准的温度计。定点是温度校准的黄金标准,但是很难正确设置它们,并且您可能不会在自己关心的温度范围内找到很多固定点。
使用已知良好的温度计可能会更容易,但仍需注意以下几点:
将两者放在一起,放在具有高热惯性的机柜(冰箱或烤箱)中可能会有所帮助。
显然,参考温度计的精度在这里是非常重要的因素。您对最终测量精度的要求应该更加准确。
现在,您需要找到适合您数据的数学函数。这称为“经验拟合”。原则上,只要法律距离数据点足够近,任何法律都可以这样做。多项式在这里是最喜欢的,因为拟合总是会收敛(因为函数相对于其系数是线性的),并且即使在低微控制器上也很便宜。作为一种特殊情况,线性回归可能是您可以尝试的最简单的定律。
但是,除非您对非常窄的温度范围感兴趣,否则NTC热敏电阻的响应是高度非线性的,并且不太适合于低次多项式拟合。但是,对变量进行战略性更改可以使您的法律几乎是线性的,并且非常容易拟合。为此,我们将转移一些基本物理学的知识。
NTC热敏电阻中的导电是一个热激活过程。然后可以通过Arrhenius方程来模拟电导 :
G = g ^ ∞ EXP(-E 一个 /(K 乙 T))
其中G∞被称为“指数前因子”,E a是活化能,k B是 玻尔兹曼常数,T是绝对温度。
可以将其重新安排为线性定律:
1 / T = A + B log(R)
其中B = k B / E a ; A = B log(G∞); log()是自然对数。
如果使用校准数据并将1 / T绘制为log(R)的函数(这基本上是交换了轴的阿伦尼乌斯图),您会注意到它几乎是一条直线,但并不完全是一条直线。线性度的偏离主要是由于预指数因子与温度有关。但是,该曲线足够平滑,可以很容易地通过低次多项式拟合:
1 / T = c 0 + c 1 log(R)+ c 2 log(R)2 + c 3 log(R)3 + ...
如果您感兴趣的温度范围足够短,那么线性近似可能对您就足够了。然后,您将使用所谓的“β模型”,其中β系数为1 / B。如果您使用三次多项式,则可能会注意到c 2 系数可以忽略。如果您忽略了它,那么您将拥有著名的Steinhart–Hart方程。
通常,多项式的阶数越高,就越适合数据。但是如果度数太高,您最终会 过度拟合。在任何情况下,拟合中的自由参数的数量都不应超过数据点的数量。如果这些数字是相等的,那么法律将适合的数据完全相同,但你有没有办法来评估拟合优度。请注意,该热敏电阻计算器 (在注释中链接至)仅使用三个数据点来提供三个系数。这是初步近似校准的主意,但是如果我需要准确性,我将不依赖它。
我将不在这里讨论如何实际执行拟合。用于制作任意数据的软件包非常丰富。
阅读热敏电阻有些棘手。上述校准方法对错误检测没有任何帮助,它将创建对数曲线的两个点(热敏电阻响应曲线)。
这意味着,温度每变化0.1°C,相应的电阻变化就将随温度范围而变化。
起初,您可能会发现比实际温度低大约2至5°C的错误,但没有错误,只是读数很差。
您没有发布有关如何阅读此热敏电阻的任何详细信息,Arduino可能是?我必须说,有些库根本不起作用,因此您必须创建一个特殊的函数才能这样做。
发布有关如何表征和读取热敏电阻的详细说明。 帖子是西班牙文,但在代码标签中,所有解释都用普通英语。
一旦获得了ABC系数,即使使用6m长的LAN导线,另一次测量的误差也将约为0.1°C。
在杯子里装满冰块,倒入水直到满满。偶尔搅拌一下。当冰开始融化时,您将处于0°C的温度。将传感器浸入水中并读取读数。
如果您的传感器可以忍受,请将其放入沸水锅中。在海平面上,您将获得100°C的参考读数。
如果您需要热收缩传感器以防水,则必须花一些时间使读数稳定。
模拟该电路 –使用CircuitLab创建的原理图
图1.简单的线性校准曲线。
正如评论中指出的那样,如果您使用的是热敏电阻,则需要检查数据表的线性度。如果这种简单的方法还不够好,那么您将不得不在微控制器中使用多项式计算或查找表。
线性温度计有增益和失调误差。
热敏电阻在25'C下用2个变量的特定灵敏度曲线进行校准。
校准它只需要2次测量