توصیه شده, سنسور ها, مقاله های سیسوگ

سنسور ترموکوپل چیست؟ | قسمت دوم سنسورهای دما از آشنایی تا راه‌اندازی

قسمت دوم معرفی سنسورهای دما، آشنایی و معرفی سنسور ترموکوپل به همراه برنامه

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

آنچه خواهیم خواند

ترموکوپل

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

یک نمونه سنسور ترموکوپل

عکس1: یک نمونه سنسور ترموکوپل با غلاف

در قسمت اول این سری کمی در مورد ترموکوپل یاد گرفتیم و یک ایده‌ی کلی الان داریم که چطوری کار میکنه اما قراره این قسمت بریم در عمق و یکم بیشتر یاد بگیریم، پس نفس‌ها حبس، بریم که بریم:

سنسور ترموکوپل چیست؟

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

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

 

ساختمان ترموکوپل

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

 

تاریخچه سنسور ترموکوپل

یک روز سرد پاییزی (یا شاید گرم تابستانی) جناب آقای Thomas Seebeck (فیزیکدان آلمانی) خیلی بدون مقدمه کشف کرد که وقتی دو تا هادی الکتریکی با هم اختلاف دما داشته باشند یک اختلاف پتانسیل بین دو فلز ایجاد میشه (البته خیلی ناچیزه این ولتاژ). حالا اگه یه حلقه‌ی بسته شکل بگیره ما یک جریان الکتریکی خواهیم داشت. بعداً به افتخار این کشف خارق‌العاده اسم این پدیده رو از اسم کاشف اون یعنی توماس گرفتند و باز هم به فیزیک یک قضیه (اثر) دیگه اضافه شد به نام اثر سیبک یا همون Seebeck Effect.

اثر سیبک، ایجاد ولتاژ در اثر تغییر دمای دو فلز غیر هم‌جنس

عکس2: اثر سیبک، ایجاد ولتاژ در اثر تغییر دمای دو فلز غیر هم‌جنس

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

ایجاد جریان الکتریکی در اثر تغییر دما

عکس 3: ایجاد جریان الکتریکی در اثر تغییر دما

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

معکوس اثر سیبک، تغییر دما در اثر اعمال ولتاژ به دو فلز غیر هم‌جنس

عکس 4: معکوس اثر سیبک، تغییر دما در اثر اعمال ولتاژ به دو فلز غیر هم‌جنس

اگر این مورد به ذهن شما رسیده باشه به شما تبریک میگم چون در دنیای فیزیک 12 سال طول کشید تا فیزیکدانی به اسم Jean Charles Athanase Peltier بیاد و به این نتیجه‌ی بدیهی برسه، و از اونجایی که ثبت یک اثر/قضیه در فیزیک اون زمان (قرن 17) توی بورس بود و به اصطلاح امروزی ترند شده بود/کلاس داشت، هر کس از راه میرسید سعی میکرد از خودش یه اثری به جا بذاره. جناب آقای پلیتر هم خیلی شیک، معکوس اثر سیبک را به عنوان یک اثر از خودشون در علم فیزیک به جا گذاشتند. البته دقیق‌تر بخواهیم صحبت کنیم هر دوی این جنابان داشتند اثرها و قضایایی رو ذیل اثر ترموالکتریکی معرفی میکردند. در بعضی محافل برای اینکه دعوایی پیش نیاد این قضیه رو اثر سیبک-پلتیر نام میبرند.

خب بگذریم…

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

 

اتصال گرم VS اتصال سرد

در دنیای ترموکوپل‌ها ما دو اصطلاح مهم داریم به اسم Hot Junction (اتصال گرم) و Cold Junction (اتصال سرد). خبر خوب اینکه شما از قبل میدونید اتصال گرم چیه. در واقع اتصال گرم همون نقطه‌ی اتصال دو فلز با جنس‌های متفاوته که باعث ایجاد اختلاف پتانسیل میشه. اما اتصال سرد چیه؟

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

حالا ما ترموکوپل رو به طریقی تا 100 درجه سانتی‌گراد گرم میکنیم و با مولتی‌متر مقدار ولتاژ رو اندازه‌گیری میکنیم و سپس از طریق جدول دنبال ولتاژ و دمای متناظر اون میگردیم. اینجاست که اتفاق عجیب رخ میده. ولتاژی که اندازه گرفتیم توی جدول برابر مقدار دمایی حدود 127 درجه سانتی‌گراده (اعداد فرضی هستند). چرا این طوری شد؟ مگه قرار نبود ترموکوپل دقیق باشه؟ حالا ما اینجا خطای 27 درصدی داریم که؟

عکس 5: چی شد؟

خب باز هم اگه با دقت تا اینجا رو خونده باشید احتمالاً باید این سوال برای شما پیش اومده باشه که وقتی میگیم اتصال دو فلز با جنس متفاوت باعث به وجود اومدن اختلاف پتانسیل با تغییر دما میشه خب ما داریم سیم‌های ترموکوپل رو به پراب‌ها (سیم‌های) مولتی‌متر که معمولاً از جنس مس هستند وصل میکنیم پس این چی میشه؟ بله دقیقاً این سوال به جا و درستیه  اینجا هم دو نوع اتصال مختلف داره اتفاق میوفته.

یکی اتصال فلز مثبت ترموکوپل با فلز مسی و یکی هم اتصال فلز منفی ترموکوپل با مس و از اونجایی که اثر سیبک همیشه صادقه پس باید اینجا هم ما اختلاف پتانسیلی داشته باشیم (که داریم). در واقع مقدار ولتاژ اتصال گرم با مقدار ولتاژ این اتصال دوم (یا همون اتصال سرد) جمع میشه و ما مجموع این دو ولتاژ را روی مولتی‌متر میبینیم (یادمون باشه که یک حلقه تشکیل شده و KVL و این حرفا). حالا چرا اون ولتاژ برابر مقدار 127 شد؟ خب خیلی ساده‌ست.

اتصال سرد معمولاً نزدیک تجهیز اندازه‌گیری (مولتی‌متر) وجود داره و خب توی این داستان مولتی‌متر کجاست؟ بله داخل اتاق که ما معمولاً دمای عادی اتاق رو 27 درجه فرض میکنیم. مقدار ولتاژ ایجاد شده در این نقطه باید برابر عددیِ دمای اتاق رو به ما بده (27 درجه) که مجموع دمای اتصال گرم و اتصال سرد همون مقدار 127 میشه. حالا سوال پیش میاد که چه باید کرد؟

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

اگر به جواب این سوال کمی فکر کرده باشید احتمالاً به این جواب رسیدید که میشه از یک سنسور دوم در کنار اتصال سرد استفاده کرد و بعد اندازه‌گیری ولتاژ ترموکوپل مقدار دمای Cold Junction رو با دمای ترموکوپل جمع کرد. اگر به این جواب رسیدید باید بگم که جواب نسبتاً درستیه (بعداً میبینیم چرا نسبتاً و نه کاملاً) و در اکثر تجهیزاتی که با ترموکوپل کار می‌کنند از همین روش استفاده میشه.

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

حالا این سنسور که از این به بعد بهش میگیم Cold Junction Compensation Sensor (سنسور جبران اتصال سرد یا به اختصار سنسور CJC) باید چی باشه؟ خب با توجه به اینکه این سنسور قراره در یک دمای معمولی (مثل دمای اتاق) کار کنه (و نه در کنار خود ترموکوپل مثلاً داخل کوره) پس میشه از یک سنسور معمولی که بازه‌ی اندازه‌گیری کمی داره استفاده کرد (مثل آیسی‌های اندازه‌گیری دما و یا ترمیستور). مسلماً با توجه به کاربرد سنسور CJC باید این سنسور تا حد ممکنه به اتصال سیم ترموکوپل به کانکتور تجهیز اندازه‌گیری نزدیک باشه تا با دقت بالاتری بتونه مقدار دما در اون نقطه رو اندازه‌گیری کنه.

 

انواع ترموکوپل

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

ترموکوپل نوع K

    • پرکاربردترین نوع ترموکوپل
    • مقرون به صرفه
    • بازه‌ی گسترده‌ی دمایی (از ℃270- الی ℃1372+)
    • ساخته شده از فلزهای Chromel و Alumel
    • حساس به گوگرد (در محیط‌هایی که گوگرد وجود دارد نباید استفاده شود)

ترموکوپل نوع J

    • پرکاربردترین نوع ترموکوپل بعد از نوع K
    • مقرون به صرفه
    • بازه‌ی گسترده‌ی دمایی (از ℃210- الی ℃1200+)
    • ساخته شده از فلزهای Iron و Constantan (مس-نیکل)
    • مقاوم در برابر خوردگی
    • طول عمر کوتاه‌تر (به نسبت انواع دیگر)
    • مستعد زنگ‌زدگی (به علت استفاده از آهن در آن)
    • مناسب استفاده در دیگ‌های بخار و کوره‌ها

ترموکوپل نوع T

    • بازه‌ی دمایی متوسط (از ℃270- الی ℃400+)
    • ساخته شده از فلزهای Copper و Constantan (مس-نیکل)
    • مناسب کاربردهای برودتی اندازه‌گیری دمای زیر صفر درجه
    • مقاوم در برابر رطوبت

ترموکوپل نوع E

    • بازه‌ی گسترده‌ی دمایی (از ℃270- الی ℃1000+)
    • مقاوم در برابر اکسید شدن
    • بالاتری ولتاژ خروجی به ازای تغییر هر درجه
    • مقرون به صرفه
    • مناسب کاربردهای بردوتی

ترموکوپل نوع N

    • بازه‌ی  دمایی مشابه نوع K (از ℃270- الی ℃1300+)
    • ساخته شده از فلزهای Nicrosil (نیکل-کروم) و Nisil (نیکل-سیلیکون)
    • مقاوم در برابر اکسید شدن
    • انحراف کمتر در طول زمان
    • تکرارپذیری بیشتر
    • قیمت بالا

ترموکوپل نوع R و S

    • بازه‌ی  دمایی گسترده (از ℃50- الی ℃1768+)
    • ساخته شده از فلزهای Rhodium و Platinum
    • مقاوم در برابر گوگرد
    • مناسب استفاده در کاربردهای پزشکی
    • قیمت بالا

ترموکوپل نوع B

    • بازه‌ی  دمایی گسترده (از ℃0الی ℃1820+)
    • ساخته شده از فلزهای Rhodium و Platinum
    • دقت و پایداری بالا
    • مناسب استفاده برای کاربردهای تولید شیشه و زباله‌سوزی
    • قیمت بالا

چرا چند نوع سنسور ترموکوپل داریم؟

حالا چرا باید انواع مختلفی برای ترموکوپل‌ها ساخته بشه؟ به دلایلی که در ادامه اومده:

رنج‌های مختلف اندازه‌گیری

تایپ‌های مختلف ترموکوپل می‌توانند دما را در رنج‌های مختلفی اندازه‌گیری کنند. مثلاً ترموکوپل نوع K میتونه دما رو در رنج 270- تا 1372+ اندازه‌گیری کند.

شرایط محیطی مختلف

بسته به شرایطی که قراره سنسور در اون شرایط کار کنه باید سنسور مناسب انتخاب بشه. برای مثال میزان ارتعاشی که در محیط وجود داره، میزان رطوبت، مواد شیمیایی که با سنسور در تماس هستند و غیره. به همین منظور تایپ‌های مختلفی ساخته شده‌اند که میتونند در شرایط مختلف (با توجه به نیاز و کاربرد) استفاده بشن.

دقت اندازه‌گیری

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

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

در ادامه میتونید جدول انواع ترموکوپل و اطلاعات مربوط به هر کدوم رو ببینید:

انواع ترموکوپل و مشخصات هر یک

جدول 1: انواع ترموکوپل و مشخصات هر یک

در نمودار زیر میتونید بازه‌ی دمایی چند نمونه ترموکوپل رو ببینید و مقایسه کنید:

تغییرات ولتاژ نسبت به تغییر دما در ترموکوپل‌های مختلف

نمودار 1: تغییرات ولتاژ نسبت به تغییر دما در ترموکوپل‌های مختلف

خب حالا چطور با سنسور ترموکوپل دما رو اندازه‌گیری کنیم؟

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

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

اکثر ترموکوپل‌ها در بازه‌ی دمایی 200 تا 900 درجه سانتی‌گراد (به صورت تقریبی) حدوداً خطی عمل می‌کنند پس ما میتونیم با یک معادله‌ی خط ساده ولتاژ رو تبدیل به دما کنیم. البته همون‌طور که گفتیم این روش خطا داره و اگر ما برامون دقت اهمیت چندانی نداره میتونیم از این روش استفاده کنیم.

