آموزش راه اندازی ماژول ترموکوپل MAX6675 با آردوینو

فهرست مطالب

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

این ماژول یک سنسور دما با دقت 0.25 درجه سانتی‌گراد است که می‌تواند دمای بین -20 تا 80 درجه سانتی‌گراد را اندازه بگیرد. این ماژول شامل یک ترموکوپل تایپ K و یک راه‌انداز و تقویت کننده به نام MAX6675 می‌باشد. خروجی تراشه MAX6675، سه سیگنال با پروتکل ارتباطی SPI برای گزارش دمای اندازه‎‌گیری شده می‌باشد.
از مزایای این ماژول می‌توان به استفاده ی ساده و اندازه‌گیری دماهای بالا اشاره کرد. 

دیتاشیت تراشه MAX6675 را می توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) ماژول ترموکوپل MAX6675

ماژول ترموکوپل MAX6675 دارای 7 پایه به شرح زیر است:

  • VCC: تغذیه ماژول –3 تا 5.5 ولت
  • GND: زمین
  • SCK: پین کلاک
  • CS: انتخاب تراشه
  • SO: خروجی سریال
  • TH-: ورودی سر منفی ترموکوپل
  • TH+: ورودی سر مثبت ترموکوپل

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول ترموکوپل MAX6675 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول ترموکوپل MAX6675 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

به Library manager رفته و کلمه MAX6675 را سرچ کنید و در ادامه همانطور گه در تصویر زیر مشاهده می کنید، کتابخانه آن را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

اکد زیر را روی برد آردوینوی خود آپلود کنید.

/*
  MAX6675-K-Type-Thermocouple
  Modified on 31 oct 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
based on MAX6675 Arduino Library Examples */ #include "max6675.h" // max6675.h file is part of the library that you should download from Robojax.com int soPin = 4;// SO=Serial Out int csPin = 5;// CS = chip select CS pin int sckPin = 6;// SCK = Serial Clock pin MAX6675 Module(sckPin, csPin, soPin);// create instance object of MAX6675 void setup() { Serial.begin(9600);// initialize serial monitor with 9600 baud Serial.println("MAX6675"); } void loop() { // basic readout test, just print the current temp Serial.print("C = "); Serial.println(Module.readCelsius()); delay(1000); }

ابتدا کتابخانه MAX6675 پیوست می‌شود. در ادامه 3 پایه خروجی تعریف شده و به پین های 4 و 5 و 6 آردوینو متصل می‌شوند. در نهایت نیز دما بر حسب درجه سانتی‌گراد نمایش داده می‌شود.

همانطور که در تصویر زیر مشاهده می‌کنید، ابتدا ترموکوپل در فضای آزاد بوده و دمای محیط را نشان می‌دهد. بلافاصله آن را درون آب گرم قرار می‌دهیم. خروجی Serial Monitor دمای آب را تقریبا 70 درجه سانتی گراد اندازه‌گیری می‌کند.

آموزش های مشابه

