سنسور دما NTC 10K
سنسور NTC 10K (Negative Temperature Coefficient) یک نوع سنسور دما است که با تغییر مقاومت الکتریکی خود در واکنش به تغییر دما، دما را اندازهگیری میکند. این سنسورها برای کنترل و نظارت بر دمای محیطها و دستگاههای مختلف استفاده میشوند.مهمترین ویژگی سنسور NTC 10K عدد "10K" است که به مقاومت این سنسور اشاره دارد. این مقدار مقاومت NTC 10K در دمای 25 درجه سلسیوس استاندارد حدود 10 کیلو اهم (10,000 اهم) است. با افزایش دما، مقاومت این سنسور کاهش مییابد و با کاهش دما، مقاومت افزایش مییابد. این تغییر مقاومت باعث میشود که میتوان از این سنسور به عنوان یک ابزار دماسنجی استفاده کرد.NTC 10K سریعتر به تغییرات دما واکنش میدهد نسبت به سنسورهای PTC (Positive Temperature Coefficient) که با افزایش دما مقاومت آنها نیز افزایش مییابد.از این سنسورها در انواع کاربردها استفاده میشود از جمله کنترل دما در الکترونیک صنعتی، تجهیزات پزشکی، یخچالها و فریزرها، خودروها، سیستمهای تهویه و گرمایش، و بسیاری دیگر از دستگاهها و برنامههای مختلف.
مشخصات فنی سنسور دما NTC 10K
- دارای مقاومت 10K
- هزینه ساخت اقتصادی
- فاصله ترمینالها 5.0 میلیمتر است
- پایداری و مقاومت خوب در محیط
- دقت بالا در مقاومت و ثابت B
- مقاومت در دمای 25 درجه سلسیوس: 10K ± 1%
- ثابت مواد (B-value) = 3950 ± 1%
- ضریب دیسیپیشن (ضریب از دست دادن انرژی حالتی از ارتعاش) δ th = (در هوا) تقریباً 7.5 میلی وات بر کلوین
- زمان ثابت خنکشدگی حرارتی <= (در هوا) 20 ثانیه
- محدوده دمای سنسور حرارتی از -55 درجه سلسیوس تا 125 درجه سلسیوس است.
بررسی پایه های سنسور دما NTC 10K
راه اندازی سنسور دما NTC با آردوینو
برای خواندن دادهها از یک سنسور NTC (ضریب دما منفی) از یک برد آردوینو استفاده میکنیم. یک سر از سنسور NTC را به خروجی 5 ولت Arduino وصل کنید.سر دیگر سنسور NTC را به یک پین آنالوگ در Arduino وصل کنید (به عنوان مثال A0).یک مقاومت (10 کیلو اهم) را بین پین آنالوگ و زمین (GND) Arduino وصل کنید.در ادامه، یک کد نمونه Arduino برای خواندن دما با استفاده از سنسور NTC آورده شده است. این کد از معادله Steinhart-Hart برای محاسبه دما بر اساس مقاومت سنسور NTC استفاده میکند. مقادیر B-value و R0 (مقاومت در 25 درجه سلسیوس) را در کد بر اساس دیتاشیت خاص سنسور NTC خود تنظیم کنید.
// تعریف مقادیر برای سنسور NTC شما
const int پین_آنالوگ = A0; // پین آنالوگ به سنسور NTC متصل شده
const float R0 = 10000.0; // مقاومت در 25 درجه سلسیوس (به اهم)
const float BValue = 3950.0; // مقدار B سنسور NTC
const float مقاومت_مرجع = 10000.0; // مقدار مقاومت متصل به سری
void setup() {
Serial.begin(9600); // مقداردهی اولیه ارتباط سریال
}
void loop() {
// خواندن مقدار آنالوگ از سنسور NTC
int مقدار_آنالوگ = analogRead(پین_آنالوگ);
// محاسبه مقاومت سنسور NTC
float مقاومت = مقاومت_مرجع * (1023.0 / float(مقدار_آنالوگ) - 1.0);
// محاسبه دما با استفاده از معادله Steinhart-Hart
float دما = 1.0 / (1.0 / (273.15 + 25.0) + (1.0 / BValue) * log(مقاومت / R0));
دما -= 273.15; // تبدیل به درجه سلسیوس
// چاپ دما در مانیتور سریال
Serial.print("دما: ");
Serial.print(دما);
Serial.println(" درجه سلسیوس");
delay(1000); // تأخیر 1 ثانیه قبل از خواندن مقدار بعدی
}
راه اندازی سنسور دما NTC با میکروپایتون
برای خواندن دادهها از یک سنسور NTC (ضریب دما منفی) با استفاده از میکروپایتون بر روی یک میکروکنترلر مانند ESP8266 یا ESP32، استفاده میکنیم.یک سر از سنسور NTC را به خروجی 3.3 ولت میکروکنترلر خود وصل کنید.سر دیگر سنسور NTC را به یک پین ورودی آنالوگ روی میکروکنترلر وصل کنید (به عنوان مثال ADC0).یک مقاومت (10 کیلو اهم) را بین پین ورودی آنالوگ و زمین (GND) میکروکنترلر وصل کنید.در ادامه، یک کد نمونه میکروپایتون برای خواندن دما با استفاده از سنسور NTC آورده شده است. این کد از معادله Steinhart-Hart برای محاسبه دما بر اساس مقاومت سنسور NTC استفاده میکند. حتماً مقادیر B-value و R0 (مقاومت در 25 درجه سلسیوس) را در کد بر اساس دیتاشیت خاص سنسور NTC خود تنظیم کنید.
from machine import ADC
import math
import time
# تعریف مقادیر برای سنسور NTC شما
پین_آنالوگ = ADC(0) # پین آنالوگ به سنسور NTC متصل شده
R0 = 10000.0 # مقاومت در 25 درجه سلسیوس (به اهم)
B_value = 3950.0 # مقدار B سنسور NTC
مقاومت_مرجع = 10000.0 # مقدار مقاومت متصل به سری
def read_temperature():
مقدار_ADC_خام = پین_آنالوگ.read()
# محاسبه مقاومت سنسور NTC
مقاومت = مقاومت_مرجع * (65535 / مقدار_ADC_خام - 1)
# محاسبه دما با استفاده از معادله Steinhart-Hart
دما = 1.0 / (1.0 / (273.15 + 25.0) + (1.0 / B_value) * math.log(مقاومت / R0))
دما -= 273.15 # تبدیل به درجه سلسیوس
return دما
while True:
دما = read_temperature()
print("دما: {:.2f} درجه سلسیوس".format(دما))
time.sleep(1) # تأخیر 1 ثانیه قبل از خواندن مقدار بعدی
این برد یک ترموستات دمایی است. برای درخواست مورد نظرتان قابل استفاده است. ولتاژ AC همان برق 220 است.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.