Преобразователь для термопары типа К |
В современной промышленности и судоходстве наибольшее распространение получили термодатчики на базе термосопротивлений и термопар различных видов. Для подключения к контроллерам они требуют специальных преобразователей, один из которых, для термопары типа К, представлен на этой страничке. Сразу скажу, что данный преобразователь создавался исключительно в учебно-тренировочных целях для освоения работы с термопарой, с большими коэффициентами усиления, термисторами и источниками опорного напряжения. Для практического применения лучше купить готовый модуль, например, на базе микросхемы MAX6675. В чем же трудности при создании преобразователя для термопары? Во-первых, большой коэффициент усиления : поднять напряжение с термопары необходимо более чем в 100 раз. От сюда вытекают проблемы, связанные с характеристиками применяемых операционных усилителей : усиливается не только полезный сигнал, но и шумы, наводки и напряжение смещения ОУ. Во-вторых, термо-ЭДС в термопаре возникает благодаря разнице между температурами холодного и рабочего спая, то есть замерив это напряжение, мы узнаем только разницу между температурами спаев, а чтобы определить полную величину, нам нужно знать еще и температуру холодного спая (или ее эквивалент напряжения), а значит нужен еще один датчик. В-третьих, термо-ЭДС нужно пересчитать в температуру, что требует от контроллера много памяти или вычислительных мощностей, если воспользоваться таблицами или полиномами из ГОСТ Р 8.585-2001. Ниже представлена попытка решить или обойти эти проблемы. На следующем рисунке вы увидите электросхему преобразователя температуры. Под ней приведены пояснения, которые помогут лучше понять принцип работы устройства. |
ЭЛЕКТРОСХЕМА |
Как работает схема. Термопара подсоединяется к клеммнице K-TYPE (1-плюс, 2-минус). Сигнал с разъема 1 фильтруется, усиливается в операционном усилителе LM358.1, снова фильтруется, после чего подается на аналоговый вход Arduino. Нижняя часть схемы на базе усилителя LM358.2 и микросхемы TL431A служит для создания опорного напряжения, чтобы "приподнять" сигнал с датчика. Это нужно для возможности замера отрицательных температур, а также, чтобы решить проблему напряжения смещения ОУ. Для компенсации температуры холодного спая используется термистор MF52. Он выполнен отдельным модулем и на этой схеме не показан. Рассмотрим назначение элементов схемы подробней.
|
СБОРКА ПЛАТЫ |
Схема пайки элементов преобразователя температуры представлена на рисунке ниже. За базу взята макетная плата 45х60 мм. Конечно вы можете расположить элементы по другому и более компактно. Примечания :
|
ТЕСТОВЫЙ СТЕНД |
Для проверки работы преобразователя температуры вы можете собрать тестовый стенд, схема которого представлена ниже. Управлять системой можно с помощью трех кнопок : НАСТРОЙКИ, ВВЕРХ, ВНИЗ. Рассмотрим их функции подробно : Кнопка НАСТРОЙКИПри нажатии этой кнопки вы попадете в меню настроек. Продолжая нажимать эту кнопку, вы будете последовательно переходить по пунктам меню. После последнего пункта вы снова выйдите в основной экран. Изменение параметров осуществляется кнопками ВВЕРХ и ВНИЗ. Изменение цифровых параметров сразу принимается системой, подтверждение не нужно. Пройдемся по пунктам меню Настройки.
Кнопки ВВЕРХ-ВНИЗЭтими кнопками меняются значения параметров. Индикация LCDВерхняя строчка Нижняя строчка |
КАЛИБРОВКА ДАТЧИКА |
В теории, для того, чтобы рассчитать температуру в точке замера, необходимо замеренное напряжение на термопаре перевести в разницу температур между рабочим и холодным спаем (по таблице из ГОСТ Р 8.585-2001 или по формуле из того же ГОСТа), а затем прибавить к полученному результату температуру холодного спая, полученного с датчика MF52. Для этого понадобится забить таблицу из ГОСТ в контроллер, на что его памяти может не хватить, или придется воспользоваться довольно пространной формулой, что может сильно загрузить PLC. Можно ли обойтись без этого и применить простую интерполяцию по двум точкам? Давайте проверим точность замера при таком допущении. По расчетам выше, крайние точки диапазона замера напряжения лежат в пределах от -1,709 мВ до +7,939 мВ при температурах рабочего спая от -45ºС до +195ºС (температуру холодного спая берем за 0ºС, как в таблице). Если предположить, что характеристика термопары линейная, то в ее центре мы получим +3,115 мВ при +75ºС. Сверимся с таблицей : при +3,115 мВ по таблице мы получим +76,35ºС. Разница в 1,35ºС, что составляет 0,56% от всего диапазона замера (240ºС). Посмотрев на график характеристики термопары типа К, можно заметить, что небольшой перелом линейности происходит в нулевой точке. Если калибровать датчик только по положительной части характеристики от 0 мВ до +7,939 мВ при температурах рабочего спая от 0ºС до +195ºС, то в средней части этого диапазона мы должны иметь +3,9695 мВ при температуре +97,5ºС. Сверившись с таблицей, при +3,9695 мВ мы получим +96,94ºС. Погрешность составляет 0,56ºС или 0,28% от диапазона измерения. Я думаю, что такая погрешность не является критичной при обычном использовании данного преобразователя температуры (нагревательные приборы, котлы). К тому же всегда можно применить программную поправку для корректировки температуры в рабочей области прибора. Итак, опишем процесс калибровки преобразователя. Прежде всего, установите модуль термистора MF52 как можно ближе к месту подсоединения проводов термопары (холодный спай). После включения контроллера проверьте показания температуры термистора. При необходимости скорректируйте. Туда же поднесите датчик термопары (рабочий спай), чтобы температуры обоих спаев и термистора были одинаковы. В этом случае термо-ЭДС термопары будет равна нулю. Но так как мы "подняли" напряжение с термопары, чтобы иметь возможность замерять отрицательные температуры, в верхней строчке в скобках будет какое-то число - это вольтаж с аналогового порта датчика температуры, переведенный в цифровой вид. Занесите это число в MinVolt, а в MinTemp 0ºС (ноль). Это будет нижняя точка температурной характеристики датчика. Далее нагрейте чайник или потер с водой, доведя ее до кипения, и опустите в нее датчик. Цифру в скобках верхней строчки экрана занесите в MaxVolt. В MaxTemp вбейте температуру, равную 100ºС минус температура холодного спая. Ее можно взять из нижней строчки экрана в скобках. Если все прошло нормально, в нижней строчке под буквой "Т" вы получите итоговую температуру датчика (разница температур между рабочим и холодным спаем плюс температура холодного спая, полученная с датчика MF52). Результаты замеров в скетче могут выглядеть подобным образом :
Внимание! Если после замера температуры в кипящей воде вы захотите и дальше продолжить измерения и калибровку, обязательно тщательно просушите датчик термопары, особенно, если он выполнен в оплетке. Иначе испаряющаяся с датчика вода даст сильные искажения (остудит термопару ниже реальной температуры воздуха). Если вам надо поднять или опустить характеристику термопары, воспользуйтесь потенциометром POTI2. Чтобы расширить или сузить диапазон работы преобразователя, измените коэффициент усиления с помощью потенциометра POTI1. |
ЧТО НУЖНО ДЛЯ ПРОЕКТА |
Термопреобразователь
Тестовый стенд
|
ТЕСТОВЫЙ СКЕТЧ |
Ниже представлен скетч системы управления. В этом окне он неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке. Обратите внимание, если вы захотите подать на LM358 двухполярное питание, то его отрицательную часть можно сформировать с помощью ШИМ-сигнала от Arduino и специального модуля. Для его работы в скетче есть несколько закомментированных строк. Для работы этого скетча вам понадобятся дополнительные библиотеки :
Если есть возможность, проверьте эти библиотеки на наличие обновлений. |