红外测温仪是一种利用红外辐射原理进行非接触式温度测量的高科技仪器。它通过接收被测物体发出的红外辐射,并将其转换为电信号,进而计算出物体的表面温度。红外测温仪因其非接触、快速、准确、安全等优点,在医疗、工业、农业、科研等多个领域得到了广泛应用。
红外测温仪主要由以下几个部分组成:
红外测温仪因其独特的测量原理和结构设计,具有以下几个显著特点:
红外测温仪在多个领域得到了广泛应用,以下是一些典型的应用场景:
综上所述,红外测温仪是一种具有非接触式测量、快速响应、高精度和高灵敏度等特点的高科技测量仪器。它在医疗、工业、农业、科研等多个领域得到了广泛应用,并为相关领域的发展提供了有力支持。随着科技的不断进步和应用领域的不断拓展,红外测温仪的性能和应用范围还将不断提高和扩大。
为了测量温度,可以使用不同类型的传感器,如果您想以非接触方式检测温度,那么红外测温仪传感器是首选。 Melexis 的 MLX90614 红外温度计是一款非接触式温度传感设备。
LM35温度传感器的输出取决于传感器装置上的热量下降,但你无法进入火中来检测准确的温度值。该 MLX90614 传感器提供非接触式温度传感。
该传感器内部包含 17 位ADC和强大的 DSP,有助于实现高精度和分辨率,并且该传感器提供两种输出方法:PWM 和 I²C,但这些输出具有分辨率变化,就像如果将输出作为 PWM 则采用 10 位PWM 输出提供 0.14 ℃ 的分辨率,I²C 方法提供 0.02 ℃ 的分辨率。
MLX90614 在宽温度范围内进行了工厂校准,环境温度为 -40 ℃ 至 85 ℃,物体温度为 -70 ℃ 至 382.2 ℃。
我们知道每个物体都会发出红外线,其浓度随温度而变化,但这些红外线是人眼看不见的。通过检测红外线,我们可以量化温度范围。顺便说一句,MLX 90614 温度计传感器也可以工作。
该传感器有两个部分,即 1. 热电堆检测器(负责将热能转换为电能),2. 信号调节部分(处理来自热电堆检测器的信号并使其成为外部外围设备可读的信号)。
信号调节部分具有 17 位 ADC 模块,用于转换热电堆检测到的信号,校准 DSP(数字信号处理)模块在输出信号通过 PWM 和 I²C/TWI 端子后对整个信号进行量化。
MLX 90614 温度计传感器是即插即用设备,因此我们可以直接连接警报设备并轻松制作热报警设备。
微控制器具有 I2C 通信方式来与外部外围设备连接,MLX90614 温度计还具有 I2C 通信线,因此我们可以将该传感器与微控制器连接,而无需任何额外的电路。
传感器使用 3.3V直流电源工作,如果微控制器使用 5V 直流电源工作,那么我们需要在 SDA 和 SCL 线路之间连接上拉电阻至 +3.3V 直流线路。
Arduino 板具有 I²C 通信线路,并且可以通过线头文件轻松与 I²C 连接。本文以 Arduino uno 板为例,如果您使用不同的 Arduino 板并想了解 I²C 线。
如图所示连接传感器,并从 Arduino 板向传感器提供 +3.3V 直流电源。这里使用 4.7KΩ 电阻器通过 I²C 线路提供上拉。
/****************************************************MLX90614 ------------- Arduino VDD ------------------ 3.3V VSS ------------------ GND SDA ------------------ SDA (A4 on older boards) SCL ------------------ SCL (A5 on older boards)*****************************************************/
#include < Wire.h > // I2C library, required for MLX90614
#include < SparkFunMLX90614.h > // SparkFunMLX90614 Arduino library
IRTherm therm; // Create an IRTherm object to interact with throughout
const byte LED_PIN = 8; // Optional LED attached to pin 8 (active low)
void setup()
{
Serial.begin(9600); // Initialize Serial to log output
therm.begin(); // Initialize thermal IR sensor
therm.setUnit(TEMP_F); // Set the library's units to Farenheit
// Alternatively, TEMP_F can be replaced with TEMP_C for Celsius or
// TEMP_K for Kelvin.
pinMode(LED_PIN, OUTPUT); // LED pin as output
setLED(LOW); // LED OFF
}
void loop()
{
setLED(HIGH); //LED on
// Call therm.read() to read object and ambient temperatures from the sensor.
if (therm.read()) // On success, read() will return 1, on fail 0.
{
// Use the object() and ambient() functions to grab the object and ambient
// temperatures.
// They'll be floats, calculated out to the unit you set with setUnit().
Serial.print("Object: " + String(therm.object(), 2));
Serial.write('°'); // Degree Symbol
Serial.println("F");
Serial.print("Ambient: " + String(therm.ambient(), 2));
Serial.write('°'); // Degree Symbol
Serial.println("F");
Serial.println();
}
setLED(LOW);
delay(500);
}
void setLED(bool on)
{
if (on)
digitalWrite(LED_PIN, LOW);
else
digitalWrite(LED_PIN, HIGH);
}
全部0条评论
快来发表一下你的评论吧 !