Comments (17)

  • malek Reply

    سلام وقت بخیر
    من همه ی کد ها رو چک کردم ولی وقتی پروژه رو اجرا میکنم دما رو روی 1000 به بالا نشون میده با پروتئوس هم امتحان کردم
    بردم هم اردوینو uno هست به پایه های 11.12.13 وصل میکنم
    ممنون میشم جواب بدید .

    آوریل 11, 2021 at 9:02 ب.ظ
    • مهران ملکی Reply

      سلام. وقت شما هم بخیر
      یک اینکه آموزش رو با پایه‌های پیشنهاد شده خود آموزش هم جلو میبرید همین مشکل هست؟ البته بجز پایه های استفاده شده در آموزش، میتونید از هر پایه دیجیتال دیگه ای هم استفاده کنید فقط باید حواستون باشه و کد رو هم به دقت متناسب با همون تغییر بدید.
      و اینکه اگر باز هم جواب نداد احتمال داره که مشکل از خود ماژول باشه.

      آوریل 12, 2021 at 11:25 ق.ظ
  • milad Reply

    سلام میشه چند ترموکوپل را به اردوینو متصل کرد

    ژوئن 23, 2021 at 3:38 ب.ظ
    • مهران ملکی Reply

      سلام،
      بله مشکلی نداره. برای اتصال هر ترموکوپل به آردوینو 3 پایه لازم هست. کافیه که هر ترموکوپل رو از طریق 3 پایه به آردوینو متصل کنید و اون ترموکوپل رو در کدتون به همراه شماره پایه‌هاش تعریف کنید. مشابه کد همین آموزش، خط 12 تا 15. همین قسمت رو با شماره پایه‌های جدید میتونید برای هر ترموکوپل تکرار کنید.

      ژوئن 26, 2021 at 10:43 ق.ظ
  • آرش Reply

    این برنامه جواب نمی دهد
    کلا اشتباه است
    یک فیلم از کار کرد بگزارید.

    جولای 12, 2021 at 4:56 ب.ظ
  • آرش Reply

    درود
    من بستم جواب داد.
    در پروتوس دما را اشتباه نشان می دهد . جواب نگرفتم.
    اگر non آمد سیم ترموکوپل قطع است.
    با تشکر

    جولای 13, 2021 at 12:12 ق.ظ
    • مهران ملکی Reply

      سلام… بنده کامل متوجه نشدم، پس در ابتدا در شبیه‌سازی یک سیم کاملا متصل نبوده و الان مشکلتون رفع شده؟

      جولای 13, 2021 at 9:59 ق.ظ
  • امید نادری Reply

    سلام
    وقت بخیر
    من این برنامه رو نوشتم و کار میده ولی دما رو حدود 7 درجه از مقدار واقعی بیشتر نشون میده.در مورد کالیبره کردن این سنسور هم چیزی پیدا نکردم.اگر راهنمایی بفرمایید ممنون میشم.

    سپتامبر 13, 2021 at 7:28 ق.ظ
    • مهران ملکی Reply

      سلام.
      تقریبا تمامی سنسورهای دما به نوعی کالیبراسیون برای نشون دادن مقدار دقیق دما نیاز دارن. کالیبراسیون این سنسور هم پیچیدگی خاصی نداره و شبیه کالیبره کردن هر نوع سنسور دیگه ایه. کافیه که دمای محیطی رو که از قبل دماش رو به طور دقیق میدونید به وسیله این سنسور اندازه بگیرید. یک اختلاف دما بینشون وجود داره و میتونید از اون اختلاف دما برای کالیبره کردن سنسور استفاده کنید. این کار رو در واقع خود شما هم انجام دادید و به اختلاف 7 درجه رسیدید. میتونید این 7 درجه رو داخل کد اعمال کنید و تو اندازه‌گیری های بعدیتون با سنسور ازش استفاده کنید.

      سپتامبر 13, 2021 at 9:07 ق.ظ
      • امید نادری Reply

        بسیار سپاسگزارم

        سپتامبر 13, 2021 at 4:37 ب.ظ
        • مهران ملکی Reply

          خواهش میکنم

          سپتامبر 15, 2021 at 8:37 ق.ظ
  • مهران Reply

    سلام
    من میخواستم خروجی رو به صورت نمودار دما-زمان نشون بدهف باید چیکار کنم؟

    فوریه 18, 2022 at 2:09 ق.ظ
    • مهران ملکی Reply

      سلام.
      میتونید توی نرم‌افزار آردوینو از Serial Plotter استفاده کنید. میتونید این رو از آدرس Tools -> Serial Plotter پیدا کنید یا از کلیدهای ترکیبی Ctrl + Shift + L استفاده کنید.

      فوریه 20, 2022 at 10:36 ق.ظ
  • محمد Reply

    سلام من 3 تا ترموکوپل دارم، میخام دمای جسمم رو در 3 مکان مختلف اندازه بگیرم. یه دونه اردینو باید بگیرم یا سه تا؟میشه یکم راهنماییم کنین

    آگوست 24, 2022 at 3:00 ب.ظ
    • مهران ملکی Reply

      سلام.
      یک عدد ترموکوپل کفایت میکنه. همونطور که در کامنت‌های بالایی هم اشاره شده، برای اتصال هر ترموکوپل به آردوینو 3 پایه لازم هست. کافیه که هر ترموکوپل رو از طریق 3 پایه به آردوینو متصل کنید و اون ترموکوپل رو در کدتون به همراه شماره پایه‌هاش تعریف کنید. مشابه کد همین آموزش، خط 12 تا 15. همین قسمت رو با شماره پایه‌های جدید میتونید برای هر ترموکوپل تکرار کنید.

      سپتامبر 12, 2022 at 9:57 ب.ظ
  • یعقوب Reply

    ممنون از آموزش کاربردی شما میخواستم یک فر برقی درست کنم و دمای آن قابل تنظیم و در آن دما ثابت بماند آیا این ترموکوپل می‌تواند حداکثر دمای سیصد درجه سانتی گراد را نشان بدهد و خود ترموکوپل در این دما آسیب نبیند

    اکتبر 7, 2023 at 8:03 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      جناب در توضیحات محصول آمده است “این سنسور با دقت بالا 0.25 درجه از -20 تا +80 درجه ی سانتی گراد را اندازه گیری می کند” در نتیجه خیر.

      اکتبر 7, 2023 at 9:31 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.