آردوینو Arduinoمطالب آموزشی

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

این ماژول دارای قابلیت اندازه گیری تا دمای 1024 درجه سانتی گراد را دارد و مناسب برای اندازه گیری دمای کوره ها، اجاقها و سایر محیط های صنعتی میباشد.

Untitled

ترموکوپل ها بسیار حساس هستند ، آنها به یک تقویت کننده خوب به همراه مرجع دمایی پایدار نیازمند هستند که تراشه MAX6675 راه انداز و تقویت کننده ترموکوپل این امر را محقق کرده و ترموکوپل های نوع K را راه اندازی کرده و داده دما را بواسطه خروجی دیجیتالی سریال SPI ارئه می دهد.برد راه انداز MAX6675 همه چیز را برای راه اندازی ترموکوپل فراهم کرده است، لذا کافیست با رابط ساده خود به هر میکروکنترلری یا برد آردوینو متصل شده و از طریف پروتکل SPI داده دما قرائت شود.

ویژگی ها:

  • کار با همه ی ترموکوپل های نوع K
  • خروجی 0 تا 1024 درجه سانتی گراد با دقت 0.25 درجه سانتی گراد (رزولوشن 12 بیت)
  • 3.0 الی 5.5 ولت سطح منطقی و تغذیه ماژول
  • انتقال اطلاعات از طریق پروتکل SPI (نیاز به حداقل 3 پین ورودی خروجی)


وضعیت پایه ها دیجیتال:

  1. GND
  2. 3.3V / 5V
  3. (SCK (Serial Clock
  4. (CS (Chip Select
  5. (SO (Serial Output


وضعیت پایه ها آنالوگ:

  1. + (Thermocouple +)
  2. – (Thermocouple -)


کاربرد:

موارد استفاده این ماژول در محیطهای صنعتی و نیمه صنعتی مانند کوره ها، اجاقها، اندازه گیری صنایع غذایی و… میباشد. طبق عکس زیر مدارمون رو میبندیم :

5847
کد برنامه :
// this example is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple
 
#include <max6675.h>
#include <LiquidCrystal.h>
#include <Wire.h>
 
int thermoDO = 12;
int thermoCS = 10;
int thermoCLK = 11;
 
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;
 
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
 
// make a cute degree symbol
uint8_t degree[8]  = {140,146,146,140,128,128,128,128};
 
void setup() {
  Serial.begin(9600);
  // use Arduino pins 
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
   
  lcd.begin(16, 2);
  lcd.createChar(0, degree);
 
  // wait for MAX chip to stabilize
  delay(500);
}
 
void loop() {
  // basic readout test, just print the current temp
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("MAX6675 ECA.IR");
   
  // go to line #1
  lcd.setCursor(0,1);
  lcd.print(thermocouple.readCelsius());
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print("C ");
  lcd.print(thermocouple.readFahrenheit());
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print('F');
   
  delay(1000);
}

کتابخانه مورد استفاده در این برنامه Max6675 وLiquidCrystal میباشد.

جهت اضافه کردن کتابخانه در آردوینو از آموزش زیر استفاده کنید :

11111

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

https://www.eca.ir/forums/thread78145.html

نوشته های مشابه

5 دیدگاه

  1. سلام شدیدا به برنامه نویسی ترموکوپل برای کوره ذغال نیازمندم ..لطفا اگر دراین زمینه فعالیت دارید بهم جواب بدید

  2. سلام.وقت بخیر.
    اگر بخواهم دمای بیش از ۱۰۲۳ درجه را اندازه بگیرم،آیا ماژولی برای آن وجود دارد؟؟
    چون ترموکوپل تایپ K دماهای بالاتری را نیز حس میکند .ممنونم

  3. سلام وقت بخیر
    من پروژه رو دقیقا مطابق شما بستم و کد برنامه هم کپی کردم ولی در عمل دما رو روی ۱۰۲۳ نشون میده و تغییر هم نمیکنه
    تو پروتئوس هم امتحان کردم همینجوری بود
    ممنون میشم راهنمایی کنید

  4. با سلام. من کدها را پس از کپی کردن وارد ide کردم و به اردوینو یونو منتقل کردم . نحوه اتصال نیز همانطور که توضیح دادید است اما مشکلی که دارم این است که هرباز برنامه را آپلود می کنم دما تغییر می کند اما در طول زمان اجرای برنامه تغییرات دما را نشان نمی دهد. ممکن است من را راهنمایی کنید. ممنون.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا