اندازه گیری دما با NTC با میکروکنترلر AVR و STM32

در ادامه جلسات آموزشی اصفهان درایو، قصد داریم با هم روشی رو مرور کنیم که به کمک اون بتونیم دما رو از طریق یک NTC و به کمک استفاده از واحد آنالوگ به دیجیتال(ADC) هر میکروکنترلری قرائت کنیم.

NTC مخفف Negative Temperature Coefficient هست. این ترمیستورها، مقاومت هایی با ضریب دمایی منفی هستند. به زبون ساده تر، هر چه دما افزایش پیدا کنه، مقاومت اون ها کاهش پیدا میکنه! NTCها عموما به عنوان سنسور دمای مقاومتی و در دستگاه های محدود کننده جریان استفاده میشن. بازه کاری اون ها معمولا از 55- تا 200+ درجه سانتی گراده

غیر خطی بودن رابطه بین مقاومت و دما که در این ترمسیتورها وجود داره یک چالش بزرگ رو در مدارهای آنالوگ برای اندازه گیری دقیق دما به همراه داشت. با این حال، گسترش سریع و همه جانبه مدارهای دیجیتال، این مسئله رو با قادر ساختن ما به محاسبه دما از طریق حل معادلاتی که تقریبا منحنی NTC رو تقریب میزنه به طرز مناسبی حل کرده.

پاسخ دمایی

در بازه دمایی 55- تا 200+ درجه، ترمیستورهای NTC دقیق ترین پاسخ رو برای ما به همراه دارند. حساسیت دمایی یک NTC ، در قالب درصد تغییرات بر هر درجه سانتی گراد یا درصد تغییرات بر هر درجه کلوین بیان میشه اما بسته به متریال استفاده شده یا فرآیند تولید این حساسیت دمایی غالبا بین 3- تا 6- درصد بر درجه سانتی گراده.

 

اندازه گیری دما با NTC با میکروکنترلر AVR و STM32

 

همونطور که توی تصویر هم مشاهده میشه، NTC ها در قیاس با RTDها شیب دما-مقاومت بسیار تیزتری دارند که عملا به حساسیت دمایی بهتر تعبیر میشه. با این حال RTD ها دقیق ترین سنسور با دقت اندازه گیری تنها 0.5 درصد اختلاف ازدمای واقعی اندازه گیری شده به حساب میان. هم چنین قابل ذکره که بازه دمایی عملکرد این سنسورها از 200- تا 800+ درجه سانتی گراده که بسیار بیشتر از NTC هست.

انتخاب منحنی تقریب و محاسبات

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

ثابت تلفاتی ترمیستور، ثابت زمان حرارتی، مقدار مقاومت، منحنی مقاومت- دما و خطاها و تلرانس های موجود

از اونجایی که رابطه بین مقاومت و دما به شدت غیر خطیه، تقریب های مشخصی باید در سیستم های طراحی عملی در نظر گرفته بشه. ساده ترین روش تقریب منحنی دما- مقاومت یک NTC تقریب مرتبه اول هست. یکی دیگر از روش ها که دقت مناسب و نتایج رضایت بخشی رو برای ما به همراه داره فرمول بتا هست. با استفاده از این تقریب ها ما قادر خواهیم بود بسته به میزان مقاومت، دما رو هم به سادگی اندازه گیری کنیم.

 

Steinhart-Hart equation

ما در این آموزش از دو روش فوق استفاده نمیکنیم و بهترین تقریبی که تا به امروز برای منحنی مقاومت-دما NTC شناخته شده رو مورد بررسی قرار میدیم. این تقریب که به معادله Steinhart-Hart معروفه و در سال 1968 ارائه شده در تصویر زیر قابل مشاهده است:

اندازه گیری دما با NTC با میکروکنترلر AVR و STM32

که در این فرمول Ln(R) لگاریتم طبیعی مقاومت در دمای T به واحد کلوین هست و A,B,C هم ضرایبی هستند که از ازمایش ها به دست اومدن. معمولا این ضرایب در دیتاشیت NTC ها در دسترس هستند.

روش محاسبه دما از طریق NTC در سیستم های امبدد

برای اندازه گیری دما در سیستم های نفهته با استفاده از NTC اصولا از مدار زیر استفاده میشه:

 

اندازه گیری دما با NTC با میکروکنترلر AVR و STM32

 

روش کار به این صورت هست که NTC با یک مقاومت ثابت و اصولا 10 کیلو سری میشه و ولتاژ سر مشترک اون ها از طریق یک کانال ADC  توسط هر میکروکنترلری قرائت میشه.

توجه کنید که مزیت این روش اینه که تفاوتی نداره میکروکنترلر شما چی هست، تابع به زبان C نوشته شده و در هر میکرویی به صورت portable قابل استفاده است.

با توجه به اینکه یک سر NTC به ولتاژ 3.3 یا 5 ولت متصل میشه، باید نهایت مقداری که توسط یک ADC به صورت دیجیتالی قرائت میشه رو در خاطر داشته باشیم. این مقدار اگر ADC دقت 8 بیت داشته باشه 255، دقت 10 بیت داشته باشه 1023و اگر 12 بیتی باشه برابر 4095 خواهد بود.

با قرائت ولتاژ توسط واحد ADC و به دست آوردن مقاومت NTC از طریق محاسبات و قرار دادن اون در معادله Steinhart-Hart مقدار دما مطابق تصویر زیر به سادگی قابل محاسبه خواهد بود.

 

اندازه گیری دما با NTC با میکروکنترلر AVR و STM32

 

امیداواریم که از این آموزش استفاده برده باشید!

 

منبع

 

دانلود کتابخانه محاسبه دما از طریق NTC

NTC Library.rar

 

 

 

با سایر آموزش های اصفهان درایو همراه باشید!

 

 

۵
از ۵
۴ مشارکت کننده

بلاگ تخصصی اصفهان درایو