Измерение температуры с помощью термопары и микроконтроллера AVR. Контроллер больших температур на термопаре K-типа. PIC16F676 - Термометры - Конструкции для дома и дачи Электронный термометр на термопаре мультиметра

Поводом для сборки этой схемы послужила поломка терморегулятора в электрическом духовом шкафу на кухне. Поискав в интернете, особого изобилия вариантов на микроконтроллерах не нашел, конечно есть кое-что, но все в основном рассчитаны на работу с термодатчиком типа DS18B20, а он очень ограничен в температурном диапазоне верхних значений и для духовки не подходит. Задача ставилась измерять температуры до 300°C, поэтому выбор пал на термопары К-типа. Анализ схемных решений привел к паре вариантов.

Схема терморегулятора - первый вариант

Термостат собраный по этой схеме имеет заявленный предел верхней границы 999°C. Вот что получилось после его сборки:

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

Схема терморегулятора - второй вариант

Немного поразмыслив пришел к выводу, что возможно сюда присоединить тот же контроллер, что и на паяльной станции, но с небольшой доработкой. В процессе эксплуатации паяльной станции были выявлены незначительные неудобства: необходимость перевода таймеров в 0, и иногда проскакивает помеха которая переводит станцию в режим SLEEP . Учитывая то, что женщинам ни к чему запоминать алгоритм перевода таймера в режим 0 или 1 была повторена схема той же станции, но только канал фен. А небольшие доработки привели к устойчивой и "помехонекапризной" работе терморегулятора в части управления. При прошивке AtMega8 следует обратить внимание на новые фьюзы. На следующем фото показана термопара К-типа, которую удобно монтировать в духовке.

Работа регулятора температуры на макетной плате понравилась - приступил к окончательной сборке на печатной плате.

Закончил сборку, работа тоже стабильная, показания в сравнении с лабораторным градусником отличаются порядка на 1,5°C, что в принципе отлично. На печатной плате при настройке стоит выводной резистор, пока что не нашел в наличии SMD такого номинала.

Светодиод моделирует ТЭНы духовки. Единственное замечание: необходимость создания надежной общей земли, что в свою очередь сказывается на конечный результат измерений. В схеме необходим именно многооборотный подстроечный резистор, а во-вторых обратите внимание на R16, его возможно тоже необходимо будет подобрать, в моём случае стоит номинал 18 кОм. Итак, вот что имеем:

В процессе экспериментов с последним терморегулятором появились ещё незначительные доработки, качественно влияющие на конечный результат, смотрим на фото с надписью 543 - это означает датчик отключен или обрыв.

И наконец переходим от экспериментов до готовой конструкции терморегулятора. Внедрил схему в электроплиту и пригласил авторитетную комиссию принимать работу:) Единственное что жена забраковала - маленькие кнопки на управлении конвекцией, общее питание и обдув, но это решаемо со временем, а пока выглядит вот так.

Регулятор заданную температуру держит с точностью до 2-х градусов. Происходит это в момент нагрева, из-за инертности всей конструкции (ТЭНы остывают, внутренний каркас выравнивается температурно), в общем в работе схема мне очень понравилась, а потому рекомендуется для самостоятельного повторения. Автор - ГУБЕРНАТОР .

Обсудить статью СХЕМА ТЕРМОРЕГУЛЯТОРА

Но можно собрать самому в два раза дешевле.
Кому интересно - добро пожаловать под кат.

Начнем по порядку.
Термопара… как термопара. Метр ровно, К типа, 0-800C

Можно врезать в корпус, имеется резьбовая часть, которая вращается свободно. Диаметр 5,8мм, шаг - 0,9~1.0мм, похоже М6 x 1,0 мм. Под ключ на 10


Это все хорошо, дальше что делать? Нужно преобразовать сигнал (термоэдс) в цифровой или аналоговый сигнал, чтоб читать ардуиной. В этом нам поможет . Это преобразователь сигнала термопары K-типа в цифру, имеет интерфейс, что нас устраивает.
А вот и наш герой - ($4.20)


Стоил $4.10, но того лота больше нет (продавец тот же).

Подключать будем к ардуине, можно взять простенькую ($5.25, можно найти дешевле, здесь Вы видите именно эту)


Данные будем писать на карту памяти (и заодно слать в порт) с помощью $1.25.


Интерфейс, тоже, кстати, SPI. Только не все карточки его поддерживают. Не завелось - попробуйте сначала другую.
В теории все линии SPI устройств (MOSI или SI, MISO или SO, SCLK или SCK), кроме CS (CS или SS - выбор микросхемы), можно подключить к одним контактам ардуины, но тогда MAX6675 работает неадекватно. Поэтому я все разнес по разным пинам.
В основу скетча лег пример по работе с картами памяти с .
Библиотека и скетч для MAX6675 . Схема подключения MAX6675:

#include
#include

Int units = 1; // Units to readout temp (0 = F, 1 = C)
float error = 0.0; // Temperature compensation error
float temp_out = 0.0; // Temperature output varible

MAX6675 temp0(9,8,7,units,error);

Void setup()
{
Serial.begin(9600);
Serial.print(«Initializing SD card...»);

PinMode(10, OUTPUT);
if (!SD.begin(10)) {
Serial.println(«initialization failed!»);
return;
}
Serial.println(«initialization done.»);

// Проверяем, существует ли на карте файл data.csv, если существует, то удаляем его.
if(SD.exists(«temp.csv»)) {
SD.remove(«temp.csv»);
}
// открываем файл. заметьте, что только один файл может быть открыт за раз,
// поэтому вы должны закрыть этот, чтобы открыть другой.
myFile = SD.open(«temp.csv», FILE_WRITE); // открыть на запись


if (myFile) {
Serial.print(«Writing to temp.csv...»);
// закрываем файл:
myFile.close();
Serial.println(«done.»);
}
else {


}

}
void loop()
{

Temp_out = temp0.read_temp(5); // Read the temp 5 times and return the average value to the var

Time = time + 1; // Увеличиваем время на 1

MyFile = SD.open(«temp.csv», FILE_WRITE);

// если файл нормально открылся, запишем в него:
if (myFile) {
// записываем время
myFile.print(time);
Serial.print(time);
// добавляем точку с запятой
myFile.print(";");
Serial.print(";");
// пишем температуру и перевод строки
myFile.println(temp_out);
Serial.println(temp_out);
// закрываем файл:
myFile.close();
}
else {
// а если он не открылся, то печатаем сообщение об ошибке:
Serial.println(«error opening temp.csv»);
}
delay(1000); // Ждем секунду
}


Скачать:

Термопара - это один из видов температурных датчиков, который может применяться в измерительных устройствах и системах автоматизации. Ей присущи определенные преимущества: дешевизна, высокая точность, широкий по сравнению с термисторами и микросхемами цифровых датчиков температуры диапазон измерения, простота и надежность. Однако выходное напряжение термопары мало и относительно, а схема измерителя на термопаре сложна, так как предъявляются жесткие требования к прецизионному усилению сигнала с термопары и к схеме компенсации. Для разработки таких устройств существуют специализированные микросхемы, интегрирующие схему преобразования и обработки аналогового сигнала. С помощью этих микросхем можно построить достаточно компактный измеритель температуры с термопарой в качестве датчика (Рисунок 1).

Принципы

Википедия определяет принцип действия термопары следующим образом:

Принцип действия основан на эффекте Зеебека или, иначе, термоэлектрическом эффекте. Между соединенными проводниками имеется контактная разность потенциалов. Если стыки связанных в кольцо проводников находятся при одинаковой температуре, сумма таких разностей потенциалов равна нулю. Когда же стыки находятся при разных температурах, разность потенциалов между ними зависит от разности температур. Коэффициент пропорциональности в этой зависимости называют коэффициентом термо-ЭДС. У разных металлов коэффициент термо-ЭДС разный и, соответственно, разность потенциалов, возникающая между концами разных проводников, будет различной. Помещая спай из металлов с отличными коэффициентами термо-ЭДС в среду с температурой Т1, мы получим напряжение между противоположными контактами, находящимися при другой температуре Т2, которое будет пропорционально разности температур Т1 и Т2 (Рисунок 2).

Рисунок 2.

Существует несколько типов термопар, в зависимости от используемой пары материалов (чистый металл или сплав). В нашем проекте мы используем термопару K-типа (хромель-алюмель), которая часто применяется в промышленных инструментах и приборах. Выходное напряжение термопары K-типа составляет приблизительно 40 мкВ/°С, следовательно, потребуется схема усиления сигнала с небольшим смещением напряжения по входу.

Как упоминалось выше, термо-ЭДС пропорциональна разности температур между холодным и горячим спаем. Это означает, что температура холодного спая должна быть известна для вычисления фактического значения температуры горячего спая. Для этого потребуется схема компенсации холодного спая, которая будет автоматически вводить поправку к измеренной термо-ЭДС (Рисунок 3).

Чтобы получить значение температуры с помощью термопары потребуется аналоговая схема, например прецизионный операционный усилитель и схема компенсации холодного спая. Однако, существует несколько видов специализированных микросхем со встроенным интерфейсом термопары. Эти микросхемы интегрируют указанные выше аналоговые схемы и значительно упрощают проект. В нашем случае мы выбрали микросхему MAX31855 компании . Она содержит аналоговую схему и аналого-цифровой преобразователь, следовательно, на выходе микросхемы мы получим цифровые данные. Перед покупкой микросхемы необходимо заранее определить тип термопары, которая будет использоваться в устройстве.

Основные характеристики микросхемы MAX31855:

  • Диапазон измерения температуры: от -270 °С до +1800 °С;
  • Разрешение: 14 бит, шаг 0.25 °С;
  • Простой SPI-совместимый интерфейс (режим чтения данных);
  • Схема компенсации опорного спая термопары;
  • Схема детектирования замыкания проводов термопары на шину питания и общую шину;
  • Схема детектирования разрыва в измерительной цепи;
  • Исполнения для термопар типов K, J, N, T и E;
  • 8-ми выводной корпус.

Компенсация холодного спая реализуется с помощью интегрированного в микросхему датчика температуры, поэтому одним из важных условий при сборке измерителя является размещение микросхемы непосредственно возле коннектора подключения термопары. Немаловажным условием является также изоляция данного узла от внешнего нагрева. Для подключения мы использовали коннектор, изображенный на Рисунке 4. Можно использовать коннекторы других типов.

Принципиальная схема измерителя температуры изображена на Рисунке 5.

Сердцем прибора является микроконтроллер AVR . Микросхема MAX31855 подключается к микроконтроллеру по интерфейсу SPI.

В качестве источника питания используется батарея типоразмера LR1 с напряжением 1.5 В. Для питания микроконтроллера и микросхемы интерфейса термопары используется схема повышающего DC/DC преобразователя, выполненного на микросхеме серии XC9111 , обеспечивающего выходное напряжение 3.0 В. Микроконтроллер осуществляет управление питанием и отслеживает напряжение батареи.

Так как для питания используется элемент питания 1.5 В, для отображения данных оптимально использовать сегментный статический ЖК индикатор TWV1302W, который применяется в цифровых устройствах измерения температуры (Рисунок 6). Рабочее напряжение этого индикатора 3 В. При использовании индикатора с рабочим напряжением 5 В потребуется дополнительная схема преобразователя напряжения (Рисунок 7). Функции управления индикатором выполняет микроконтроллер. При таком решении потребляемый устройством ток составит 4 мА, а батарея прослужит, как минимум, 100 часов.

Термопары широко применяются там где необходимо точно померить высокие температуры, т емпературы вплоть до 2500°C. То есть там, где цифровые датчики бы сразу сдохли от перегрева, применяются термопары. Разновидностей термопар существует достаточно много, но самое большое распространение получили хромель-алюмелевые (тип К) термопары, из-за своей дешевизны и практически линейному изменению термоэдс. Этот вид термопар ставятся в водонагреватели и другие бытовые приборы с контролем температуры, их повсеместно используют для контроля температуры при плавке металла, с помощью этих термопар контролируется нагрев жала в паяльной станции. Поэтому будет весьма полезно познакомиться с ними поближе.

Термопара это два проводника из разных металлов и имеющих общую точку контакта (спай). В точке этого контакта возникает разность потенциалов. Эта разность потенциалов зовется термоэдс и напрямую зависит от температуры, в которой находится спай. Металлы подбираются таким образом, чтобы зависимость термоэдс от температуры нагрева была наиболее линейна. Это упрощает расчет температуры и сокращает погрешность измерений.


Так широко применяемые хромель-алюмелевые термопары имеют достаточно высокую линейность и стабильность показаний на всем диапазоне измеряемых температур.
Ниже приведен график для хромель-алюмелевых термопар (тип К) показывающий, зависимость возникающей термоэдс от температуры спая (в конце статьи будет ссылка на график с большим разряшением):

Таким образом значение термоэдс достаточно умножить на нужный коэффициент и получить температуру, не заморачиваясь с табличными значениями и аппроксимацией - один коэффициент на весь диапазон измерений. Очень просто и понятно.
Но встает вопрос о подключении термопары к микроконтроллеру. Понятно что если на выходе термопары напряжение, тогда задействуем АЦП, но разность потенциалов на выходе термопары слишком мала, чтобы уловить хоть что-то. Поэтому прежде его нужно увеличить, например, применив операционный усилитель.

Берём стандартную схему неинвертирующего включения операционного усилителя:


Отношение входного и выходного напряжений описывается простой формулой:

Vout /Vin = 1 + (R2/R1)

От значений резисторов обратной связи R1 и R2 зависит коэффициент усиления сигнала. Величину усиления сигнала нужно подбирать с учетом того, что будет использоваться в качестве опорного напряжения.

Допустим опорным будет напряжение питания микроконтроллера 5V. Теперь необходимо определится с диапазоном температур, которые собираемся измерять. Я взял пределом измерения 1000 °C. При этом значении температуры на выходе термопары будет потенциал примерно 41,3мВ. Это значение должно соответствовать напряжению в 5 вольт на входе АЦП. Поэтому операционник должен иметь коэффициент усиления не менее 120. В итоге родилась такая схема:


В загашнике у меня нашлась давно собранная плата с этим операционником, собирал как предусилитель для микрофона, ее я и применил:


Собрал на бредборде такую схему подключения двухстрочного дисплея к микроконтроллеру:


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


Код Bascom-AVR для работы с термопарой:

$regfile = "m8def.dat"
$crystal = 8000000

Dim W As Integer

"подключение двухстрочного дисплея

Config Lcdpin = Pin , Rs = Portb . 0 , E = Portd . 7 , Db4 = Portd . 6 , Db5 = Portd . 5 , Db6 = Portb . 7 , Db7 = Portb . 6
Config Lcd = 16 * 2
Cursor Off
Cls

"считывание значения с АЦП по прерыванию от таймера

Config Timer1 = Timer , Prescale = 64
On Timer1 Acp

"конфигурация АЦП

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Enable Interrupts
Enable Timer1

Do

Cls
Rem Температура:
Lcd "Teјѕepaїypa:"
Lowerline
Lcd W


Waitms 200

Loop


"работа с АЦП

Acp :

Start Adc "запуск АЦП
W = Getadc (1 )
W = W / 1 . 28 "подгоняем замеры под действ. температуру
Return

End

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

Термопары (термоэлектрические преобразователи).

Все термодатчики из предыдущих уроков позволяли измерять температуру в диапазоне не шире – 55 … + 150 °C. Для измерения более высоких температур самыми распространенными датчиками являются термопары. Они:

  • имеют крайне широкий диапазон измерения температуры -250 … +2500 °C;
  • могут быть откалиброваны на высокую точность измерения, до погрешности не более 0,01 °C;
  • как правило, имеют низкую цену;
  • считаются надежными датчиками температуры.

Главный недостаток термопар – это необходимость в достаточно сложном прецизионном измерителе, который должен обеспечивать:

  • измерение низких значений термо-ЭДС с верхним значением диапазона десятки, а иногда и единицы мВ;
  • компенсацию термо-ЭДС холодного спая;
  • линеаризацию характеристики термопары.

Принцип действия термопар.

Принцип действия датчиков такого типа основан на термоэлектрическом эффекте (эффекте Зеебека). Поэтому другое название термопары – термоэлектрический преобразователь.

В цепи между соединенными разнородными металлами образовывается разность потенциалов. Ее величина зависит от температуры. Поэтому она называется термо-ЭДС. У разных материалов величина термо-ЭДС разная.

Если в цепи стыки (спаи) разнородных проводников связаны в кольцо и имеют одинаковую температуру, то сумма термо-ЭДС равна нулю. Если же спаи проводов находятся при разных температурах, то общая разность потенциалов между ними зависит от разности температур. В результате мы приходим к конструкции термопары.

Два разнородных металла 1 и 2 в одной точке образуют рабочий спай. Рабочий спай помещают в точку, температуру которой необходимо измерить.

Холодные спаи это точки подключения металлов термопары к другому металлу, как правило, к меди. Это могут быть клеммные колодки измерительного прибора или медные провода связи с термопарой. В любом случае необходимо измерять температуру холодного спая и учитывать ее в вычислениях измеренной температуры.

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

Наиболее широкое распространение получили термопары ХК (хромель – копель) и ХА (хромель – алюмель).

Название Обозначение НСХ Материалы Диапазон измерения, °C Чувствительность, мкВ/°C, (при температуре, °C) Термо-ЭДС, мВ, при 100 °C
ТХК (хромель-копелевые) L Хромель, копель - 200 … + 800 64 (0) 6,86
ТХА (хромель-алюмель) K Хромель, алюмель - 270 … +1372 35 (0) 4,10
ТПР (платино-родиевые) B Платинородий, платина 100 … 1820 8 (1000) 0, 03
ТВР (вольфрам-рениевые) A Вольфрам-рений, вольфрам-рений 0 … 2500 14 (1300) 1,34

Как практически измерять температуру с помощью термопары. Методика измерения.

Номинальная статическая характеристика (НСХ) термопары задана в виде таблицы с двумя столбцами: температура рабочего спая и термо-ЭДС. ГОСТ Р 8.585-2001 содержит НСХ термопар разных типов, заданные для каждого градуса. Можно загрузить в PDF формате по этой ссылке .

Для измерения температуры с помощью термопары необходимо выполнить следующие действия:

  • измерить термо-ЭДС термопары (E общ.);
  • измерить температуру холодного спая (T хол. спая);
  • по таблице НСХ термопары определить термо-ЭДС холодного спая, используя температуру холодного спая (E хол. спая);
  • определить термо-ЭДС рабочего спая, т.е. прибавить ЭДС холодного спая к общей термо-ЭДС (E раб. спая = E общ. + E хол. спая);
  • по таблице НСХ определить температуру рабочего спая, используя термо-ЭДС рабочего спая.

Вот пример, как я замерил с помощью термопары типа ТХА температуру жала паяльника.

  • Прикоснулся рабочим спаем к жалу паяльника, замерил напряжение на выводах термопары. Получилось 10,6 мВ.
  • Температура окружающей среды, т.е. температура холодного спая – примерно 25 °C. ЭДС холодного спая из таблицы ГОСТ Р 8.585-2001 для термопары типа K при 25 °C равна 1 мВ.
  • Термо-ЭДС рабочего спая равна 10,6 + 1 = 11,6 мВ.
  • Температура из той же таблицы для 11,6 мВ равна 285 °C. Это и есть измеренное значение.

Такую последовательность действий нам надо реализовать в программе Ардуино термометра.

Ардуино термометр для измерения высоких температур с помощью термопары типа ТХА.

У меня нашлась термопара TP-01A. Типичная, широко распространенная ТХА термопара от тестера. Ее я и буду использовать в термометре.

На упаковке указаны параметры:

  • тип K;
  • диапазон измерения – 60 … + 400 °C;
  • точность ±2,5 % в диапазоне до 400 °C.

Диапазон измерения указан для кабеля из стекловолокна. Существует похожая термопара TP-02, но с зондом длиной 10 см.

У TP-02 верхняя граница измерения 700 °C . Значит, будем разрабатывать термометр:

  • для термопары типа ТХА;
  • с диапазоном измерения – 60 … + 700 °C.

Разобравшись в программе и схеме устройства, Вы сможете создать измеритель для термопар любых типов с любым диапазоном измерения.

Остальные функциональные возможности термометра такие же, как у устройств из трех предыдущих уроков, включая функцию регистрации изменения температуры.

Рубрика: . Вы можете добавить в закладки.
Поделиться: