СОДЕРЖАНИЕ ►
Сегодня мы поговорим о датчике, который не боится времени и остаётся востребованным в промышленной и любительской электронике уже много лет — KTY81. Это не цифровой DHT21 и не дешёвый термистор, а кремниевый датчик температуры с линейным откликом. Датчик применяется в системах отопления и вентиляции, для контроля температуры двигателей и трансформаторов.
Ардуино датчик KTY81 характеристики, распиновка

KTY81 — это кремниевый датчик температуры с положительным температурным коэффициентом (PTC). Простыми словами: при нагревании его сопротивление возрастает (в отличие от термисторов NTC, у которых сопротивление падает). У аналогового сенсора kty-81 зависимость сопротивления от температуры почти линейная, что значительно упрощает расчёты по сравнению с термисторами.
Характеристики датчика KTY81 Arduino (datasheet)
- Тип датчика: PTC (положительный ТКС)
- Сопротивление при 25°C: 1 кОм (KTY81-110) или 2 кОм (KTY81-120)
- Температурный коэффициент: ~0.79% на °C (при 25°C)
- Диапазон температур: -55 … +150°C
- Точность: ±0.5°C при 25°C, до ±2.5°C во всём диапазоне
- Максимальная рассеиваемая мощность: ~10 мВт (при 25°C)
- Корпус: DO-34 (SOD-68) – диодный вид
- Сигнал: аналоговый
Главное преимущество KTY81-110 и KTY81-120 — сенсор даёт стабильные показания в широком диапазоне температур и не требует сложной калибровки. Важно, чтобы ток через аналоговый сенсор KTY81 не превышал 1–2 мА, чтобы датчик не грелся. При питании от 5V Ардуино и резисторе 2.2 кОм ток примерно 1.4 мА – это нормально.
Подключение датчика KTY81-110 к Arduino Uno
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
- сенсор KTY81-110 или KTY81-120
- провода «папа-мама», «папа-папа»

Формула в следующем скетче даёт погрешность 1-2°C. Если нужна большая точность то откалибруйте аналоговый сенсор по двум точкам. Измерьте датчиком KTY81-110 (KTY81-120) температуру кипящей воды (100°C) и тающего льда (0°C) – получите индивидуальные поправки. Стабилизируйте опорное напряжение и вместо 5V с микроконтроллера Arduino используйте внешний источник питания 5V.
Скетч для аналогового датчика температуры KTY81 Ардуино
// Пины и константы const int analogPin = A0; const float knownResistor = 2200.0; // известный резистор (2.2 кОм) const float Vref = 5.0; // опорное напряжение Arduino // Коэффициенты KTY81-110 (упрощённые) const float R0 = 1000.0; // сопротивление при 25°C const float T0 = 25.0; // опорная температура const float alpha = 0.00788; // температурный коэффициент void setup() { Serial.begin(9600); analogReference(DEFAULT); // используем 5V как опору Serial.println("KTY81 температурный тест"); } void loop() { // Читаем АЦП (0-1023) int adcValue = analogRead(analogPin); // Вычисляем напряжение на пине float voltage = adcValue * (Vref / 1023.0); // Вычисляем сопротивление KTY81 // Делитель: Vout = Vref * (R_kty / (R_known + R_kty)) // => R_kty = R_known * (Vout / (Vref - Vout)) float R_kty; if (voltage > 0 and voltage < Vref) { R_kty = knownResistor * (voltage / (Vref - voltage)); } else { R_kty = -1; // ошибка } // Расчёт температуры (упрощённая линейная формула) float temperature = T0 + (R_kty - R0) / (R0 * alpha); // Вывод Serial.print("ADC: "); Serial.print(adcValue); Serial.print(" Напряжение: "); Serial.print(voltage); Serial.print(" V R_kty: "); Serial.print(R_kty); Serial.print(" Ом Температура: "); Serial.print(temperature); Serial.println(" °C"); delay(1000); }
Пояснения к коду:
- для KTY81-120 (2 кОм при 25°C) замените R0 на 2000, alpha примерно 0.00786
Настройка и решение проблем
- Датчик всегда показывает 25°C, не реагирует на нагрев пальцем
Слишком маленький резистор в делителе (например, 220 Ом). Увеличьте резистор до 2.2 кОм – 10 кОм. - Показания скачут или сильно шумят
Помехи по длинным проводам или нет конденсатора — добавьте конденсатор 100 нФ между пином A0 и GND рядом с Arduino. - Температура не совпадает с комнатным термометром
Уменьшите ток через датчик (увеличьте резистор до 10 кОм). Или сделайте двухточечную калибровку аналогового сенсора температуры.
Заключение. KTY81 – отличный выбор, когда нужна стабильность, широкий диапазон и нежелательны цифровые интерфейсы. По сравнению с LM35 он дешевле и выносливее, но чуть менее удобен в расчётах. KTY81 – это надёжный, предсказуемый и дешёвый аналоговый датчик. Он требует чуть больше усилий на расчёты, чем цифровые собратья, но зато его можно подключать к Ардуино на длинные провода.









Добавить комментарий