Термопары: принцип работы, типы и подключение через MAX6675

Термопары: принцип работы, типы и подключение через MAX6675

Как устроена термопара, чем различаются её типы и как снять показания на Arduino с помощью модуля MAX6675.

Когда обычного датчика недостаточно

Аналоговых и цифровых датчиков температуры существует много, но у привычных моделей общий недостаток: узкий рабочий диапазон с верхней границей около +125 °C. Для большинства задач этого хватает, однако за пределами диапазона такой датчик бесполезен, а то и выходит из строя окончательно.

Термопары рассчитаны на куда более суровые условия: от -250 до +2500 °C. Их ставят в горелки, промышленные и паяльные фены, камины, дымовые и выхлопные трубы, а также в хот-энды 3D-принтеров. Датчик компактен, надёжен, прочен и герметичен, поэтому годится и для агрессивных сред. При тонкой калибровке погрешность удаётся довести до 0,01 °C.

Эффект Зеебека и сложности измерения

В основе термопары лежит эффект Зеебека: если спаять две проволоки из разных металлов и нагреть место спая, на свободных концах появляется разность потенциалов. Рабочий спай помещают в измеряемую среду, и на выводах возникает небольшая ЭДС.

Эффект Зеебека: спай двух проволок из разных металлов

Главная трудность связана не с самим датчиком, а со схемой измерителя. Слабый сигнал нужно усилить, очистить от помех, учесть нелинейность зависимости, скомпенсировать ЭДС холодного спая и только после этого перевести в число. Это непростая инженерная задача, поэтому на практике обычно берут готовый измеритель, который выполняет все эти этапы, включая оцифровку.

Схема измерения температуры термопарой
Готовый модуль измерителя для термопары

Типы и конструкция

Свойства термопары определяются парой металлов. Самые универсальные и потому распространённые варианты - хромель-копелевые и хромель-алюмелевые; остальные применяются в особо тяжёлых условиях. Типов значительно больше, чем обычно приводят в обзорных таблицах.

Таблица типов термопар

Точность у разных типов неодинакова. Чем шире диапазон, тем меньше напряжения приходится на каждый градус, а значит, сильнее сказываются шумы и помехи. Брать термопару с большим запасом по температуре не стоит: например, для контроля горения дров в камине достаточно типа L или K с пределом 800 °C. В 3D-принтерах чаще всего используют хромель-алюмелевые термопары типа K, обычно в корпусной неизолированной сборке, которая проще в монтаже и реже ломается.

Помимо состава, термопары различаются размерами, способом крепления и исполнением горячего спая: открытый, изолированный или неизолированный. При подключении важна полярность: ошибка ничего не испортит, но показаний не будет либо они окажутся неверными. Полярность определяют по цвету изоляции проводов, причём цвета зависят от типа термопары и производителя, так что при сомнениях нужна таблица цветовой кодировки.

Модуль MAX6675

Для большинства типов термопар выпускаются готовые измерители. Один из самых известных - микросхема MAX6675, объединяющая усилитель и АЦП с компенсацией холодного спая. Термопары нередко сразу продаются в комплекте с модулем на её основе.

ПреобразовательАЦП с компенсацией холодного спая
Разрядность12 бит
Шаг измерения0,25 °C
Точность1,5 °C
ИнтерфейсSPI
Напряжение питания3-5,5 В постоянного тока
Тип термопарыK (хромель-алюмелевая)
Диапазон температур0…+600 °C
Габариты модуля32 x 15 x 14 мм

На плате пять контактов: GND и VCC для питания, SCK для тактовых импульсов, а также CS и SO - линии интерфейса SPI. Подойдёт как аппаратная, так и программная реализация SPI. Термопару подключают к модулю красным проводом к плюсу, синим к минусу.

Пример работы с Arduino

Библиотек для MAX6675 несколько; в примере используется «MAX6675 with hardware SPI», которая ставится через менеджер библиотек Arduino IDE. Скетч для платы UNO совсем короткий: создаётся объект датчика с указанием вывода CS (в примере это пин 10, но годится любой свободный), после чего раз в полсекунды в монитор порта на скорости 9600 выводятся значения, полученные методами readTempC() и readTempF().

Модуль отдаёт контроллеру уже готовую температуру в градусах Цельсия и Фаренгейта. На воздухе показания колеблются в пределах шага 0,25 °C и совпадают с комнатным термометром (31 °C в описанном опыте). При погружении датчика в стакан с тёплой водой хорошо виден рост от 31 до 70 °C и обратное падение после извлечения.

Ограничения и альтернативы

MAX6675 не измеряет температуру ниже 0 и выше 600 °C. Для более широких пределов берут другие измерители, например AD7793 с диапазоном от -250 до +850 °C; есть решения и для более экстремальных значений.

Обойтись без готового измерителя тоже можно. Для этого собирают усилитель с обвязкой и пишут программу пересчёта напряжения в градусы. Зависимость на разных поддиапазонах разная, так что пересчёт получается ступенчатым и требует работы со справочными данными.

← Все статьи