برای سنجش دما توسط آردوینو، یکی از سادهترین و ارزانترین راهها، استفاده از سنسور دمای LM35 است. این سنسورها نسبتا دقیق هستند و برای فعالسازی نیازی به قطعه جانبی ندارند. بنابراین، تنها با چند اتصال و تعدادی دستور آردوینو، در کمترین زمان، دما را اندازه گیری خواهید کرد.
اجزای مورد نیاز
شما به اجزای زیر نیاز دارید:
- آردوینو UNO اونو × 1
- سنسور دما (LM35) × 1
- نمایشگر کاراکتری × 1
- برد بورد × 1
سنسور دما LM35
سنسور LM35 محصول شرکت Texas Instruments میباشد و یک سنسور ولتاژ پایین بوده که دما را بر حسب درجه سانتی گراد اندازهگیری میکند. خروجی این سنسور ولتاژی است که به طور خطی با دما (بر حسب درجه سانتی گراد) متناسب است؛ بنابراین استفاده از آن، در آردوینو بسیار آسان است.
سنسور دمای LM35 نسبتا دقیق ، پایدار در انواع شرایط محیطی و بدون نیاز به قطعات جانبی برای استفاده است. علاوه بر آن، این سنسور به کالیبراسیون نیاز ندارد و دقت اندازهگیری آن در دمای اتاق 0.5± درجهی سانتیگراد و در محدودهی دمایی 155+ تا 55- درجه سانتیگراد، ۱± درجه میباشد.
ولتاژ کاری این سنسور بین ۴ تا ۳۰ ولت میباشد و در زمان اندازهگیری دما، دارای جریان مصرفی کمتر از 60 میکروآمپر است. در حالیکه افزایش دما در سنسور بسیار اندک میباشد (در جریان هوای ثابت، کمتر از 0.08 درجه ی سانتی گراد است).
در ادامه، جدول تکمیلی مشخصات این سنسور آورده شده است:
ولتاژ کاری | ۴ تا ۳۰ ولت |
جریان مصرفی | ۶۰ میکرو آمپر |
محدوده دمایی | -55 تا 155 درجه سانتی گراد |
دقت اندازه گیری | ±0.5 درجه سانتی گراد |
مقیاس خروجی | 10mV/ᵒC |
مقدار خروجی در دمای ۲۵ درجه سانتی گراد | 250میلی ولت |
تنها نکته منفی دربارهی سنسوردمای LM35 آن است که برای اندازه گیری دماهای منفی لازم است که سنسور در بایاس منفی قرار بگیرد. پس اگر قرار است که از این سنسور برای اندازهگیری دماهای منفی استفاده کنید، به شما پیشنهاد میشود که از سنسور دمای TMP36 به عنوان جایگزین استفاده کنید. سنسور دمای TMP36 از شرکت Analog Devices است که نسبتا دقیق بوده (40- تا ۱۲۵+ درجه سانتیگراد) و برای اندازهگیری دماهای منفی نیازی به بایاس منفی ولتاژ ندارد. شما میتوانید اطلاعات آموزشی اختصاصی این سنسور را در لینک زیر مشاهده کنید:
جایگزین مناسبتر برای سنسور LM35، سنسورهای دماسنجی دیجیتال مانند DS18B20 می باشند که در ادامه، پروژهی مربوط به آن آورده شدهاست. زمانی که قرار است که سنسور در فاصله ای دور باشد و یا در محیط هایی که نویز الکتریکی دارند قرار بگیرد، استفاده از سنسورهای دیجیتال مناسبتر است؛ چرا که سنسورهای دماسنجی دیجیتال در مقایسه با سنسورهای آنالوگ، حساسیت کمتری نسبت به نویز دارند (در برابر نویز ایمن تر هستند).
نحوه ی عملکرد سنسور
LM35 از تکنیک حالت جامد برای اندازهگیری دما استفاده میکند. به عبارتی، این سنسور بر پایه این اصل که در ترانزیستورهای با اتصال دیودی، افت ولتاژ بین پایه بیس و امیتر (ولتاژ پیشرو – Vbe) با افزایش دما با سرعت مشخصی کاهش می یابد، ساخته شده است. با تقویت دقیق این تغییر ولتاژ، به راحتی میتوان یک سیگنال آنالوگ را که به طور مستقیم با دما متناسب است تولید کرد.
این رابطه خطی بین ولتاژ پیشرو (Vbe) و دما، دلیل استفاده از ترانزیستورها با اتصال دیودی به عنوان المان های اندازه گیری دما است. اگرچه در طول سالها، پیشرفتهایی در این روش وجود داشتهاست؛ اما همچنان اساس اندازه گیری دما، این روش میباشد. اطلاعات بیشتر در مورد این تکنیک را میتوانید در اینجا بیابید.
خوشبختانه، تمام این محاسبات پیچیده در داخل LM35 انجام میشود و ولتاژی را که به طور خطی با دما متناسب است، به عنوان خروجی به ما ارايه میدهد.
روش عملکرد سنسور
استفاده از LM35 آسان است. کافیست پایه سمت چپ را به برق (4 تا 30 ولت) و پایه سمت راست را به زمین (با فرض اینکه سمت صاف سنسور رو به شما باشد) وصل کنید. در نتیجه، پایه میانی که پایهی خروجی است، دارای ولتاژ آنالوگی خواهد بود که نسبت مستقیم و خطی با دما (بر حسب درجه سانتیگراد) دارد. این را میتوان به راحتی در مشخصه ولتاژ خروجی در برابر دما مشاهده کرد. توجه داشته باشید که ولتاژ خروجی آنالوگ مستقل از منبع تغذیه است.
برای تبدیل ولتاژ به دما، به سادگی میتوان از فرمول زیر استفاده نمود:
دما(Cᵒ)= ولتاژ خروجی *۱۰۰
به عنوان مثال اگر ولتاژ خروجی 0.5 ولت باشد، دما 50 درجه سانتی گراد به دست میآید.
تست سنسور LM35
تست LM35 بسیار آسان است، فقط کافی است سمت صاف سنسور رو به شما باشد، در این صورت، بایستی پایه سمت چپ به منبع تغذیه 4 تا 30 ولت (چهار باتری AA نیزعملکرد بسیار خوبی دارد) و پایه سمت راست به زمین متصل گردد. سپس، بایستی مولتی متر که در حالت ولتاژ DC می باشد به زمین و پایه وسط متصل شود. ولتاژ خوانده شده در دمای اتاق (25 درجه سانتیگراد)، باید حدود 0.25 ولت باشد.
میتوان با به آرامی فشار دادن محفظه پلاستیکی سنسور، شاهد افزایش دما بود.
یا با استفاده از یک قطعه یخ و تماس آن با سنسور (بهتر است که یخ در یک کیسه پلاستیکی قرار داده شود تا مدار با آب تماس پیدا نکند) کاهش دما را مشاهده نمود.
پایه های سنسور LM35
LM35 در سه شکل مختلف عرضه میشود، اما رایج ترین نوع آن، پکیج 3 پین TO-92 است که دقیقاً شبیه ترانزیستور است. بیایید نگاهی به پایه های آن بیندازیم.
+VS تغذیهی سنسور است که میتواند بین 4 تا 30 ولت باشد.
Vout یک ولتاژ آنالوگ تولید میکند که با دما نسبت مستقیم (خطی) دارد و باید به ورودی آنالوگ (ADC) متصل شود.
GND پایه اتصال به زمین است.
اتصال سنسور دماسنجی LM35 به آردوینو
اتصال LM35 به آردوینو بسیار ساده است. کافی است که سه پایه سنسور به آردوینو متصل شود: دو پایه برای تغذیه و یکی برای خواندن مقدار سنسور.
سنسور را می توان با پایهی 5 ولت برد آردوینو فعال کرد. ولتاژ مثبت به “+Vs” و زمین به “GND” وصل میشود. پین میانی “Vout” که سیگنال خروجی آنالوگ از سنسور است، به ورودی آنالوگ A0 آردوینو متصل می شود.
در شکل زیر میتوان نحوه اتصال سنسور به آردوینو را مشاهده کرد:
برای اندازهگیری دمای هوا، سنسور بایستی در هوای آزاد و یا در تماس با جسمی که دمای آن قرار است اندازهگیری شود، (مانند هیت سینک) باشد.
خواندن داده های دمای آنالوگ
همانطور که در نمودار بالا مشاهده میشود، خروجی LM35 به یکی از ورودی های آنالوگ آردوینو متصل است. مقدار این ورودی آنالوگ را می توان با تابع analogRead() خواند.
با این حال، تابع analogRead() در واقع ولتاژ خروجی سنسور را بر نمیگرداند؛ بلکه ولتاژ ورودی که بین 0 و ولتاژ مرجع ADC (که از لحاظ فنی، ولتاژ عملیاتی است، یعنی 5 ولت یا 3.3 ولت. مگر اینکه این مقدار تغییر داده شده باشد) است را به مقادیر صحیح 10 بیتی از 0 تا 1023 ترسیم میکند. برای تبدیل مجدد این مقدار به ولتاژ خروجی سنسور، از این فرمول استفاده میشود:
(5/1024) * (مقدار خوانده شده از ADC) = Vout
این فرمول عدد خوانده شده از ADC (1023-0 ) را به 5-0 ولت تبدیل میکند.
سپس برای تبدیل ولت به دما از این فرمول استفاده میشود:
دما(Cᵒ)= ولتاژ خروجی *۱۰۰
کد آردوینو – دماسنج ساده
در پایین، روشی سریع برای خواندن دمای سنسور LM35 نشان داده شده است و این روش میتواند به عنوان روش پایه، برای سایر آزمایشها و پروژههای عملی مورد استفاده قرار گیرد. برای این کار میتوان به سادگی، مقدار اندازهگیری شده توسط LM35 را از پایهی آنالوگ A0 خواند و دمای فعلی (در هر دو درجه سانتیگراد و درجه فارنهایت) را روی نمایشگر سریال چاپ نمود. میتوانید این دستورات را در آردوینوی خود آپلود کنید و نتیجه را مشاهده نمایید.
باید خروجی زیر را در مانیتور سریال ببینید.
توضیح کد:
ابتدای کد با تعریف آن پایه ای از آردوینو که پین Vout سنسور به آن متصل است، شروع میشود.
define sensorPin A0
در تنظیمات، اتصال سریال با کامپیوتر را تعریف میکنیم.
}( )void setup
;Serial.begin(9600)
{
در حلقه، ابتدا سیگنال آنالوگ LM35 را با استفاده از تابع analogRead() میخوانیم.
;int reading = analogRead(sensorPin)
در مرحله بعد، از فرمولهایی که برای تبدیل مقدار آنالوگ خوانده شده به ولتاژ و سپس تبدیل آن به دما، که قبلتر در این مقاله راجع به آنها صحبت شد، استفاده میکنیم.
float voltage = reading * (5.0 / 1024.0)
float temperatureC = voltage * 100
سپس، نتایج بر روی مانیتور سریال چاپ میشود.
Serial.print(“Temperature: “)
Serial.print(temperatureC)
Serial.print(“\xC2\xB0”); // shows degree symbol
Serial.print(“C | “)
مقدار دمایی که دریافت میکنیم بر حسب سانتیگراد (°C) است که با استفاده از یک فرمول ساده به فارنهایت (°F) تبدیل شده و بر روی مانیتور سریال چاپ میشود.
T(°F) = T(°C) × 9/5 + 32
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0
Serial.print(temperatureF)
Serial.print(“\xC2\xB0”); // shows degree symbol
Serial.println(“F”)
پروژه آردوینو – دماسنج مستقل با LM35 و LCD I2C
ممکن است ایده ای به ذهنتان برسد که در آن بخواهید دما را به صورت آنلاین نمایش دهید و هر زمان که دما خارج از محدوده hd تعریف شده باشد، هشداری را نشان دهید. در این صورت احتمالاً به جای نمایشگر سریال، به یک LCD کاراکتری 16×2 نیاز خواهید داشت.
در این مثال، ما I2C LCD را به همراه LM35 به آردوینو متصل میکنیم. همانطور که در شکل زیر می بینید، اتصال LCD I2C بسیار آسان است.
شکل شماتیک زیر به شما نشان میدهد که چگونه همه چیز را به یکدیگر متصل کنید.
دستورات زیر، مقادیر دما را روی LCD I2C چاپ میکند. کد مشابه مثال قبلی است، با این تفاوت که مقادیر روی LCD I2C چاپ شده است.
شما باید خروجی زیر را روی LCD ببینید:
مقالات مرتبط رو حتما ببینید
نظر شما برای ما با ارزشه
0 دیدگاه