Как использовать измеренный шаговый отклик для системы управления настройками


17

Как использовать измеренный шаговый отклик для настройки ПИД-регулятора или схемы управления сверткой?

Вдохновленный этим ответом * , меня интересует более подробное объяснение того, как реализовать систему управления на основе измеренного шага отклика.

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

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

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

Как именно это работает? ПИД-регулировка сложна ; Я предполагаю, что «контроль свертки» - это использование полюса-нуля или передаточной функции, но я не знаю точно, как получить параметры.

СВЯЗАННЫЕ: Моделирование системы для систем управления
* моделирование передаточной функции левитации мяча для пинг-понга в трубе в качестве демпфера

Ответы:


23

Вступление

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

Пример контрольной задачи

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

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

ПИД-контроль

Одним из классических способов решения этой проблемы является использование ПИД-регулятора. Еще в плейстоцене, когда это должно было быть сделано в аналоговой электронике, люди стали умнее и придумали схему, которая хорошо работала с имеющимися аналоговыми возможностями. Эта схема называлась «PID» для Пропорциональной , Интегральной и Производной .

П термин

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

То, что я описал выше, было P (пропорциональной) частью PID. Так же, как вы можете сделать выходной сигнал пропорциональным сигналу ошибки, вы также можете добавить слагаемые, пропорциональные производной по времени и интегралу от ошибки. Каждый из этих сигналов P, I и D имеет свое отдельное усиление перед суммированием для получения выходного сигнала управления.

Я срок

Термин I позволяет ошибке обнуляться с течением времени. До тех пор, пока существует какая-либо положительная ошибка, член I будет накапливаться, в конечном итоге повышая выходной сигнал управления до точки, где общая ошибка исчезнет. В нашем примере, если температура постоянно низкая, она будет постоянно увеличивать мощность на резисторе, пока выходная температура, наконец, не станет больше низкой. Надеемся, что вы можете видеть, что это может стать нестабильным даже быстрее, чем просто с высоким P-термином. Сам термин AI может легко вызвать выбросы, которые легко превращаются в колебания.

D термин

Термин D иногда опускается. Основное использование термина D состоит в том, чтобы добавить немного стабильности, чтобы термины P и I могли быть более агрессивными. Термин D в основном гласит: если я уже движусь в правильном направлении, немного откажитесь от газа, так как то, что я сейчас имею, похоже, приводит нас туда .

Tuning PID

Основы PID-управления довольно просты, но получить правильные термины P, I и D совсем не так. Это обычно делается с большим количеством экспериментов и настроек. Конечная цель состоит в том, чтобы получить общую систему, в которой выход реагирует как можно быстрее, но без чрезмерного перерегулирования или звонка, и, конечно, он должен быть стабильным (не начинать колебаться самостоятельно). Было написано много книг о ПИД-контроле, о том, как добавить небольшие морщины в уравнения, но особенно о том, как их «настроить». Настройка относится к определению оптимальных коэффициентов усиления P, I и D.

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

Вне PID

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

Импульсивный ответ

Так что забудьте об ограничениях аналоговой электроники и сделайте шаг назад и подумайте, как мы можем контролировать систему, возвращаясь к первым принципам. Что если бы для каждого маленького кусочка контрольного выхода мы знали, что будет делать система. Выход непрерывного контроля - это просто суммирование множества маленьких кусочков. Так как мы знаем, каков результат каждой части, мы можем знать, каков результат любой предыдущей истории управляющих выходов. Теперь обратите внимание, что «маленький кусочек» управляющего выхода прекрасно сочетается с цифровым управлением. Вы собираетесь вычислить, каким должен быть управляющий выход, и установить его на него, затем вернуться назад и снова измерить входные данные, вычислить новые выходные данные управления и установить их снова и т. Д. Вы запускаете алгоритм управления в цикле, и он измеряет входы и заново устанавливает управляющий выход на каждой итерации цикла. Входные данные «дискретизируются» в дискретные моменты времени, а выходные данные также устанавливаются на новые значения с фиксированным интервалом. Пока вы можете делать это достаточно быстро, вы можете думать, что это происходит непрерывно. В случае нагрева резистора, для которого обычно требуется несколько минут, безусловно, несколько раз в секунду происходит намного быстрее, чем сама система реагирует осмысленно, так что обновление выходного сигнала, скажем, 4 Гц, будет выглядеть непрерывным для системы. Это точно так же, как музыка, записанная в цифровом формате, фактически изменяющая выходное значение дискретными шагами в диапазоне 40-50 кГц, и такая быстрая, что наши уши не слышат ее, и она звучит непрерывно, как оригинал. Вы можете думать, что это происходит в непрерывном процессе. В случае нагрева резистора, для которого обычно требуется несколько минут, безусловно, несколько раз в секунду происходит намного быстрее, чем сама система реагирует осмысленно, так что обновление выходного сигнала, скажем, 4 Гц, будет выглядеть непрерывным для системы. Это точно так же, как музыка, записанная в цифровом формате, фактически изменяющая выходное значение дискретными шагами в диапазоне 40-50 кГц, и такая быстрая, что наши уши не слышат ее, и она звучит непрерывно, как оригинал. Вы можете думать, что это происходит в непрерывном процессе. В случае нагрева резистора, для которого обычно требуется несколько минут, безусловно, несколько раз в секунду происходит намного быстрее, чем сама система реагирует осмысленно, так что обновление выходного сигнала, скажем, 4 Гц, будет выглядеть непрерывным для системы. Это точно так же, как музыка, записанная в цифровом формате, фактически изменяющая выходное значение дискретными шагами в диапазоне 40-50 кГц, и такая быстрая, что наши уши не слышат ее, и она звучит непрерывно, как оригинал. конечно, несколько раз в секунду намного быстрее, чем система по существу реагирует осмысленно, так что обновление выходного сигнала, скажем, 4 Гц, будет выглядеть непрерывным для системы. Это точно так же, как музыка, записанная в цифровом формате, фактически изменяющая выходное значение дискретными шагами в диапазоне 40-50 кГц, и такая быстрая, что наши уши не слышат ее, и она звучит непрерывно, как оригинал. конечно, несколько раз в секунду намного быстрее, чем система по существу реагирует осмысленно, так что обновление выходного сигнала, скажем, 4 Гц, будет выглядеть непрерывным для системы. Это точно так же, как музыка, записанная в цифровом формате, фактически изменяющая выходное значение дискретными шагами в диапазоне 40-50 кГц, и такая быстрая, что наши уши не слышат ее, и она звучит непрерывно, как оригинал.

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

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

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

Переходная

Но есть еще способ. Хотя введение единой контрольной пробы в систему дало бы нам ее отклик на отдельные пробы напрямую, мы все же можем вывести ее, поместив известную и контролируемую последовательность контрольных откликов в систему и измерив ее реакцию на них. Обычно это делается путем установки контрольного шагав. То, что мы действительно хотим, это ответ на небольшое сообщение, но ответ на один шаг является лишь неотъемлемой частью этого. В примере с резистором мы можем убедиться, что все находится в устойчивом состоянии при 0 Вт, затем внезапно включить питание и подать 10 Вт в резистор. Это в конечном итоге приведет к хорошо измеряемому изменению температуры на выходе. Производная от этого с правильным масштабированием говорит нам ответ на отдельный контрольный образец, хотя мы не могли измерить это непосредственно.

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

Контроль свертки

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

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

Пример из реального мира

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

В этом случае вы можете видеть, что нагреватель приводился в действие с шагом около 0,35 (значение «Out»). Установка полного шага 1.0 в течение длительного времени привела бы к слишком высокой температуре. Начальное смещение может быть удалено, а результат масштабирован для учета небольшого шага ввода, чтобы вывести отклик единичного шага:

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

Обратите внимание также на небольшую шкалу значений. Импульсный отклик показан в масштабе 10 6 .

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

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

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

Так что теперь остановитесь и подумайте, что на самом деле означает этот импульсный отклик. Во-первых, обратите внимание, что он отображается раз 1M, поэтому пик на самом деле составляет 0,000240 от полной шкалы. Это означает, что теоретически, если бы система приводилась в действие одним полноразмерным импульсом только для одного из временных интервалов 500 мс, это была бы результирующая температура относительно нее, оставленная в покое. Вклад от любого периода 500 мс очень мал, что имеет смысл интуитивно. Это также, почему измерение импульсной характеристики напрямую не работает, так как 0,000240 от полной шкалы (около 1 части на 4000) ниже нашего уровня шума.

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

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

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


4
Не. тоже. потрепанный.
NickHalden

4
Я думаю, что некоторые заголовки разделов могут быть очень полезны здесь. Но потрясающе относится.
Кортук

Я опаздываю на вечеринку, но все же: внушительный ответ, Олин! :)
bitmack

7

Фильтры FIR и IIR, как упомянул Джон, являются цифровыми фильтрами, которые, как следует из названия, непосредственно реализуют свертку импульсного отклика (Finite \ Infinite Impulse Response).

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

В цифровых фильтрах импульсная характеристика уменьшается до фиксированного числа коэффициентов, которые умножают сигнал в определенной точке; точки разделяются задержками, получая, что 0 умножает мгновенное значение сигнала, в то время как a k умножает тот же сигнал после k единиц задержки.

введите описание изображения здесь

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

Чтобы получить некоторые передаточные функции, для КИХ-фильтра потребуется бесконечное число коэффициентов: в этих случаях обратная связь используется для получения БИХ-фильтров (Бесконечный импульсный отклик). Эти фильтры позволяют получить лучшие передаточные функции (например, более узкий переход между полосой пропускания и подавленной полосой в фильтрах), но могут генерировать нестабильность, в то время как КИХ-фильтры стабильны по своей конструкции.

Этот вид фильтров может быть разработан с аналоговыми схемами, но требует точных усилителей, настроенных на коэффициенты, и схем точной задержки, и имеет огромное увеличение аппаратных средств при увеличении количества отводов. Чаще всего эти фильтры реализуются в ЦСП, где операции выполняются с цифровыми сигналами намного проще.

Итак, чтобы прямо ответить на ваш вопрос : настройка цифровых фильтров выполняется просто путем установки коэффициентов для дискретного импульсного отклика.

Обновить

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

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

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

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


Отличный ответ! Чтобы завершить это, можете ли вы включить, как получить импульсную реакцию от шага? (Я вижу это в ответе @ JonWatte.)
tyblu

4

Свертка, как правило, является КИХ-фильтром, а не БИХ, как в случае с полюсами и нулями в традиционном рекурсивном фильтре. Теперь, если у вас есть пошаговый ответ, вы можете инвертировать его и предварительно свернуть ваш ответный сигнал. Конечным результатом является то, что вся система демонстрирует именно пошаговую реакцию. Однако в общем случае это приводит к групповой задержке, потому что вам нужно «предварительно загрузить» обратный ответ. В системе управления это может привести к нежелательной задержке.


@JohWatte, пример?
Кортук

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

Как вы инвертируете ответ шага? Является ли «ответный сигнал» желаемым выходом?
Tyblu

Вкратце, если я правильно помню: вы конвертируете шаговую реакцию в импульсную. Затем вычитаете импульсный отклик (с изъятым импульсом), свернутый с входным сигналом из выходного сигнала. Именно эта свертка добавляет групповую задержку (задержку). Я помню десятки лет назад хорошие ссылки на моделирование микрофонов и комнат в аудио DSP.
Джон Уотт

2

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

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

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

Вы можете начать, просто используя термин P. Если результаты не являются удовлетворительными, то добавьте термины I и D. Термин я помогает избавиться от длинных хвостов в ответ, или случаи , когда выход никогда вполне не достигает требуемого значения. Термин D полезен для ускорения отклика путем «предсказания», куда будет идти ввод. (Я думаю, хотя я не эксперт по контролю, я считаю, что термин P можно оптимизировать в абсолютном выражении, но лучший выбор терминов I и D будет зависеть не только от реакции вашей системы, но и от характеристики, такие как частотный состав и амплитуда входного сигнала)

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.