سنسور MAX6675

Mohammad Amin Raznahan Mohammad Amin Raznahan Mohammad Amin Raznahan · 1404/3/18 03:43 · خواندن 3 دقیقه
راهنمای ماژول ترموکوپل MAX6675

راهنمای کامل ماژول ترموکوپل MAX6675

ماژول MAX6675 یک مبدل دیجیتال برای ترموکوپل‌های نوع K است. این ماژول به شما اجازه می‌دهد تا دماهای بسیار بالا را با دقت خوبی اندازه‌گیری کنید، که آن را برای استفاده در کوره‌ها، پرینترهای سه‌بعدی و سایر کاربردهای صنعتی ایده‌آل می‌سازد.

مشخصات کلیدی ماژول (دیتاشیت)

ویژگی (Feature)مقدار (Value)
نوع ترموکوپل سازگارنوع K
محدوده اندازه‌گیری دما0 تا 1024 درجه سانتی‌گراد
دقت تفکیک‌پذیری (Resolution)0.25 درجه سانتی‌گراد
پروتکل ارتباطیSPI (Serial Peripheral Interface)
ولتاژ کاری3.0 ولت تا 5.5 ولت
ویژگی داخلیجبران‌ساز اتصال سرد (Cold-Junction Compensation)

پیش‌نیاز نرم‌افزاری: دانلود و نصب کتابخانه

برای کار با این ماژول به کتابخانه MAX6675 از شرکت Adafruit نیاز دارید. آن را از لینک زیر دانلود و نصب کنید.

راهنمای دانلود و نصب:

  1. وارد لینک بالا شوید. روی دکمه سبز رنگ <> Code کلیک کرده و گزینه Download ZIP را انتخاب کنید.
  2. در نرم‌افزار آردوینو، به منوی Sketch > Include Library > Add .ZIP Library... بروید.
  3. فایل ZIP دانلود شده را انتخاب کرده و روی Open کلیک کنید.

کد تست آردوینو برای MAX6675

کد زیر دما را از ماژول می‌خواند و در سریال مانیتور نمایش می‌دهد. پایه‌های تعریف شده در کد مطابق با ورودی شما هستند.


#include "max6675.h"

// تعریف پایه‌های ارتباطی SPI بر اساس ورودی شما
const int thermoSO = 12; // Data Out (MISO)
const int thermoCS = 10; // Chip Select
const int thermoSCK = 13; // Serial Clock

// ساخت یک نمونه از کلاس کتابخانه با پایه‌های تعریف شده
MAX6675 thermocouple(thermoSCK, thermoCS, thermoSO);

void setup() {
  Serial.begin(9600);
  
  Serial.println("MAX6675 Test");
  
  // یک تاخیر کوتاه برای پایدار شدن ماژول
  delay(500);
}

void loop() {
  Serial.print("Temperature = ");
  Serial.print(thermocouple.readCelsius());
  Serial.println(" C");

  // برای بررسی خطای قطع بودن ترموکوپل می‌توانید از کد زیر هم استفاده کنید
  /*
  if (isnan(thermocouple.readCelsius())) {
    Serial.println("Error: Thermocouple is not connected!");
  } else {
    Serial.print("Temperature = ");
    Serial.print(thermocouple.readCelsius());
    Serial.println(" C");
  }
  */

  delay(1000);
}