فهرست مطالب:

کالیبراسیون سنسور DS18B20 با Arduino UNO: 3 مرحله (همراه با تصاویر)
کالیبراسیون سنسور DS18B20 با Arduino UNO: 3 مرحله (همراه با تصاویر)

تصویری: کالیبراسیون سنسور DS18B20 با Arduino UNO: 3 مرحله (همراه با تصاویر)

تصویری: کالیبراسیون سنسور DS18B20 با Arduino UNO: 3 مرحله (همراه با تصاویر)
تصویری: DIY heating cooling thermostat ترموستات دست ساز کنترل گرما و سرما 2024, جولای
Anonim
کالیبراسیون سنسور DS18B20 با Arduino UNO
کالیبراسیون سنسور DS18B20 با Arduino UNO
کالیبراسیون سنسور DS18B20 با Arduino UNO
کالیبراسیون سنسور DS18B20 با Arduino UNO
کالیبراسیون سنسور DS18B20 با آردوینو UNO
کالیبراسیون سنسور DS18B20 با آردوینو UNO

سلب مسئولیت:

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

مرحله 1: دستگاه خود را آماده کنید

دستگاه خود را آماده کنید
دستگاه خود را آماده کنید

در اینجا لیستی از آنچه شما نیاز دارید آمده است:

  1. آردوینو UNO (یا MEGA)
  2. حسگر (های) DS18B20
  3. 4kOhm - مقاومت 5kOhm (من از 5k1Ohm استفاده کردم)
  4. صفحه LCD برای خواندن مقادیر (همچنین می توانید از لپ تاپ استفاده کنید و فقط آنها را روی مانیتور سریال بخوانید)
  5. طرحی که از سنسور استفاده می کند و به نوعی مقادیر را نشان می دهد

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

معمولاً این سنسورها دارای سه سیم رنگی هستند: مشکی ، قرمز ، زرد. دو مورد اول مربوط به انرژی و سوم مربوط به داده ها است. رنگ مشکی را به GNN ، قرمز را به Vcc (5V) و زرد را روی ورودی آنالوگ وصل کنید ، فرض کنید A0.

حالا مقاومت بین رنگ زرد و قرمز را وصل کنید تا اتصالات کامل شوند.

همچنین LCD را وصل کنید (من یک LCD ساده 16x2 با اتصال i2c را پیشنهاد می کنم تا از مجموع 4 سیم استفاده کنید) و کار با سیم و کابل تمام شده است.

حالا طرح فوق العاده ساده:

#شامل "OneWire.h"

#شامل "DallasTemperature.h" #تعریف ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1) ؛ سنسور دما DallasT1 (& ourWire1) ؛ #شامل "LiquidCrystal_I2C.h"

LiquidCrystal_I2C ال سی دی (0x27 ، 16 ، 2) ؛ شناور RawValue = 0 ؛

void setup () {lcd.init ()؛ lcd.lightlight ()؛ sensor1.begin ()؛ sensor1.setResolution (11) ؛ } void loop () {sensor1.requestTemperatures ()؛ float RawValue = sensor1.getTempCByIndex (0) ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("Sens. 1") ؛ lcd.print (RawValue ، 1) ؛ }

همانطور که می بینید ما از کتابخانه دمای دالاس و صفحه LCD با اتصال i2c استفاده می کنیم.

در راه اندازی ما LCD و سنسور را روشن می کنیم و در حلقه به سادگی دما را درخواست می کنیم و مقدار را در داخل متغیر RawValue ذخیره می کنیم تا روی LCD نمایش داده شود.

اگر می خواهید ساده تر صحبت کنید ، کافی است از مانیتور سریال با طرح زیر استفاده کنید

#شامل "Wire.h" #شامل "OneWire.h" #شامل "DallasTemperature.h" #تعریف ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1) ؛ سنسور دما DallasT1 (& ourWire1) ؛

شناور RawValue = 0 ؛

void setup () {

تاخیر (1000) ؛ Serial.begin (9600)؛ sensor1.begin ()؛ sensor1.setResolution (11) ؛

}

void loop () {sensor1.requestTemperatures ()؛ float RawValue = sensor1.getTempCByIndex (0) ؛ Serial.print ("Sens. 1")؛ Serial.println (RawValue ، 1) ؛ }

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

مرحله 2: کالیبراسیون دو نقطه ای

کالیبراسیون دو نقطه ای
کالیبراسیون دو نقطه ای
کالیبراسیون دو نقطه ای
کالیبراسیون دو نقطه ای
کالیبراسیون دو نقطه ای
کالیبراسیون دو نقطه ای

چیزی که ابتدا باید بدانید

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

می تونید اینجا چک کنید!

صادقانه باید فشار اتمسفر را بررسی کنید و نه ارتفاع را. اما این راه به اندازه کافی دقیق است.

حمام سه نقطه ای ، یا حمام یخی ، دمایی است که در آن آب در سه حالت جامد ، مایع و گاز وجود دارد ، که دما 0 ، 01 درجه سانتی گراد است. برای ساده سازی از 0 درجه سانتی گراد استفاده می کنیم.

با دانستن مقداری که سنسور خوانده و مقداری که باید باشد ، می توانیم مقدار خام DS18B20 را به چیزی صحیح تر تغییر دهیم.

توجه: برای کالیبراسیون سنسور می توانید از دمای بیشتری استفاده کنید و آن را در ماده دیگری که نقطه جوش آن را می دانید مانند اتر (35 درجه سانتی گراد) ، پنتان (36 ، 1 درجه سانتیگراد) ، استون (56 درجه سانتیگراد) یا اتانول (78 ، 37 درجه سانتی گراد) ، اما این مواد جوشان گازهای قابل اشتعال زیادی تولید می کنند! پس این کار را نکنید!

آب جوش:

مقداری آب را در یک قابلمه بریزید و آن را گرم کنید تا بجوشد (حباب های گاز در حال ایجاد شدن است و آب خودش را به هم می زند). سنسور خود را در جایی غوطه ور کنید که به جز آب به هیچ چیز دیگری برخورد نکند. چند دقیقه صبر کنید و LCD یا مانیتور سریال را بخوانید

درجه حرارت باید حداقل یک دقیقه ثابت بماند. اگر چنین است ، آن مقدار را یادداشت کنید. این است ارزش شما: RawHigh.

حمام سه نقطه ای:

حالا یک لیوان بزرگ بردارید (نیازی به هیچ چیز بزرگ و قابلمه ای ندارید) و آن را تا حدی با تکه های یخ پر کنید. سعی کنید از تکه های یخ در اندازه های کوچک استفاده کنید. حالا 80 درصد لیوان را با آب سرد پر کنید. اگر اهرم سعی کرد پایین بیاید ، یخ را دوباره پر کنید.

حالا سنسور خود را داخل آب یا یخ قرار دهید و یک دقیقه و نیم صبر کنید. دمایی را که باید حداقل 30 ثانیه ثابت بماند بخوانید. اگر چنین است ، آن را بنویسید که ارزش RawLow شما است.

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

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

  • خام بالا
  • RawLow
  • مرجع
  • ReferenceLow

ارزش منابع برای آب جوش (در ارتفاع 22 متری من) 99.9 درجه سانتی گراد و برای حمام یخ ذوب شده 0 درجه سانتی گراد است. حالا محدوده آن مقادیر را محاسبه کنید:

  • RawRange = RawHigh - RawLow
  • ReferenceRange = ReferenceHigh - ReferenceLow

اکنون آماده هستید که از این سنسور در هر پروژه دیگری استفاده کنید و مطمئن باشید که اندازه گیری مناسبی را انجام می دهد. چگونه؟ با استفاده از ارزشی که در پروژه ای که با آن سنسور ایجاد می کنید به دست آورده اید.

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

متغیرها را قبل از بخش void setup () دقیقاً مانند این اعلام کنید:

float RawHigh = 99.6 ؛ float RawLow = 0.5 ؛ float ReferenceHigh = 99.9 ؛ float ReferenceLow = 0 ؛ float RawRange = RawHigh - RawLow ؛ float ReferenceRange = ReferenceHigh - ReferenceLow ؛

هربار که از سنسور استفاده می کنید ، می توانید از فرمول زیر برای محاسبه CorrectedValue استفاده کنید:

float CorrectedValue = ((((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow؛

RawValue بدیهی است که سنسور خوانده می شود.

خودشه!

اکنون می دانید چگونه سنسور DS18B20 یا هر سنسور دیگری را که استفاده می کنید کالیبره کنید! خوش بگذره!

توصیه شده: