آردوینو پروژه های آردوینو

MLX90614 دماسنج مادون قرمز آردوینو

آموزش ماژول دماسنج MLX90614 آردوینو
نوشته شده توسط علیرضا قربانی

دماسنج مادون قرمز MLX90614

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

دما سنج های مادون قرمز(Infrared Thermometers)

ازاین ابزار با توجه به کار آیی عمومی آن ، در صنایع مختلف و در زمینه های مختلف استفاده می شود از جمله‌ کاربرد‌های  دماسنج‌های مادون قرمز می‌توان به اندازه‌گیری دمای قطعات در حین فرآیندهایی مثل فورج واکستروژن (برای قطعات حساس) وکنترل این فرآیندها ، اندازه گیری دمای قطعات داخل کوره،اندازه گیری دمای ذوب و… اشاره نمود.

ماژول دماسنج مادون قرمز MLX90614

MLX90614 یک ماژول دماسنج مادون قرمز هوشمند برای اندازه‌گیری دما به روش غیر تماسی می‌باشد. از مشخصات منحصر به فرد این سنسور علاوه بر این که برای اندازه گیری دما نیازی بهتماس با جسم مورد نظر ندارد ، نویز بسیار کم و دارای مبدل داخلی ۱۷ بیتی آنالوگ به دیجیتال به کمک واحدdsp میباشد که  باعث شده است بتوان دما را  با دقت ۰٫۰۲ درجه سانتی‌گراد انداز‌ه‌گیری نمود .

 

ویژگی‌های ماژول mlx906

پروتکل ارتباطی I2C

کالیبره شدن در کاخانه برای رنج‌های:

  • ۴۰- الی ۸۵+ درجه‌ سانتی‌گراد برای اندازه‌گیری دمای خود سنسور
  • ۷۰- الی ۳۸۰+ درجه سانتی‌گزاد برای اندازه‌گیری اجسام توسط سنسور

انطباق ولتاژی ۳٫۳ ولت الی ۱۶ ولت

حالت ذخیره انرژی

 

تذکر:

میدان دید از اهمیت ویژه ای در صحت و دقت اندازه گیری برخوردار است . درجه حرارتی که ترمومترغیر تماسی به نمایش می گذارد ، از تبدیل انرژی مادون قرمزی که ترمومتر دریافت می کند ، بدست می آید . لذا این درجه حرارت متوسط درجه حرارت هر آن چیزی است که در میدان دید ترمومتر قرار دارد . این یک نکته مهم است که توسط بسیاری از کاربران این نوع تجهیزات مورد توجه قرار نمی گیرد. بسیار دیده شده که شخصی با در دست داشتن یک ترمومتر لیزری یا مادون قرمز مقره ای را در فاصله دور نشانه روی کرده و به استناد این که پوینتر لیزر روی آن قرار دارد نسبت به قرائت و ثبت عدد دمای مقره اقدام می کند. در این حالت بازرس بیش از ۹۰% دمای آسمان را که منفی است ثبت می کند و لذا عیبی مشاهده نمی شود. اصولا در استفاده از این نوع از تجهیزات باید تمامی نواحی سوژه مورد نظر که دمای آن باید اندازه گیری شود میدان دید دماسنج یا ترمومتر راپر کند در غیر این صورت نتایج به یقین غلط است .

 

 

برنامه ‌نویسی

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

دانلود کتابخانه mlx906

 

 

معرفی توابع کتابخانه mlx906

 

برای شروع کار با این کتابخانه ابتدا باید همانند قطعه کد زیر از آن یک آبجکت بسازید:

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

 

 


 

 

 

begin()

به وسیله‌ی این تابع ماژول را فعال می‌کنیم.

 

 

 

readAmbientTempC()

به وسیله‌ی این تابع دمای خود ماژول را برحسب درجه سانتی‌گراد اندازه‌گیری می‌کنیم( توجه داشته باشید که گفته شد دمای خود ماژول ، نه دمای جسم مورد نظر).

 

 

 

readObjectTempC()

به وسیله‌ی این تابع دمای جسم مورد نظر برحسب درجه سانتی گراد اندازه‌گیری می‌شود.

 

 

readAmbientTempF()

این تابع دمای ماژول را بر حسب فارنهایت اندازه‌گیری می‌نماید.

 

readObjectTempF()

 

به وسیله‌ی این تابع دمای جسم مورد‌نظر بر حسب فارنهایت اندازه‌گیری می‌شود.

 

پروژه

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

 

سخت‌افزار موردنیاز

ماژول دماسنج مادون قرمز (GY-906 (MLX90614

آردوینو Uno

 

اتصالات

پروتکل این ماژول I2C می‌باشد پس SDA ماژول را به SDA آردوینو ، SCL ماژول را به SCL آردوینو متصل می‌کنیم.همچنین VIN ماژول را به پین ۳٫۳ ولت بر روی آردوینو متصل می‌کنیم و همچنین در آخر GND ماژول را به GND آردوینو متصل می‌کنیم.

آموزش ماژول دماسنج mlx906 آردوینو

اتصالات ماژول mlx906  به  آردوینو

 

کد‌های پروژه

 

#include <Wire.h>
#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600);

  Serial.println("Adafruit MLX90614 test");

  mlx.begin();
}

void loop() {
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC());
  Serial.print("*CtObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF());
  Serial.print("*FtObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");

  Serial.println();
  delay(500);
}

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

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه