exponenta event banner

Аппроксимация нелинейных отношений: термопара типа S

В этом примере показано, как аппроксимировать нелинейные отношения термопары типа S.

Моделирование термопар и преобразование сигналов

Термопара является одним из популярных сегодня аналоговых преобразователей, наряду с другими устройствами, такими как датчики положения, тензодатчики, датчики давления и резистивные температурные устройства (RTD). Действует по принципу эффекта Зеебека (a.k.a. термоэлектрический эффект), термопары имеют эмпирически определенное нелинейное поведение, которое хорошо известно в полезном рабочем диапазоне каждого типа перехода. При запуске модели можно увидеть совокупное влияние каждого компонента на точность динамических измерений. Этот пример будет посвящен моделям для каждого из этих компонентов в системе динамического измерения температуры для типа S (Platinum-10% Rhodium (+) по сравнению с Platinum (-)): устройство термопары и узел зонда, способ кондиционирования сигнала, аналого-цифровой преобразователь (АЦП) и спецификация программного обеспечения для преобразования выхода АЦП в значение температуры. В дополнительном разделе показано, как получать и использовать стандартные данные термопар NIST ITS-90 с моделями Simulink ®. Таблицы подстановок и полиномиальный блок используются в этой конструкции для фиксации нелинейного поведения термопары. Заметим, что блок многочлена является жизнеспособной альтернативой таблицам поиска для некоторых приложений, минимизируя использование ПЗУ за счет некоторых дополнительных вычислений для полного представления многочлена.

Открытие модели

open_system('sldemo_tc')

Рис. 1: Система измерения температуры: цепочка компонентов от физического явления до программных значений

Моделирование сигнала термопары

Двумя основными особенностями модели термопары являются динамика зонда и шарика и преобразование температуры термопары в сигнал милливольта. Динамика зонда + шарика моделируется как 30 мс система первого порядка, а поведение нелинейной термопары моделируется с использованием данных полинома сегмента 1 из NIST Standard Database 60 для термопары типа S от -50 до 1063 ° C. Для численной стабильности коэффициенты масштабировали для возврата микровольт из полиномиального блока. Выход подсистемы модели термопары 1 типа S затем преобразуется в вольт с помощью блока преобразования единиц измерения. Следует отметить, что единицы измерения указываются на входных и выходных портах подсистемы и отображаются на значках подсистемы. Дополнительные сведения об единицах измерения см. в разделе Спецификация единиц измерения в моделях Simulink.

Альтернативной реализацией использования многочлена является интерполированная таблица подстановки. Данные таблицы могут использоваться в блоке таблицы поиска вместо блока полинома. Данные образца были получены из NIST Standard Database 60 для термопары типа S в файле sldemo_create_tc_tabledata.m Доступ к этой базе данных описан ниже в разделе «Процедура загрузки и импорта справочных данных термопар».

Сглаживающий фильтр и модели аналого-цифрового преобразователя (АЦП)

АЦП в этой модели ожидает сигнал от 0 до 5 В, поэтому исходное напряжение датчика термопары смещается и усиливается в соответствии с диапазоном от -0,235 мВ до 18,661 мВ (от -50 ° С до 1765 ° С). Фильтр сглаживания Баттерворта третьего порядка был разработан для Wn = 15 Гц с использованием Toolbox™ обработки сигналов:

[num,den] = butter(3, 15*2*pi, 'low', 's')

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

Алгоритм квантования в модели принимает сигнал от 0 до 5 вольт и выводит 12-битное цифровое слово в 16-битном целочисленном знаке. Значение 0 соответствует 0 В, а значение 4096 соответствует 5 В. Изменение младшего бита (LSB) составляет около 1,2 мВ. Поскольку 12 бит могут достигать только значения 4095, наибольшее напряжение, которое может считываться этим устройством, составляет приблизительно 4,9988 вольт. Для того чтобы иметь не более 1/2 ошибки LSB в рабочем диапазоне, квантователь изменяет значения посередине между каждой точкой напряжения, что приводит к интервалу 1/2 ширины при 0 В и интервалу 3/2 ширины чуть ниже 5 В. Последний интервал имеет 1 полный LSB из-за размера 3/2 ширины.

Общие сведения о преобразователях данных

sldemo_adc_quantize модель позволяет более подробно исследовать компонент аналого-цифрового преобразователя:

open_system('sldemo_adc_quantize')

Рис. 2: Подробности моделирования квантования АЦП (время нулевого преобразования)

sim('sldemo_adc_quantize')
set(gcf,'Color',[1,1,1]);

Рис. 3: Характеристика квантования АЦП.

ax = get(gcf,'Children');
set(ax(1), 'xlim', [4085, 4100]);

Рис. 4: Характеристика квантования АЦП: увеличен в верхней части диапазона, чтобы показать поведение 1 ошибки LSB на высоком уровне (остальная часть диапазона имеет только 1/2 максимальной ошибки LSB).

Спецификация программного обеспечения для преобразования выходного сигнала АЦП в значения температуры

Для подсистемы преобразования входных данных требуется 16-битный беззнаковый целочисленный вход от АЦП, полный диапазон масштабирования которого составляет от 0 до 4095 счетчиков, что соответствует напряжению термопары -0,235 мВ и 18,6564 мВ. Оптимальным и быстрым алгоритмом преобразования входных данных является таблица прямого поиска. Поскольку входной сигнал является целым числом от 0 до 4095, может быть создана таблица, которая дает температуру термопары, соответствующую каждому возможному входному значению, так что процесс преобразования может быть сведен к индексации в таблицу. Это, однако, требует одного числа на выходное значение АЦП и для 12-битного АЦП это может быть нагрузкой в средах с ограниченной памятью. Для данных с двойной точностью требуется 16 кБ ПЗУ. См. файл sldemo_create_tc_tabledata.m для метода, используемого для построения таблицы прямого поиска на основе справочных данных термопары типа S. Ошибка, связанная с этим подходом, полностью изолирована от процесса построения таблицы, поскольку имеется выходное значение, связанное с каждым возможным входным значением - процесс поиска во время выполнения не приводит к дополнительной ошибке.

В модель также была введена интерполированная таблица, использующая только 664 байта. Это является большим сокращением требуемого ПЗУ по сравнению с прямым просмотром таблицы, но для вычисления требуется немного больше времени, чем для косвенного доступа к памяти, и вносит ошибку в измерение, которая уменьшается по мере увеличения количества точек в таблице.

open_system(sprintf('sldemo_tc/3 Software specification\nfor converting\nADC values to temperature'))

Процедура загрузки и импорта справочных данных термопар

С помощью NIST ITS-90 Thermocuple Database (Standard Reference Database 60 from NIST Monography 175) можно получить доступ к стандартным справочным данным, описывающим поведение восьми стандартных типов термопар. Эта база данных относится к выходу термопар по международной шкале температур 1990 года. Выполните следующие действия, чтобы получить и прочитать данные, необходимые для полного выполнения файлов поддержки, включенных в этот пример:

1. Посетите сайт NIST Standard database 60 в Интернете и загрузите файл all.tab в локальный каталог. Этот файл находится под гиперссылкой «Все типы термопар». После завершения загрузки вернитесь на эту страницу.

2. cd в каталог, в который загружена база данных термопар all.tab

3. Проанализируйте базу данных и преобразуйте ее в массив структуры MATLAB с помощью инструмента преобразования readstdtcdata.m:

tcdata = readstdtcdata('all.tab');
save thermocouple_its90.mat tcdata;

(совет: выделите вышеупомянутый код MATLAB и используйте для его выполнения контекстное меню «Evaluate Selection»)

Теперь имеется полный набор данных температуры (T, degC) и напряжения (E, mV), аппроксимирующих полиномиальные коэффициенты и обратные полиномиальные коэффициенты для стандартных термопар типов B, E, J, K, N, R, S и T в переменной tcdata файла thermocouple_its90.mat. Сценарий MATLAB в sldemo_create_tc_tabledata.m использует эти данные для подготовки параметров блока таблицы поиска, используемых в модели примера.

Кондиционирование справочных данных для использования в справочной таблице

При просмотре таблиц данных термопар в структуре tcdata или в файле all.tab можно заметить несколько моментов:

  • Повторяющиеся точки температуры 0 ° C в данных

  • Повторяющиеся точки напряжения в данных из-за 3-значного формата вывода

  • Немонотонное поведение с двумя температурами, имеющими одинаковый выход, например, для термопары типа В T (E) не работает, но E (T) работает

Процедура readstdtcdata () удаляет повторяющиеся точки температуры 0 ° C из данных, но повторяющиеся напряжения, обусловленные форматом данных и немонотонным поведением некоторых концов кривой, должны рассматриваться на индивидуальной основе. Ссылочная модель с именемsldemo_tc_blocks был построен с использованием sldemo_tc_blocks_data.mat. Он содержит таблицы подстановки с данными, заполненными из интерполирующих полиномов для восьми стандартных термопар в all.tab:

open_system('sldemo_tc_blocks')

Рисунок 5: полный спектр Интерполированные Столы Термопары на 2 градуса Цельсия создан из СВОИХ 90 Полиномиалов Интерполяции

Ссылки

1. NIST ITS-90 URL-адрес базы данных термопар: https://srdata.nist.gov/its90/main

2. «Эталонные функции температуры-электродвижущей силы и таблицы для обозначенных буквами типов термопар на основе ITS-90.» Национальный институт стандартов и технологий, монография 175; 1993. 630 с.

3. Международная температурная шкала 1990 года (ИТС-90), Консультативный комитет по термометрии (ККТ) Международного комитета по весам и мерам (КИПМ)

4. Термоэлектрические эффекты в металлах: термопары, S.O. Kasap 1997

ПРИМЕЧАНИе.Для определения эмпирических взаимосвязей сложных систем, таких как двигатели, и для подгонки моделей к измеряемым данным MathWorks ® предлагает панель инструментов калибровки на основе моделей, в которой используется методология проектирования экспериментов для оптимизированного создания базы данных таблиц, а также извлечения значений и автоматического заполнения таблиц компонентами.