当前位置:网站首页>【NTC 热敏电阻与 Arduino 读取温度】

【NTC 热敏电阻与 Arduino 读取温度】

2022-08-02 03:28:00 WENJIE科技

前言

热敏电阻是简单、便宜且准确的组件,可让您轻松获取项目的温度数据。热敏电阻或热敏电阻是可变电阻,其电阻会随温度而变化。此功能使我们能够通过测量热敏电阻的电阻来读取温度或温度变化。热敏电阻用于各种日常用品,如恒温器、SMPS、浪涌保护电路和可充电电池组等。

NTC 热敏电阻管脚

在这里插入图片描述引脚1==》NTC热敏电阻端子1

引脚2==》NTC热敏电阻端子2

热敏电阻的类型

根据所使用的材料以及它们与温度热敏电阻的反应方式,可分为两种类型:

负温度系数热敏电阻或 NTC 热敏电阻
正温度系数热敏电阻或 PTC 热敏电阻
正温度系数热敏电阻或 PTC 热敏电阻

对于 PTC 热敏电阻,电阻随温度升高而增加,这通常是由于热晶格搅动增加所致。它们通常用于过流保护,作为自恢复保险丝。

负温度系数热敏电阻或 NTC 热敏电阻

对于 NTC 热敏电阻,电阻随着温度升高而降低,这是由于价带的热扰动所激发的传导电子数量增加。NTC 通常用作温度传感器或与电源等电路串联用作浪涌电流限制器。

在这里插入图片描述这是来自波长电子学的 TCS610 10K NTC 的电阻与温度响应图。您可以看到,在 25⁰C 时,NTC 热敏电阻的电阻为 10Kohms。当温度升高时,电阻减小。

NTC热敏电阻如何工作?

如前所述,NTC 热敏电阻的电阻会随着温度的变化而变化。因此,我们可以测量热敏电阻的电阻,并可以计算与测量电阻相关的温度。热敏电阻当然不是精确温度测量的最佳选择,但它非常便宜并且非常容易使用。这是一个显示 NTC 热敏电阻工作的小动画。

在这里插入图片描述

关于 NTC 热敏电阻的常见问题

什么是 NTC 热敏电阻?

NTC热敏电阻是一种具有负温度系数的热敏电阻。当温度升高时,它的电阻会降低。

NTC是如何计算的?

特定 NTC 热敏电阻的实际电阻值是通过将比率 RT/R25(表格值)乘以 25°C 时的电阻值获得的,该值在数据表中指定。

NTC热敏电阻是由什么制成的?

热敏电阻由烧结陶瓷制成,该陶瓷由高度敏感的材料组成,电阻与温度的关系具有始终如一的可再现特性。

NTC热敏电阻是线性的吗?

不是。热敏电阻是非线性可变电阻器件。

为什么 NTC 热敏电阻用于锂离子电池组?

NTC热敏电阻用于测量电池温度。由于锂离子电池在高温下非常危险,因此有必要连续监测其温度

测量 NTC 电阻和温度

为了测量 NTC 热敏电阻的电阻,我们将使用分压器。热敏电阻的一个端子将通过一个已知值的电阻器连接到 VCC 线,另一端子将连接到地。连接将如下所示。
在这里插入图片描述要测量 NTC 热敏电阻的电阻,首先,我们将测量分压器的电压。分压器方程如下。
在这里插入图片描述

既然我们知道五在, R1, 和 输出电压 我们可以使用以下等式计算 NTC 热敏电阻 R2 的值
在这里插入图片描述

Arduino NTC热敏电阻接口电路图

连接非常简单。我们将创建一个带有 NTC 热敏电阻和一个已知值电阻的分压器。对于这种情况,我们将为此使用 10K 电阻。分压器由连接到 5V 的 10K 电阻器和热敏电阻器接地,在 NTC 热敏电阻器和电阻器连接在一起的位置测量电压。由于我们知道参考电阻的值和参考电压,我们可以从测量的电压降计算热敏电阻的电阻。从这个电压降,我们可以计算出热敏电阻的电阻。从计算出的热敏电阻电阻,我们也可以计算出温度。
在这里插入图片描述
您可能想知道为什么我们将参考电阻连接到 GPIO2 而不是 5V 引脚。这是因为自热现象。如果我们把一个10K的热敏电阻和一个10K的电阻连接成一个分压器,分压器接5V再接地,我们会得到电流最小电流约为25mA(5V/(10K+10K)=0.25)毫安)一直。即使这看起来不是很多电流,这肯定会加热您的热敏电阻,因为即使是 25mA 的电流也会导致大约 0.625mW(0.25mAx 2.5V)的功耗。如果我们考虑热敏电阻和参考电阻的值是否保持不变,情况也是如此。众所周知,热敏电阻的电阻会随着温度的变化而剧烈变化。因此,允许连续电流流动会影响读数。所以,为了避免这种情况,我们只会在读取时将 GPIO 设置为高电平,一旦读取,我们会将 GIO 状态更改为低电平。实际连接如下图所示。

在这里插入图片描述

Arduino 代码

让我们看一下代码部分。代码非常简单。使用分压器测量 NTC 热敏电阻电阻,然后从中计算温度。

在第一行中,我们已经声明了全局变量和引脚。模拟引脚 A0用于测量分压器的电压。D2 引脚用于为分压器提供 5V 电压。NTC 在 25⁰C 时的标称电阻值、NTC 的 Beta 系数和已知值电阻器的电阻值也被公布。采样率是平均采样的数量。

#define ntc_pin A0 // Pin, to which the voltage divider is connected
#define vd_power_pin 2 // 5V for the voltage divider
#define nominal_resistance 10000 //Nominal resistance at 25⁰C
#define nominal_temeprature 25 // temperature for nominal resistance (almost always 25⁰ C)
#define samplingrate 5 // Number of samples
#define beta 3950 // The beta coefficient or the B value of the thermistor (usually 3000-4000) check the datasheet for the accurate value.
#define Rref 10000 //Value of resistor used for the voltage divider
int samples = 0;   //array to store the samples

在setup()函数中,我们已经初始化了串行通信并将 D2 引脚设置为输出。波特率设置为 9600,您可以根据用户的需要进行设置。

void setup(void) {
    
pinmode(vd_power_pin,OUTPUT);
 Serial.begin(9600);   initialize serial communication at a baud rate of 9600
}

在循环功能中,分压器的电压是使用模拟引脚 A0 测量的。取五个样本并取平均值以获得更好的准确性。该值用于计算 NTC 的电阻。使用电阻、标称电阻和 β 系数,使用 Steinhart-Hart 方程计算温度。然后将电阻和温度打印到串行监视器上。

void loop(void) {
    
  uint8_t i;
  float average;
sample = 0;
  // take voltage readings from the voltage divider
digitalWrite(vd_power_pin,HIGH);
  for (i=0; i< samplingrate; i++) {
    
   samples += analogRead(ntc_pin);
   delay(10);
  }
digitalWrite(vd_power_pin,LOW)
  average = 0;
average = samples/ samplingrate;
  Serial.print("ADC readings ");
  Serial.println(average);
  // Calculate NTC resistance
  average = 1023 / average - 1;
  average = Rref/ average;
  Serial.print("Thermistor resistance ");
  Serial.println(average);
  float temperature;
  temperature = average / nominal_resistance;     // (R/Ro)
  temperature = log(steinhart);                  // ln(R/Ro)
  temperature /= beta;                   // 1/B * ln(R/Ro)
  temperature += 1.0 / (nominal_temeprature + 273.15); // + (1/To)
  temperature = 1.0 / temperature;                 // Invert
 temperature -= 273.15;                         // convert absolute temp to C
  Serial.print("Temperature ");
  Serial.print(temperature);
  Serial.println(" *C");
  delay(1000);
}

测量 NTC 热敏电阻电阻和温度

下面的图片显示了我们如何将 NTC 热敏电阻与 Arduino 连接。您可以看到,当烙铁接触热敏电阻时,其电阻开始降低。
在这里插入图片描述

原网站

版权声明
本文为[WENJIE科技]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_46509684/article/details/126072698