108个传感器之- NTC温度传感器(13)

108个传感器之- NTC温度传感器(13)

介绍

该模块包含一个NTC热敏电阻,可以测量-55°C至+125°C范围内的温度。NTC热敏电阻(负温度系数)具有电阻随温度升高而降低的特性。电阻值的这种变化使得计算相应的温度成为可能。

温度和电阻之间的关系不是线性的,但可以在数学上近似。电阻的变化可以通过使用分压器来确定。分压器由已知的固定电阻和热敏电阻的可变电阻组成。当向分压器施加电压时,根据电阻值对电压进行分压。通过测量热敏电阻两端的电压,可以计算出电流电阻。

然后,这些电阻值可以转换为温度。随附的代码示例中描述了确定温度的精确计算方法和数学方法。该模块非常适合需要精确温度测量的应用,例如气候控制、监测系统和其他温度相关过程。由于其高精度和宽测量范围,它为许多温度测量任务提供了可靠的解决方案。

Technical Data
Operating voltage 3,3 V - 5 V
Measuring range -55 °C to +125 °C
Measurement accuracy ± 0,5 °C
Known resistance 10 kΩ
Specific resistance of the NTC 3950 Ω

引脚连接

pin 引脚连接开发板的 gpio 接口即可:

Arduino Sensor
A2 Signal
- +V
GND GND

代码示例

1. 普通版

以下代码我自己算出来是不太准的,可能哪个地方计算的不对,后续优化:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <Arduino.h>

int ntc = A2;
double raw_value;
double voltage;
double temperature;

void setup () {
pinMode(ntc, INPUT);
Serial.begin(9600);
}

void loop () {
raw_value = analogRead(ntc);
voltage = raw_value * 5.0 / 1023.0;
if (voltage >= 0 && voltage <= 5.0) {
// 使用电压计算温度
temperature = ((voltage / 5.0) * 10000.0) / (1.0 - (voltage / 5.0));
// 进一步处理温度值
temperature = 1.0 / ((1.0 / 298.15) + (1.0 / 3950.0) * log(temperature / 10000.0));
// 将温度从开尔文转换为摄氏度
temperature = temperature - 273.15;
Serial.println("Temperature: " + String(temperature) + " °C");
} else {
Serial.println("Invalid voltage value: " + String(voltage));
}
delay(1000);
}

小结

待完善…

108个传感器之- NTC温度传感器(13)

http://blog.jzxer.cn/20241218/20241219-temprature-sensor/

作者

dev

发布于

2024-12-18

更新于

2025-01-14

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×