بذارید با هم مرور کنیم با این روش چطور میتونیم دما رو محاسبه کنیم. فرض کنید قراره سنسور ما توی رنج 0 تا 150 درجه سانتی‌گراد کار کنه و بیشتر از این دما در کاربرد مورد نظر ما نباشه. برای مثال ما اینجا ترموکوپل نوع K رو انتخاب میکنیم. اگر جدول این ترموکوپل رو ببینیم برای بازه‌ی دمایی 0 تا 150 درجه جدول زیر رو داده.

قسمتی از جدول ولتاژ/دما در ترموکوپل نوع K

جدول 2: قسمتی از جدول ولتاژ/دما در ترموکوپل نوع K

توی این جدول به ازای هر درجه سانتی‌گراد ولتاژ متناظر ترموکوپل داده شده. برای 0 درجه ولتاژ 0V و برای 150 درجه ولتاژ 6.138mV. خب با یه رابطه‌ی ساده میتونیم میزان تغییرات ولتاژ به ازای هر درجه رو به دست بیاریم:

6.138/150 = 0.04092mV

این یعنی اگر دما 10 درجه باشه ولتاژی برابر 10×0.04092 = 0.4092mV باید داشته باشیم. خب طبق جدول میبینیم که برای دمای 10 درجه ولتاژ 0.397mV داده شده.

یا اگر برعکس عمل کنیم، برای دمای 50 درجه ولتاژ 2.023mV داده شده حالا اگه ما این عدد رو تقسیم بر 0.04092 کنیم به عدد 49.43 میرسیم. شاید بگید خب با دقت خیلی خوبی عدد نزدیک 50 درجه به دست اومده و دیگه همه چی حله، ولی خب بیایید برای یک دمای بالاتر این کار رو انجام بدیم. برای مثال قراره بتونیم تا دمای 700 درجه رو اندازه‌گیری کنیم:

قسمتی از جدول ولتاژ/دما در ترموکوپل نوع K

جدول 3: قسمتی از جدول ولتاژ/دما در ترموکوپل نوع K

29.129/700 =0.04161mV

حالا دمای برای دمای 50 درجه اگر حساب کنیم:

2.023/0.04161 =48.6℃

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

به عبارت دیگه ما در بیشتر مواقع سراغ سنسور ترموکوپل میاییم به خاطر دقت خوبی که داره، پس در کاربردی که ما دقت خوبی نیاز نداریم اصلاً نیازی نیست (توجیهی نداره) از ترموکوپل استفاده کنیم. ضمن اینکه در بعضی از انواع ترموکوپل و در بعضی بازه‌های دمایی این غیر خطی بودن زیادتره و ما ناگزیر باید از روش دیگه‌ای برای تبدیل ولتاژ به دما استفاده کنیم.

در ادامه دو روش اصلی تبدیل ولتاژ ترموکوپل به دما رو با هم مرور میکنیم.

Lookup Table یا جدول جستجو

این روش مشابه همون روشیه که در بالا توضیح دادیم. ولی خب به جای اینکه برای کل بازه‌ی مورد نظر معادله خط بنویسیم میاییم و به ازای هر درجه‌ی سانتی‌گراد (یا همون به ازای هر ولتاژ) یک معادله مینویسیم. به عبارت دیگه این‌طور در نظر میگیریم که تغییرات ولتاژ بین دو درجه‌ی متوالی خطیه (به جای این‌که کل بازه رو خطی در نظر بگیریم). برای این کار باید کل جدول تا بازه‌ی مورد نظر رو داشته باشیم و سپس به روش زیر عمل کنیم:

  1. ولتاژ رو بخونیم
  2. بررسی کنیم ولتاژ خوانده شده در کجای جدول قرار میگیره
  3. عدد ولتاژ قبل و بعد ولتاژی که خواندیم رو در جدول پیدا کنیم
  4. با اعداد جدید و در بازه‌ی یک درجه سانتی‌گراد معادله رو پیاده کنیم
  5. دما رو حساب کنیم

مثال:

یک آرایه داریم با طول 701 که ولتاژهای ℃ 0 تا ℃ 700 رو در اعضای آرایه مینویسیم. حالا با ADC میکرو ولتاژ رو میخونیم و میبینیم که برابره با 27.17mV‌ حالا توی آرایه می‌گردیم تا برسیم به اولین عددی که بزرگتر از عدد خوانده شده‌ی ما باشه (میتونید از جدول جدول 3 استفاده کنید) توی این مثال میشه عدد 27.194 که بزرگ‌تر از عدد ما است و عدد قبلش که 27.152 است هم کوچک‌تر از اونه:

27.152<27.17<27.194

با توجه به اینکه از روی ایندکس آرایه میدونیم این ولتاژها برابر چه دمایی هستند میتونیم دمای ولتاژ خوانده شده رو حساب کنیم:

27.152 => 653℃ (یا همون عضو 653ام جدول)

27.194 => 654℃ (یا همون عضو 654ام جدول)

پس ولتاژ خوانده شده برابر دمایی در بازه‌ی 654~653 (یک درجه سانتی‌گراد) است:

27.194-27.152 = 0.042mV => 1℃

اختلاف ولتاژ خوانده شده با ولتاژ قبل خودش در جدول رو به دست میاریم:

27.17-27.152 = 0.018mV

پس با توجه به این‌که یک درجه سانتی‌گراد اختلاف دما در این بازه برابر 0.042mV است و ما الان 0.018mV از ولتاژ قبلی بیشتر هستیم میشه یک معادله‌ی ساده ایجاد کرد تا دمای دقیق به دست بیاد:

0.018mV/0.042mV =DT℃1℃

DT = 0.4285℃

T = 653+0.4285 = 653.4285℃

دقت کنید اینجا فرض کردیم بازه از 0 درجه شروع شده بنابراین عضو صفرم آرایه برابر همون 0 درجه شد. اگر بازه‌ی دمای منفی هم مورد نظر باشه باید در پیدا کردن عضو آرایه این مورد رو هم در نظر بگیریم.

یک لحظه… پس اثر اتصال سرد چی شد این وسط؟؟؟

ما این همه در مورد Cold Junction و اثرش در دما حرف زدیم پس چرا توی مثال قبل حرفی ازش نزدیم؟ آیا سر کار بودیم؟

خب نه کاملاً، توی مثال قبل هدف فقط توضیح روش کار با Lookup Table بود و درک نحوه‌ی پیاده‌سازیش ولی خب پیاده‌سازی مثالی که داده شد اشتباهه چون اثر اتصال سرد در اون لحاظ نشده. حالا باید چه کار کنیم؟ خیلی راحته:

  1. اول باید با استفاده از سنسور Cold Junction دمای محل اتصال سنسور به کانکتور مدار رو اندازه بگیریم.
  2. بعد باید با استفاده از جدول ترموکوپل ولتاژ دمایی که سنسور Cold Junction به ما داده رو پیدا کنیم (وقتی اینجا گفتیم نسبتاً و نه کاملاً منظور همین بود که ما باید معادل ولتاژی سنسور CJC رو با ولتاژ خوانده شده از ترموکوپل جمع کنیم و نه دمای دو سنسور رو)
  3. در مرحله‌ی بعد باید این ولتاژ رو با ولتاژی که از سنسور ترموکوپل می‌خوانیم جمع کنیم.
  4. از اینجا به بعد مشابه همون مثال پیش میریم. به این صورت که حالا به جای ولتاژ سنسور ترموکوپل باید از عددی که در مرحله‌ی قبل به دست آوردیم در محاسبات استفاده کنیم.

همون‌طور که دیدید با استفاده از Lookup-Table به راحتی تونستیم دمای دقیق رو به دست بیاریم. این روش محاسبه‌ی دما مزایا و معایب خودش رو داره که در زیر میتونید ببینید:

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

معادلات چند جمله‌ای

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

این معادله‌ی تبدیل ولتاژ به دماست:

محاسبه‌ی دمای ترموکوپل با استفاده از ضرایب چند جمله‌ای

معادله‌ی 1: محاسبه‌ی دمای ترموکوپل با استفاده از ضرایب چند جمله‌ای

در این معادله p, q, V0 و T0 ضرایب هستند. V هم ولتاژ خوانده شده از سنسور است. ما باید با استفاده از جدول ضرایب و بازه‌ی مورد نظر از این فرمول استفاده کنیم. در زیر ضرایب ترموکوپل نوع K را در بازه‌های مختلف میبینید:

ضرایب چند جمله‌ای برای ترموکوپل نوع K

جدول 4: ضرایب چند جمله‌ای برای ترموکوپل نوع K

برای مثال اگر ولتاژ خوانده شده برابر 8mV باشه یعنی بازه‌ی 100 تا 400 درجه‌ی سانتی‌گراد داره اندازه‌گیری میشه و ما باید از ضرایب ستون سوم در فرمول بالا استفاده کنیم.

دقت کنید که در اینجا دمای سنسور با فرض ℃0 بودن اتصال سرد داره محاسبه میشه (همونطوری که میدونیم در دمای صفر درجه ترموکوپل ولتاژ صفر میده و وقتی Cold Junction رو صفر در نظر میگیریم در واقع داریم از اثر اون صرف نظر میکنیم)

و دوباره Cold Junction

خب خیلی بدیهی و واضحه که باید اینجا هم اثر اتصال سرد رو لحاظ کنیم. خوشبختانه برای این مورد هم یک فرمول قراره به کمک ما بیاد:

محاسبه‌ی ولتآز متناظر با دمای سنسور CJC در جدول ترموکوپل با استفاده از ضرایب چند جمله‌ای

معادله‌ی 2: محاسبه‌ی ولتآز متناظر با دمای سنسور CJC در جدول ترموکوپل با استفاده از ضرایب چند جمله‌ای

در این فرمول Tcj همون دمای محل اتصاله که باید با یک سنسور دیگه اندازه‌گیری بشه. چون دستگاه اندازه‌گیری معمولاً در دمای عادی استفاده میشه (و مثلاً نه داخل یک کوره) پس بازه‌ی دمایی گسترده‌ای نداریم و میشه از ضرایب زیر برای هر سنسور ترموکوپل استفاده کرد تا ولتاژ متناظر دمای Cold Junction در جدول ترموکوپل به دست بیاد:

ضرایب چند جمله‌ای برای محاسبه‌ی ولتاژ متناظر سنسور CJC در جدول ترموکوپل‌های مختلف

جدول 5: ضرایب چند جمله‌ای برای محاسبه‌ی ولتاژ متناظر سنسور CJC در جدول ترموکوپل‌های مختلف

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

استفاده از روش معادلات چند جمله‌ای هم مزایا و معایب خودش رو داره که در ادامه میتونید ببینید:

مزایامعایب
سرعت خوبپیچیدگی در پیاده‌سازی
دقت بالا 

بالاخره کدوم روش؟

اگه برای شما سوال پیش اومده که کدوم روش بهتره باید بگم که همه چیز برمیگرده به کاربرد شما. هر دوی روش‌ها دقت خیلی خوبی دارند و از این لحاظ نمیشه یکی رو بهتر از اون یکی دونست. شما باید با توجه به اینکه آیا برای استفاده از محاسبات اعشاری محدودیتی دارید و یا این‌که حافظه‌ی فلش/رم میکروتون چقدره روش مناسب رو انتخاب کنید. در زیر میتونید مقدار خطای هر دو روش رو در مثالی که بررسی کردیم ببینید (اعداد با استفاده از کتابخانه‌ای که در ادامه معرفی شده به دست آمده). محاسبات مرجع با استفاده از محاسبه‌گر سایت Fluke انجام شده:

نوع ترموکوپل: K

ولتاژ سنسور ترموکوپل: 27.17mV

دمای سنسور اتصال سرد (CJC): ℃25.3

معادلات چند جمله‌ایجدول جستجومرجع (Fluke)
℃677.455℃677.476℃677.454

 

محاسبه‌گر آنلاین دمای ترموکوپل

عکس 6: محاسبه‌گر آنلاین دمای ترموکوپل

کتابخانه

از این لینک میتونید کتابخانه‌ی راه‌اندازی و استفاده از ترموکوپل رو دانلود کنید. این لایبرری از دو روش Lookup Table و ضرایب چند جمله‌ای پشتیبانی میکنه. فقط کافیه که فایل‌های thermocouple.c و thermocouple.h و فولدر Tables رو به پروژه‌ی خودتون اضافه کنید. یک مثال هم در فایل main.c اومده که میتونید ازش ایده بگیرید. در ادامه یک توضیح مختصر برای استفاده از کتابخانه اومده.

در ابتدا باید مشخص کنید کدوم روش محاسبه مد نظرتونه، Lookup Table یا ضرایب چند جمله‌ای؟

در روش Lookup Table برای استفاده‌ی بهینه از حافظه از تایپ float استفاده نشده و اعداد ضریب 1000 هستند.

برای انتخاب روش محاسبه کافیه در فایل thermocouple.h خط زیر رو ویرایش کنید:

در صورت کامنت کردن این خط محاسبه به روش چند جمله‌ای انجام میشه و در غیر این صورت به صورت Lookup Table.

در مرحله‌ی بعد باید مشخص کنید چه نوع سنسوری دارید استفاده میکنید. برای این منظور خط‌های زیر رو کامنت کنید یا از حالت کامنت در بیارید (میتونید از چندین نوع سنسور همزمان استفاده کنید):

خب تا اینجا تنظیمات اولی رو انجام دادیم. بریم سراغ توضیح مثال:

ابتدا باید به تعداد سنسورهایی که دارید یک تایپ TcAdcHandler تعریف کنید:

بعد باید این تایپ رو مقداردهی کنید. با توجه به ADC میکرو و مدارتون مقادیر رو تنظیم کنید:

دقت کنید اعداد بالا برای حالت چند جمله‌ای اومده.

مقدار Vref هم ولتاژ رفرنس ADC میکرویی هست که دارید استفاده میکنید.

اگر در مدارتون ولتاژ سنسور رو آفست دادید یا در یک بهره ضربش کردید و سپس به میکرو دادید این اعداد رو تنظیم کنید و گرنه به صورت پیش‌فرض برای آفست مقدار صفر و برای گین مقدار یک را بنویسید (در حالت Lookup Table این مقادیر باید در 1000 ضرب بشن).

مقدار AdcValue هم عددیه که ADC میکرو میده.

در مرحله‌ی بعد با صدا زدن فانکشن زیر ولتاژ ADC محاسبه میشه و در متغیر Voltage تایپ TcAdcHandler ذخیره میشه:

مقدار دمای Cold Junction رو هم که با هر روش دیگه‌ای که خواستیم اندازه میگیریم (میشه از سنسورهایی که در قسمت‌های بعدی در موردشون حرف میزنیم استفاده کنید).

در مرحله‌ی بعد با صدا زدن فانکشن زیر مقدار دما محاسبه میشه:

ورودی اول این تابع نوع سنسوره، ورودی دوم ولتاژ سنسور، ورودی سوم مقدار دمای Cold Junction و ورودی آخر هم واحد دماست. خروجی تابع هم مقدار محاسبه شده‌ی دماست. اگر از روش Lookup Table استفاده کردید خروجی تابع از نوع عدد صحیح و مضرب 1000 میشه.


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

در قسمت بعدی قراره در مورد سنسورهای RTD صحبت کنیم، پس همراهمون باشید…

منابع و وب‌سایت‌ها

  1. Thermocouple Library
  2. ITS-90 Thermocouple Database – Menu
  3. ITS-90 Table for type K thermocouple
  4. Thermocouple Temperature Calculator
  5. A Basic Guide to Thermocouple Measurements
  6. Thermocouples Tables
  7. Types of Thermocouples
 
 
 
 
 
 

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

4 دیدگاه در “سنسور ترموکوپل چیست؟ | قسمت دوم سنسورهای دما از آشنایی تا راه‌اندازی

  1. Avatar for حمید حمید گفت:

    سلام MasoudHD
    خیلی عالی بود
    درباره ترمیستورها هم چنین مستندی دارید؟

    1. Avatar photo MasoudHD گفت:

      سلام، ممنون از نظرتون
      بله در قسمت چهارم قراره در مورد ترمیستورها صحبت کنیم.

  2. Avatar for حمیدرضا حمیدرضا گفت:

    عالی بود. مخصوصاً قسمت اتصال سرد
    ممنون

    1. Avatar photo MasoudHD گفت:

      سلام،
      خیلی ممنون از شما امیدوارم براتون مفید بوده باشه 💐

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

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