สินค้าที่เกี่ยวข้อง
MAX31865 PT100 to PT1000 RTD-to-Digital Converter Temperature Thermocouple Sensor Amplifier Module
Description
For precision temperature sensing, nothing beats a Platinum RTD. Resistance temperature detectors (RTDs) are temperature sensors that contain a resistor that changes resistance value as its temperature changes, basically a kind of thermistor. In this sensor, the resistor is actually a small strip of Platinum with a resistance of 100 ohms at 0°C, thus the name PT100. Compared to most NTC/PTC thermistors, the PT type of RTD is much most stable and precise (but also more expensive) PT100's have been used for many years to measure temperature in laboratory and industrial processes, and have developed a reputation for accuracy (better than thermocouples), repeatability, and stability.
However, to get that precision and accuracy out of your PT100 RTD you must use an amplifier that is designed to read the low resistance. Better yet, have an amplifier that can automatically adjust and compensate for the resistance of the connecting wires. If you're looking for a great RTD sensor, today is your lucky day because we have a lovely Ours RTD Sensor Amplifier with the MAX31865 breakout for use with any 2, 3 or 4 wire PT100 RTD!
We've carried various MAXIM thermocouple amplifiers and they're great - but thermocouples don't have the best accuracy or precision, for when the readings must be as good as can be. The MAX31865 handles all of your RTD needs, and can even compensate 3 or 4 wire RTDs for better accuracy. Connect to it with any microcontroller over SPI and read out the resistance ratio from the internal ADC. We put a 430Ω 0.1% resistor as a reference resistor on the breakout. We have some example code that will calculate the temperature based on the resistance for you.
We even made the breakout 5V compliant, with a 3.3V regulator and level shifting, so you can use it with any for For Arduino or microcontroller.
Each order comes with one assembled RTD amplifier breakout board. Also comes with two 2-pin terminal blocks (for connecting to the RTD sensor) and pin header (to plug into any breadboard or perfboard).Some soldering is required to solder the headers and terminal blocks to the breakout, but it's an easy task with soldering tools.
Features and benefits
1. Support 100Ω to 1kΩ (0°C) platinum resistance RTD (PT100 to PT1000);
2. Compatible with 2-wire, 3-wire and 4-wire sensor connections;
3. SPI compatible interface;
4.15-bit ADC resolution with a nominal temperature resolution of 0.03125 °C (variable with RTD nonlinearity);
5. The total accuracy is maintained at 0.5 ° C (0.05% of full scale) under the entire working conditions;
6 fully differential VREF input;
7. Conversion time: 21ms (maximum);
8. Integrated fault detection to increase system stability: (RTD open circuit, RTD short circuit to voltage outside the range or short circuit of RTD components).

โคดตัวอย่าง
#include<Adafruit_MAX31865.h>
// กำหนดขา SPI สำหรับ MAX31865
#define MAX31865_CS_PIN 10 // ขา CS (Chip Select)
// สร้าง object สำหรับ MAX31865
Adafruit_MAX31865 thermo = Adafruit_MAX31865(MAX31865_CS_PIN);
// กำหนดค่าสำหรับ PT100
#define RREF 430.0 // ค่าความต้านทาน reference resistor
#define RNOMINAL 100.0 // ค่าความต้านทานที่ 0°C ของ PT100
void setup() {
Serial.begin(9600);
// เริ่มต้นการทำงานของ MAX31865
thermo.begin(MAX31865_PTD_2WIRE); // สำหรับการต่อแบบ 2 สาย
// thermo.begin(MAX31865_PTD_3WIRE); // สำหรับการต่อแบบ 3 สาย
// thermo.begin(MAX31865_PTD_4WIRE); // สำหรับการต่อแบบ 4 สาย
Serial.println("MAX31865 PT100 Temperature Sensor Test");
}
void loop() {
// อ่านค่าอุณหภูมิ
float temp = thermo.temperature(RNOMINAL, RREF);
// ตรวจสอบสถานะการทำงาน
uint8_t fault = thermo.readFault();
// แสดงผลอุณหภูมิ
Serial.print("Temperature = ");
Serial.print(temp);
Serial.println(" °C");
// ตรวจสอบและแสดงข้อผิดพลาด (ถ้ามี)
if (fault) {
Serial.print("Fault 0x");
Serial.println(fault, HEX);
if (fault & MAX31865_FAULT_HIGHTHRESH) {
Serial.println("RTD High Threshold");
}
if (fault & MAX31865_FAULT_LOWTHRESH) {
Serial.println("RTD Low Threshold");
}
if (fault & MAX31865_FAULT_REFINLOW) {
Serial.println("REFIN- > 0.85 x Bias");
}
if (fault & MAX31865_FAULT_REFINHIGH) {
Serial.println("REFIN- < 0.85 x Bias");
}
if (fault & MAX31865_FAULT_RTDINLOW) {
Serial.println("RTDIN- < 0.85 x Bias");
}
if (fault & MAX31865_FAULT_OVUV) {
Serial.println("Under/Over Voltage");
}
thermo.clearFault();
}
delay(1000); // หน่วงเวลา 1 วินาที
}
การเชื่อมต่อฮาร์ดแวร์:
- VDD -> 3.3V หรือ 5V ของ Arduino
- GND -> GND
- SDI (MOSI) -> ขา 11 ของ Arduino
- SDO (MISO) -> ขา 12 ของ Arduino
- CLK -> ขา 13 ของ Arduino
- CS -> ขา 10 ของ Arduino (สามารถเปลี่ยนได้โดยแก้ค่า MAX31865_CS_PIN)
คำอธิบายโค้ด:
- โค้ดใช้ไลบรารี Adafruit_MAX31865 ซึ่งต้องติดตั้งผ่าน Library Manager ใน Arduino IDE ก่อน
- รองรับการต่อ PT100 แบบ 2, 3 และ 4 สาย (เลือกในฟังก์ชัน begin())
- แสดงค่าอุณหภูมิทางพอร์ตอนุกรม
- มีระบบตรวจสอบและแจ้งเตือนข้อผิดพลาดต่างๆ
ตัวอย่างผลลัพธ์ที่จะเห็นใน Serial Monitor เมื่อรันโค้ดนี้

ในกรณีที่เซ็นเซอร์ทำงานปกติ จะแสดงค่าอุณหภูมิทุกๆ 1 วินาที
แต่ถ้ามีปัญหาเกิดขึ้น เช่น การต่อสายไม่ถูกต้องหรือเซ็นเซอร์เสีย อาจจะเห็นข้อความแจ้งเตือนแบบนี้:
