Ukur suhu presisi menggunakan sensor MAX31865 dan Arduino Uno dengan RTD PT100. Tutorial wiring, kode, dan langkah pengujian lengkap.
Sensor MAX31865 merupakan konverter RTD-to-Digital yang biasa digunakan untuk membaca suhu dari sensor RTD PT100 atau PT1000 dengan akurasi tinggi. Cocok digunakan pada sistem industri, inkubator, atau alat pemantau suhu presisi lainnya.
Dalam tutorial ini, kita menggunakan sensor PT100 (100 ohm) 3-wire bersama Arduino Uno.
Alat dan Bahan
| Komponen | Jumlah | Keterangan |
|---|---|---|
| Arduino Uno | 1 | Mikrokontroler utama |
| MAX31865 | 1 | Breakout board untuk PT100/1000 RTD |
| Kabel jumper | 6 | Untuk koneksi SPI |
| RTD PT100 | 1 | Sensor suhu berbasis resistansi |
Wiring Diagram MAX31865

Kode Program MAX31865 (PT100)
#include <Arduino.h>
#include <Adafruit_MAX31865.h>
// SPI Software: CS, DI (MOSI), DO (MISO), CLK
Adafruit_MAX31865 thermo = Adafruit_MAX31865(5, 23, 19, 18);
// Konstanta kalibrasi sensor
#define RREF 430.0 // Nilai resistor referensi
#define RNOMINAL 100.0 // Nilai resistansi PT100 saat 0°C
void cek_suhu_max31865() {
uint16_t rtd = thermo.readRTD();
Serial.print("RTD value: "); Serial.println(rtd);
float ratio = rtd;
ratio /= 32768.0;
Serial.print("Ratio = "); Serial.println(ratio, 8);
Serial.print("Resistance = "); Serial.println(RREF * ratio, 8);
Serial.print("Temperature = "); Serial.println(thermo.temperature(RNOMINAL, RREF));
// Cek kesalahan jika ada
uint8_t fault = thermo.readFault();
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();
}
Serial.println();
delay(1000);
}
void setup() {
Serial.begin(115200);
Serial.println("Adafruit MAX31865 PT100 Sensor Test!");
thermo.begin(MAX31865_3WIRE); // Ganti ke 2WIRE atau 4WIRE jika diperlukan
}
void loop() {
cek_suhu_max31865();
}
Penjelasan Program
Adafruit_MAX31865digunakan untuk komunikasi SPI dengan breakout board.- Sensor membaca resistansi dari RTD dan menghitung suhu berdasarkan standar PT100.
- Fungsi
readRTD()membaca data mentah, sedangkantemperature()langsung mengkonversi ke °C. - Fungsi
readFault()digunakan untuk mendeteksi masalah seperti kabel terbuka, tegangan rendah, dll.
Referensi penting:
Langkah Pengujian
- Hubungkan MAX31865 ke Arduino sesuai wiring.
- Upload kode ke board Arduino Uno.
- Buka Serial Monitor (baudrate 115200).
- Perhatikan data suhu yang ditampilkan setiap detik.
- Coba panaskan atau dinginkan sensor PT100 dan lihat perubahan data.
Kesimpulan
Sensor MAX31865 sangat ideal untuk pembacaan suhu presisi dengan RTD PT100. Dibandingkan sensor termistor biasa, PT100 jauh lebih akurat dan stabil dalam jangka panjang. Dengan Arduino Uno, sensor ini bisa digunakan dalam aplikasi laboratorium, pemantauan suhu ruang server, pemanggang otomatis, dan banyak lagi.
Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :
Baca juga :




