Программная реализация работы термостата с помощью интерфейса События

Walter Frei 19/11/2015
Share this on Facebook Share this on Twitter Share this on LinkedIn

Термостат — это устройство, которое измеряет температуру системы и использует полученные данные для управления нагревателями или кондиционерами, поддерживая заданную температуру. Несмотря на то, что существует множество различных типов термостатов, в этой статье мы рассмотрим самый простой, который имеет всего два состояния вкл. и выкл. Его называют on-off или двухпозиционный переключатель. Он может быть реализован посредством физического интерфейса Events (События) в COMSOL Multiphysics.

Как работает термостат

Давайте рассмотрим классическую конструкцию термостата — возможно именно такой установлен у вас дома. Хотя существует множество различных типов термостатов, большинство из них используют одну и ту же схему управления: Датчик, контролирующий температуру, размещается внутри системы на некотором расстоянии от нагревателя. Когда температура опускается ниже установленного значения, термостат включает нагреватель. Если температура поднимается выше установленного значения, термостат выключает нагреватель. Это называется двухпозиционным контроллером. На практике у вас есть заданное значение температуры и две уставки по верхнему и нижнему пределам.

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

С другой стороны, моделирование двухпозиционного контроллера — это более комплексная задача, потому что необходимо знать некоторые начальные условия; нагреватель изменяет своё состояние, когда температура становится выше или ниже заданных значений. Другими словами, контроллер определяет в системе гистерезис. Данный способ управления может быть реализован в COMSOL Multiphysics, используя физический интерфейс Events (События).

Использование физического интерфейса Events (События) для управления нагревателем

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

Схематичный чертёж рассматриваемой тепловой системы.
Схематичный чертёж рассматриваемой тепловой системы.

Рассмотрим термическую модель устройства типа «лаборатория на кристалле» в 2D. На стеклянной пластине толщиной 1 мм с одной стороны располагается нагреватель, а с другой — датчик температуры. Нагреватель будем рассматривать, как тепловую нагрузку 1Вт, распределенную по нижней поверхности. Предположим, что датчик очень маленький и не влияет на распределение температур. На верхней поверхности пластины зададим граничное условие свободной конвекции узлом heat flux (тепловой поток). Начальная температура системы 20°C, и мы хотим, чтобы датчик поддерживал температуру в диапазоне от 45°C до 55°C.

Определение температуры датчика с помощью узла Component Coupling в COMSOL Multiphysics.
Узел Component Coupling используется для определения переменной T_s — температуры датчика.

Перед использованием физического интерфейса Events (События) необходимо определить температуру датчика в точке, как показано на скриншотах выше. Это делается для того, чтобы в дальнейшем мы могли оперировать переменной T_s в физическом интерфейсе Events (События), т.е. на глобальном уровне.

Физический интерфейс Events (События) добавляется как и любой другой в COMSOL Multiphysics. Он доступен в разделе Mathematics > ODE and DAE interfaces.

Скриншот узла Дискретных состояний.
Узел Дискретные состояния (Discrete States) используется для определения состояния нагревателя. В начале нагреватель включен.

Во-первых, мы используем физический интерфейс Events (События) для задания дискретных переменных — переменных, которые имеют разрыв на временной характеристике. Они подходят для моделирования включенного и выключенного состояний нагревателя. В рабочем окне узла Дискретные состояния (Discrete States), изображенном выше, показывается задание переменной HeaterState (Состояние нагревателя), которая умножается на значение приложенной тепловой нагрузки в физическом интерфейсе Heat Transfer in Solids (Теплопередача в твёрдых телах). Переменная имеет два значения — 0 и 1, которые зависят от температуры системы. Начальное состояние 1 означает, что моделирование начинается с включенным нагревателем. Очень важно настроить соответствующие начальные условия в этом узле. Переменная HeaterState (состояние нагревателя) будет изменяться в зависимости от температуры датчика в процессе моделирования.

Два состояния индикатора в физическом интерфейсе Events (События).
Два Индикатора состояния (Indicator States) в физическом интерфейсе Events (События) зависят от температуры датчика.

Чтобы переключить значение переменной HeaterState, необходимо задать два Индикатора состояния (Indicator States). Узел Индикаторы состояния (Indicator States) необходим для задания переменных, которые будут опредлять переключение состояния нагревателя. Определены две переменные состояния. Переменная состояния Верхняя уставка определяется как:

T_s - 55[degC]

которая плавно переходит от отрицательного значения к положительному по мере повышения температуры датчика выше 55°C. Аналогично, переменная состояния Нижняя уставка плавно переходит от отрицательного значения к положительному при температуре 45°C. Мы хотим переключать значение переменной HeaterState, когда переменные состояния будут менять знак.

Переопределение переменной HeaterState.
Переменная HeaterState переопределяется в физическом интерфейсе Events (События).

Мы используем узел Implicit Events (Неявные состояния), так как не знаем точное время, когда произойдёт переключение, однако, знаем условия, при которых должно измениться состояние нагревателя. Как показано выше, два узла Implicit Events используются для переопределения состояния нагревателя во включенное или выключенное состояния, в зависимости от того, когда переменные Верхняя уставка и Нижняя уставка становятся больше или меньше нуля соответственно. Состояние переключается, когда логическое условие истинно. Как только это произойдет, переходной решатель остановится и запустится заново с переопределенной переменной HeaterState, которая используется для задания приложенной тепловой нагрузки, как показано ниже.

Скриншот, изображающий использование переменной HeaterState для определения приложенной тепловой нагрузки.
Переменная HeaterState определяет приложенную тепловую нагрузку.

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

Настройки исследования для решателя, зависящего от времени.
В настройках нестационарного решателя задаётся общий диапазон по времени для решения от 0 до 30 минут с относительной точностью (допуском) 0.001.

Также необходимо настроить нестационарный решатель. Эти изменения могут быть сделаны до моделирования. Кликнете правой кнопкой мыши на Study, выберете "Show Default Solver" и настройте два окна, как показано ниже.

Рисунок с настройками решателя по умолчанию.
Изменение параметров решателя. Точность решения (допуск) — 0.001, сохранение результатов — только в те шаги по времени, которые делал решатель.

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

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

Резюме

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


Загрузка комментариев...

Темы публикаций


Теги

3D печать Cерия "Гибридное моделирование" Введение в среду разработки приложений Видео Волновые электромагнитные процессы Глазами пользователя Графен Интернет вещей Кластеры Моделирование высокочастотных электромагнитных явлений на различных пространственных масштабах Модуль AC/DC Модуль MEMS Модуль Акустика Модуль Волновая оптика Модуль Вычислительная гидродинамика Модуль Геометрическая оптика Модуль Динамика многих тел Модуль Композитные материалы Модуль Коррозия Модуль Механика конструкций Модуль Миксер Модуль Нелинейные конструкционные материалы Модуль Оптимизация Модуль Плазма Модуль Полупроводники Модуль Радиочастоты Модуль Роторная динамика Модуль Теплопередача Модуль Течение в трубопроводах Модуль Трассировка частиц Модуль Химические реакции Модуль Электрохимия Модуль аккумуляторов и топливных элементов Охлаждение испарением Пищевые технологии Рубрика Решатели Серия "Геотермальная энергия" Серия "Конструкционные материалы" Серия "Электрические машины" Серия “Моделирование зубчатых передач” Сертифицированные консультанты Технический контент Указания по применению физика спорта