Датчик температуры К1019ЧТ1

           Аналоговые датчики температуры серии LMx35 (LM135/235/335 различных модификаций) являются популярными и доступными чувствительными элементами для построения различных систем контроля температуры воздуха, жидкостей и поверхности тел. Отечественным аналогом данных микросхем является К1019ЕМ1. А у него есть упрощённая версия — К1019ЧТ1, о которой и пойдёт речь в данной статье.

датчик температуры К1019ЧТ1

           Микросхемы LMx35 и К1019ЕМ1(ЧТ1) — это полупроводниковые приборы, представляющие собой термочувствительные элементы с линейной зависимостью выходного напряжения от температуры. Их выгодно использовать для построения простых термоконтрольных систем. Например, терморегулятор для водонагревателя или устройство активного охлаждения (включение кулера при перегреве силовых ключей в инверторном сварочном аппарате).


Цоколёвка

           Датчик из серий LMx35 и К1019 в общем случае представляет собой стабилитрон, у которого напряжение стабилизации зависит от температуры при неизменном значении тока питания. Причём у LMx35 есть дополнительный вывод для калибровки уровня стабилизации при известном значении температуры. Благодаря этому можно значительно улучшить точность измерений по сравнению с изначальной калибровкой с завода.

           У микросхемы К1019ЕМ1 тоже есть вывод для калибровки, а вот у модели с индексом ЧТ1 такой вывод отсутствует. Поэтому этот прибор и является упрощённым. Для наглядности ниже представлены условные графические обозначения и цоколёвка рассматриваемых сенсоров.

Рисунок 1 — Цоколёвка микросхем серии LMx35 и К1019

           Сенсоры серии LMx35 бывают не только в корпусе TO-92. Но для сравнения был выбран именно этот вариант, поскольку он наиболее близок к корпусу микросхем серии К1019.


Основные параметры

           По основным параметрам К1019ЧТ1 наиболее близок к LM235. У них примерно одинаковый диапазон измеряемых температур и точность. Ниже представлена сравнительная таблица параметров датчиков серии LMx35 и К1019ЕМ1(ЧТ1):

параметры К1019ЧТ1

           Для более полного и точного сравнения рекомендуется ознакомиться с документацией от производителя.


Схема включения

           По аналогии с LMx35 сенсор ЧТ1 можно подключить как минимум двумя способами:

           — базовая схема, в рамках которой подбирается токоограничивающий резистор с таким номиналом сопротивления, который при фиксированном значении напряжения питания ограничивал бы ток до уровня 0,5…2,2 мА:

базовая схема включения К1019ЧТ1
Рисунок 2 — Базовая схема включения

           — схема с широким диапазоном питающего напряжения, подразумевающая использование стабилизатора тока:

схема источник тока для К1019ЧТ1
Рисунок 3 — Схема включения с источником стабилизированного тока на двух транзисторах

Принцип преобразования

           Подобно сенсорам серии LMx35 датчик К1019ЧТ1 при 0 градусов по шкале Цельсия выдаёт напряжение на уровне примерно 2,73 В. Это обусловлено тем, что сенсор откалиброван в соответствии со шкалой Кельвина.

           За ноль для шкалы Цельсия установлена температура тройной точки воды (точнее — 0,01 ̊C), а для шкалы Кельвина — абсолютного ноля.

           Один градус Цельсия равен одному Кельвину. При этом 0 градусов по шкале Цельсия соответствуют 273,15 градусов по шкале Кельвина:

0 ̊C соответствует 273,15 К

0 К соответствует -273,15 ̊С

           Таким образом, для сенсоров серии LMx35 и К1019 соотношения температур и выходного напряжения можно выразить приблизительно так:

0 ̊C = 273 К = 2,73 В

+25 ̊C = 298 К = 2,98 В

+100 ̊C = 373 К = 3,73 В

           Изменение температуры на 1 градус соответствует изменению выходного напряжения на 10 милливольт.

           Чтобы преобразовать напряжение на выходе датчика в градусы Цельсия, необходимо выполнить следующие действия:

           1) измеренное выходное напряжение умножить на 100:

2,98 * 100 = 298

           2) из результирующего значения вычесть 273:

298 – 273 = 25

           3) полученное число и есть искомая физическая величина в градусах Цельсия: +25 ℃.


Схема и скетч для Arduino

           Для работы с датчиком можно использовать либо встроенный в микроконтроллер аналого-цифровой преобразователь (АЦП), либо подключить внешний. Чем выше разрядность преобразователя, тем выше точность измерений.

           Если применить встроенный 10-разрядный АЦП с базовым значением опорного напряжения (равно уровню питания микроконтроллера +5,0 В), то дискретность измерений будет примерно 4,8 милливольта, а это соответствует 0,5 градуса, что является дополнительной погрешностью.

           Также повысить точность измерений можно при помощи внешнего источника опорного напряжения. Например, если использовать микросхему LM4040 с фиксированным выходом 4,096 В, то можно улучшить точность примерно на 18 %.

           В эксперименте будем сравнивать показания сенсоров К1019ЧТ1 и LM335Z, запитанных по базовой схеме включения. Ниже представлены схема подключений и фотография собранного макета:

схема включения LM335 и Arduino
Рисунок 4 — Схема подключений термосенсоров к отладочной плате Arduino UNO
Рисунок 5 — Экспериментальный макет

           Полный листинг программы:

#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"

bool enableHeater = false;
uint8_t loopCnt = 0;

Adafruit_SHT31 sht31 = Adafruit_SHT31();

int adcInput_k1019 = 0;
float voltage_k1019 = 0;
float temp_k1019 = 0;

int adcInput_lm335 = 0;
float voltage_lm335 = 0;
float temp_lm335 = 0;

void setup() {
    Serial.begin(9600);

    if (! sht31.begin(0x44)) {   // Set to 0x45 for alternate i2c addr
        Serial.println("Couldn't find SHT31");
        while (1) delay(1);
  }
}


void loop() {
  
    adcInput_k1019 = analogRead(A0); // считывание показаний с выхода К1019ЧТ1

    // преобразуем отсчёты в напряжение
    voltage_k1019 = adcInput_k1019 * 5.0; // 5.0 - опорное напряжение
    voltage_k1019 /= 1023.0;  // 1023 - 2 в степени 10

    // преобразуем выходное напряжение в температуру в градусах Цельсия
    temp_k1019 = voltage_k1019 * 100;
    temp_k1019 -= 273; 

    // ------------------------------------------

    adcInput_lm335 = analogRead(A1); // считывание показаний с выхода LM335

    // преобразуем отсчёты в напряжение
    voltage_lm335 = adcInput_lm335 * 5.0; // 5.0 - опорное напряжение
    voltage_lm335 /= 1023.0;  // 1023 - 2 в степени 10

    // преобразуем выходное напряжение в температуру в градусах Цельсия
    temp_lm335 = voltage_lm335 * 100;
    temp_lm335 -= 273; 

    // ------------------------------------------

    float t = sht31.readTemperature();  // снятие показаний с датчика SHT31



    Serial.print(F("К1019ЧТ1: "));
    Serial.print(temp_k1019);
    Serial.println(F("°C "));

    Serial.print(F("LM335:    "));
    Serial.print(temp_lm335);
    Serial.println(F("°C "));

    Serial.print(F("SHT31:    "));
    Serial.print(t);
    Serial.println(F("°C "));

    Serial.println("-------------------------------------------");

    delay(1000);
}

           В качестве эталонного измерительного канала был использован цифровой датчик SHT30 с заявленной производителем погрешностью измерений ±0,3 ℃. Ниже представлен скриншот результатов измерений температуры воздуха в жилом помещении:


Выводы

           Аналоговый датчик температуры К1019ЧТ1 является упрощённым аналогом микросхем серии LMx35. Данный сенсор работает в широком диапазоне (-45…+125 ℃) и по параметрам наиболее близок к LM235. Из-за отсутствия специального вывода для калибровки нет возможности дополнительно повысить точность измерений. Тем не менее, рассмотренную в статье микросхему можно использовать для построения простых систем термоконтроля.