如何连接热敏电阻
热敏电阻简介
有两种类型的
热敏电阻:NTC和PTC。负型系数(NTC)热敏电阻的电阻在温度升高时降低,而正型系数(PTC)则相反。
热敏电阻和温度之间的关系由Steinhart-Hart方程给出:
这里,a,b和c被称为Steinhart-Hart参数,并且每个热敏电阻都不同。注意,这里的T是凯尔温斯的温度。
大多数情况下,热敏电阻的Steinhart-Hart参数不会出现在其数据表中。这就是为什么下面的等式在工程系统中更有用:
其中T 0 = 25°C,R 0是热敏电阻在T 0时的电阻。
B被称为beta(β)参数,在数据表中提供。
B值仅对给定范围为真。例如,该热敏电阻具有以下B值:
以下是这些数字的含义:在25°C至50°C的温度下,B值为3380(K为开尔文),而在25°C至85°C时,B值为3434.B值增加至3455 at 25°C至100°C。
要知道应用的确切温度范围,需要使用正确的B值。
接口电路
由于微控制器读取电压而不是电阻,我们需要找到一种方法将电阻变化转换为电压变化。最简单的电路是分压器:
我建议使用3.3V作为电路电源,因为与Arduino电路板上的5V电源相比,噪声较小。对于像PIC这样的裸微控制器,使用5V电源没有问题。
选择10k电阻是因为它与我的热敏电阻的标称(R0)值相同。与两者之间的差异较大相比,这使得它对电阻变化更敏感。
假设温度为27°C,最高可能温度为100°C。使用与上述示例相同的热敏电阻,B值应为3380.因此,操纵公式时,电阻为27°C,
在分压电路中,该电阻的相应电压为:
然后,该电压值将由模数转换器解释为:
一个更好的方程是将分压器方程与这样的模拟 - 数字方程相结合,
所以这里是上面的方程如何转换为Arduino草图:
一旦我们有了热敏电阻,我们只需要使用Steinhart-Hart方程来找到温度:
上述代码有效,但由于测量噪声和其他因素,总会出现读数错误。因此,最好采取尽可能多的样本并获得这些样本的平均值。假设我们使用100个样本:
这将是基于热敏电阻的arduino温度传感器的完整代码: