Термометр на ATmega8 и датчике температуры DS18B20. Контроллер больших температур на термопаре K-типа

10.04.2024

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

Начнем по порядку.
Термопара… как термопара. Метр ровно, К типа, 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); // Ждем секунду
}


Скачать:

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

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

Все термодатчики из предыдущих уроков позволяли измерять температуру в диапазоне не шире – 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.

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

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

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

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

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

Основные технические характеристики прибора: диапазон контролируемых температур от 0 до 200 или до 1200 °С в зависимости от используемого датчика. Погрешность термометра не более 1,5% от верхнего предела измерения; максимальная точность поддержания температуры до 0,05°С. Следует учитывать, что система с использованием ТП является дифференциальной, т.е. напряжение на ее выходе пропорционально разности температур между соединенными и свободными концами термопары Поэтому если при высоких контролируемых температурах влияние колебаний температуры окружающей среды на выходное напряжение ТП незначительно, и его можно не учитывать, то для контролируемых температур менее 200°С необходимо применять дополнительные меры по компенсации изменения температуры свободных концов термопары. Максимальная частота коммутации нагрузки 12,5 Гц, ток нагрузки до 0,1A, а при использовании дополнительного симисторного ключа до 80 А при напряжении ~220 В, габаритные размеры 120х75х160 мм.

Переменное напряжение 24 В с частотой сети (f), снимаемое с вторичной обмотки трансформатора Т1, через ограничивающий резистор R21 поступает на транзисторный оптрон U1, на выводе 5 которого образуются синхронизирующие импульсы, фронт которых по времени практически совпадает с моментами перехода сетевого напряжения через нуль. Далее эти импульсы поступают на цифровую часть прибора, которая на основе сигналов, приходящих с аналого вой части, формирует соответствующие управляющие сигналы.

Аналоговая часть прибора реализована на четырех ОУ микросхемы К1401УД2. Напряжение, снимаемое с ТП, усиливается ОУ DA1.1 и поступает на входы ОУ DA1.2...DA1.4, выполняющие роль компараторов. Опорные напряжения, определяющие пороги их переключения, задаются резисторами R8, R9, R11, R12, R14-R16. Благодаря отсутствию обратных связей в ОУ (DA 1.2-DA 1.4) и большому коэффициенту их усиления, достигнута очень высокая чувствительность прибора. Резистор R12 служит для установки верхнего температурного порога, при котором нагрузка отключается, а резистор R9 предназначен для задания разницы температуры (Dt) между верхним и нижним порогами переключения терморегулятора. Когда регулировка Dt не требуется, для обеспечения максимальной точности поддержания температуры вместо резистора R9 рекомендуется установить перемычку, резистор R8 при этом можно исключить из схемы. Цепи на элементах VD1-VD3, С1-СЗ, R10 R13, R17 служат для предотвращения прохождения отрицательного напряжения на входы цифровых микросхем и устранения помех. Синхронизация триггеров DD1.2, DD2.1, DD2.2 осуществляется импульсами, формируемыми счетчиком DD3. Логику формирования управляющих сигналов в устройстве поясняет таблица.

В установившемся режиме работы, когда температура на объекте соответствует заданной, индикатор HL2 должен быть постоянно включен, а индикаторы HL1, HL3 выключены. Об отклонениях температуры, сигнализирует включение индикаторов HL1, HL3. Для повышения наглядности они работают в мигающем режиме. Необходимые для управления этими индикаторами импульсы формируются на выходах 5 и 12 счетчика dD3. С вывода 9 триггера DD1.2 через эмиттерный повторитель на транзисторе VT1 сигнал идет на цепи индикации и управления нагрузкой. Принудительное отключение нагрузки осуществляется выключателем SA1, размыкающим эти цепи. Для управления нагрузкой используется динисторный оптрон U2, включенный в диагональ моста VD2. Максимальный коммутируемый ток в таком варианте составляет 0,1 A. Установив дополнительно семи-стор VS1 и соответственно изменив схему включения нагрузки, этот ток можно увеличить до 80 А.

Функции измерения температуры, а также отображение ее значения реализованы на основе микросхемы К572ПВ2 (аналог ILC7107) . Выбор этого АЦП обусловлен возможностью непосредственного подключения к нему светодиодных знакосинтезирующих индикаторов. При использовании жКи можно применить К572ПВ5 . При отжатой кнопке SВ1 на АЦП поступает напряжение с выхода ОУ DA1.1, обеспечивая режим измерения температуры. При нажатии на кнопку SВ1 измеряется напряжение на переменном резисторе R12, соответствующее температуре установленного порога регулирования.

Детали. В устройстве использованы постоянные резисторы типа МЛТ, подстроенные СП5-2 (R9, R15), переменный СПЗ-45 (R12), конденсаторы типа К73-17 (С11-С13), КТ1 (С10), К53-1 (С4-С7). Оптрон АОУЮ3В можно заменить АОУ115В. Индикаторы HG1-HG4 типа SA08-11HWA можно заменить отечественными КЛЦ402.

Настройка заключается в установке резистором R3 правильных показаний термометра при минимальной температуре, а резистором R4 - при максимальной. Для устранения взаимного влияния сопротивлений резисторов такую регулировку следует повторить несколько раз. Правильно собранный прибор в дальнейшей настройке не нуждается, необходимо лишь установить резистором R9 требуемое значение Dt, а резистором R15 - допустимый предел превышения температуры до включения аварийной сигнализации.

В качестве датчика температуры можно использовать полупроводниковый диод. Основными преимуществами последнего являются низкая стоимость и намного меньшая инерционность по сравнению с интегральным датчиком, точность измерений достигает 0,2°С в диапазоне температур от -50 до +125°С. Питание низковольтной части устройства осуществляется от двуполярного стабилизатора напряжением ±5 В, собранного на элементах DA2-DA3, С4-С9. Для управления оптроном U1 используется напряжение +12 В. Запрещается включение прибора без наличия заземления. Прибор имеет высокую помехозащищенность, допускающую значительную протяженность линии, соединяющей его с датчиком. Однако для обеспечения надежной работы прибора не следует прокладывать ее вблизи силовых проводов, несущих высокочастотные и импульсные токи.

Литература:

1. Ануфриев Л. Мультиметр на БИС// Радио.- 1986. №4.- C. 34-38.

2. Суетин. В. Бытовой цифровой термометр// Радио.- 1991. №10. C.28-31.

3. Гутников В. С. Интегральная электроника в измерительных устройствах. - 2-е изд. перераб. и доп. - Л.: Энергоато-миздат, 1988.

Термопары широко применяются там где необходимо точно померить высокие температуры, т емпературы вплоть до 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

© autonomichouse.ru, 2024
Автономный дом