logo
Автоматизируй с нами!
+7 (958) 756-82-62 (WhatsApp)

Что такое алгоритмы PID и fuzzy logic?

Медведев В.

 

В описаниях и инструкциях ко многим блокам управления встречаются «магические» слова – алгоритм PID или PID fuzzy logic. Разберём, что же они означают применительно к системам отопления.

 

Управление обогревом

 

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

В твердотопливных котлах с водяной рубашкой управление обогревом можно автоматизировать с помощью микропроцессорных контроллеров. Человек «поручает» электронному блоку регулировать наддув (а значит, интенсивность горения и расход топлива), циркуляцию теплоносителя (а значит, подавать в помещение именно столько тепла, сколько нужно), и другие параметры. Для этого контроллеры прошивают программами, в которых прописаны действия подключённых устройств. «Ощущениями» для контроллера служат датчики – температуры котла, теплоносителя в контуре и т. д.

 

Простой пример

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

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

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


Сложная система отопления с несколькими контурами и разными теплообменными устройствами.

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

 

Алгоритм PID

Строго говоря, PID и fuzzy logic – это математические термины, и на русском они звучат, соответственно, пропорционально-интегрально-дифференциальное (ПИД) управление и нечёткая логика. Применяются в теории автоматического управления и кибернетике, и формулы там длиной в полстроки, но мы постараемся избежать скучного матана и объяснить всё на понятном языке в сфере отопления.

Итак, ПИД складывается из трёх составляющих.

Пропорциональное управление – когда величина (мера) действия пропорциональна обратной связи, т. е. сигналу датчика, вернее, разнице между показанием датчика и заданной температурой. Это самая простая регулировка. Чем холоднее датчик, тем больше обороты вентилятора, а при переходе выше заданного значения – наоборот, чем горячее, тем слабее наддув.

Ясно, что в такой инерционной системе, как топка с водяной рубашкой, огонь невозможно раздуть в мгновение ока, как не получится и быстро пригасить раскочегаренный котёл, не говоря уж о прогреве/остывании теплоносителя. Если неправильно подобрать коэффициент пропорциональности датчик-обороты, то систему будет постоянно выбрасывать выше-ниже заданной температуры, либо же она очень долго будет выходить на режим, пока, скорее всего, не выгорит закладка топлива.

 

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

Синяя линия – слишком большой коэффициент, система постоянно «раскачивается», и в итоге так и не выравнивается.

Фиолетовая линия – некий средний коэффициент, который позволяет сравнительно быстро подобраться к заданной температуре, но, как видим, с перехлёстом.

А как подбирать коэффициент? И разве пользователь котла должен об этом задумываться?

 

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

 

Однако и второй коэффициент не сильно улучшает ситуацию, так как мы имеем дело с физическими устройствами и явлениями – датчиками, электроникой, нагревом, током, горением, в конце концов. В сигналы неизбежно добавляются «шумы», случайные кратковременные всплески значений.

 

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

Но в целом-то образ линии сохраняется!

Чтобы программа не реагировала на такие «зигзаги», добавляется третий коэффициент – интегральный, при котором алгоритм вырабатывает реакцию пропорциональную не всплеску, а сумме значений за какой-то отрезок времени (минимальный), т. е. математически интегрирует функцию.

 

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

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

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

 

Алгоритм fuzzy logic

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

Для этого используются алгоритмы на базе нечёткой логики (fuzzy logic). Очень упрощённо принципы fuzzy logic в применении к отопительным системам можно изложить так:

  • много – уменьшай;

  • норма – не меняй;

  • мало – увеличивай.

Это выглядит забавно и может даже вызвать недоумение, дескать, что ж тут военного? На деле же это ещё более сложная математика, чем ПИД, с производными производных, логическими операторами и матричной алгеброй. Нечёткая логика именно потому называется нечёткой, что работает не с конкретными переменными, а с так называемыми функциями принадлежности, то есть, попадает ли значение параметра в ту или иную область, и как на него реагировать системе в целом. Три приведённых принципа раскрываются в более широкие условия с логическими «и»:

 

  • если больше нормы и отклонение растет и скорость роста увеличивается – команда на уменьшение;

  • если значение в пределах нормы и не изменяется – никаких действий;

  • если меньше нормы и понижается и падение ускоряется – команда на увеличение.

 

В переходных режимах и при колебаниях в управляющую программу подключаются всё новые переменные, операторы «или». Например, «если больше нормы, отклонение растёт, и скорость роста снижается или постоянна», и т. д. Как и в случае с PID-алгоритмами, лишь развитие микропроцессорной техники позволило реализовывать подобные вычисления и проектировать управляющие устройства на основе fuzzy logic.

 

Сочетание алгоритмов PID и fuzzy logic

 

У алгоритма на основе нечёткой логики в целом короче переходной режим и меньше амплитуда стартовых колебаний. Схематически это показано на графике:
 


Зелёная линия – fuzzy logic, синяя - PID

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

Лучшим решением является соединение двух алгоритмов. При этом PID сохраняет свою быстроту и «чёткое» взаимодействие на аппаратном уровне с управляемыми устройствами. Алгоритм fuzzy logic, в свою очередь, может использоваться для оптимизации ПИД-коэффициентов, когда программа будет обрабатывать входные параметры в многоконтурных системах с наборами различных датчиков. Таким образом, достигается высокая эффективность управления, уменьшается количество ошибок, а пользователь получает надёжное и экономичное отопление.

Купить автоматику с алгоритмами PID и fuzzy logic одновременно можно на нашем сайте либо обратиться любым удобным способом к нашим менеджерам:
       

Подписывайтесь на нашу страницу в Facebook: