Русский
Русский
English
Статистика
Реклама

Simulink

MATLAB. Пиратство в России. Религия в ИТ. Как управлять инженерами и как их мотивировать?

30.10.2020 20:07:38 | Автор: admin

Вы думаете, что MATLAB только для ученых и студентов? Тогда вы отстали от жизни. Мы встретились с техническим директором компании ЦИТМ Экспонента, единственного представителя MathWorks в России, чтобы это обсудить.

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

В статье приведен краткий и творчески переработанный текст интервью. Если хочется подробностей или лень читать, смотрите полную версию на моем YouTube-канале.

Фарида Рословец:
Есть мнение, что MATLAB только для студентов и ученых. Можешь это прокомментировать?

Денис Жегалин:
Нас в вузе тоже учили матлабу, самым основам, и, если бы я так и остался с этим знанием, я бы тоже так думал. Но на четвертом курсе я попал на практику в Сименс и тут мне показывают, что вся разработка алгоритмов управления автомобильным двигателем строится на MATLAB, Simulink и Stateflow, и я такой Чтооо?. Добило меня, когда я понял, что автомобильные концерны ставят друг другу ТЗ в виде симулинк-моделей. У меня тогда что-то сломалось в голове и мое мнение о матлабе поменялось.

Для каких задач матлаб чаще всего используют?

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

Какой среди ваших клиентов процент гос. рынка?

Думаю, около 80-90? Я думаю, что коммерческие часто идут на торренты, скачивают матлаб и пользуются.

Вопрос пиратства для вас острый?

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

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

Инженерный консалтинг?

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

Пиратов меньше стало?

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

Когда я анализировала HeadHunter, все вакансии даже по системам управления или обработке сигналов всегда или/или. Либо матлаб, либо C, либо матлаб, либо R, либо матлаб либо, либо Python, то есть нет четкого требования. Это такой завуалированный ход? Можно из этого сделать вывод, что эта компании работает на MATLAB?

Ну да, зачем они стали бы еще писать MATLAB? Написали просто C, и все. Я прихожу в любую компанию: Матлаб видели? Да. Работаете? Да. Лицензий ноль. Куда бы я не пришел, везде пиратство, почти 90% случаев. Даже в тех компаниях, куда уже продали лицензию, пиратство есть. Нам иногда присылают запросы технической поддержки с пиратских лицензий.

По поводу олдскул-инженеров. Ты сказал, что 85% ваших заказчиков это госкомпании, и вам приходится с этими старыми инженерами работать, приходится к ним приходить, доказывать, что это нужно. Вот как ты им объясняешь?

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

Часто их отпускает? Как часто тебя посылают с твоими предложениями в итоге эти олдскул-инженеры, именно по причине непонимания?

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

Почему о вас так мало знают коммерческие компании? Я взаимодействую, например, с большим количеством Data Science-специалистов из крупных компаний, они знать не знают, что такое Экспонента. Почему вы не развиваетесь, не растите охват?

С начала существования компании прошло всего три года. До этого мы были частью компании Softline (прим.: международная IT-компания), которая очень большая, известная. Какое-то время должно пройти, прежде чем мы сможем поднять новый бренд.

Давай поговорим про конкурентов. Я тебе прочитаю такой текст: Когда вы настраиваете чужой продукт без доступа к разработчику, вы бьетесь головой о стену, найти автора не представляется возможным физически, исправить по вашему желанию ничего нельзя. Потому что западному разработчику на одну тысячную процента мирового рынка просто наплевать. А когда вы можете зайти к разработчикам, поговорить о ваших проблемах, и для вас внесут изменения в ядро и допишут нужные функции это бесценно. Вячеслав Петухов, компания SimInTech. Что ты по этому поводу думаешь? Что ты можешь на это ответить?

Первое: над оптимизацией ядра МATLAB работает огромное количество гениальных инженеров, которые день ото дня улучшают его. Второе: все надстройки, которые на этом ядре крутятся функции, разные тулбоксы, блоки Simulink все это можно создавать и добавлять самостоятельно. Когда к нам обратилась компания с заказом по моделированию нефтегазовой колонны, мы взяли и создали эту библиотеку под ключ, просто взяли и разработали. И здесь даже не нужны разработчики MATLAB, библиотеку мы сделали без сами.

А исправление багов?

Баги очень быстро исправляются, если не в ближайшее время, то в следующем релизе точно. Поддержка MathWorks одна из лучших поддержек в мире, это раз. Во-вторых, оперативную поддержку осуществляем мы. Сначала нам приходит вопрос, мы сами воссоздаем, тестируем, и дальше уже передаем туда. А найти какой-то баг, который не решаем такого вообще, в принципе, не может быть, мы не видели такого ни разу за 10 лет.

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

Есть мнение, что первая и самая древняя стратегия управления людьми это Библия. Ты согласен с этой мыслью?

Нет. Если почитать Библию, то там про управление людьми немного написано совсем. То есть религию пытаются выставить, как средство управления народом, но я считаю, что она скорее дает некую свободу человеку. Я бы реально хотел посмотреть, как попробуют управлять мной с помощью Библии.

Генеральный директор вашей компании является соучредителем церкви. Ты в ней состоишь. Тебе это как-то помогает управлять?

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

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

Кстати, интервью с главным конкурентом уже на Хабре! Посмотрите на альтернативный взгляд.

Подробнее..

SimInTech первая среда моделирования в России, импортозамещение, конкуренция с MATLAB

06.10.2020 14:22:26 | Автор: admin

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

С этим вопросом я пришла к Вячеславу Петухову, основателю компании 3В Сервис, которая производит отечественную среду моделирования и разработки SimInTech. После попытки продать свою разработку в Америке он вернулся в Россию и делает конкурента MATLAB здесь.

Поговорили о трудностях внедрения сложного IT-продукта на российский рынок, маркетинге на грани, принципах работы SimInTech и её преимуществах перед MATLAB.


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

Фаря:
На чём написана среда SimInTech?

Вячеслав Петухов:
Изначально и сейчас она написана на Паскале.

Серьёзно? Кто-то на нем еще пишет?

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

Если сравнивать с MATLAB, то какие библиотеки SimInTech, по твоему мнению, самые сильные сейчас, какие еще недоработанные, какие планируется доработать?

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

В целом у нас нет ничего неудачного, но есть области, где мы еще не копали. Допустим, в MATLAB есть тулбокс для расчета динамики летательных аппаратов, а у нас нет. Но это не потому, что у нас что-то не хватает, просто мы этим не занимаемся.

А что на счетавтоматической генерации кода? MATLAB этим очень кичится.

Это смешно. Матлабовская кодогенерация это просто смех. Если говорить про наш продукт, то теперь операторы АЭС открывают ноутбук на станции, открывают схему в SimIntech, подключают к стойке, которая управляет реактором, и правят эту схему. Программиста нет.

***

Мне кажется, это очень интересная история, что вы делаете свой сложный российский продукт, но почему у вас такой жесткий маркетинг? Почему в каждую дырку (отверстие) нужно обязательно вставлять MATLAB?

Потому что изначально все наши коммерческие проекты начинались тем, где обкакивался MATLAB. Я считаю, что MATLAB у нас используют все, это стандарт де-факто, они на рынке, все их знают. И вот мы приходим и говорим: У нас есть всё то же самое, только лучше. Но часто возникает проблема, если приходишь с российским продуктом: Это что, импортозамещение? Взяли, денег намыли, теперь нам пытаются впарить это

Вот одна из твоих цитат из ВКонтакте:

И при этом ты говоришь, что по отношению к SimInTech понятие импортозамещение употреблять не стоит. Хотя тут сам на это и намекаешь.

Здесь написано, что ВУЗ заплатил 25000000 . За что? Зачем ВУЗу на 25000000 покупать MATLAB?

А зачем ему SimInTech покупать?

SimInTech не надо покупать. Качай и учи. Передаточные функции, фазочастотный анализ, устойчивость. Это всё можно делать бесплатно. У нас можно качать демоверсию и в ней всё это делать.

И сколько эта демоверсия доступна?

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

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

Это понятно. Но моя задача тебе продать. Как еще я тебе продам, если ты пользуешься MATLAB? Ты позовёшь своих инженеров и скажешь им: Вот пришли ребята, хотят нам предложить аналог MATLAB. А у инженера в матлабе наработана библиотека и куча всего. Он откроет SimInTech и скажет: Ой, да у вас интерфейс не такой, да у вас линии неправильные рисуются и т.д.

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

Наш заказчик к нам придёт, потому что у него проблема с MATLAB. А те, у кого нет проблем с MATLAB, кого всё устраивает, в принципе, не наши заказчики. Они не придут. Мне нужно, чтобы все знали, что SimInTech это то же самое, что MATLAB, но лучше.

То есть ты за счёт MATLAB пиаришься?

Ну да.

***

А зачем ты приходил к конкурентам в Софтлайн (дистрибьюторы MATLAB)?

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

Чем закончилась ваша встреча?

Их директор сказал: Мне не интересно, у меня и так всё хорошо. Не захотел участвовать в процессе маркетингового сопровождения: уроки, презентации, материалы, учебная литература. Я хотел, чтобы Софтлайн, как он продаёт MATLAB, продавал SimInTech. Деньги, которые сейчас уходят в Америку, можно было бы оставлять у себя и делить с нами.

Очень амбициозно

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

Подробнее..

3. ЧАСТОТНЕ ХАРАКТЕРИСТИКИ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (АФЧХ, ЛАХ, ФЧХ) ч. 3.1

07.12.2020 02:05:58 | Автор: admin

Лекции по курсу Управление Техническими Системами, читает Козлов Олег Степанович на кафедре Ядерные реакторы и энергетические установки, факультета Энергомашиностроения МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


В предыдущих сериях:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 2.3, 2.3 2.8, 2.9 2.13


В этом разделе мы будем изучать частотные характеристики, тема сегодняшней статьи:
3.1. Амплитудно-фазовая частотная характеристика: годограф АФЧХ, ЛАХ, ФЧХ


Будет интересно познавательно и жестко.




3.1. Амплитудно-фазовая частотная характеристика: годограф АФЧХ, ЛАХ, ФЧХ


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



Рис. 3.1.1 Схематическое представление синусаидального воздействия

Формула синусаидального воздействия может быть записана как:

$sin(\omega \cdot t+\phi) = sin \left[ \omega(t + \frac{\phi}{\omega}) \right] = sin \left[ \omega(t + \Delta t) \right];$



Рисунок 3.1.2 График представления синусаидального воздействия

$\phi $ сдвиг фазы (не редконазывают фаза);
$A$ амплитуда;
$A \equiv A(\omega); \phi \equiv \phi( \omega) $ т.е. амплитуда на выходе звена(системы) и сдвиг фазы зависят от частоты входного воздействия x(t).


Используем показательную форму записи функции единичного гармонического воздействия и отклика на это воздействие (рис. 3.1.1):

$sin(\omega \cdot t) = e^{i \cdot \omega \cdot t}$


$$display$$\left \{ \begin{align} x(t)&= e^{i \cdot \omega \cdot t} = cos (\omega \cdot t) + i \cdot sin(\omega \cdot t)\\ y(t)&= A\cdot sin(\omega \cdot t+ \phi) \Rightarrow A \cdot e^{i(\omega \cdot t+\phi)}=A \cdot e^{i\cdot \omega \cdot t} \cdot e^{i \cdot\phi} = A(\omega) \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi(\omega)} \end{align} \right.\ \ \ \ \ \mathbf{(3.1.1)} $$display$$


Определим связь между передаточной функцией и гармоничным воздействием, пользуясь показательной формой.
Рассмотрим звено уравнение динамики которого имеет следующий вид:

$T^2_2y''(t)+T_1y'(t) = K[\tau \cdot x'(t)+x(t)].\ \ \ \ \ \mathbf{(3.1.2)} $


В показательной форме:

$(T^2_2\cdot s^2+T_1 \cdot s+1)\cdot Y(s) = K[\tau \cdot s+1] \cdot X(s)$


Передаточная функция:

$W(s)= \frac{K(\tau \cdot s +1)}{T^2_2 \cdot s^2+T_1 \cdot s+1}\ \ \ \ \ \mathbf{(3.1.3)} $


Запишем в показательной $x, x', y, y', y''$ форме используя соотношения 3.1.1:

$x(t)=e^{i \cdot \omega \cdot t};\\ x'(t)=i \cdot \omega \cdot e^{i \cdot \omega \cdot t};\\ y(t) = A \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi};\\ y'(t)=A \cdot i \cdot \omega \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi};\\ y''(t)=A \cdot (i \cdot \omega)^2 \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi};$


Подставим эти соотношения в (3.1.1) получим:

$T^2_2\cdot A \cdot (i \cdot \omega)^2 \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi} +T_1\cdot A \cdot i \cdot \omega \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi} + A \cdot e^{i \cdot \omega \cdot t} \cdot e^{i \cdot \phi}= \\ =K[\tau \cdot i \cdot \omega \cdot e^{i \cdot \omega \cdot t}+e^{i \cdot \omega \cdot t}] \Rightarrow \\ A \cdot e^{i \cdot \phi} \cdot [T^2_2\cdot (i \cdot \omega)^2+ T_1 \cdot (i \cdot \omega)+1] = K[\tau \cdot (i \cdot \omega)+1] \\ $


Поскольку $A \equiv A(\omega); \phi \equiv \phi( \omega) $ (амплитуда на выходе звена(системы) и сдвиг фазы зависят от частоты входного воздействия), то можно записать:

$A(\omega) \cdot e^{i \cdot \phi(\omega)}=\frac{K[\tau \cdot i \cdot \omega+1]} {T^2_2(i \cdot \omega)^2+ T_1(i \cdot \omega)+1}\ \ \ \ \ \mathbf{(3.1.4)}$


если вспомнить, что в преобразования Лапаласа $s = i \cdot \omega$, то:

$\frac{K[\tau \cdot i \cdot \omega+1]} {T^2_2(i \cdot \omega)^2+ T_1(i \cdot \omega)+1} = \frac{K[\tau \cdot s+1]} {T^2_2 \cdot s^2+ T_1\cdot s+1} =W(s);$


Получаем выражение для передаточной функции

$A(\omega) \cdot e^{i \cdot \phi(\omega)} = W(i \cdot \omega) =W(s)\ \ \ \ \ \mathbf{(3.1.5)}$


$W(i \cdot \omega) $ Амплитудно-фазовая частотная характеистика (АФЧХ)
Иногда $W(i \cdot \omega) $ называют частотной передаточной функцией.
Модуль АФЧХ=$mod W(i \cdot \omega) $ тождественно равен амплитуде выходного сигнала:

$A(\omega) = |W(i \cdot \omega)|\ \ \ \ \ \mathbf{(3.1.6)}$


Сдвиг фазы выходного сигнала:

$\phi(\omega) = arg( W(i \cdot \omega))\ \ \ \ \ \mathbf{(3.1.7)} $


Обычно АФЧХ $W(i \cdot w)$ изображается на комплексной плоскости. Формулы (3.1.6) и (3.1.7) позволяют изобразить $W(i \cdot w)$ в полярных координатах $(r, \phi).()$
Так же можно изображать в традиционных декартовых координатах:

$W(i \cdot \omega) = \underbrace { U(\omega)}_{Re} + i \cdot \underbrace { V(\omega)}_{Im} \ \ \ \ \ \mathbf{(3.1.8)} $


Если использовать для представления W(s) форму W(s)=KN(s)/L(s), где L(s)- полиномы по степеням s, (причем свободные члены равны 1), а К общий коэффициент усиления звена (системы), то

$W(i \cdot\omega) = \frac{K \cdot N(i \cdot\omega)}{L(i \cdot \omega)} \Rightarrow | W (i \cdot \omega)| = \frac{K|N(i \cdot \omega)|}{|L(i \cdot \omega)|} = A(\omega)\ \ \ \ \ \mathbf{(3.1.9)} $


Сдвиг фазы $\phi(\omega)$ можно определить по виду многочленов $N(i \cdot \omega)$ и $L(i \cdot \omega)$ (см. формулу (3.1.9)) т.е. как разность фаз (аргументов) числителя и знаменателя:

$\phi(\omega) = arg(N(i \cdot\omega))-arg(L(i \cdot \omega))\ \ \ \ \ \mathbf{(3.1.10)}$


Постоим АФЧХ для абстрактного звена (системы) с передаточной функцией:

$W(s) = W(i \cdot \omega) = W(s) |_{s =i \cdot \omega} = \frac{K \cdot N(i \cdot \omega)}{L(i \cdot \omega))}$


Подставляя в формулу различные значения $\omega$ получаем набор векторов, на комплексной плоскости

Рисунок 3.1.3 Годограф абстрактного звена.

Рассмотрим действительную и мнимую части полученных векторов Из рисунка 3.1.3 видно, что:

$$display$$\left \{ \begin{align} u( \omega)&= A( \omega) \cdot cos( \phi(\omega)) \\ v(\omega)&= A( \omega) \cdot sin( \phi(\omega)) \end{align} \right.$$display$$


Амплитуда и сдвиг фазы рассчитываются, для векторов соответсвующих положительным частотам и лежащих в 4 квадранте $\omega_1,\omega_2, \omega_3$ по формулам:

$$display$$\left \{ \begin{align} A( \omega)&= \sqrt {u^2( \omega)+v^2( \omega)} ,\\ \phi(\omega)&= arctg \frac{v(\omega)}{u(\omega)} .\end{align} \right.$$display$$


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

$\phi(\omega) = -\pi \cdot j + arctg \frac{v(\omega)}{u(\omega)}\ \ \ \ \ \mathbf{(3.1.11)}$


где:
j = 0, 2, 3, 4..., если вектор в I и IV квадрант;
j = 1, 3, 4, 4..., если вектор в II и III квадранте.

Во всех технических системах отклик системы как правило отстает от входного воздействия, то есть сдвиг фазы всегда отрицательный. Исходя из формулы 3.1.10 степень полинома L(s) выше, чем полинома N(s). Поскольку обычно степень полинома L(s) выше, чем полинома N(s), то с увеличением частоты на входе в звено (в систему) сдвиг фазы обычно отрицателен, т.е. сигнал на выходе звена еще больше отстает по фазе от входного сигнала при увеличении частоты.
В предельном случае, если частота растет до бесконечности, мы можем вообще не получить выходного воздействий. Обычно при величина амплитуды на выходе звена стремится к 0, то есть lim A() = 0.


$W(i \cdot \omega)$ при замене $\omega$ на $-\omega$ имеет зеркальное изображение.


Анализируя годографы АФЧХ при $\omega$ > 0 (сплошная линия на рисунке 3.1.3) и при $\omega$ < 0 (пунктирная линия) видим, что:
$u(\omega) = u(-\omega)$ четная функция, следовательно график симметричен относительно оси ординат, а
$v(\omega) = -v(-\omega)$ нечетная функция и ее график центрально-симметричен относительно начала координат.



Рисунок 3.1.4 Зеркальная симметрия относительно оси ординат.

Рисунок 3.1.5 Центральная симметрия относительно начала координат.

Кроме анализа свойств звена (системы) по годографу АФЧХ широкое распространение получили анализ логарифмической амплитудной характеристики (ЛАХ) и фазочастотной характеристики (ФЧХ).


ЛАХ определяется как Lm()=20lgA().


Поскольку зачастую удобнее использовать десятичные логарифмы (lg), чем натуральные(ln), в теории управления (также и в акустике) значительно чаще используется специальная единица децибел (1/10 часть Бела):
+1Бел единица, характеризующая увеличение в 10 раз.
+1дБ (децибел) соответствует увеличению в $\sqrt[10]{10}$ раз.


В формуле Lm()=20lgA() величина Lm() измеряется также в децибелах. Происхождение множителя 20 таково: A() амплитуда, линейная величина, а мощность квадратичная величина (например, напряжение в сети измеряется в Вольтах, а мощность ($N = \frac{U^2}{R}$) пропорциональна квадрату напряжения, поэтому в формуле для Lm() стоит множитель 20 (чтобы привести ЛАХ (Lm()) к традиционной мощностной характеристике).


Если $Lm(_1)$ больше $Lm(_2)$ на 20 дБ, то это означает, амплитуда $А(_1)$ больше амплитуды $А(_2)$ в 10 раз, $\frac{А(_1)}{ А(_2)} =10$

Окончательно: Lm()=20lgW(i)= 20lgA()


Из этого следует, что +1 децибел (+1 дБ) соответствует увеличению амплитуды в $\sqrt[20]{10}$ раз (очень малая величина); -1 дБ уменьшение амплитуды в $\sqrt[20]{10}$ раз.


Графики A() и () имеют вид:



Рисунок 3.1.6 пример графика АЧХ

Рисунок 3.1.7 пример графика ФЧХ

Учитывая, что обычно изменяется на порядки и значение A() также на порядки, график Lm() строится, фактически, в логарифмических координатах, т.е. Lm() =Lm(lg()), например:



Рисунок 3.1.8 пример графика ЛАХ

Наклон ( 40 дБ/дек) соответствует уменьшению амплитуды в 100 раз при увеличении частоты в 10 раз.



Рисунок 3.1.9 пример графика ЛФЧХ

Рассмотренные характеристики Lm(), то есть ЛАХ и ФЧХ имеют широкое распространение при анализе динамических свойств звена (системы), например, при анализе устойчивости САР (см. раздел Устойчивость систем автоматического управления).



Рисунок 3.1.10 пример ЛАХ и ФЧХ для сложной системы

Пример 1


В качестве примера построим АФЧХ для демпфера, модель которого, разобрана в этой статье.... Добавим на схему блок Построение частотных характеристик качестве входа возьмем возмущающее воздействие, в качестве выхода положение положение груза. Для наглядности иллюстрации примем в качестве выхода положение в миллиметрах (х1000), поскольку модель у нас размерная и результат получается в метрах уже достаточно маленьким примерно 0.004 метра. см. рис. 3.11



Рисунок 3.1.11 Схема для построения частотных характеристик.

Параметры блока Построение частотных характеристик приведены на рисунке 3.1.12, для илюстации зависимости АЧХ и ЛАХ. Результат работы блока график с выбранными параметрам изображен на рисунке 3.1.13:



Рисунок 3.1.12 Парамеметры блока Частотные характеристики.

Рисунок 3.1.13 Частотные харатктеристики в АЧХ, ЛАХ, ФЧХ в линейном масштабе по .

Анализ графика в линейном масштабе по чаще всего не очень удобен, поскольку весь график собиается в узкой области, а дальше график абсолютной амплитуды практически сливается с 0. Если мы хотим исследовать частоты хотя бы до 1000 Гц, мы увидем практически вертикальные и горизонтальные прямые. Изменения масштаба шакалы АЧХ и на логарифмический позволяет более удобно исследовать частотные характеристики (см. рис. 3.1.14).


На рисунке 3.1.14 представлены частотные характеристики демпфера в логарифмическом масштабе и иллюстарция соотношения между абсолютной величиной амплитуды АФЧХ и ЛАХ в децибелах.



Рисунок 3.1.14 Частотные харатктеристики в АЧХ, ЛАХ, ФЧХ в логарифмитическом масштабе по .

Пример 2


Постоим частотные характеристики для чуть более сложной модели. А именно гидравлического демпфера рассмотренного в предыдущей лекции....

Для начала посмотрим модель в виде блоков.


Модель подготовленная для анализа представлена на рисунке 3.1.15. В отличие от исходной модели, описанной ранее, входное воздействие задается блоком ступенька с скачком с 0 до 1 на 10 секунде расчтеа. В блоке линейная функции происходит пересчет сигнала ступенька:
0 соответствует 200 бар в камере, (конечное состояние в предыдущем примере),
1 соответствует 400 бар в камере.
Это сделано для того, что бы можно было подавать синусоидальный сигнал и не получать отрицательное давление в камере плунжера. Так же для наглядности графика, мы усиливаем выходное перемещение переводя его из метров в миллиметры.



Рисунок 3.1.15 Модель гидравлического демпфера.

Частотные характеристики рассчитанные в конце рассчета приведены на рисунке 3.1.16. Видно что характеристики отличаются от простого пружинного демпфера сравните с 3.1.14



Рисунок 3.1.16 Частотные хараткеристики гидравлического депфера

Блок "Построение частотных характеристик" осуществляет расчет характеристик для линеаризованной модели, в окрестности заданной точки, это означает что частотные характеристики системы в разные моменты времени могут отличатся для нелинейных моделей. Например в нашем случае характеристики в начале рассчета будут отличатся от характеристик полученных в конце рассчета.


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


Модель гидравлического демпфера собранного из библиотечных блоков SimInTech представлена на рисунке 3.1.7


Рисунок 3.1.17 Модель гидравлическогго демпфера для рассчета частотных характеристик.

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



Рисунок 3.1.18 АЧХ подробной модели привода, полученная прямым моделированием.

Рисунок 3.1.19 ЛАХ подробной модели привода, полученная прямым моделированием.

Использование прямого моделирования, для получения характеристик, является более надежным способом и работает не только с линейными моделями, но может быть использован для построения характеристик некоторых реальных объектов, если их можно подключить к среде моделирования и воздействовать в реальном режиме времени. Однако затраты на вычисления значительно больше. Например для получения характеристик демпфера пришлось выполнить процесса 40 000 секунд модельного времени, на обычном компьютере это заняло порядка 35 минут. График процесса перемещения плунжера в процессе вычисления характеристик приведен на рисунке 3.1.20.


Рисунок 3.1.20 Перемещения плунжера в процессем моделирования.

Блок Гармонический анализаторимеет выходы:
Re(w*t) текущее значение действительной части амплитудно-фазовой частотной характеристики исследуемой системы;
Im(w*t) текущее значение мнимой части амплитудно-фазовой частотной характеристики.
Это позволяет построить годограф исследуемой системы с помощью фазового портрета. (см. рис. 3.1.21)



Рисунок 3.1.21 Годограф системы гидравличесого демпфера.

Модели, использованные для илюстарции в лекции можно взять здесь...

Продолжение следует.

Подробнее..

2.МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ

29.06.2020 02:20:27 | Автор: admin

Публикую первую часть второй главы лекций по теории автоматического управления.
В данной статье рассматриваются:


2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях
2.2. Линеаризация уравнений динамики САУ (САР)
2.3. Классический способ решения уравнений динамики


Лекции по курсу Управление Техническими Системами, читает Козлов Олег Степанович на кафедре Ядерные реакторы и энергетические установки, факультета Энергомашиностроения МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


Первая часть: Введение в теорию автоматического управления. Основные понятия теории управления техническим системами




2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях


При составлении уравнений, описывающих нестационарные процессы в САУ (САР) и которые в дальнейшем будем называть уравнениями динамики, система разбивается на отдельные элементы (звенья), для каждого из которых не существует проблем в записи соответствующего уравнения динамики.


На рис. 2.1.1 представлено схематичное представление САУ (звена) в переменных вход-выход, где x(t) (или u(t)) входное воздействие, а y(t) выходное воздействие, соответственно. Нередко входное воздействие будет называться управляющим, а выходное воздействие регулируемой величиной (переменной).



Рис. 2.1.1 Схематическое представление САУ (звена)

При составлении уравнений динамики используются фундаментальные законы сохранения из разделов Механики, Физики, Химии и др.


Например, при описании перемещения узла какого-то механизма силового привода используются законы сохранения: момента, энергии, импульса и др В теплофизических (теплогидравлических) системах используются фундаментальные законы сохранения: массы (уравнение неразрывности), импульса (уравнение движения), энергии (уравнение энергии) и др


Уравнения сохранения в общем случае содержат постоянные и нестационарные члены, причем при отбрасывании нестационарных членов получают так называемые уравнения статики, которые соответствуют уравнениям равновесного состояния САУ (звена). Вычитанием из полных уравнений сохранения стационарных уравнений получают нестационарные уравнения САУ в отклонениях (от стационара).


$\left[ \begin{gathered} y(t) =y_0 + \Delta y(t)\\ u(t) = u_0 + \Delta u(t)\\ \end{gathered} \right.$


где: $y_0,u_0$ стационарные значения входного и выходного воздействий;
$\Delta y, \Delta u$ отклонения от станционара, соотвесвенно.

В качестве примера рассмотрим технологию получения уравнений динамики для механического демпфера, схематическое изображение которого представлено на рис. 2.1.2.



Рис. 2.1.2 Механический демпфер

Согласно 2-му закону Ньютона, ускорение тела пропорционально сумме сил, действующих на тело:

$m \cdot \frac{d^2 y(t)}{dt} = \sum F_j \ \ \ \mathbf{(2.1.1)}$


где, m масса тела, Fj все силы воздействующие на тело (поршень демпфера)


Подставляя в уравнение (2.1.1) все силы согласно рис. 2.2, имеем:


$m \cdot \frac{d^2y(t)}{dt} = m\cdot g+ u(t) - k \cdot y(t) - c \cdot \frac{dy(t)}{dt} \ \ \ \mathbf{(2.1.2)}$

где $m\cdot g$ сила тяжести; $k \cdot y(t)$ сила сопротивления пружины, $c \cdot \frac{dy(t)}{dt}$ сила вязконо трения (пропорциональна скорости поршеня)


Размерности сил и коэффициентов, входящих в уравнение (2.1.2):

$m \cdot g \Rightarrow [\frac{кг \cdot м}{ с^2}]; c \Rightarrow [\frac{кг}{с}]; k \Rightarrow [\frac{кг}{с^2}]$

Предполагая, что при t 0 поршень демпфера находился в равновесии, то есть

$$display$$\left \{ \begin{eqnarray} t &\le 0 \\ u(t) &= u_0\\ y(t) &= y_0\\ \end{eqnarray} \right.$$display$$

перейдем к отклонениям от стационарного состояния:
Пусть при t>0 $\left[ \begin{gathered} y(t) =y_0 + \Delta y(t); u(t) = u_0 + \Delta u(t);\\ y'(t) = [\Delta y(t)]; y''(t) =[\Delta y(t)]'\\ \end{gathered} \right.$. Тогда, подставляя эти соотношения в уравнение (2.1.2), получаем:

$m \cdot \frac{d^2\Delta y(t)}{dt^2} = m \cdot g - k \cdot y_0- k \cdot \Delta y(t) - c\frac{d\Delta y(t)}{dt} \ \ \ \mathbf{(2.1.3)}$


если $t \le 0$, то уравнение принимает вид:

$0 = m \cdot g+u_0 - k \cdot y_0 \ \ \ \mathbf{(2.1.4)}$

или

$y_0 = \frac{1}{k} \cdot[u_0+m \cdot g] \ \ \ \mathbf{(2.1.5)}$


Соотношение (2.1.4) уравнение звена (демпфера) в равновесном (стационарном) состоянии, а соотношение (2.1.5) статическая характеристика звена демпфера (см. рисунок 2.1.3).



Рис. 2.1.3 Статическая характеристика механического демпфера

Вычитая из уравнения (2.1.3) уравнение (2.1.4), получаем уравнение динамики демпфера в отклонениях:

$m\cdot g \frac{d^2 \Delta y(t)}{dt^2} = \Delta u(t) - k \cdot \Delta y(t) - c \cdot \frac{d \Delta y(y)}{dt}, $


тогда, разделив на k, имеем:

$T_2^2 \cdot \frac{d^2 \Delta y(t)}{dt^2}+ T_1 \cdot \frac{d \Delta y(t)}{dt} + \Delta y(t) = k_1 \cdot \Delta u(t) \ \ \ \mathbf{(2.1.6)}$


где:

$T_2^2= \frac{m}{k}; T_1= \frac{c}{k}; k_1=\frac{1}{k}.$


Уравнение (2.1.6) это уравнение динамики в канонической форме, т.е. коэффициент при y(t) равен 1.0!


Легко видеть, что коэффициенты перед членами, содержащими производные, имеют смысл (и размерность!) постоянных времени. В самом деле:


$T_1 = \frac{c}{k} \Rightarrow [\frac{кг \cdot c^2}{c \cdot кг}] = [c]$


$T_2^2 = \frac{m}{k} \Rightarrow [\frac{кг \cdot c^2}{kg}] =[c^2]$


Таким образом, получаем, что:
коэффициент перед первой производной имеет размерность [c] т.е. смысл некоторой постоянной времени;
коэффициент перед второй производной: [$c^2$];
коэффициент в правой части ($k_1$): [$\frac{c^2}{кг}$].
Тогда уравнение (2.1.6) можно записать в операторной форме:


$(T_2^2 \cdot p^2 + T_1 \cdot p+1)\Delta y(t) = k_1 \Delta u(t)$, что эквивалентно

$L(p)\Delta y(t) = N(p) \Delta u(t) \ \ \ \mathbf{(2.1.6.а)}$

где: $p= \frac{d}{dt}$ оператор диффренцирования;
$L(p) = T_2^2 \cdot p + T \cdot p + 1$ -линейный дифференциальный оператор; $L(p)$
$N(p)$ линейный дифференциальный оператор, вырожденный в константу, равную $k_1$.

Анализ уравнения (2.1.6.а) показывает, что такое уравнение имеет размерные переменные, а также размерными являются все коэффициенты уравнения. Это не всегда удобно. Кроме того, если реальная САР (САУ) состоит из многих звеньев, выходными воздействиями которых являются различные физические переменные (скорость, температура, нейтронный поток, тепловой поток и т.д.), то значения коэффициентов могут различаться на большое число порядков, что ставит серьезные математические проблемы при численном решении уравнений динамики на компьютере (поскольку числа в компьютере всегда представляются с какой-то точностью). Одним из наилучших способов избежать численных трудностей является принцип нормализации, т.е. переход к безразмерным отклонениям, которые получены нормированием отклонения на стационарное значение соответствующей переменной.


Введем новые нормированные (безразмерные) переменные:

$\left[ \begin{gathered} \widetilde y(t) = \frac {y(t)-y_0}{y_0} = \frac {\Delta y(t)}{y_0}\\ \widetilde u(t) = \frac {u(t)-u_0}{u_0} =\frac {\Delta u(t)}{u_0}\\ \end{gathered} \right. \Rightarrow \left[ \begin{gathered} y(t) =y_0 \cdot [1+ \widetilde y(t)]\\ u(t) = u_0 \cdot [1+ \widetilde u(t)]\\ \end{gathered} \right. \Rightarrow \left[ \begin{gathered} y'(t) =y_0 \cdot \widetilde y(t)\\ y''(t) = y_0 \cdot \widetilde y(t)''\\ \end{gathered} \right. $


Подставляя эти соотношения в уравнение (2.1.2), имеем:

$m \cdot y_0 \cdot \frac{d^2 \widetilde y(t)}{dt^2} = m \cdot g +u_0 \cdot[1+\widetilde u(t)] -k \cdot y_0 \cdot[1+\widetilde y(t)] - c \cdot y_0 \cdot \frac{d \widetilde y(t)}{dt}; или$

$m \cdot y_0 \cdot \frac{d^2 \widetilde y(t)}{dt^2} = \underline {m \cdot g} + \underline {u_0} +u_0 \cdot \widetilde u(t) - \underline {k \cdot y_0} - k \cdot y_0 \cdot \widetilde y(t) - c \cdot y_0 \cdot \frac{d \widetilde y(t)}{dt}.$


Поддчеркнутые члены выражения в сумме дают 0 (см. 2.1.4) Перенося в левую часть члены, содержащие $\widetilde y(t)$, и, разделив на $k \cdot y_0$, получаем:

$\frac{m \cdot y_0}{k \cdot y_0} \cdot \frac{d^2 \widetilde y(t)}{dt^2} + \frac {c \cdot y_0}{k \cdot y_0} \cdot \frac{d \widetilde y(t)}{dt} +\widetilde y(t)= \frac{u_0}{k \cdot y_0} \cdot \widetilde u(t) \Rightarrow $

$(T_2^2 \cdot p + T \cdot p + 1) \cdot \widetilde y(t) = k_x \cdot \widetilde u(t) \ \ \ \mathbf{(2.1.7)}$


где: $T_2^2= \frac{m}{k}; T_1= \frac{c}{k}; k_x=\frac{u_0}{k \cdot y_0} $ коэффициент усиления, причем безразмерный.

Проверим размерность коэффициента $k_x$

$\left[\frac{кг \cdot м}{с^2} \cdot \frac{c^2}{кг} \cdot \frac{1}{м}\right] =[1].$


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


На рис. 2.1.4 представлены статические характеристики для механического демпфера:



Рис. 2.1.4 Статические характеристики механического демпфера

Процедура нормировки отклонений позволяет привести уравнения динамики к виду:

$L(p) \cdot \widetilde y(t) = N(p) \cdot \widetilde u(t) \ \ \ \mathbf{(2.1.8)}$

где $L(p), N(p) - $ дифференциальные операторы.

Если дифференциальные операторы $L(p), N(p) - $линейные, а статическая характеристика САУ (звена) тоже линейна, то выражение (2.1.8) соответствует линейному обыкновенному дифференциальному уравнению (ОДУ).


А если $L(p), N(p) - $ нелинейные дифференциальные операторы, или $\widetilde y_{stat} \neq k \cdot \widetilde u_{stat}$, то уравнение динамики нелинейное. Под нелинейными действиями понимаются все математические действия, кроме сложения (+) и вычитания (-).


Пример создания модели демпфера можно посмотереть здесь: Технология получения уравнений динамики ТАУ



2.2. Линеаризация уравнений динамики САУ (САР)


Практически все реальные системы автоматического управления (САУ) являются нелинейными, причем нелинейность САУ может определяться различным причинами:


  1. Нелинейностью статической характеристики.
  2. Нелинейностью динамических членов в уравнениях динамики.
  3. Наличием в САУ принципиально нелинейных звеньев.

Если в замкнутой САУ (САР) нет принципиально нелинейных звеньев, то в большинстве случаев уравнения динамики звеньев, входящих в систему, могут быть линеаризованы. Линеаризация основана на том, что в процессе регулирования (т.е. САУ с обратной связью) все регулируемые величины мало отклоняются от их программных значений (иначе система регулирования или управления не выполняла бы своей задачи).


Например, если рассмотреть управление мощностью энергетического ядерного реактора, то главная задача САР поддержание мощности на заданном (номинальном) уровне мощности. Существующие возмущения (внутренние и внешние) отрабатываются САР и поэтому параметры ядерного реактора незначительно отличаются от стационарных. На рис. 2.2.1 представлена временная зависимость мощности ядерного реактора, где нормированные отклонения мощности N /N0 << 1, и поэтому уравнения динамики ядерного реактора, в принципе, могут быть линеаризованы.



Рис. 2.2.1 Пример изменения мощности реактора

Рассмотрим некоторое звено (или САР в целом), описание динамики которого можно представить в переменных вход-выход:



Рис. 2.2.2 Звено САР

Предположим, что динамика данного звена описывается обыкновенным дифференциальным уравнением n-го порядка:

$L(p) \cdot y(t) = N(p) \cdot u(t) \ \ \ \mathbf{(2.2.1)}$


Перенесем $N(p) u(t)$ в левую часть уравнения и запишем уравнение в виде%

$F(y,y',y'',...y^{n}, u, u',u'', ...u^m,t)=0 \ \ \ \mathbf{(2.2.2)}$


где $F$ - функция регулируемой переменной и ее производных, а также управляющего (входного) воздействия и его производных, причем F обычно нелинейная функция.


Будем считать, что при t 0 САУ (звено) находилось в равновесии (в стационарном состоянии). Тогда уравнение (2.2.2) вырождается в уравнение статической характеристики:

$y'=y''=...y^n=u'=u''=...u^m=0 \Rightarrow F(y_0,u_0)=0 \ \ \ \mathbf{(2.2.3)}$


Разложим левую часть уравнения (2.2.2) в ряд Тейлора в малой окрестности точки равновесного состояния $(y_0, u_0)(y0, u0)$.


Напомним, что разложение в ряд Тейлора трактуется следующим образом: если $y = f(x)$, то простое разложение функции в ряд Тейлора в окрестности точки $x = x_0$ будет выглядеть так:


$ \begin{eqnarray} y(x) = f(x) = f(x_0)+ \frac{1}{1!} \cdot \left( \frac{df}{dx}\right)_{x=x_0} \cdot (x-x_0)+ \frac{1}{2!} \cdot \left( \frac{d^2f}{dx^2} \right)_{x=x_0} \cdot (x-x_0) +\\ ...+\frac{1}{n!} \cdot \left( \frac{d^nf}{dx^n} \right)_{x=x_0} \cdot (x-x_0) \end{eqnarray}$


C учетом вышеприведенного разложение принимает вид:


$ \begin{eqnarray} F(y,y',y'',...y^{n}, u, u', ...u^m,t) = F(y_0,u_0)+\frac{1}{1!}\cdot \left( \frac{dF}{dy}\right)_{ y=y_0;u =u_0 } \cdot (y-y_0)+\\ + \frac{1}{2!} \cdot \left( \frac{d^2F}{dy^2}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^2+\frac{1}{3!} \cdot \left( \frac{d^3F}{dy^3}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^3 +..\\+\frac{1}{k!} \cdot \left( \frac{d^kF}{dy^k}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^k+ \frac{1}{1!}\cdot \left( \frac{dF}{dy'}\right)_{ 0 } \cdot (y') +\frac{1}{2!}\cdot \left( \frac{d^2F}{d(y')^2}\right)_{ 0 } \cdot (y')^2+\\ ..+\frac{1}{1!}\cdot \left( \frac{dF}{dy^{(n)}}\right)_{ 0 } \cdot (y^{(n)})+ \frac{1}{2!}\cdot \left( \frac{d^2F}{d(y^{n})^2}\right)_{ 0 } \cdot (y^{(n)})^2+..\\ ..+\frac{1}{1!}\cdot \left( \frac{dF}{du}\right)_{ 0 } \cdot (u-u_0)+\frac{1}{2!} \cdot \left( \frac{d^2F}{du^2}\right)_{0}\cdot (u-u_0)^2+..\\ ..+\frac{1}{k!}\cdot \left( \frac{d^kF}{d(u^{m})^k}\right)_{ 0 } \cdot (u^{(m)})^k+.. \end{eqnarray}$


Предполагая, что отклонения выходных и входных воздействий незначительны, (т.е.:$\frac{\Delta y(t)}{y_0} <<1; \frac{\Delta u(t)}{u_0} <<1;$), оставим в разложении только члены первого порядка малости (линейные). Поскольку $[y(t)-y_0] \equiv \Delta y(t); y'(t) = [y_0+\Delta y(t)]' = (\Delta y(t))'$, получаем:


$ F(y,y',y''..y^{(n)},u,u',u''..u^{m})\simeq \left( \frac{\partial F}{\partial y} \right)_0\cdot \Delta y+\left(\frac{\partial F}{\partial y'}\right)_0 \cdot (\Delta y)' +\left(\frac{\partial F}{\partial y''}\right)_0 \cdot (\Delta y)''+..\\ ..+\left(\frac{\partial F}{\partial u}\right)_0 \cdot \Delta u+ \left(\frac{\partial F}{\partial u'}\right)_0 \cdot (\Delta u)' + \left(\frac{\partial F}{\partial u''}\right)_0 \cdot (\Delta u)''+..+ \left(\frac{\partial F}{\partial u^{m}}\right)_0 \cdot (\Delta u)^{(m)}\ \ \ \mathbf{(2.2.4)}$


Подставляя соотношение (2.2.4) в уравнение (2.2.2), и перенося множители при у и u в разные части получаем уравнения:

$a_n^0 \cdot \frac{d^{(n)}}{dt^n} \Delta y +a_{n-1}^0 \cdot \frac{d^{(n-1)}}{dt^{n-1}} \Delta y +..+a_{1}^0 \cdot \frac{d}{dt} \Delta y +a_{0}^0\cdot\Delta y = \\ =b_m^0 \cdot \frac{d^{(m)}}{dt^m} \Delta u +b_{m-1}^0 \cdot \frac{d^{(m-1)}}{dt^{m-1}} \Delta u +..+b_{1}^0 \cdot \frac{d}{dt} \Delta u +b_{0}^0\cdot\Delta u \ \ \ \mathbf{(2.2.5)}$

где:

$a_0^0= \left( \frac{\partial F}{\partial y} \right)_{y =y_0;u =u_0};a_1^0= \left( \frac{\partial F}{\partial y'} \right)_{y =y_0;u =u_0}; ...a_n^0= \left( \frac{\partial F}{\partial y^{(n)}} \right)_{y =y_0;u =u_0} ; \\ b_0^0= \left( \frac{\partial F}{\partial u} \right)_{y =y_0;u =u_0};b_1^0= \left( \frac{\partial F}{\partial u'} \right)_{y =y_0;u =u_0}; ...b_m^0= \left( \frac{\partial F}{\partial u^{(m)}} \right)_{y =y_0;u =u_0}.$


Коэффициенты $a_i^0, b_j^0$ постоянные коэффициенты, поэтому уравнения 2.2.5 линейное дифференциальное с постоянными коэффициентами.


В дальнейшем нами будет часто использоваться операторная форма записи уравнений динамики:

$L(p)\cdot\Delta y(t) = N(p) \cdot \Delta u(t)\ \ \ \mathbf{(2.2.6)}$


где $p = \frac{\partial }{\partial t}$ оператор дифференцирования;
$L(p)$ линейный дифференциальный оператор степени n;
$N(p)$ линейный дифференциальный оператор степени m, причем обычно порядок оператора $L(p)$ выше порядка оператора $N(p)$: $ n m.$

Уравнения (2.2.5) и (2.2.6) уравнения динамики системы (звена) в отклонениях.


Если исходное уравнение (2.2.1) дифференциальное уравнение в физических переменных (температура, скорость, поток и т.д.), то размерность коэффициентов $a_i^0, b_j^0$ может быть произвольной (любой).


Переход к нормализованным отклонениям позволяет упорядочить размерность коэффициентов. В самом деле, разделив уравнение (2.2.5) на $(y_0, u_0)$ и выполнив некоторые преобразования, получаем:


$a_n^* \cdot \tilde{y}^{(n)} +a_{(n-1)}^* \cdot \tilde{y}^{(n-1)} +..+a_1^* \cdot \tilde{y}'+a_0^* \cdot \tilde{y} = \\ =b_m^* \cdot \tilde{u}^{(m)} +b_{(m-1)}^* \cdot \tilde{u}^{(m-1)} +..+b_1^* \cdot \tilde{u}'+b_0* \cdot \tilde{u} \ \ \ \mathbf{(2.2.7)}$


Приведение уравнения динамики САУ (звена) к нормализованному виду позволяет унифицировать размерность коэффициентов уравнений: ==>


$$display$$[a_0^*] = [1] ;\ \ [a_1^*]= [c];\ \ [a_2^*]= [c^2];\ \ [a_3^*]= [c^3];...[a_n^*]= [c^n]\\ [b_0^*] = [1] ;\ \ [b_1^*]= [c];\ \ [b_2^*]= [c^2];\ \ [b_3^*]= [b^3];...[b_m^*]= [c^m]$$display$$


Если вынести в правой части (2.2.7) коэффициент $b_0^*$ за общую скобку и разделить все уравнение на $a_0^*$, то уравнение принимает вид:


$a_n \cdot \tilde{y}^{(n)} +a_{(n-1)}\cdot \tilde{y}^{(n-1)} +..+a_1\cdot \tilde{y}'+\tilde{y} = \\ =k \cdot [b_m \cdot \tilde{u}^{(m)} +b_{(m-1)} \cdot \tilde{u}^{(m-1)} +..+b_1 \cdot \tilde{u}'+ \tilde{u}] \ \ \ \mathbf{(2.2.8)}$


где:

$a_n = \frac{a_n^*}{a_0^*};\ a_{n-1} = \frac{a_{n-1}^*}{a_0^*}; \ ...a_{1} = \frac{a_{1}^*}{a_0^*}; \ k = \frac{b_0^*}{a_0^*} \\ b_n = \frac{b_n^*}{b_0^*};\ b_{n-1} = \frac{b_{n-1}^*}{b_0^*}; \ ...b_{1} = \frac{b_{1}^*}{b_0^*}; $

или в операторном виде:

$(a_n \cdot p^{(n)} +a_{(n-1)}\cdot p^{(n-1)} +..+a_1\cdot p'+1) \cdot \tilde{y} = \\ =k \cdot (b_m \cdot p^{(m)} +b_{(m-1)} \cdot p^{(m-1)} +..+b_1 \cdot \tilde{u}'+ 1)\cdot \tilde{u}\\ L(p)\cdot \tilde{y} =k \cdot N(p) \cdot \tilde{u} \ \ \ \mathbf{(2.2.9)}$


Линеаризация уравнений динамики и нормализация переменных позволяют привести уравнения динамики САУ (звена) к виду, наиболее удобному для использования классических методов анализа, т.е. к нулевым начальным условиям.


$$display$$Если \ t 0 \Rightarrow \left[ \begin{gathered} \tilde {y}(t) = \tilde {y}(0) =0;\\ \tilde u(t) = \tilde u(0) = 0.\\ \end{gathered} \right.$$display$$


Пример


Выполнить линеаризацию уравнения динамики некоторой абстрактной САР в окрестности состояния (x0, y0), если полное уравнение динамики имеет вид:


$a_3^0 \cdot y'''(t) +a_2^0 \cdot y''(t)+a_1^0 \cdot y'(t) \cdot[y(t)-d]+ a_2^0 \cdot y^2(t)=b_1^0 \cdot x'(t) +b_0^0 \cdot x(t); $


Нелинейность полного уравнения динамики проявляется в следующем:


во-первых, в нелинейности статической характеристики:


$a_0^0 \cdot y^2(0) = b_0^0 \cdot x(0); \Rightarrow y_0 = \sqrt{\frac{b_0^0}{a_0^0} \cdot x_0} = \sqrt {k_0 \cdot x_0}$



Рис. 2.2.3 Линеаризации статической характеристики

во-вторых, слагаемое в левой части $a_1^0 \cdot y'(t) \cdot[y(t)-d]$ чисто нелинейное, так как действие умножения является нелинейным.


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


Преобразования выполним в следующей последовательности:


  1. Перейдем к безразмерным переменным (нормализованным);
  2. Выполним линеаризацию, отбросив нелинейные члены 2-го и выше порядков малости.

Перейдем к новым безразмерным переменным:


$\tilde{y}(t) = \frac{y(t) - y_0}{y_0};\ \Rightarrow y(t) = y_0 \cdot [1+ \tilde{y}(t)]; \\ \tilde{x}(t) = \frac{x(t) - x_0}{x_0};\ \Rightarrow x(t) = x_0 \cdot [1+ \tilde{x}(t)].$


Заметим, что:
$x(t) = x_0+ \Delta x(t) = x_0+ x_0 \cdot \tilde{x}(t) \ и \ y(t) = y_0+ \Delta y(t) = y_0+ y_0 \cdot \tilde{y}(t)$.


Подставляя значения x(t) и y(t) в исходное уравнение:


$ a_3^0 \cdot y_0 \cdot \tilde y'''(t) +a_2^0 \cdot y_0 \cdot \tilde y''(t)+a_1^0 \cdot y_0 \cdot \tilde y'(t) \cdot[y_0+y_0 \cdot \tilde y(t) -d]+a_0^0 \cdot y_0^2 \cdot[1+ \tilde y(t)]^2 = \\ = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0 \cdot[1+\tilde x(t)]; \ \Rightarrow \ раскрыв \ скобки \Rightarrow \\ a_3^0 \cdot y_0 \cdot \tilde y'''(t)+a_2^0 \cdot y_0 \cdot \tilde y''(t)+a_1^0 \cdot y_0^2 \cdot \tilde y'(t) + a_1^0 \cdot y_0^2 \cdot \tilde y'(t) \cdot \tilde y(t)-a_1^0 \cdot y_0 \cdot \tilde y'(t) \cdot d + \\ +a_0^0 \cdot y_0^2 +2 \cdot a_0^0 \cdot y_0^2 \cdot\tilde y(t) +a_0^0 \cdot y_0^2 \cdot\tilde y(t)^2 = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0+ b_0^0 \cdot х_0 \cdot \tilde x(t)];$


Удаляем полученного уравнения уравнения стационара: $a_0^0 \cdot y_0^2= b_0^0 \cdot х_0$, а так же пренебрегая слагаемыми второго прядка малости: $\ a_1^0 \cdot y_0^2 \cdot \tilde y'(t) \cdot \tilde y(t)$, получаем следующее уравнение:


$ a_3^0 \cdot y_0 \cdot \tilde y'''(t)+a_2^0 \cdot y_0 \cdot \tilde y''(t)+(a_1^0 \cdot y_0^2 -a_1^0 \cdot y_0 \cdot d) \cdot \tilde y'(t)+2 \cdot a_0^0 \cdot y_0^2 \cdot\tilde y(t) =\\ = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0 \cdot \tilde x(t);$


Вводим новые обозначения:

$a_3^* = a_3^0 \cdot y_0 ; \ \ a_2^* = a_2^0 \cdot y_0; \ \ a_1^* = a_1^0 \cdot y_0^2 -a_1^0 \cdot y_0 \cdot d; \ \ a_0^* =2 \cdot a_0^0 \cdot y_0^2; \\ b_1^* = b_1^0 \cdot x_0; \ \ b_0^*=b_0^0 \cdot х_0 \ $


Получаем уравнения в почти классическом виде:


$a_3^* \cdot \tilde y'''(t)+a_2^* \cdot \tilde y''(t)+a_1^* \cdot \tilde y'(t)+ a_0^* \cdot\tilde y(t) = b_1^* \cdot \tilde x'(t) + b_0^* \cdot \tilde x(t);$


Если в правой части вынести за общую скобку $b_0^*$ и разделить все уравнение на $a_0^*$, то уравнение (линеаризованное) принимает вид:


$a_3 \cdot \tilde y'''(t)+a_2 \cdot \tilde y''(t)+a_1 \cdot \tilde y'(t)+ \tilde y(t) = k \cdot[ b_1 \cdot \tilde x'(t) + \tilde x(t)]$


где:

$a_3 = \frac{a_3^*}{a_0^*}; \ \ a_2 = \frac{a_2^*}{a_0^*}; \ \ a_1 = \frac{a_2^*}{a_0^*}; \ \ k = \frac{b_o^*}{a_0^*}; \ \ b_1 = \frac{b_1^*}{b_0^*}; $


Процедура нормализации позволяет более просто линеаризовать уравнение динамики, так как не требуется выполнять разложение в ряд Тейлора (хотя это и не сложно).


2.3. Классический способ решения уравнений динамики


Классический метод решения уравнений динамики САУ (САР) применим только для линейных или линеаризованных систем.


Рассмотрим некоторую САУ (звено), динамика которой описывается линейным дифференциальным уравнением вида:


$L(p) \cdot y(t) = N(p)*x(t), \ \ \ \mathbf{(2.3.1)}\\ где: L(p) = a_n\cdot p^n + ..+a_1 \cdot p + a_0 \\ N(p) = b_m \cdot p^m+..+b_1 \cdot p+b_0 $


Переходя к полной символике, имеем: $\Rightarrow$


$a_n \cdot y^{(n)}+a_{n-1} \cdot y^{(n-1)}+..+a_1 \cdot y'+a_{0} = b_m \cdot x^{(m)}+b_{n-1} \cdot x^{(n-1)}+..+b_1 \cdot y'+b_{0} \ \ \mathbf{(2.3.2)};$


Выражение (2.3.2) обыкновенное дифференциальное уравнение (ОДУ), точнее неоднородное ОДУ, так как правая часть 0.


Известно входное воздействие x(t), коэффициенты уравнения и начальные условия (т.е. значения переменных и производных при t = 0).


Требуется найти y(t) при известных начальных условиях.


Известно, что


$y(t) = y_{общ.}(t)+y_{част.}(t),\ \ \ \mathbf{(2.3.3)}$


где: $y_{общ.}(t)$ решение однородного дифференциального уравнения $L(p) y(t) = 0; $y_{част.}(t) $inline$ - частное решение. $inline$


Будем называть решение однородного дифференциального уравнения $y_{общ.} = y_{собств.}$, собственным решением, так как его решение не зависит от входного воздействия, а полностью определяется собственными динамическими свойствами САУ (звена).


Вторую составляющую решения (2.3.3) будем называть $y_{част.} = y_{вын.}$, вынужденным, так как эта часть решения определяется внешним воздействием $x(t)$, поэтому САУ (САР или звено) вынуждена отрабатывать это воздействие:


$y(t) = y_{собств.}(t)+y_{вын.}(t),\ \ \ \mathbf{(2.3.4)}$


Напомним этапы решения:


1) Если имеется уравнение вида $L(p) \cdot y(t) = N(p)*x(t)$, то сначала решаем однородное дифференциальное уравнение:


$a_n \cdot y^{(n)}+a_{n-1} \cdot y^{(n-1)}+..+a_1 \cdot y'+a_{0} =0 $


2) Записываем характеристическое уравнение:


$L(\lambda) =0; \ \Rightarrow \ a_n \cdot \lambda^{n}+a_{n-1} \cdot \lambda^{n-1}+..+a_1 \cdot \lambda+a_{0} =0 \ \ \ \mathbf{(2.3.5)}$


3) Решая уравнение (2.3.5), которое является типичным степенным уравнением, каким-либо способом (в том числе и с помощью стандартных подпрограмм на компьютере) находим корни характеристического уравнения $\lambda_i$
4) Тогда собственное решение записывается в виде:


$y_{собств.}(t)=\sum_{j=1}^n C_j \cdot e^{\lambda_j \cdot t}, \ \ \ \mathbf{(2.3.6)}$


если среди $\lambda_i$ нет повторяющихся корней (кратность корней равна 1).


Если уравнение (2.3.5) имеет два совпадающих корня, то собственное решение имеет вид:


$y_{собств.}(t)=\sum_{j=1}^{n-2} C_j \cdot e^{\lambda_{j} \cdot t} +C_{n-1} \cdot e^{\lambda_{n-1} \cdot t}\cdot [1+C_n\cdot t]. \ \ \ \mathbf{(2.3.7)}$


Если уравнение (2.3.5) имеет k совпадающих корней (кратность корней равна k), то собственное решение имеет вид:


$y_{собств.}(t)=\sum_{j=1}^{n-k} C_j \cdot e^{\lambda_{j} \cdot t} +C_{n+1-k} \cdot e^{\lambda_{n+1-k} \cdot t}\cdot [1+C_{n+2-k}\cdot t+C_{n+3-k}\cdot t^2+.. \\ ..+C_{n}\cdot t^{k-1}]. \ \ \ \mathbf{(2.3.8)}$


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


Если вид правой части дифференциального уравнения относительно несложная функция времени, то предпочтительным является способ а): подбор решения. $y_{вын.}(t) = f_{вын}(t)$.


6) Суммируя полученные составляющие (собственную и вынужденную), имеем: $\Rightarrow$


$y_{полн.}(t)=\sum_{j=1}^n C_j \cdot e^{\lambda_j \cdot t} + f_{вын}(t).$


7) Используя начальные условия (t = 0), находим значения постоянных интегрирования $C_j$. $\Rightarrow$ Обычно получается система алгебраических уравнений. $\Rightarrow$ Решая систему, находим значения постоянных интегрирования $C_j$


Пример


Найти аналитическое выражение переходного процесса на выходе звена, если


$\left\{ \begin{gathered} 2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =1- e^{-t}\\ Начальные \ условия \ t = 0; \Rightarrow y(0) = 0; y'(0) =0.\ \end{gathered} \right.$


Решение. $\Rightarrow$ Запишем однородное ОДУ: $2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =0$
Характеристическое уравнение имеет вид: $2 \cdot \lambda ^2+5 \cdot \lambda+2 = 0$; Решая, имеем: $\lambda_1 = -2; \ \ \lambda = 0.5,$ тогда:

$y_{соб} = С_1 \cdot e^{-2 \cdot t}+С_2 \cdot e^{-0.5 \cdot t},$


где $С_1, С_2$ неизвестные (пока) постоянные интегрирования.

По виду временной функции в правой части запишем $y_{вын}(t)$ как:


$у_{вын}(t) =A+B \cdot e^{-t} \Rightarrow у_{вын}'(t) = -B\cdot e^{-t} \Rightarrow у_{вын}''(t) = B\cdot e^{-t} $


Подставляя в исходное уравнение, имеем:


$2\cdot B \cdot e^{-t} - 5 \cdot B \cdot e^{-t}+2\cdot A +2 \cdot B \cdot e^{-t} =1 - e^{-t} \Rightarrow \left\{ \begin{gathered} 2 \cdot A =1\\ -B = -1\ \end{gathered} \right. \Rightarrow\\ \Rightarrow \left\{ \begin{gathered} A = \frac{1}{2}\\ B = 1\ \end{gathered} \right. \Rightarrow y_{вын.}(t) = \frac{1}{2} -e^{-t};$


Суммируя $y_{соб}, y_{вын}$, имеем: $y(е) = С_1 \cdot e^{-2 \cdot t}+С_2 \cdot e^{-0.5 \cdot t}+\frac{1}{2}+ e^{-t}.$


Используя 1-е начальное условие (при t = 0), получаем: $0 =C_1+C_2+0.5+1$, а из 2-го начального условия имеем: $0 = -2 \cdot C_1 - 0.5 \cdot C_2 -1.$


Решая систему уравнений относительно $С_1$ и $С_2$, имеем: $С_1 = -1/6; \ \ \ C_2 = -4/3. $
Тогда окончательно:


$y(t) = - \frac{1}{6} e^{-2t}- \frac{4}{3} e^{-0.5t}+\frac{1}{2}+e^{-t};$


Что бы проверить результ, выполним моделирование процесса в SimInTech, для этого преобразуем исходное уравнение к виду:


$2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =1- e^{-t} \Rightarrow \\ \Rightarrow y''(t) = 0.5 - 0.5\cdot e^{-t} - 2.5 \cdot y'(t)- y(t)$


Создадим модель SimInTech, содержащую исходное динамическое уравнение и полученное аналитическое решение, и выведем результаты на один график (см. рис. 2.3.1).



Рис. 2.3.1 структурная схема для проверки решения


На рис. 2.3.2 приведено решение по вышеприведенному соотношению и численное решение задачи в среде SimInTech (решения совпадают и линии графиков наложены друг на друга).



Рис. 2.3.2 Решение уравнения динамики

Ссылки по теме:


  1. Википедия про ряд Тейлора
  2. Дифференциальные уравнения на Match24.ru
  3. Пример создания модели груза на пружине.
  4. Начало лекций здесь: Введение в теорию автоматического управления. Основные понятия теории управления техническим системами
Подробнее..

Модельно-ориентированное проектирование. Построение активного выпрямителя (на основе математической модели)

06.07.2020 06:04:37 | Автор: admin

Продолжение цикла статей про модельно ориентированное проектирование. В предыдущих сериях:


В этой серии, авторы Ю. Н. Калачев и А.Г. Александров, представляют математическую модель активного выпрямителя в среде структурного моделирования.




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



Рис. 1 Принципиальная схема активного выпрямителя

1. Как это работает?


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


При этом заряженную емкости Cdc</sub> инвертора можно рассматривать как источник напряжения, из которого инвертор с помощью ШИМ способен формировать трехфазное напряжение различной амплитуды и фазы (естественно, вследствие импульсного управления речь идет о среднем напряжении). Это напряжение совместно с напряжением сети формирует напряжение, на трехфазном дросселе определяющее фазу и амплитуду его тока.

На холостом ходу (если потребление тока от сети отсутствует) инвертор формирует напряжение, совпадающее с напряжением входной сети по амплитуде и фазе. Ток в дросселе при этом, естественно, не течет.


В режиме активного потребления на дросселе формируется напряжение, фаза которого опережает фазу сети на /2. При этом ток в индуктивности, отстающий от напряжения на /2, совпадет по фазе с напряжением сети. Его амплитуда, необходимая для поддержания в звене постоянного тока заданного напряжения, определяется амплитудой напряжения на дросселе.

В режиме рекуперации (при отдаче энергии в сеть) на дросселе формируется напряжение, отстающее от сетевого по фазе на /2, что приводит к протеканию тока дросселя в противофазье с напряжением сети. Заданное напряжение в звене постоянного тока при этом поддерживается амплитудой напряжения на дросселе.


На Рис.2 показаны векторные диаграммы, поясняющие вышесказанное.



Рис. 2 векторные диаграммы в различных режимах

На диаграммах:
$\vec U_ 1 $ вектор напряжения входной сети
$\vec U_ 2 $ вектор напряжения, формируемый инвертором
$\vec U_ 1 - \vec U_ 2 $ вектор напряжения дросселя
$\vec I $ вектор тока сети
Система координат ABC неподвижная, трехфазная
Система координат XY вращающаяся система координат, ось X которой совпадает с вращающимся вектором напряжения сети.


ПРИМЕЧАНИЕ Глядя на диаграммы на Рис.2 можно заметить интересную деталь: малейшее отличие фазы вектора напряжения инвертора от фазы вектора напряжения сети приводит к фазовому скачку напряжения на дросселе на 90, и соответственно, к смене режима холостого хода на рекуперацию или активное потребление.


Итак, как уже говорилось, на трехфазном дросселе и инверторе строится повышающий преобразователь, обеспечивающий поддержание заданного напряжения звена постоянного тока (Udc). Это поддержание осуществляется с помощью управления вектором входного тока. За счет ШИМ-управления и повышения частоты переключения IGBT-ключей инвертора удается добиться снижения индуктивностей входного дросселя до разумных значений при получении синусоидальной формы входного тока и обеспечении его активного характера.


2. Математическое описание работы активного выпрямителя


Для схемы на Рис.1 можно записать следующее выражение:

$\vec U_1 = \vec U_2+ \vec I \cdot R +L \cdot \frac{d \vec I}{dt}$

где:
R активное сопротивление дросселя;
L индуктивность дросселя.

Для вращающейся системы координат XY, связанной с вектором напряжения входной сети, можно записать:


$\left \{ \begin{gathered} U_1 =U_{2X} + I_X R +L \frac{dI_X}{dt} - \omega L I_Y\\ 0= U_{2Y} + I_Y R +L \frac{dI_Y}{dt} + \omega L I_X\\ \end{gathered} \right.$


где:
$\omega = 2\pi f = 100 \pi $ для 50 Гц
$I_X$ активная составляющая входного тока (совпадает с фазой сети);
$I_Y$ реактивная составляющая входного тока (отстает или опережает фазу сети на 90).

Для того, чтобы характер потребления корректора был активным необходимо поддерживать $I_Y = 0$.


Кроме того, корректор должен обеспечивать функции выпрямителя, то есть поддерживать заданное значение $U_{dc} $, независимо от тока нагрузки.


3. Структура системы управления активного выпрямителя


Рассмотрим структуру системы на основе ее модели в SimInTech (Рис.3).



Рис. 3 структурная схема модели

Система регулирования строится во вращающейся синхронно с вектором напряжения входной сети системе координат XY по двухконтурной структуре. Внешний контур напряжения с помощью регулятора напряжения вырабатывает задание на активную согставляющую тока дросселя ($I_X $), необходимую для поддержание заданного$U_{dc}$.


Внутренний контур тока обеспечивает отработку задания активной составляющей тока ($I_X$) при нулевой реактивной составляющей ($I_Y=0$).


Ниже перечислены и кратко описаны блоки системы:
Uset задатчик напряжения Udc,.
ВФ вычислитель фазы сети, определяет угол поворота вектора напряжения входной сети в неподвижной системе координат и формирует сигналы необходимые для координатных преобразований.
ABC=>XY преобразователь координат, осуществляет переход из неподвижной трехфазной системы координат во вращающуюся прямоугольную систему координат ХY, связанную с вектором входного напряжения.
XY=>ABC преобразователь координат осуществляет переход из вращающейся системы координат ХY в неподвижную трехфазную.
PU регулятор напряжения (ПИ), преобразует сигнал ошибки $U_{dc}$ в сигнал задания активной составляющей входного тока $I_{1X}$.
РIx регулятор тока, преобразует сигнал ошибки активного тока в сигнал задания напряжения по оси Х вращающейся системы координат.
РIy регулятор тока, преобразует сигнал ошибки реактивного тока в сигнал задания напряжения по оси Y вращающейся системы координат.
Огр.U ограничитель напряжения ограничивает вектор напряжения по модулю максимально возможным значением с приоритетом Y составляющей.
КПС блок компенсации предназначен для компенсации перекрестных связей между токами координат (см. последние члены в уравнениях 1.1). Компенсация не осуществляется по координате X, так как предполагается равенство нулю тока по оси Y.
ФЗМ Формирователь Закона Модуляции блок алгоритма ШИМ с полным использованием напряжения звена постоянного тока.


ВНИМАНИЕ:
  • Имеющий глаза да увидит несколько необычное построение вычитающих блоков на входе регуляторов тока. В них сигнал задания тока вычитается из сигнала обратной связи, а не наоборот, как обычно бывает. Это связано с тем, что при координатных преобразованиях положительным считается фазный ток, вытекающий из источника напряжения. Для преобразования АВС=>XY источником является сеть, а для обратного преобразования, XY => АВС, источником является инвертор. Так как фазные токи с точки зрения сети и инвертора противоположны, требуется инвертирование задания и обратной связи в контуре тока, что и реализуется в структуре вычитающих блоков на входе его регуляторов.
  • На описании математики блоков подробно не останавливаюсь, так как она присутствует во внутренних структурах блоков, доступных пользователю SimInTech (смотрите внутреннюю структуру, читайте help на элементы).

4. Структура силовой части выпрямителя


Структура силовой части выпрямителя рассмотрена на основе ее математической модели в представлена на Рис.4.



Рис. 4 структурная схема модели силовой части выпрямителя

Параметры силовой схемы следующие:
L = 0.0015 Гн
С = 10 000 мкФ
Частота ШИМ 8.33 кГц


5. Работа модели


Пакет модели состоит из двух проектов, схемы которых приведены выше. Время интегрирования проекта системы управления равно такту ШИМ 160мкс Время интегрирования проекта силовой части 1мкс Синхронизация проектов с частотой обсчета проекта системы управления моделирует временную дискретность реальной (цифровой) системы управления.
Ниже приведено описание алгоритма работы пакета модели и поясняющие его работу графики (Рис.5, 6 и 7).


На участке 1 транзисторы инвертора выключены, происходит заряд емкости звена постоянного тока через диоды инвертора с ограничением тока на зарядном резисторе.
На участке 2 зарядный резистор шунтируется реле и на холостом ходу происходит повышение напряжения до заданного (700В).
На участке 3 ток нагрузки (50А) потребляется из сети.
На участке 4 ток нагрузки (-50А) рекуперируется в сеть.



Рис. 5

Рис. 6

Рис. 7

Токи сети имеют активный и синусоидальный характер. Содержание высших гармоник в токе по данным анализатора спектра графика в SimInTech составляет 4.4% .


Осциллограмма тока и напряжения фазы А и экран измерения режимов снятые при работе реального активного выпрямителя в качестве звена постоянного тока преобразователя частоты приведены на Рис.8 ниже.



Рис. 8

Можно констатировать, что ток и напряжение совпадают по фазе и Cos=1


Для связи с автором Юрий Николаевич Калачёв (Kalachev_i@mail.ru)
Подробнее..

Введение в моделирование динамики квадро-, гекса- и октокоптеров

28.09.2020 02:15:18 | Автор: admin

Что бы разбавить зубодробительную математику лекций Козлова Олега Степановича "Управление в технических системах", публикуем здесь пример применения знаний из этих лекций на практике.


В данной статье, Александр Щекатуров, ученик Олега Степановича описывает создание модели октокоптера, попутно раскрывая секреты и демонстрируя приемы работы в среде структурного моделирования физических систем.



В настоящей статье приведено описание логически завершённой, но всего лишь части полной работы по моделированию, но этой части достаточно для введения в тему динамического моделирования БПЛА коптерного типа.


Здесь опущено моделирование эффектов прецессии, принимается что и реактивный момент каждой ВМГ равен нулю, а именно: каждая ВМГ имеет два двигателя и винта, вращающихся с одинаковой скоростью в противоположные стороны. Не моделируются отказы оборудования и предполагается что объект находится только в воздухе (в штатном режиме полёта), режимы посадки и взлёта, аварийные ситуации, захват груза и разгрузка в приведённой модели не реализованы, а также не рассматриваются вопросы подробного моделирования датчиков, фильтрации сигналов и шумов, изгиб рамы коптера и/или винтов, работа на запредельных нагрузках, написание драйверов к той или иной аппаратуре и т.д. и т.п., всё это темы более расширенной статьи или даже книги.



1 Постановка задачи


Дано: объект массой порядка 1025 кг, с 4, 6 или 8-ю парными соосными винтомоторными группами (ВМГ), расположенными по традиционной схеме квадро, гекса или октокоптера на жёсткой раме, с 8, 12 или 16 двигателями типа T-motors Antigravity 6007 KV320 или аналогичными и соответствующими им винтами (исходим из грузоподъёмности одной ВМГ порядка 2 кг на 50% газа). Предположим что конструкция аппарата до конца не определена.


Требуется: сконструировать и реализовать модель динамики объекта параметрически, в общем виде и в объёме, достаточном для проектирования полётного контроллера и наземного пульта управления коптером.



2 Основные положения модели


В литературе и сети приведено довольно много моделей квадрокоптеров, есть некоторые модели гекса- и октокоптеров. Однако, изложенного в системном и методичном виде со всеми подробностями практически ничего нет (по крайней мере, в русскоязычном сегменте, из тех материалов что удалось найти). Наиболее методично теоретический подход к моделированию мультироторного БПЛА изложен в работах [1] и [2].


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


  1. Двигатель моделируется как инерционное звено (апериодическое звено) первого порядка, на вход которому подается заданное значение угловой скорости, а на выходе текущее (измеренное) значение угловой скорости вращения. Интегрируя скорость вращения, можно получить и текущий угол поворота если это зачем-то нужно. Силу тяги ВМГ развивает пропорциональную квадрату угловой скорости (равно как и реактивный момент каждого двигателя, но в нашем случае он будет 0), а именно:

    $F_M(t)=C_T \cdot \omega^2(t), \\ M_M(t)=C_Q \cdot \omega^2(t),$


    где, для выбранной винтомоторной группы (согласно её характеристике):
    $C_T=2.02268 \cdot 10^{-4}H \cdot c^2 $,
    $M_M 0 \ \ Н \cdot м\cdot с^2$ реактивный момент двигателя,
    $(t)$ текущая угловая скорость, рад/с.
  2. Мультироторный аппарат моделируется как твёрдое тело и представляет собой жёсткую (недеформируемую) раму постоянной массы, симметричную по трём главным осям, с прикрепленными к ней ВМГ в одной плоскости, в которой находится и центр масс аппарата. При этом ВМГ расположены на восьми лучах (4 из них одной длины, а другие 4 могут быть другой длины) и жестко закреплены относительно рамы. Таким образом можно говорить о том, что радиус-векторы центров ВМГ и орты силы тяги каждой ВМГ суть геометрические константы в системе координат, связанной с коптером. Другими словами, величина $F_M (t)$ [Н], вычисленная в модели ВМГ, является модулем вектора силы, приложенного всегда в определенном направлении и в определенной точке коптера. В процессе полета это направление будет меняться, конечно, но относительно рамы коптера (и связанной с ней системы координат) оно остаётся неизменным.
  3. Используется две системы координат: а) неподвижная инерциальная, связанная с Землёй и б) подвижная, связанная с коптером. Системы координат обозначим буквами I и B (от английских слов inertial инерциальный и body тело). При этом оси систем направлены: $x_I$-вправо, $y_I$-на наблюдателя, $z_I$-вниз, $x_B$ вправо вдоль луча первой ВМГ, $y_B$-на наблюдателя вдоль луча третьей ВМГ, $z_B$-сверху вниз при нормальной ориентации коптера (см. рисунок):

    Тогда, в системе координат B векторы центров ВМГ будут равны:

    $\vec {r_{M1}} = (l_1,0,0)^T, \ \ \ \ \vec {r_{M2}}=\frac{1}{\sqrt 2} (l_2,l_2,0)^T \\ \vec {r_{M3}} = (0,l_1,0)^T, \ \ \ \ \vec {r_{M4}}=\frac{1}{\sqrt 2} (-l_2,l_2,0)^T \\ \vec {r_{M5}} = (l_1,0,0)^T, \ \ \ \ \vec {r_{M6}}=\frac{1}{\sqrt 2} (-l_2,-l_2,0)^T \\ \vec {r_{M7}} = (0,-l_1,0)^T, \ \ \ \ \vec {r_{M8}}=\frac{1}{\sqrt 2} (l_2,-l_2,0)^T $


    где $l_1$ длина луча у 1, 3, 4 и 5-й ВМГ, а $l_2$ длина лучей у 2, 4, 6 и 8-й ВМГ.

    Для того чтобы коптер управлялся (хотя бы немного) по курсу, в нашем случае отсутствия реактивного момента двигателей, вектора сил тяги каждой ВМГ должны быть немного отклонены от вертикального направления (повёрнуты вокруг каждого луча на небольшой угол порядка 15 градусов, причем в разные стороны четные в одну а нечетные в другую). Если обозначить этот угол как $\gamma $, орты можно получить в следующем виде:

    $\vec{e_{M1}}=(0,-sin(\gamma),-cos(\gamma))^T, \ \ \ \vec{e_{M2}}=(-\frac{sin(\gamma)}{\sqrt2},\frac{sin(\gamma)}{\sqrt2},-cos(\gamma))^T,\\ \vec{e_{M3}}=(sin(\gamma),0,-cos(\gamma))^T, \ \ \ \vec{e_{M4}}=(-\frac{sin(\gamma)}{\sqrt2},-\frac{sin(\gamma)}{\sqrt2},-cos(\gamma))^T,\\ \vec{e_{M5}}=(0,sin(\gamma),-cos(\gamma))^T, \ \ \ \vec{e_{M6}}=(\frac{sin(\gamma)}{\sqrt2},-\frac{sin(\gamma)}{\sqrt2},-cos(\gamma))^T,\\ \vec{e_{M7}}=(-sin(\gamma),0,-cos(\gamma))^T, \ \ \ \vec{e_{M8}}=(\frac{sin(\gamma)}{\sqrt2},\frac{sin(\gamma)}{\sqrt2},-cos(\gamma))^T.$


    На основе этих геометрических констант (напомним, они являются константами только в системе координат B, связанной с коптером) строится весь дальнейший каркас модели, поэтому они важны. В общем случае, винтомоторных групп может быть другое количество и направлены они могут быть в других направлениях, и располагаться у коптера в других местах.
    О применяемых системах координат подробно изложено в [1].
  4. Силы, которые будут учтены в модели. На коптер действуют:
    4.1) Сила тяжести. Направлена всегда вниз вдоль оси инерциальной системы координат $z_I$. Сила тяжести постоянная величина, зависит только от массы коптера. Масса коптера принимается постоянной и не меняется (хотя в процессе моделирования её можно будет менять, имитируя дополнительный полезный груз, навешенный на коптер).
    4.2) Силы тяги ВМГ их всего 8, они направлены вдоль своих направлений, модуль сил вычисляется в зависимости от угловой скорости вращения соответствующей ВМГ.
    4.3) Сила сопротивления воздуха (и/или ветер) моделируется как состоящая из двух компонент. Сила сопротивления воздуха прямо пропорциональна плотности воздуха, квадрату линейной скорости объекта в воздухе и характерной площади сечения в выбранном направлении (коэффициент формы). Сила ветра внешняя возмущающая сила, задается произвольным образом или при помощи дополнительной модели ветра (в настоящей статье не рассматривается).
    4.4) Внешняя сила или возмущение произвольное внешнее воздействие. В модели такая возможность заложена как простой способ в дальнейшем проверять на устойчивость регуляторы по каждому из направлений.
  5. Моменты, учитываемые в модели:
    5.1) Реактивный момент двигателей ВМГ. В нашей модели он равен нулю, из-за парности двигателей и винтов в каждой ВМГ в общем случае следует учитывать. В некоторых аппаратах этот момент используется и для управления по курсу.
    5.2) Явление прецессии в рассматриваемой модели он нулевой, в общем случае его нужно считать.
    5.3) Момент сопротивления воздуха аналогично силе сопротивления воздуха, прямо пропорционален плотности воздуха, квадрату угловой скорости коптера и коэффициенту формы.
    5.4) Опрокидывающий момент от ветровой нагрузки.
    5.5) Внешний возмущающий момент для отладки регуляторов.
    5.6) Моменты от сил тяги ВМГ. Поскольку винты расположены не в центре масс коптера, каждый из них будет создавать свой поворотный момент. Это, пожалуй, основной фактор, который управляет ориентацией коптера в пространстве.

3 Нелинейные уравнения динамики октокоптера


С учетом принятых допущений, и того что коптер моделируется как единое твёрдое тело, основа модели динамики коптера очень проста это второй закон Ньютона, который в векторной форме выглядит следующим образом, всего два простых уравнения:


$\frac{d \vec{p}(t)}{dt}=\vec{F}(t), \\ \frac{d \vec{L}(t)}{dt}=\vec{M}(t), $


где $\vec {p}(t))=m \cdot \vec{v}(t)$ импульс коптера, а $\vec{L} (t)=I(t)\cdot \vec{\omega}(t)$ момент импульса коптера, $m$ его масса, $I(t)$ тензор инерции (линейный оператор момента инерции). $\vec{F}(t)$ и $\vec{M}(t)$ суть суммы всех сил и всех моментов, действующих на коптер.

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


Подставив в приведенные уравнения второго закона Ньютона значения для импульса и момента импульса коптера, для инерциальной системы координат получим:

$\frac{d \vec{v_I}(t)}{dt}=\frac{1}{m}\vec{F_I}(t),\\ \frac{d \vec{\omega_I}(t)}{dt}= I^{-1}(\vec{M_I}(t)-\frac{dI_I}{dt}\cdot \vec{\omega_I}).$


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

В математике есть два основных подхода к преобразованию векторов из одной системы координат в другую и обратно матрицы поворота и кватернионы. Последние более универсальны, первые проще. В настоящей модели используются матрицы поворота. Если ориентацию коптера представить тремя углами: крена (roll), тангажа (pitch) и рыскания/курса (yaw), а матрицы преобразования из системы I в B и обратно обозначить как $R_{IB}$ и $R_BI=R_IB^T$, то любой вектор записанный для системы координат I, можно перевести в систему координат B, и наоборот, используя умножение соответствующей матрицы на вектор, например: $\vec{F_I }(t)=R_{BI} \vec{F_B}(t)$, или $\vec{F_B }(t)=R_{IB} \vec{F_I}(t)$.


Чтобы лучше понимать написанное далее, прокомментируем ещё раз как понимать матрицы поворота и вектора в пространстве: система координат I неподвижна, относительно неё летает и вращается коптер, а вместе с ним и связанная система координат B. Просуммировав все силы, которые действуют на коптер, можно получить вектор $\vec F(t)$ (аналогично и с моментом сил), и в каждый момент времени он является вектором с вполне определенной длиной и направлением в пространстве. Но раскладывая его на проекции по осям в разных системах координат мы получим разные величины проекций. Всё что делает матрица поворота это переводит одни проекции вектора в другие, при этом сам вектор никуда не поворачивается и не изменяет своей длины, в выбранный момент времени. Если проекции сравнить с тенями вектора, то матрицы поворота преобразуют одни тени в другие, всё. Больше они ничего не делают и сложностей кроме вычислительных не представляют.


Нам они нужны только из-за того, что вычислять и суммировать силы и моменты сил, действующие на коптер, гораздо проще в связанной системе координат B. В ней же проще провести численное интегрирование уравнений, чтобы получить величины угловой и линейной скоростей коптера $\vec{_B}(t)$ и $\vec{v_B}(t)$, а потом обратной матрицей поворота вычислить (вычислить алгебраически матрицы поворота это простые уравнения) эти же скорости для инерциальной системы координат I и там уже, интегрируя дальше, вычислить линейные и угловые координаты коптера.


Приведем используемое выражение для матрицы поворота из системы I в B, записав для краткости функции косинуса и синуса как cos() = c() и sin() = s():

$R_{IB}=\\ =\left( \begin{array}{ccc} c(\theta)\cdot s(\psi) & c(\theta)\cdot s(\psi) & -s(\theta)\\ s(\varphi) \cdot s(\theta) \cdot c(\psi)- c(\varphi) \cdot s(\psi)&s(\varphi) \cdot s(\theta) \cdot s(\psi) + c(\varphi) \cdot C(\psi) & s(\varphi) \cdot c(\theta)\\ c(\varphi) \cdot s(\theta) \cdot c(\psi) + s(\varphi) \cdot s(\psi)&s(\varphi) \cdot s(\theta) \cdot s(\psi) - s(\varphi) \cdot c(\psi) & c(\varphi) \cdot c(\theta) \end{array} \right)$


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

Реализованная методом структурного моделирования, матрица в среде SimInTech выглядит как показано на рисунке 1.



Рисунок 1. Матрица поворота из системы I в систему координат B

Тогда, для вектора линейной скорости можно записать:

$\vec {v_B} (t)=R_{IB} \cdot \vec {v_I}(t),$

а для момента импульса

$\vec {L_B} (t)=R_{IB} \cdot \vec{L_I }(t). $

Опуская промежуточные выкладки (в том числе производную матрицы поворота, которая получается равной в итоге векторному произведению угловой скорости объекта на саму матрицу поворота, взятое с обратным знаком), для первого из рассматриваемых уравнений динамики получим следующее выражение в связанной с коптером системе координат B:

$\frac{d\vec{v_B}}{dt} =- \vec{\omega_B}(t) \times \vec{v_B}(t)+ \frac{1}{m}\vec{F_B}(t),$


а для второго уравнения, учитывая что $\vec{L_B } (t)=I_B\cdot \vec{\omega_B} (t)$,
и так как во вращающейся связанной системе координат тензор инерции константа и его производная по времени равна нулю, а $\frac{d\vec{L_B } (t)}{dt}=I_B\cdot \frac{d\vec{\omega_B} (t)}{dt}$ получим:

$\frac{d\vec{\omega_B}}{dt} =-I_B^{-1}( \vec{M_B}(t) - \vec{\omega_B}(t) \times (I_B \cdot \vec{\omega_B}(t))).$


Итого, запись II закона Ньютона для вращающейся системы B, по сравнению с исходными уравнениями, дополнилась двумя векторными произведениями.


Переменными состояния коптера в такой записи являются две векторных величины (или 6 скалярных) вектор линейной скорости и вектор угловой скорости. Алгебраически это будет 6 переменных три проекции линейной скорости и три проекции угловой скорости. И мы имеем записанную в форме Коши систему из 6 нелинейных уравнений первого порядка, которую легко можно реализовать в среде структурного моделирования SimInTech или Simulink или Scilab и даже успешно решить её тем или иным методом интегрирования.


Получив значения скоростей коптера (сначала в системе B), их можно матрицей обратного поворота преобразовать к системе I, еще раз проинтегрировать и получить уже значения координат и, следовательно, положение объекта в пространстве, в инерциальной системе координат.


Единственное что мы еще не сделали по уравнениям не записали выражения для сил и моментов, действующих на коптер. Сделаем это ниже, в системе координат B. Согласно допущениям, учитываем и обозначим индексами: M работу двигателей, только в части создаваемой силы тяги и моментов от неё, D силу сопротивления воздуха (вместе с ветром), O внешнее возмущение, вообще нулевое, и задаваемое произвольно пользователем, силу тяжести она поворотного момента сил не создаёт:

$\vec {F_B}(t) = \vec {F_M}(t)+\vec {F_D}(t)+\vec {F_O}(t)+m\cdot g \cdot R_{IB}\cdot\vec{e_{IZ}}\\ \vec {M_B}(t) = \vec {M_M}(t)+\vec {M_D}(t)+\vec {M_O}(t) $


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

Распишем подробнее чему равны слагаемые:

$\vec {F_M}(t) = C_T\cdot\omega_{M1}^2(t)\cdot \vec {e_{M1}}+ C_T\cdot\omega_{M2}^2(t)\cdot \vec {e_{M2}}+ C_T\cdot\omega_{M3}^2(t)\cdot \vec {e_{M3}}+\\ +C_T\cdot\omega_{M4}^2(t)\cdot \vec {e_{M4}}+ C_T\cdot\omega_{M5}^2(t)\cdot \vec {e_{M5}}+ C_T\cdot\omega_{M6}^2(t)\cdot \vec {e_{M6}}+\\ +C_T\cdot\omega_{M7}^2(t)\cdot \vec {e_{M7}}+ C_T\cdot\omega_{M8}^2(t)\cdot \vec {e_{M8}}$


Здесь уже фигурируют угловые скорости вращения ВМГ, а не коптера. Напомним, что орты сил тяги у нас записаны для системы координат B и там являются константами очевидно, что их можно вычислить 1 раз, общий коэффициент вынести здесь за скобку и сильно упростить вычисления. Если бы мы записывали уравнения динамики в системе I, то данное выражение обросло бы ещё 8-ю умножениями на матрицу поворота каждого орта и это пришлось бы считать на каждом шаге расчета.

Сила сопротивления воздуха (при отсутствии ветра):

$\vec{F_{D}} =-0.5 \rho \cdot C_D \cdot \left( \begin{array}{c} A_{yz}\cdot v_x \cdot |v_x|\\ A_{xz}\cdot v_y \cdot |v_y| \\ A_{xy}\cdot v_z \cdot |v_z| \end{array} \right)$


Внешнее возмущение нулевое, по желанию пользователя, он может сам установить то или иное значение позже, до расчета, или в процессе моделирования.

Момент сил тяги двигателей запишем как:

$\vec {M_M}(t) =\vec{r_{M1}} \times \vec {e_{M1}} \cdot C_T\cdot\omega_{M1}^2(t) + \vec{r_{M2}} \times \vec {e_{M2}} \cdot C_T\cdot\omega_{M2}^2(t)+\\ +\vec{r_{M3}} \times \vec {e_{M3}} \cdot C_T\cdot\omega_{M3}^2(t)+ \vec{r_{M4}} \times \vec {e_{M4}} \cdot C_T\cdot\omega_{M4}^2(t)+\\ +\vec{r_{M5}} \times \vec {e_{M5}} \cdot C_T\cdot\omega_{M5}^2(t)+ \vec{r_{M6}} \times \vec {e_{M6}} \cdot C_T\cdot\omega_{M6}^2(t)+\\ \vec{r_{M7}} \times \vec {e_{M7}} \cdot C_T\cdot\omega_{M7}^2(t)+ \vec{r_{M8}} \times \vec {e_{M8}} \cdot C_T\cdot\omega_{M8}^2(t)$


Момент сопротивления воздуха (подробнее см. [1]):

$\vec{M_{D}} =-0.5 \rho \cdot C_D \cdot \left( \begin{array}{c} A_{yz}\cdot v_x \cdot |v_x| \cdot l_x\\ A_{xz}\cdot v_y \cdot |v_y| \cdot l_y\\ 8A_{xy}\cdot v_z \cdot |v_z| \cdot l_z \end{array} \right)$


Ещё раз отметим, что расчет прецессии и реактивных моментов ВМГ в данной статье для краткости изложения опущен.


Чтобы не ошибиться при переходе от векторных уравнений к скалярным, записанным по осям, проще воспользоваться пакетом типа MathCAD или Maple, в котором большинство преобразований можно выполнить автоматизированно, в символьном виде и получить требуемые 6 уравнений динамики, записанные по осям подвижной системы координат B.


В наиболее компактной форме полученные и решаемые уравнения динамики выглядят так:

$\frac{d\vec{v_B}}{dt}=\frac{1}{m}\left(\vec{F_M}(t) +\vec{F_D}(t) + \vec{F_O}(t)\right)+ gR_{IB}\vec{e_Iz} -\vec{\omega_B}(t)\times\vec{v_B}(t),\\ \frac{d\vec{\omega_B}}{dt} = I_B^{-1}\left (\vec{M_M}(t) +\vec{M_D}(t)- \vec{\omega_B}(t)\times(I_B\cdot\vec{\omega_B}(t) \right).$


Интегрируя их и получив значения скоростей в системе В, можно посчитать скорость и углы ориентации в инерциальной системе координат I:

$\vec{v_I}(t) = R_{BI}\cdot \vec{v_B}(t),\\ \left( \begin{array}{c} \dot{\varphi} \\ \dot{\theta} \\ \dot{\psi} \end{array} \right) = W_{BI} \cdot\vec{\omega_B}(t).$


Про матрицу преобразования из угловой скорости коптера в скорости поворота по углам Эйлера $W_{BI}$ подробнее см. в [1].

3 Реализация уравнений динамики в среде струкутурного моделирования


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


Итак, что мы получили с точки зрения математики в системе координат B мы имеем 2 векторных дифференциальных уравнения, которые при переходе к проекциям (и скалярным уравнениям) дают 6 нелинейных дифференциальных уравнений первого порядка, относительно 6 переменных: трёх скоростей и трёх угловых скоростей. Это так называемая 6DOF задача, т.е. задача с шестью степенями свободы. Сначала можно подумать, что раз у коптера имеется 6 степеней свободы, то должно быть и 6 переменных состояния (дифференциальных переменных). Но это так только на первый взгляд. Кроме скоростей, дальше нам придется получить еще и координаты (три линейных и три угла положения в пространстве) для чего еще раз проинтегрировать скорости. Таким образом, всего у коптера есть 12 степеней свободы. А если учесть еще то, что правые части дифференциальных уравнений есть ни что иное как ускорения коптера по осям, то получим как бы 18 степеней свободы. Это важно понимать, так как в дальнейшем для построения регулятора нам потребуются все 12 фазовых координат объекта плюс ещё 6 измеренных (или вычисленных) ускорения коптера.


3.1 Решение дифференциальных уравнений методом структурного моделирования


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


На рисунке 2 представлена основа динамической части модели октокоптера, которую формируют 6+3+3 блоков типа интегратор. Первые шесть блоков, получая на вход правые части дифференциальных уравнений (вычислим их ниже) ускорения коптера по осям $a_{Bx},a_{By},a_{Bz},_{Bx},_{By},_{Bz}$, занимаются интегрированием и вычислением скоростей коптера по этим же осям (тоже, в связанной с коптером системе В).


Следующие три интегратора принимают линейные скорости в системе координат I (полученные алгебраически из скоростей в системе B путём применения матрицы поворота) и, интегрируя их, получают координаты центра масс коптера в инерциальной системе координат


И, еще три блока типа интегратор занимаются вычислением углов ориентации коптера, интегрируя их производные (угловые скорости) в системе I, полученные из угловых скоростей коптера в системе B применением матрицы $W_{BI}$. Здесь же реализовано и вычисление нужных тригонометрических функций от углов поворота.



Рисунок 2. Структура модели октокоптера

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


Если бы у нас была более простая ситуация одно дифференциальное уравнение второго порядка (классический второй закон Ньютона a = F/m), например в проекции на ось x, то его решение таким же способом выглядело бы как на рисунке 3:



Рисунок 3. Двойное интегрирование

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


В субмодели W(B->I) реализована матрица преобразования из угловой скорости в системе B в производные углов Эйлера, см. рисунок 4 и [1] для подробностей.



Рисунок 4. Матрица $W_{BI}$

3.2 Правые части уравнений модели коптера


Для замыкания модели необходимо посчитать и реализовать все правые части у шести основных уравнений, то есть спроецировать полученные в разделе 2 векторные уравнения на оси $x_B,y_B,z_B$ и результат нарисовать в схеме SimInTech. Опуская выкладки (их читатель может выполнить самостоятельно на листке бумаги, или при помощи какого-то символьного математического ПО), приведем окончательный вид уравнений. Из-за громоздкости, приводить будем по слагаемым в правых частях.


Сила тяги винтомоторных групп $\vec{F_M }(t):$

$F_{Мх}(t)=\frac{1}{\sqrt{2}} \left(-F_{М2}(t)-F_{M4}(t)+F_{M6}(t)+F_{M8}(t)\right) \cdot sin(\gamma)+\\ +\left(F_{M3}(t)-F_{M7}(t) \right)\cdot sin(\gamma),\\ F_{Му}(t)=\frac{1}{\sqrt{2}} \left(F_{М2}(t)-F_{M4}(t)-F_{M6}(t)+F_{M8}(t)\right) \cdot sin(\gamma)+\\ + \left( F_{M5}(t)-F_{M1}(t) \right ) \cdot sin(\gamma),\\ F_{Мz}(t)= \left(F_{M1}(t)+F_{М2}(t)+F_{M3}(t)+F_{M4}(t)+\\ +F_{M5}(t)+F_{M6}(t)+F_{M8}(t)+F_{M8}(t)\right) \cdot cos(\gamma),$


где $F_{Mi}(t)$ сила тяги i-ой ВМГ в текущий момент времени.

Сила сопротивления воздуха $\vec{F_D}(t)$ при отсутствии ветра формулы приведены выше, проекции будут равны:

$$display$$F_{Dx}(t) = 0.5 \cdot \rho \cdot C_D\cdot A_{yz}\cdot v_x\cdot |v_x|,\\ F_{Dу}(t) = 0.5 \cdot \rho \cdot C_D\cdot A_{xz}\cdot v_у\cdot |v_у|,\\ F_{Dz}(t) = 0.5 \cdot \rho \cdot C_D\cdot A_{xy}\cdot v_z\cdot |v_z|.\\$$display$$



Сила тяжести, в проекции на оси подвижной системы координат, слагаемое $g\cdot R_{IB}\cdot \vec {e_{Iz}}$ очевидно будет равно:

$g\cdot R_{IB}\cdot \vec {e_{Iz}} =\left( \begin{array}{c} -sin(\theta)\\ sin(\phi)\cdot cos(\theta) \\ cos(\phi)\cdot cos(\theta) \end{array} \right)$


И последнее слагаемое в уравнении линейной скорости коптера векторное произведение скоростей:

$-\vec{\omega_B}(t)\times \vec{v_B}(t) =\left( \begin{array}{c} v_{Bz}\cdot \omega_{By} - v_{By} \cdot \omega_{Bz} \\ v_{Bx}\cdot \omega_{Bz} - v_{Bz} \cdot \omega_{Bx} \\ v_{By}\cdot \omega_{Bx} - v_{Bx} \cdot \omega_{By} \end{array} \right).$


Если аккуратно подставить полученные проекции в уравнение для производной линейной скорости коптера, и дальше реализовать всё это в SimInTech, по осям, получим следующие структурные схемы, представленные на рисунках 5, 6 и 7 (показаны проекции только на ось $x_B$, на другие оси результат аналогичен с точностью до слагаемых):



Рисунок 5. Линейное ускорение коптера по оси $x_{B}$.

Рисунок 6. Сила тяги ВМГ по оси $x_{B}$.

Рисунок 7. Сила сопротивления воздуха по оси $x_{B}$.

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

$\vec{M_m}(t)+\vec{M_D}(t)-\vec{\omega_B}(t) \times(I_B \cdot \vec{\omega_B})$


Сумма моментов сил тяги всех ВМГ:

$M_{Mx}(t)=\left[ \frac{l_2}{\sqrt2} \left( -F_{M2}(t)-F_{M4}(t)+F_{M6}(t)+F_{M8}(t) \right) +\\ +l_1(F_{M7}(t)-F_{M3}(t))\right] \cdot cos(\gamma), \\ M_{Mу}(t)=\left[ \frac{l_2}{\sqrt2} \left( F_{M2}(t)-F_{M4}(t)-F_{M6}(t)+F_{M8}(t) \right) +\\ +l_1(F_{M1}(t)-F_{M5}(t))\right] \cdot cos(\gamma),\\ M_{Mz}(t)= \left[ l_2 ( F_{M2}(t)+F_{M4}(t)+F_{M6}(t)+F_{M8}(t)) +\\ -l_1(F_{M1}(t)+F_{M3}(t)+F_{M5}(t)+F_{M7}(t)) \right] \cdot sin(\gamma). $

где $ F_{Mi} (t)$ сила тяги i-ой ВМГ в текущий момент времени, $l_1,l_2$ -плечи сил (длины лучей рамы коптера для нечетных и четных ВМГ).

Момент сопротивления воздуха (при отсутствии ветра):

$M_{Dx}(t) = 0.5 \cdot \rho \cdot C_D\cdot A_{yz}\cdot \omega_{Bx}\cdot |\omega_{Bx}|\cdot l_x,\\ M_{Dу}(t) = 0.5 \cdot \rho \cdot C_D\cdot A_{xz}\cdot \omega_{By}\cdot |\omega_{By}|\cdot l_y,\\ M_{Dz}(t) = 0.5 \cdot \rho \cdot C_D\cdot 8\cdot A_{xy}\cdot \cdot \omega_{Bz}\cdot |\omega_{Bz}|\cdot l_z.$


Векторное произведение угловой скорости на произведение тензора инерции и угловой скорости:

$-\vec{\omega_B}(t)\times (I_B \cdot\vec{\omega_B}(t)) =\left( \begin{array}{c} (I_{yy}-I_{zz})\cdot \omega_{By}\cdot \omega_{Bz} \\ (I_{zz}-I_{xx})\cdot \omega_{Bx}\cdot \omega_{Bz} \\ (I_{xx}-I_{yy})\cdot \omega_{Bx}\cdot \omega_{By} \end{array} \right).$


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



Рисунок 8. Угловое ускорение коптера вокруг оси $x_{B}$.

Рисунок 9. Момент сил тяг ВМГ вокруг оси $x_{B}$.

Рисунок 10. Сила сопротивления воздуха при вращении вокруг $x_{B}$.

3.3 Система уравнений динамики октокоптера в структурном виде


Итого, если представить все реализованные уравнения рядом на схеме, получим следующую картину (рисунок 11). Как видно, она довольно громоздка, даже без включения сюда других дифференциальных уравнений для вычисления координат коптера и углов поворота. А поскольку в дальнейшем на каждое уравнение будут навешиваться еще дополнительные сервисные вычисления (ускорений, различных составляющих сил и моментов, для отладки модели и регуляторов), целесообразнее эти уравнения структурно разделить на 6+ субмоделей, что и было сделано, в каждой из которых решается своё уравнение, см. рисунок 12.




Рисунок 11. Уравнения динамики коптера в связанной системе координат В.

Рисунок 12. Модель динамики коптера, верхний уровень.

В принципе, все приведенные уравнений и структуры можно было реализовать и средствами языка программирования SimInTech, но тогда они были бы не так наглядны.


Входными величинами здесь являются силы тяги двигателей (они считаются вне этих уравнений, в зависимости от текущей скорости вращения каждой ВМГ и её силовой характеристики), внешняя возмущающая сила и момент сил (задаются пользователем произвольно) и сила тяжести. Также, возможно ещё влияние ветра/прецессия/реактивный момент или что-то ещё в настоящей статье это не рассматривается, для краткости мы ограничились силами тяги двигателей и притяжения Земли.


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


В продолжении мы рассмотрим создание системы управления для октокоптера, а так же рассмотрим принципы создания видеокадров управления.



Модель коптера, рассмторенную в статье, можно взять по этой ссылке.


Список литературы


  1. Design, Modeling and Control of an Octocopter, Oscar Oscarson, Royal Institute of Technology 2015
  2. Development, Modelling and Control of a Multirotor Vehicle, Markus Mikkelsen, Ume University 2015.
Подробнее..

2. Математическое описание систем автоматического управления ч. 2.9 2.13

21.10.2020 00:21:19 | Автор: admin

Лекции по курсу Управление Техническими Системами, читает Козлов Олег Степанович на кафедре Ядерные реакторы и энергетические установки, факультета Энергомашиностроения МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


В предыдущих сериях:
1. Введение в теорию автоматического управления
2. Математическое описание систем автоматического управления 2.1 2.3
3. Математическое описание систем автоматического управления 2.3 2.8


В это части будут рассмотрены:
2.9. Использование обратных преобразований Лапласа для решения уравнений динамики САР (звена).
2.10. Весовая и переходная функции звена (системы).
2.11. Определение переходного процесса в системе (САР) (звене) через весовую и переходную функции.
2.12. Mетод переменных состояния.
2.13. Переход от описания переменных вход-выход к переменным состояния.


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




2.9. Использование обратных преобразований Лапласа для решения уравнений динамики САР (звена).


Рассмотрим динамическое звено САР изображенное на рисунке 2.9.1



Рис. 2.9.1 Звено САР

Предположим, что уравнение динамики имеет вид:

$T_2^2\cdot y''(t)+T_1\cdot y'(t)+y(t)=k\cdot[\tau \cdot x'(t)+x(t)];$


где: $T_2,T_1, \tau$ постоянные времени;
$k$ коэффициент усиления.

Пусть известны отображения:

$x(t) \to X(t)\\ y(t) \to Y(t)$


Найдем изображения для производных: $x',y',y'':$

$x'(t) \to s \cdot X(s) + добавка\\ y'(t) \to s \cdot Y(s) + добавка\\ y''(t) \to s^2 \cdot Y(s) + добавка$


Подставим полученные выражения в уравнение динамики и получим уравнение динамики в изображениях:

$T_2^2 \cdot s^2\cdot Y(s) + T_1 \cdot s \cdot Y(s) + Y(s) + \sum добавок = k \cdot[s \cdot \tau \cdot X(s) +X(s)] +k \cdot добавки\\ (T_2^2 \cdot s^2 + T_1 \cdot s + 1) \cdot Y(s)+ \sum добавок =k \cdot(s \cdot \tau +1)\cdot X(s) +k \cdot добавки\\ Y(s) = \underbrace{\frac{k \cdot(s \cdot \tau +1)}{T_2^2 \cdot s^2 + T_1 \cdot s + 1}}_{W(s)}\cdot X(s) + \underbrace{\frac{k \cdot добавки-\sum добавок}{T_2^2 \cdot s^2 + T_1 \cdot s + 1}}_{B(s)} $


B(s) слагаемое, которое определяется начальными условиями, при нулевых начальных условиях B(s)=0.
W(s) передаточная функция.

$Y(s) = W(s) \cdot X(s); \ \ \ \ W(s) = \frac{Y(s) - изображение \ выходного \ сигнала} {X(s)- изображение\ входного \ воздействия}$


Передаточной функцией САР (звена) называется отношение изображений выходного сигнала к входному воздействию при нулевых н.у.


После того, как в явном виде найдено изображение для неизвестной выходной величины, нахождение оригинала не представляет сложностей. Либо по формуле Хэвисайда, либо разложением на элементарные дроби, либо по таблице из справочника.


Пример


Построить выходной сигнал звена САР при единичном входном воздействии и нулевых начальных условиях, если уравнение динамики звена имеет следующий вид:

$T \cdot y'(t)+y(t) = k \cdot x(t) $


начальные условия:

$ при \ t \le0: x(0)=0,y(0)=0. $


входное воздействие: $x(t) = 1(t)$ единичное ступенчатое воздействие.

Выполним преобразование Лапласа:

$x(t) \to X(s) = \frac{1}{s} \\ y(t) \to Y(s) \\ y' \to s \cdot Y(s)$


Подставим в уравнение динамики и получим уравнение динамики в изображениях:

$(T \cdot s+1) \cdot Y(s) = k \cdot X(s) \\ Y(s) = \frac{k}{T\cdot s+1} \cdot X(s) = \frac{k}{T\cdot s+1} \cdot \frac{1}{s}\\ Y(s) = \frac{k}{s(T\cdot s+1)}$


Для получения выходного сигнала из уравнения в изображениях выполним обратное преобразования Лапласа:

$y(t) = L^{-1}[Y(s)] = L^{-1}\left[\frac{k}{s(T\cdot s+1)}\right] =\frac{1}{T}k \cdot L^{-1}\left[\frac{1}{s(s+\frac{1}{T})}\right] \Longrightarrow \\ y(t) = \frac{k}{T}(1-e^{-\frac{t}{T}}) \cdot T = k \cdot(1-e^{-\frac{t}{T}}).$



Рисунок 2.9.2 График переходного процесса.

2.10. Весовая и переходная функции звена (системы).


Определение: Весовой функцией звена (системы) называется реакция системы при нулевых н.у. на единичное импульсное воздействие.



Рисунок 2.10.1 Весовая функция.

Определение: Переходной функцией звена (системы) при н.у. называется реакция на единичное ступенчатое воздействие.



Рисунок 2.10.2 Переходная функция.

Рисунок 2.10.3 Пример весовой функции.

Рисунок 2.10.4 Пример перходной функции.

На этом месте можно вспомнить, что преобразование Лапласа это интеграл от 0 до бесконечности по времени (см. предыдущий текст), а импульсное воздействие при таком интегрировании превращается в 1 $L[\delta(t)] =1$ тогда в изображениях получаем что:

$Y(s) =W(s) \cdot \underbrace{X_{имп}(s)}_1 \Rightarrow Y(s) = W(s)$


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

Рисунок 2.10.5 Весовая функция как передаточная в изображениях.

Рисунок 2.10.6 Ступенчатое воздействие.

Для единичного ступенчатого воздействия преобразование Лапласа тоже известно (см. предыдущий текст):

$L[1(t)] = \frac{1}{s}$


тогда в изображениях получаем, что реакция системы $Н(s)$ на ступенчатое воздействие, рассчитывается так:

$Н(s) =W(s) \cdot \underbrace{X_{ступ}(s)}_{1/s} \Rightarrow Н(s) = \frac {W(s)}{s},$


Реакция системы на единичное ступенчатое воздействие рассчитывается обратным преобразованием Лапласа:

$h(t) = L^{-1}\left[\frac{W(s)}{s}\right]$

2.11. Определение переходного процесса в системе (САР) (звене) через весовую и переходную функции. Формула Дюамеля-Карсона


Предположим, что на вход системы поступает произвольное воздействие x(t), заранее известное. Найти реакцию системы y(t), если известны входное воздействие x(t) и весовая функция w(t).



Рисунок 2.11 Демонстрация расчета по формуле Дюамеля-Карсона

Решение.


Представим, что входное воздействие представляет собой последовательность прямоугольных импульсов до времени t и ступеньки высотой x(t) в момент времени t. см.рис. 2.11 Для каждого импульса мы можем записать реакцию системы через весовую функциию:

$Y_k \approx Y_{k-1}+x(t) \cdot w(t-\Delta\tau) \cdot\Delta\tau$

где:
$Y_{k-1} $ значение отклика по завершению предыущего импульса;
$t= k \cdot \Delta\tau$ время завершения текущего импульса;
$w(t-\Delta\tau) $ значение весовой функции в начале текущего импульса.

Тогда для определения занчения отклика в произвольный момент времени необходимо сложить все импульсы и ступенчатое воздействие в момент времени t:

$Y(t) = h(0)x(t)+ \sum_{k=0}^{n}x(k\cdot \Delta\tau)\cdot w(t-k\cdot \Delta\tau) \cdot \Delta\tau;$


Переходя к пределам

$n \to \infty, \Delta\tau \to0$

получаем интеграл:

$y(t) = h(0)x(t)+\int_0^t x(\tau)\cdot w(t-\tau)d\tau$


если перейти от t к бесконечности мы получим формулу интеграла Дюамеля-Карсона, или по другому интеграла свертки который обеспечивает вычисление оригинала функции по произвдению изображения двух функций:

$Y(s) = L[y(t)];\\ W(s) =L[w(t)];\\ X(s) = L[x(t)];\\ если \ \ Y(s) = W(s)\cdot X(s),\ \ то\\ y(t) =\int_0^\infty x(\tau)\cdot w(t-\tau)d\tau $


где $\tau$ вспомогательное время


Для вывода аналогичной зависмости от переходной функции вспомним что изображение весовой и переходной функции связаны соотношением: $H(s) =\frac{W(s)}{s} $ запишем выражение изображения для отклика в операторной форме:


$y(t) = L^{-1} [W(s) \cdot Y(s)]=L^{-1} \left[s \cdot \frac{W(s)}{s} \cdot Y(s) \right] \\ свойства\ \ преобразований \ \ Лапласа \ \ x(t) \to X(s), \ \ \frac {d}{dt}x(t) \to s \cdot X(s)\ \ to \\ y(t)= \frac {d}{dt}L^{-1} \left[ H(s) \cdot Y(s)\right]$


Используя интеграл свертки получаем, что при известной переходной функции (h(t)) и известному входному воздействию х(t) выходное воздействие рассчитывается как:

$y(t) = \frac{d}{dt} \int_0^\infty x(t)\cdot h(t-\tau)d\tau$


2.12. Mетод переменных состояния.


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



Рисунок 2.12.1 Моногомерная система автоматического управления.

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


Рисунок 2.12.2 Перменные состояния в многомерной системе.

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

$\left \{ \begin{gathered} x_1'(t) = a_{11}\cdot x_1(t)+ a_{12}\cdot x_1(t)+..+a_{1n}\cdot x_n(t)+b_{11}\cdot u_1(t)+..b_{1m}u_m(t)\\ x_2'(t) = a_{21}\cdot x_1(t)+ a_{22}\cdot x_2(t)+..+a_{2n}\cdot x_n(t)+b_{21}\cdot u_1(t)+..b_{2m}u_m(t)\\ ...................................................................\\ x_n'(t) = a_{n1}\cdot x_1(t)+ a_{n2}\cdot x_n(t)+..+a_{nn}\cdot x_n(t)+b_{21}\cdot u_1(t)+..b_{nm}u_m(t)\\ \end{gathered} \right. $


Выход из системы зависит от переменных состояния и, в общем случае от входных воздействий и описывается следующей системой уравнений:

$\left \{ \begin{gathered} y_1(t) = c_{11}\cdot x_1(t)+ c_{12}\cdot x_1(t)+..+c_{1n}\cdot x_n(t)+d_{11}\cdot u_1(t)+..d_{1m}u_m(t)\\ y_2(t) = c_{21}\cdot x_1(t)+ c_{22}\cdot x_2(t)+..+c_{2n}\cdot x_n(t)+d_{21}\cdot u_1(t)+..d_{2m}u_m(t)\\ ...................................................................\\ y_p(t) = c_{p1}\cdot x_1(t)+ c_{p2}\cdot x_n(t)+..+cp_{pn}\cdot x_n(t)+d_{p1}\cdot u_1(t)+..d_{pm}u_m(t)\\ \end{gathered} \right.$


где:
n количество перемнных состояния,
m количество входных воздействий,
p количество выходных переменных;


Данная система уравнений может быть записана в матричной форме:

$\left \{ \begin{gathered} x'= A\cdot x+B\cdot u\\ y= C\cdot x+D\cdot u\ \end{gathered} \right. $


где:
$u=\left[ \begin{gathered} u_1(t)\\ u_2(t)\\ ..\\ u_m(t)\\ \end{gathered} \right]$ вектор входа (или вектор управления);
$x'=\left[ \begin{gathered} x'_1(t)\\ x'_2(t)\\ ..\\ x'_n(t)\\ \end{gathered} \right]$ вектор столбец производных переменных состояния;
$x=\left[ \begin{gathered} x_1(t)\\ x_2(t)\\ ..\\ x_n(t)\\ \end{gathered} \right]$ вектор столбец переменных состояния;
$y=\left[ \begin{gathered} y_1(t)\\ y_2(t)\\ ..\\ y_p(t)\\ \end{gathered} \right]$ вектор выхода;
$А=\left[ \begin{gathered} а_{11} \ \ а_{12} \ \ ... \ \ a_{1n}\\ а_{21} \ \ а_{22} \ \ ... \ \ a_{2n}\\ .. .. .. ........ \\ а_{n1} \ \ а_{n2} \ \ ... \ \ a_{nn}\\ \end{gathered} \right]$ собственная матрица системы [n x n],
$a_{ij} $ постоянные коэффициенты;
$B=\left[ \begin{gathered} b_{11} \ \ b_{12} \ \ ... \ \ b_{1m}\\ b_{21} \ \ b_{22} \ \ ... \ \ b_{2m}\\ .. .. .. ........ \\ b_{n1} \ \ b_{n2} \ \ ... \ \ b_{nm}\\ \end{gathered} \right]$ матрица входа [n x m],
$b_{ij} $ постоянные коэффициенты;
$C=\left[ \begin{gathered} c_{11} \ \ c_{12} \ \ ... \ \ c_{1n}\\ c_{21} \ \ c_{22} \ \ ... \ \ c_{2n}\\ .. .. .. ........ \\ c_{p1} \ \ c_{p2} \ \ ... \ \ c_{pn}\\ \end{gathered} \right]$ матрица выхода а [p x n],
$c_{ij} $ постоянные коэффициенты;
$D=\left[ \begin{gathered} d_{11} \ \ d_{12} \ \ ... \ \ d_{1m}\\ d_{21} \ \ d_{22} \ \ ... \ \ d_{2m}\\ .. .. .. ........ \\ d_{p1} \ \ d_{p2} \ \ ... \ \ d_{pm}\\ \end{gathered} \right]$ матрица обхода [p x m],
$d_{ij} $ постоянные коэффициенты;


В нашем случае почти всегда все элементы матрицы D будут нулевыми: D = 0.


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


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

Еще одним преимуществом данного описания, является то, что уравнения в форме Коши можно получить из законов физики


Пример решения задачи в форме коши.


Рассмотрим задачу моделирования гидравлического привода, при следующих условиях:


Дано:
Цилиндрический плунжер диаметром 10 мм, с приведенной массой 100 кг, работает на пружину жесткостью 200 Н/мм и демпфер с коэффициентом вязкого трения 1000 Н/(м/с). Полость начальным объемом 20 см3 соединяется с источником давлния дросселем диаметром диаметр которого 0,2 мм. Коэффициент расхода дросселя 0.62. Плотность рабочей жидкости = 850 кг/м3.
Определить:
Перемещение дросселя, если в источнике давление происходит скачек 200 бар. см. рис. 2.12.13



Рисунок 2.12.3 Гидравлическая система.

Уравенение движение плунжера:

$m \cdot \frac{d^2x}{dt}=p \cdot Ap - c_{pr} - b_{tr} \cdot \frac{dx}{dt}$


Где: $A_p$ площадь плунжера, $c_{pr}$ жесткость пружины, $b_{tr}$ коэффициент вязкого трения, p давление в камере.

Поскольку дифференциальное движения это уравнение второго порядка, превратим его в систему из двух уравнений первого порядка, добавив новую переменную скорость $v = \frac{dx}{dt}v = $, тогда $\frac{d^2x}{dt} = v'$

$$display$$\left \{ \begin{align} x' &= v \\ v' &=\frac{A_p}{m}\cdot p-\frac{c_{pr}}{m}\cdot x-\frac{b_{tr}}{m}\cdot v) \end{align} \right.$$display$$


Уравнение давления в камере, для упрощения принимаем что изменениям объема камеры из-за перемещения плунжера можно пренебречь:

$p'=\frac{E}{V}(Q - A_p \cdot x')$


Где: Q расход в камеру, V объем камеры.

Расход через дроссель:

$Q = \mu\cdot f \sqrt{\frac{2}{\rho}(p_n-p)}$

\Где: f площадь дросселя, $p_n$ давление в источнике, p давление в камере.
Уравнение дросселя не линейное, по условию задачи, давление входное изменяется скачком, от 0 до 200 бар, проведем линеаризацию в окрестности точки давления 100 бар тогда:

$Q_{100} = \mu\cdot f \sqrt{\frac{2}{\rho}(p_{100}-0)} \ \ K_{100} =\frac{Q_{100}}{p_{100}} \\ Q\approx \frac{Q_{100}}{p_{100}}(p_n-p) = K_{100}(p_n-p), \ \ где: K_{100} =\frac{Q_{100}}{p_{100}}$


Подставляем линеаризованную формул расхода в формулу давления:

$p'=\frac{E}{V}(K_{100} (p_n-p)- A_p \cdot v)\\ p' = - \frac{E}{V}A_p \cdot v - \frac{E}{V}K_{100} \cdot p + \frac{E}{V}K_{100} \cdot p_n$


Таким образом общая система уравнений в форме Коши, для рис 2.12.3 привода принимает вид:

$$display$$\left \{ \begin{align} x' &= v \\ v' &=-\frac{c_{pr}}{m}\cdot x-\frac{b_{tr}}{m}\cdot v+\frac{A_p}{m}\cdot p\\ p' &= - \frac{E}{V}A_p \cdot v - \frac{E}{V}K_{100} \cdot p + \frac{E}{V}K_{100} \cdot p_n \end{align} \right.$$display$$


Матрицы A, B, С, В для матричной формы системы уравнений принимают вид:


$$display$$\left \{ \begin{align} x' &= v \\ v' &=-\frac{c_{pr}}{m}\cdot x-\frac{b_{tr}}{m}\cdot v+\frac{A_p}{m}\cdot p\\ p' &= - \frac{E}{V}A_p \cdot v - \frac{E}{V}K_{100} \cdot p + \frac{E}{V}K_{100} \cdot p_n \end{align} \right.\\ A =\left[ \begin{array}{cccc} 0& 1 & 0\\ -\frac{c_{pr}}{m}& -\frac{b_{tr}}{m} &\frac{A_p}{m}\\ 0& - \frac{E}{V}A_p & - \frac{E}{V}K_{100} \end{array} \right]; B = \left[ \begin{array}{cccc} &0 \\ &0\\ & \frac{E}{V}K_{100} \end{array} \right]; C= \left[ 1,0,0 \right]; D =[0].$$display$$


Проверим моделированием в SimInTech составленную модель. На рисунке 2.12.13 представлена расчетная схема содержащая три модели:
1 Честная модель со всеми уравнениями без упрощений.
2 Модель в блоке Переменные состояние (в матричной форме).
3 Модель в динамическом блоке с линеаризованным дросселем.



Рисунок 2.12.4 Расчетная схема .

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



Рисунок 2.12.5 Глобальный скрипт проекта.

Модель на внутреннем языке программирования представлена на рис. 2.12.6. В данной модели используется описание модели в форме Коши. Так же выполняется учет изменения объема дросселя на каждом шаге расчета, за счет перемещения плунжера (Vk = V0+Ap*x.)



Рисунок 2.12.6 Скрипт расчета модели в форме Коши.

Модель в матричном форме задается с использованием глобальных констант в виде формул. (Матрица в SimInTech задается в виде последовательности из ее столбцов) см. рис. 2.12.7



Рисунок 2.12.7 Настройка блока расчета системы уравнений в пременных состояния в матричной форме.

Результаты расчета показывают, что модель в матричной форме и модель на скриптовом языке в форме Коши, практически полностью совпадают, это означает, что учет изменения объема полости практически не влияют на результаты. Кривые 2 и З совпадают.
Процедура линеаризация расхода через дроссель вызывает заметное отличие в результатах. 1-й график c честной моделью дросселя, отличается от графиков 2 и 3. (см. рис. 2.12.8)



Рисунок 2.12.8 Результаты расчета трех моделей гидравлического плунжера.

Сравним полученные модели, с моделью созданной из библиотечных блоков SimInTech, в которых учитываются так же изменение свойств реальной рабочей жидкости масла АМГ-10. Сама модель представлена на рис. 2.12.9, набор графиков на рисунке 2.12.10



Рисунок 2.12.9 Модель демпфера из библиотечных блоков.

Рисунок 2.12.10 Результаты рассчета моделей демпфера. График 4 модель из библиотечных блоков.

На графиках видно, что уточненная модель отличается от предыдущих, однако погрешность модели составлят наших упрощенных моделей составляют примерно 10%, в лишь в некоторые моменты времени.


2.13. Переход от описания переменных вход-выход к переменным состояния и обратно


Рассмотрим несколько вариантов перехода от описания вход-выход, к переменным состояния:

$L(p)\cdot y(t)=N(p)\cdot u(t)$


Вариант прехода зависит от правой части уравнения с переменными вход-выход:


$a_n\cdot y^{(n)}(t)+...+a_1\cdot y'(t)+a_0\cdot y(t)=b_m\cdot u^{(m)}(t)+...b_1\cdot u'(t)+b_0\cdot u(t)$


2.13.1. Правая часть содержит только b0*u(t)


В этом варианте, в уравнениях в правой части отсутствуют члены с производными входной величины u(t). Пример с плунжером выше так же относится к этому варианту.


Что бы продемонстрировать технологию перехода рассмотрим следующее уровнение:

$a_3 \cdot y'''(t)+ a_2 \cdot y''(t)+a_1 \cdot y'(t)+a_0 \cdot y(t) = b_0 \cdot u(t)$


Для перехода к форме Коши ведем новые переменные:

$x_1(t) = y(t);\\ x_2(t) =y'(t) = x_1'(t);\\ x_3(t) = y''(t) =x_2'(t);$

И перепишем уравнение относительно y'''(t):

$ y'''(t) = x_3'=- \frac{a_2}{a_3} \cdot \underbrace{y''(t)}_{x_3} - \frac{a_1}{a_3} \cdot \underbrace{y'(t)}_{x_2} - \frac{a_0}{a_3} \cdot \underbrace{y(t)}_{x_1}+ \frac{b_0}{a_3} \cdot u(t) $


Используя эти переменные можно перейти от дифференциального уравнения 3-го прядка, к системе из 3-х уравнений первого порядка в форме Коши:

$$display$$\left \{ \begin{align} x_1' &= x_2 \\ x_2' &= x_3\\ x_3' &=-\frac{a_0}{a_3}\cdot x_1-\frac{a_{1}}{a_3}\cdot x_2-\frac{a_2}{a_3}\cdot x_3+ \frac{b_0}{a_3}\cdot u(t)\\ \end{align} \right.$$display$$


Соотвественно матрицы для матричного вида уравнений в переменных сосотяния:


$$display$$A =\left[ \begin{array}{cccc} 0& 1 & 0\\ 0& 0 &1\\ -\frac{a_0}{a_3}& -\frac{a_1}{a_3} & -\frac{a_2}{a_3} \end{array} \right]_{[3 \times 3]}; B = \left[ \begin{array} {}&0 \\ &0\\ & \frac{b_0}{a_3} \end{array} \right]_{[3 \times 1]}; C= \left[ 1,0,0 \right]_{[1 \times 3]}; D =[0].$$display$$


2.13.2. Правая часть общего вида


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

$a_n\cdot y^{(n)}(t)+...+a_1\cdot y'(t)+a_0\cdot y(t)=b_m\cdot u^{(m)}(t)+...b_1\cdot u'(t)+b_0\cdot u(t)$


Сделаем преобразования: перейдем к уравнениям динамики в изображениях:

$\left[ \begin{gathered} y(t) \to Y(s)\\ y'(t) \to s \cdot Y(s)\\ y''(t) \to s^2\cdot Y(s)\\ ..\\ y^{n}(t) \to s^{n} \cdot Y(s)\\ \end{gathered} \right] ; \left[ \begin{gathered} u(t) \to U(s)\\ u'(t) \to s \cdot U(s)\\ u''(t) \to s^2\cdot U(s)\\ ..\\ u^{m}(t) \to s^{m} \cdot U(s)\\ \end{gathered} \right]$


Тогда можно представить уравнение в изображениях в виде:

$L(s) \cdot Y(s) =N(s) \cdot U(s)$

где:

$L(s) = a_n\cdot s^{n}+a_{n-1}\cdot s^{n-1}_....+a_1\cdot s+a_0;\\ N(s)=b_m\cdot s^{m}(t)+b_{m-1}\cdot s^{m-1}+...b_1\cdot s+b_0;$


Разделим уравнение в изображениях на произведение полиномов $L(s) \cdot N(s)$, получим:

$\frac{Y(s)}{N(s)} = \frac{U(s)}{L(s)} =X_1(s)$


Где: $X_1(s) $ некоторая комплексная величина (отношение двух комплексных величин). Можно считать, что $X_1(s) $ отображение величины $x_1(t) \to X_1(s) $. Тогда входная величина может быть в изображениях представлена как:

$\frac{U(s)}{L(s)} = X_1(s) \Rightarrow U(s) = X_1(s) \cdot L(s);$


Вренемся к оригиналу от изображений получим: $u(t) = \alpha (p) x_1(t)$,
где: $\alpha (p) $ дифференциальный оператор.


$u(t) = a_n \cdot\underbrace{ x_1^{(n)}}_{x_n'}+ a_{n-1} \cdot \underbrace{x_1^{(n-1)}}_{x_n}+...+a_2 \cdot \underbrace{ x_1''}_{x_3}+a_1 \cdot \underbrace{x_1'}_{x_2}+ a_0 \cdot x_1$


А это дифференциальное уравнение n-го порядка мы можем преобразовать к системе из n дифференциальных уравнений первого порядка, как это мы делали выше:

$$display$$\left \{ \begin{eqnarray} x_1'&=& x_2\\ x_2'&= &x_3\\ &.....\\ x_n'&=&-\frac{1}{a_n}[a_0 \cdot x_1+a_1 \cdot x_2+a_2\cdot x_3+..+a_{n-1}\cdot x_n]+\frac{u(t)}{a_n} \ \end{eqnarray} \right.$$display$$


Таким образом, мы получили систему уравнение в форе Коши, относительно переменных состояния $X_1$:

$ X_1=\left[ \begin{gathered} x_1(t)\\ x_2(t)\\ ..\\ x_n(t)\\ \end{gathered} \right]$


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

$\frac{Y(s)}{N(s)} = X_1(s) \Rightarrow Y(s) =N(s) \cdot X_1(s);$


Перейдем от изображения к оригиналам:

$y(t)=N(p) \cdot X_1(t)\\ y(t) = b_m \cdot\underbrace{ x_1^{(m)}}_{x_{m+1}}+ b_{m-1} \cdot \underbrace{x_1^{(m-1)}}_{x_m}+...+b_2 \cdot \underbrace{ x_1''}_{x_3}+b_1 \cdot \underbrace{x_1'}_{x_2}+ b_0 \cdot x_1\\ y(t) = b_m \cdot x_{m+1}+ b_{m-1} \cdot x_{m}+...+b_2 \cdot x_3+b_1 \cdot x_1+ b_0 \cdot x_1\\$


Если обозначить вектор $С = [b_{m+1},b_m, ..b_2,b_1,b_0]$, то мы получим уравнения переменных состояниях в матричной форме, где D = 0:

$$display$$\left \{ \begin{eqnarray} x'&=& A\cdot x+B\cdot u\\ y&=& C\cdot x +D \cdot u\end{eqnarray} \right. $$display$$


Пример:



Рисунок 2.13.1 Передаточная функция.


Имеется передаточная функция (рис. 2.13.1) в изображениях :

$W(s) = \frac{s+1}{2 \cdot s^3+s^2+3 \cdot s+1}$

Необходимо преобразовать передаточную функцию к системе уравнений в форме Коши

В изображения реакция системы связана с входным воздействие соотношением:

$Y(s) = W(s) \cdot U(s); \Rightarrow Y(s) = \frac{N(s)}{L(s)} \cdot U(s) \Rightarrow \\ \Rightarrow Y(s) \cdot L(s) = U(s) \cdot N(s)$


Разделим в последнем правую и левую часть на произведения $L(s) \cdot N(s)L $, и введем новую перменную $Х_1$:

$X_1(s) = \frac {Y(s)}{N(s)} = \frac{U(s)}{L(s)} \Rightarrow \\ \Rightarrow U(s) = X_1(s) \cdot L(s)$

Полиномы N(s) и L(s) равны:

$ N(s)= s+1\\ L(s)=2 \cdot s^3+s^2+3 \cdot s+1 \\ \Rightarrow U(s) = X_1(s) \cdot (2 \cdot s^3+s^2+3 \cdot s+1) $


Перейдем в последнем выражении от изображения к оригиналам и ведем новые переменные (состояния):

$u(t) = 2 \cdot \underbrace{x_1'''(t)}_{x'_3} + \underbrace{x_1''(t)}_{x_3} +3 \cdot \underbrace{x_1'(t)}_{x_2}+\underbrace{x_1(t)}_{x_1}$


Переходим от уравнения третьего порядка к системе трех уравнений первого порядкак:

$$display$$\left \{ \begin{eqnarray} x_1'&=&x_2\\ x_2'&=&x_3\\ x_3'&=&- \frac{1}{2} \left[ x_1+3 \cdot x_2+x_3 \right]+\frac {1}{2} \cdot u(t) \end{eqnarray} \right. $$display$$


Или в матричной форме:

$$display$$x' = A \cdot x+ B \cdot u\\ А=\left[ \begin{gathered} 0&\ \ 1&\ \ 0\\ 0&\ \ 0&\ \ 1\\ - \frac{1}{2}& \ \ - \frac{3}{2}& \ \ - \frac{1}{2}\\ \end{gathered} \right]; B = \left[ \begin{gathered} 0 \\ 0\\ \frac{1}{2} \\ \end{gathered} \right];\\ $$display$$


Для получения второго матричного уравнения воспользуемся соотношением для новых переменных в отображениях:

$X_1(s) = \frac {Y(s)}{N(s)} = \frac{U(s)}{L(s)} \Rightarrow \\ \Rightarrow Y(s) = X_1(s) \cdot N(s) = X_1(s) \cdot (s+1)$

Перейдем от изображений к оригиналу:

$y(t) = \underbrace {x_1'(t)}_{x_2}+\underbrace {x_1(t)}_{x_1} = x_1(t)+x_2(t)$



Таким образом второе уравнение матричной системы выглядит так:

$y =C \cdot x+ D \cdot u;\\ C=[1 \ \ 1 \ \ 0]; \ \ D = 0;$


Проверим в SimInTech сравнив передаточную функцию и блок переменных состояния, и убедимся, что графики совпадают см. рис. 2.13.2



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


Полезные ссылки:


Модель демпфера из лекции можно взять здесь...
Волченко Ю.М. Теоремы операционного исчисления.
Интеграл Дюамеля и физический смысл функции веса
Лекция. Векторно-матричные модели систем управления в непрерывном времени
Л. С. Шихобалов. Учебное пособие МАТРИЦ И ОПРЕДЕЛИТЕЛИ
Характеристическое уравнение матрицы
Подробное описание моделирования гидравлического демпфера.
Подробнее..

Динамика квадро-, гекса- и октокоптеров. Моделирование системы управления

03.11.2020 00:14:12 | Автор: admin
Продолжение статьи "Введение в моделирование динамики квадро-, гекса- и октокоптеров".
В этой части автор Александр Щекатуров, рассказывает основные принципы создания системы управления и ее моделирования в структурном виде. Всем кто одолел первые части лекций по теории управления в технических система, все будет ясно и понятно (ну почти). Лекции на хабре лежат по ссылкам:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 2.3, 2.3 2.8, 2.9 2.13

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




4 Управление моделью коптера


Всё что было описано в предыдущей части это, по сути, формулировка внутреннего закона полета коптера отвечающего на вопрос как именно объект будет менять свои ускорения, скорости и координаты в зависимости от приложенных сил и моментов. Т.е. мы записали уравнение F(t) = ma(t) (и аналогичное для суммарного момента и углового ускорения) для октокоптера заданной геометрической конструкции. В эти уравнения входят некоторые константы масса коптера, его моменты инерции по главным осям (составляющие тензора инерции), угол отклонения силы тяги ВМГ от вертикали, длины лучей рамы коптера, и некоторые другие массогабаритные характеристики. Как правило, это константы, за редким исключением. Но т.к. задача поставлена в общем виде, мы не подставили ещё конкретных чисел, а все эти величины заменили на символы (символьные константы и/или переменные), и теперь требуется их задать числами для работоспособности модели. Для двигателей это будет коэффициент пропорциональности между квадратом угловой скорости и силой тяги, для массы коптера масса рамы плюс массы всех ВМГ и т.д.


4.1 Переменные проекта сигналы модели


В SimInTech используется плоский неструктурированный список сигналов, и/или структурированная (объектно-ориентированная) база сигналов для задания констант и переменных модели, если в ней есть типовые (повторяющиеся) элементы. В данной модели были и тем и другим способом заведены следующие сигналы (переменные и константы), см. рисунки 13 и 14:



Рисунок 13. Сигналы проекта

Рисунок 14. База сигналов проекта

Среди повторяющихся элементов в коптере явно можно выделить ВМГ они все однотипны и параметризуются одинаковыми (по смыслу) переменными. Также, для регуляторов, которых будет всего 6 (по числу каналов регулирования) тоже можно выделить однотипные элементы. Если это будут ПИД-регуляторы, то коэффициенты пропорциональности P, I, D будут в наличии у каждого из регуляторов, со своим конкретным значением.


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


Рассмотрим немного подробнее параметризацию двигателей (см. рисунок 15). Всего в базе 8 групп сигналов, по 15 сигналов в каждой то есть 120 переменных и констант, описывающих состояние всех двигателей. Важными и задаваемыми пользователем (разработчиком модели) являются wnom, wmin номинальная и минимальная частоты вращения. В дальнейшем эти значения используются в модели двигателя, ограничивая снизу текущую частоту вращения, и для расчета текущих оборотов ВМГ в единицах измерения. Остальные переменные расчитываются в модели и зависят от времени. В эту же категорию можно в дальнейшем добавить и коэффициенты пропорциональности между квадратом угловой скорости и силой тяги ВМГ.



Рисунок 15. Категория Двигатели

4.2 Оптимальное управление


С точки зрения управления коптер представляет собой не самую простую конструкцию мы имеем 8 двигателей, которыми можно управлять индивидуально, но практически каждый из них влияет на все 12 из переменных состояния (фазовых координат) коптера. То есть, если мы будем рулить одним из двигателей менять его обороты в большую или меньшую сторону, это будет оказывать воздействие на каждую из координат x, y, z и на каждую из трёх угловых скоростей. Кроме случаев, когда вектор тяги параллелен какой-либо из координатных плоскостей системы B тогда на 4 из 12 переменных состояния данная сила тяги воздействовать не будет. И, если бы мы делали всё методами классической теории управления, то можно было бы записать 8х12 = 96 передаточных функций между 8 входными воздействиями и 12 выходными (переменными состояния) коптера.


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


Задача оптимального управления заключается в том, чтобы перевести коптер из точки А в точку Б с минимальным перерегулированием, по оптимальной (как правило кратчайшей) траектории и за минимальное время. При этом налагаются ограничения на максимальную скорость, ускорения и углы наклона коптера (отклонение от горизонтальности). Проблема заключается в том, что в прямую сторону можно довольно несложно посчитать как воздействует каждый из двигателей (8 переменных 8 частот вращения) на каждую из 12 переменных состояния. А если учитывать еще и ускорения, то на каждую из 18 переменных. Но в задаче управления требуется наоборот при заданных начальных и конечных координатах требуется вычислить как именно надо управлять двигателями чтобы коптер перешел из одного состояния в другое.


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


Чтобы упростить изложение, приведем краткий ход решения задачи. Для начала запишем матрицу Г размерностью 6х8 по количеству каналов управления (6) и количеству ВМГ (8), которая будет отображать как именно каждый из двигателей влияет на каждый из каналов управления:

$$display$$Г =\left( \begin{gathered} f1x & f2x & f3x & f4x & f5x & f6x & f7x & f8x \\ f1y & f2y & f3y & f4y & f5y & f6y & f7y & f8y \\ f1z & f2z & f3z & f4z & f5z & f6z & f7z & f8z \\ m1x & m2x & m3x & m4x & m5x & m6x & m7x & m8x \\ m1y & m2y & m3y & m4y & m5y & m6y & m7y & m8y \\ m1z & m2z & m3z & m4z & m5z & m6z & m7z & m8z \\ \end{gathered} \right). $$display$$

$\overrightarrow{f_i(t)} =C_T \cdot \overrightarrow{e_{Mi}} \\ \overrightarrow{m_i(t)} =C_T \cdot \overrightarrow{r_{Mi}} \times \overrightarrow{e_{Mi}}$


Где: fi|x,y,z это коэффициент перед $_{Mi}^2 (t)$ для вычисления силы, которую создаёт i-ая ВМГ в соответствующем направлении, а mi|x,y,z коэффициент перед $_{Mi}^2 (t) $для вычисления момента сил, который создаёт i-ая ВМГ в том же направлении:


Примечание: если у ВМГ будет еще реактивный момент, то у $m_i$ будет еще одно слагаемое.


Легко видеть, что матрица Г показывает зависимость между квадратом угловой скорости i-ой ВМГ и управляющими (силовыми) воздействиями по каждому из каналов управления: $u(t)=Г\cdot _M^2 (t) $. Нам же нужно получить обратное решение зависимость угловой скорости i-ого двигателя от поданного управляющего воздействия по какому-либо из каналов управления. В общем виде эта задача имеет бесконечное множество решений, однако среди этого бесконечного множества можно выделить по тому или иному критерию или способу оптимальное решение.



Рисунок 16. Структура регулятора

Методами теории оптимального управления (подробнее см. [1, раздел 4.1.1]) задача решается поиском так называемой обратной псевдоинверсной матрицы $А^+$, которая вычисляется как: $inline$А^+= Г^Т (Г \cdot Г^Т)^{-1}$inline$. Она же и является оптимальным решением поставленной задачи с наложенными ограничениями на решение.


На практике, для заданной геометрии коптера и полученных 48 чисел в матрице Г, получаем другие 48 чисел, которые определяют правило управления (микширования) двигателей, при поступлении той или иной команды по какому-либо каналу управления. На рисунке 16 представлена общая схема построения регулятора. Задатчик положения вырабатывает нужные координаты, в которые требуется привести коптер. Они сравниваются по какому-то алгоритму с измеренными координатами и управляющий алгоритм вырабатывает 6 управляющих воздействий, по каждому из каналов управления.


На основе посчитанной псевдообратной матрицы $ А^+$, блок управления двигателями вычисляет текущие заданные значения угловых скоростей для каждого из 8 двигателей, как бы суммируя пришедшие 6 команд по каналам управления и определенным образом микшируя двигатели при этом. Сформированные 8 угловых скоростей отправляются на задатчик оборотов двигателей и осуществляется регулирование и управление коптером (см. рисунок 16).


Управляющие команды по каждому из каналов управления формируются как рассогласование между заданной координатой (углом) и текущей, измеренной координатой. Это в самом простом варианте. В более сложном управляющий алгоритм должен иметь в своём составе алгоритм приоритетности стабилизации положения коптера над алгоритмом перемещения в пространстве. Дело в том, что по каждому из каналов есть запас (располагаемая у ВМГ возможность) управления. И, если (например) мы сделаем приоритетным перемещение по оси х то при большом рассогласовании между текущей координатой x и заданной регулятор будет стремиться наклонить всё больше и больше коптер вокруг оси y, и при определенном наклоне уже не хватит возможностей двигателей обеспечивать стабилизацию коптера и регулирование высоты полёта. Для коптера с конкретными параметрами двигателей, винтов, массы и размеров это всё можно вычислить и наложить нужные ограничения на управляющие воздействия ui(t), а также их приоритет. Но это выходит за рамки данной статьи, где мы делаем модель в общем виде. Просто отметим, что стабилизация положения для коптера самая важная задача, перемещение уже вторична, поскольку без стабильного положения переместиться куда-либо целенаправленно будет невозможно.


Выпишем аналитические выражения для элементов первых двух столбцов матрицы Г в случае рассматриваемого октокоптера (без реактивного момента ВМГ и без прецессии!):


$$display$$\begin{gathered} &f1x =&0; \ \ &f2x =&-\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1y =& -C_T \cdot sin(\gamma); \ \ &f2y =&\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1z =& -C_T \cdot cos(\gamma); \ \ &f2z =&-C_T \cdot cos(\gamma);\\ &m1x =& 0; \ \ &m2x =&-\frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1y =& -C_T \cdot cos(\gamma) \cdot \_1; \ \ &m2y =& \frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1z =& -C_T \cdot sin(\gamma) \cdot \_1; \ \ &m2z =&C_T \cdot sin(\gamma) \cdot l_2;\\ \end{gathered}$$display$$


Видно, что первая ВМГ (ось силы тяги которой параллельна плоскости yz) не создаёт никакой силы вдоль оси x и никакого момента вокруг оси x (т.к. пересекает её). Поэтому при управлении по оси x или для создания вращательного момента вокруг оси x первый двигатель бесполезен. Аналогично будет с 5-ым двигателем, а для 3-его и 7-ого будет такая же картина для оси y (всё справедливо в системе координат В).


image

Аналитические выражения для матрицы А^+ будут гораздо более громоздкими и большого смысла не имеют проще вычислить численно матрицу Г, а потом и искомую А^+. В нашем случае для одного из вариантов октокоптера, она получилась равной:

$$display$$A^+ =\left( \begin{gathered} 0&-191.9&-5.029&0&7.112&-67.86 \\ -191.9&191.9&-7.112&-5.029&5.029&67.86 \\ 191.9&0&-5.029&-7.112&0&-67.86 \\ -191.9&-191.9&-7.112&-5.029&-5.029&67.86 \\ 0&191.9&-5.029&0&-7.112&-67.8 \\ -191.9&-191.9&-7.112&5.029&-5.029&67.86 \\ 191.9&0&-5.029&7.112&0&-67.86\\ -191.9&191.9&-7.112&5.029&5.029&67.86\\ \end{gathered} \right).$$display$$


Смысл матрицы примерно в следующем: она показывает на какое количество (рад/с)^2 надо изменить частоту вращения каждой i-ой ВМГ (из 8), чтобы осуществить единичное управляющее воздействие на объект по тому или иному каналу управления. Например, если мы хотим к коптеру приложить силу 1 Н по каналу управления x (первая колонка), то угловую скорость 1-го двигателя и 5-го менять не надо, а к текущим угловым скоростям других двигателей надо добавить или отнять примерно 13,8 рад/с. Это довольно приличное изменение угловой скорости, и вообще управляемость по каналам x, y появилась здесь как побочное следствие того, что каждая из ВМГ повёрнута вокруг своего луча еще на 3 градуса.


Если бы все ВМГ были расположены вертикально, то первые две колонки матрицы А^+ получились бы бесконечными т.е. коптер с вертикально расположенными ВМГ по горизонтальным осям не управляется вообще! Управление по этим осям (в инерциальном пространстве) достигается поворотом коптера вокруг осей и перенаправлением суммарного вектора тяги в какую-либо сторону.


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


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


Общая структура регулятора приведена на рисунках 17 и 18.



Рисунок 17. Общая схема регулятора

Рисунок 18. Схема каналов регулятора

В самом простейшем случае на 6 входов регулятора поступают заданные фазовые координаты, они сравниваются с текущими (измеренными) и в общем случае в соответствии с матрицей А^+ и ПИД-регулированием по каждому из каналов, вырабатывается 6 управляющих векторов, по 8 переменных в каждом, которые суммируются и получаем итоговый вектор управления с заданными угловыми скоростями для каждого из двигателей. На практике, не всё так просто


4.3 Регулятор высоты


Регулятор высоты можно выделить отдельно от других, поскольку он задействует примерно одинаково все двигатели, и даже без матриц Г и А^+ понятно: для того чтобы коптер летел вверх, надо увеличивать газ, а чтобы вниз уменьшать обороты ВМГ. В качестве простейшего регулятора высоты можно взять обычный ПИД-регулятор, который справится с управлением при верно подобранных коэффициентах. На рисунке 19 показан один из вариантов регулятора, с доработкой ограничения вертикальной скорости, если текущая позиция отличается от заданной более чем на 5 метров.



Рисунок 18. Регулятор высоты, один из вариантов

В чем основная идея регулятора: на вход подается текущая величина рассогласования между заданной высотой и измеренной высотой, подаётся текущая вертикальная скорость и ограничение на вертикальную скорость. Если рассогласование больше 5 метров, то регулятор работает в режиме ограничения скорости и стремится к тому, чтобы вертикальная скорость vz стала равной +OGRV м/с или -OGRV м/с в зависимости от направления полёта. Если рассогласование менее 5 м, то регулятор стремится к нулевой скорости полёта и сведению в ноль рассогласования по высоте.


Выходной сигнал регулятора подается с коэффициентами матрицы $А^+$ (согласно третьей колонке) на каждый из 8 двигателей.


4.4 Регулятор ориентации коптера


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


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


Для сведения к нулю трёх составляющих угла, скорости и момента они должны быть входными сигналами в регулятор. Один из вариантов представлен на рисунке 19. Заданное значение равно нулю, и в стабильном состоянии выходной сигнал сумматора будет равен нулю. Если появляется какое-то ненулевой состояние, то выход регулятора будет также отличен от нуля, далее он домножается на вектор, равный 4-ой колонке псевдообратной матрицы А^+, представленной выше и формируется вектор усилий на 8 ВМГ, который должен компенсировать возникший дисбаланс поворота вокруг оси $x_B$.



Рисунок 19. Регулятор крена

Рисунок 20. Коэффициенты блока типа Размножитель в регуляторе крена

Аналогично выполнен и регулятор по каналу тангажа (представлен на рисунке 21).



Рисунок 21. Регулятор тангажа

Рисунок 22. Коэффициенты блока типа Размножитель в регуляторе тангажа

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


4.5 Регулятор положения коптера в пространстве


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


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


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


В-третьих, у классического коптера с винтами, расположенными в одной плоскости и параллельными силами тяги, направленными вверх, практически нет возможности создавать боковую силу тяги т.е. по существу, коптер является неуправляемым по осям X и Y. В нашем варианте, когда винты довернуты еще на 3 градуса вокруг своих лучей, у них появляется небольшая сила тяги направленная в стороны, и микшированием двигателей можно создавать боковую силу тяги. Однако, она очень несущественна, почти нулевая об этом свидетельствуют большие числа в 1 и 2 колонках матрицы А+ для того, чтобы создать силу тяги величиной 1Н в сторону, нужно изменить частоту вращения двигателей почти на 15 рад/с (квадрат частоты вращения на 191 (1/с)2). С точки зрения управления, это слишком большая величина. Поэтому коптеры управляются по направлениям X и Y при помощи других каналов управления поворачиваясь вокруг осей X и Y (об этом напишем дальше).


Но структурно если делать регулятор по каналам Х и Y типовым образом, регулятор может быть выполнен аналогично регуляторам ориентации на выходе формируется управляющее воздействие по каналу X (Y) и домножается на вектор 1 (или 2) колонку матрицы $А^+$, а полученные 8 сигналов подаются на ВМГ.


Один из вариантов регулятора по каналу X и Y представлены на рисунке 23 и 24.



Рисунок 23. Регулятор по каналу Х

Рисунок 24. Регулятор по каналу Y

Регуляторы двухрежимные, при отклонении от заданной позиции более чем на 5 метров, переключаются в режим работы V и поддерживают скорость по направлению на уровне REGX_OGRV (или REGY_OGRV) м/с. При этом, интегрирующая ветка регулятора отключается. При переходе в режим позиции, интегрирующая ветка включается в работу с некоторой задержкой чтобы коптер успел подлететь к заданной точке и не набралась существенная величина на интеграторе за время подлета.


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


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


В сумме, на выходе всех 6 каналов управления (по курсу регулятор во многом аналогичен регуляторам ориентации и для сокращения материала не приводим его здесь) мы имеем по каналу регулятора высоты некоторую базовую желаемую частоту вращения для каждой из 8 ВМГ, и некоторую добавку, сформированную остальными 5-ю каналами управления. Единственный нюанс микшированные добавки, т.к. это не прямая добавка к частоте вращения, а добавка к квадрату частоты вращения, и для того чтобы вычислить добавку именно к частоте вращения, надо еще дополнительно проделать несложные математические вычисления, см. рисунок 25:



Рисунок 25. Суммирование каналов управления

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

$\omega_i = \omega_{ibase} + \Delta \omega_i \\ \Delta \omega_i = \sqrt{(\Delta \omega_i)^2+(\omega_{ibase})^2} - \sqrt{(\omega_{ibase})^2}$


где квадраты скоростей это сигналы, выходы каналов управления.


Таким образом, в зависимости от текущего уровня базовой частоты вращения (которая определяется в основном массой коптера и, возможно, груза и получается на выходе из регулятора высоты), определяется нужная добавка угловой скорости для каждой из ВМГ, суммируется с базовой частотой вращения и отправляется как задатчик на регулятор двигателя каждой из ВМГ.


4.6 Регулятор положения коптера в пространстве по каналам крена и тангажа


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


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

$\phi_{звд} = arcsin(y_{задI}); \\ \theta_{зад} = arcsin(\frac{x_{задI}}{cos(\phi_{зад})})$


где $y_{задI}$ и $x_{задI}$ рассогласования заданных значений координат и измеренных в инерциальной системе отсчета, а выражения под арксинусом дополнительно ограничиваются некоторой величиной (полученной исходя из запасов управляемости коптера по крену и тангажу), например, диапазоном $\left[ -\frac{\pi}{16};+\frac{\pi}{16}\right]$ .


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



Рисунок 26. Формирование задания на крен и тангаж
Модель коптера можно взять по этой ссылке здесь...:
Видео модели коптера можно посмотреть здесь

Список литературы


  1. Первая часть. Введение в моделирование динамики квадро-, гекса- и октокоптеров
  2. Design, Modeling and Control of an Octocopter, Oscar Oscarson, Royal Institute of Technology 2015
  3. Development, Modelling and Control of a Multirotor Vehicle, Markus Mikkelsen, Ume University 2015.
Подробнее..

Синхронные двигатели с постоянными магнитами на роторе управление(синус иили трапеция)

03.02.2021 00:17:16 | Автор: admin

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

В зарубежной литературе можно встретить два термина, связанных с этими двигателями:

  1. PMSM(PermanentMagnetSynchronousMotor),что на языке Пушкина означает:синхронный двигательcпостоянными магнитами(СДПМ),и это понятно.

  2. BLDC(BrushLessDirectCurrent),что переводится с языка Шекспира,какБесколлекторный(бесщеточный)ДвигательПостоянногоТока(БДПТ),и это непонятно.Причем здесь постоянный ток?

С этими названиями и у нас,и за рубежом существует немалая путаница.

Например,терминPMSM(СДПМ)может применяться для обозначения двигателя с постоянными магнитами на роторе,независимо от формы его ЭДС,на так же часто его применяют,подразумевая исключительно синусоидальную форму ЭДС двигателя.

ТерминBLDC(БДПТ)может применяться для обозначения двигателя с постоянными магнитами на роторе и трапецеидальной ЭДС,а может вообще обозначать не двигатель,а некий мехатронный узел,включающий в себя:

  • двигатель с постоянными магнитами и трапецеидальной ЭДС

  • датчик положения ротора

  • управляемый по сигналам этого датчика полупроводниковый коммутатор.

Собственно этот мехатронный узел,который может,как и двигатель постоянного тока,управляться постоянным напряжением и породил сам терминBLDC(БДПТ).

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

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

Например,в книге Г.Б.ОнищенкоЭлектрические двигателина стр. 47 вентильнымназывается двигатель соответствующий терминуBLDC(БДПТ),что предполагает трапецеидальную ЭДС,и это понимаемо.

Но двигатели типа5ДВМ сам производитель(ЧЭАЗ)называетвентильными,хотя при этом утверждает,что они имеют синусоидальную ЭДС.

А вот википедия: Вентильный двигатель следует отличать от бесколлекторного двигателя постоянного тока(БДПТ),который имеет трапецеидальное распределение магнитного поля в зазоре....

Ну, ...приехали...

Какой термин,какой форме ЭДС соответствуетнепонятно.

А между прочим,именно эта форма определяет выбор структуры системы управления двигателем.

Как человек занимающийся управлением этими двигателями хочу предложить:

  • во избежание путаницы забыть терминвентильный двигатель

  • термином БДПТ обозначать не двигатель,а исключительно описанный выше мехатронный узел(аналог двигателя постоянного тока)

  • делить синхронные двигатели с постоянными магнитами на роторе (СДПМ)по типу ЭДС на две группы:

    1) с синусоидальной ЭДС(далее,для краткости, -СДПМс)

    2) с трапецеидальной ЭДС(далее,для краткости, -СДПМт)

Управление

При управлении двигателями с синусоидальной ЭДСиспользуется векторное регулирование(подробно описано в книжке по ссылке). С точки зрения возможностей и качества управления это наилучший вариант.

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

Конструкция двигателей

Ротор синхронных двигателей обоих типов устроен одинаково.Он представляют собой магнит с различным количеством пар полюсов.

А вот конструкция статорных обмоток,которая собственно и определяет форму ЭДС,у разных типов различна(см.Рис1.).

Рисунок 1. Конструкции статорных обмотокРисунок 1. Конструкции статорных обмоток

Статорная обмотка двигателя с трапецеидальной ЭДС проще и технологичнее,за счёт этого цена такого двигателя несколько ниже.

Далее остановимся более подробно на двигателе с трапецеидальной ЭДС(СДПМт)

Двигатель с одной парой полюсов будет выглядеть в разрезе так,как показано на Рис.2.

Рисунок 2. Схема двигател с одной парой полюсов я в разрезеРисунок 2. Схема двигател с одной парой полюсов я в разрезе

На статоре СДПМт намотаны три обмотки(А,В,С),сдвинутые в пространстве на120.Каждая обмотка состоит из двух секций,включённых встречно.Таким образом,при протекании тока в обмотке она создаёт внутри двигателя два полюса(положительный и отрицательный),к которым и притягивается магнитный ротор.Поочередное изменение токов в обмотках переключает полюса обмоток и заставляет ротор двигаться вслед за полем.На этом и основан принцип работы двигателя.

В дальнейшем будем считать нулевым то угловое положение ротора\theta_Rпри котором вектор потока ротора совпадает по направлению с осью фазыА(осью обмоткиА).

Уравнения равновесия статорных обмоток СДПМт в системе АВС

Уравнения равновесия статорных обмоток двигателя при его включении взвездув неподвижных фазных координатахАВСимеют вид(1).

\left \{ \begin{gathered} U_{A\Phi} =\frac{d \Psi_А}{dt} + I_AR_{\Phi} \\U_{B\Phi} =\frac{d \Psi_B}{dt} + I_BR_{\Phi} \\U_{C\Phi} =\frac{d \Psi_C}{dt} + I_CR_{\Phi}\ \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(1)}

Здесь:

  • U_{A \Phi},U_{B\Phi},U_{C\Phi} -фазные напряжения

  • \Psi_A,\Psi_B,\Psi_c-потокосцепления фазных обмоток

  • I_A,I_B,I_C-токи фаз

  • R_\Phi- активное сопротивление фазной обмотки.

Поток в обмотке каждой фазы формируется из следующих составляющих:

  • поток,наводимый собственным током фазы

  • поток,наводимый магнитными полями других фазных обмоток

  • поток,наводимый в обмотке магнитами ротора.

Проиллюстрируем это системой(2):

\left \{ \begin{gathered} \Psi_{A} = L_AI_A+L_{AB}I_B+L_{AC}I_C +\Psi_{fA}\\ \Psi_{B} = L_BI_B+L_{AB}I_A+L_{BC}I_C+\Psi_{fB} \\ \Psi_{C} = L_CI_C+L_{AC}I_A+L_{BC}I_B+\Psi_{fC} \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(2)}
  • Где:

    L_{A},L_{B},L_{C} -индуктивность фазных обмоток

    L_{AB},L_{BC},L_{AC} -взаимные индуктивности обмоток

    \Psi_{fA},\Psi_{fB},\Psi_{fC}-потокосцепления, наводимые в обмотках магнитом ротора.

В общем случае все индуктивности системы(2)могут являться переменными функциями угла поворота поля_e.

В частном случаеВ частном случае для неявнополюсного двигателя(при цилиндрическом роторе)индуктивности и взаимные индуктивности обмоток не зависят от угла.

Обозначив
L_\Phi - индуктивность фазной обмотки,

L_{\Phi\Phi} -взаимная индуктивность двух фазных обмоток,
и подставив выражения(2)в систему(1),получим выражение(3):

\left \{ \begin{gathered} U_{A\Phi} =L_\Phi\frac{d I_А}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}+\frac{d \Psi_{fA}}{dt} + I_AR_{\Phi} \\ U_{B\Phi} =L_\Phi\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}+\frac{d \Psi_{fB}}{dt}+ I_BR_{\Phi}\\ U_{C\Phi} =L_\Phi\frac{d I_C}{dt}+L_{\Phi\Phi}\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+\frac{d \Psi_{fC}}{dt}+ I_СR_{\Phi}\ \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3)}

Заметив,что производные по времени от потокосцеплений магнитов ротора

\left(\frac{d \Psi_{fA}}{dt},\frac{d \Psi_{fB}}{dt},\frac{d \Psi_{fС}}{dt}\right) - есть не что иное,как наводимая магнитами

ротора в этих обмотках ЭДС,систему(3)можно переписать в виде(4).

\left \{ \begin{gathered} U_{A\Phi} =L_\Phi\frac{d I_А}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}+E_A + I_AR_{\Phi} \\ U_{B\Phi} =L_\Phi\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}+E_B+ I_BR_{\Phi}\\ U_{C\Phi} =L_\Phi\frac{d I_C}{dt}+L_{\Phi\Phi}\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+E_C+ I_СR_{\Phi}\ \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(4)}

Теперь введем понятие единичной функции формы ЭДС.

Единичная функция формы ЭДС-это функция от угла поля(_e), имеющая единичную амплитуду и повторяющая по форме ЭДС. Для фазА,В,Собозначим эти функции: обозначим эти функции E_{1A},E_{1B},E_{1C} .

Используя единичные функции формы,мгновенные ЭДС в фазах можно представить выражением(5):

\left \{ \begin{gathered} E_{A} = \psi_f\omega_eE_{1A}=\psi_fZ_p\omega_RE_{1A} \\ E_{B} = \psi_f\omega_eE_{1B}=\psi_fZ_p\omega_RE_{1B} \\ E_{C} = \psi_f\omega_eE_{1C}=\psi_fZ_p\omega_RE_{1C} \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(5)}
  • Где:

    \psi_f-амплитуда потокосцепления ротора и фазной обмотки

    \omega_e- скорость вращения поля

    \omega_R- скорость вращения ротора

    Z_P- число пар полюсов двигателя.

Зависимости единичных функций формы ЭДС обмоток СДПМт от угла поворота поля представлены На Рис.3.

Рис. 3. Единичные функции форм ЭДСРис. 3. Единичные функции форм ЭДС

Вывод формулы для расчета электромагнитного момента БДПТ

Момент,создаваемый двигателем,является суммой моментов,создаваемых его обмотками.

Посмотрим на уравнение равновесия обмоткиАиз системы(4).

 U_{A\Phi} =L_\Phi\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}+E_A + I_AR_{\Phi}

Умножив обе его части на ток обмотки,получим уравнение для мгновенной электрической мощности обмотки:

 P_{A\Phi} =I_A \left( L_\Phi\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}\right ) + I_A^2R_{\Phi}+I_AE_A

Рассмотрим составляющие этой мощности:

  • I_A \left( L_\Phi\frac{d I_A}{dt}+L_{\Phi\Phi}\frac{d I_B}{dt}+L_{\Phi\Phi}\frac{d I_C}{dt}\right)- реактивная мощность обмотки

  • I_A^2R_{\Phi} - активная мощность, рассеивающаясяв обмотке

  • I_AE_A- мощность,создающая электромагнитный момент.

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

I_AE_A + I_BE_B+I_CE_C = M_{em}\omega_R \Rightarrow M_{em} =\frac{I_AE_A + I_BE_B+I_CE_C}{\omega_R} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(6)}
  • Где:

    M_{em}- электромагнитный момент двигателя

    \omega_R - угловая скорость вращения ротора.

Подставив в формулу(6)значения ЭДС из соотношений(5),получим формулу вычисления электромагнитного момента ротора(7).

M_{em} =\psi_fZ_p \left(I_AE_{1A} + I_BE_{1B}+I_CE_{1C}\right) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(7)}

Коммутация обмоток СДПМт

В соответствии с формулой(7)момент СДПМт пропорционален сумме произведений фазных токов на функции формы соответствующих ЭДС.

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

Для примера рассмотрим на Рис.3участок угловой траектории от /6до /2.На этом участке ЭДС в фазеАимеет максимально отрицательное значение,а в фазеВмаксимально положительное.Следовательно,для получения положительного момента на этом участке угловой траектории надо обеспечить в фазеАотрицательное,а в фазеВположительное значение тока.Для этого фазуАможно подключить на отрицательный,а фазуВна положительный полюса внешнего источника постоянного напряжения(Udc).При этом фазаСне используется(отключена от источникаUdc).

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

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

Таблица1. Закон коммутацииТаблица1. Закон коммутации

Обмотки трёхфазного двигателя можно коммутировать на внешний источник напряжения с помощью трехфазного мостового инвертора.Для этого состояние инвертора надо поставить в зависимость от положения ротора.Обычно это делается с помощью датчика положения ротора(ДПР).Этот датчик имеет три канала.Каждый канал выдает за один оборот двигателя импульс,соответствующий половине периода вращения,при этом импульсы в каналах сдвинуты на120.

Логическая обработка сигналов ДПР позволяет определить-в каком из шести секторов в данный момент находится ротор.

Работа ДПР поясняется Табл. 2.

Таблица 2. Работа ДПР (определение сектора)Таблица 2. Работа ДПР (определение сектора)

Возможная структура системы управления моментом БДПТ

ОпределяющАлгоритм,описанный в Табл.1,предполагает протекание одного и того же тока в двух фазах двигателя при единичном значении функции формы ЭДС в обмотках фаз.Поэтому выражение(7)можно переписать в виде(8).

M_{em} =2 \cdot Z_p\psi_fI_\Phi \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(8)}

Где: I_\Phi - значение тока в фазах.

То есть значение момента пропорционально величине тока в обмотках двигателя.

Вытекающая из формулы(8)структура системы управления моментом в приводе с СДПМт изображена на Рис.4.

Рисунок 4. Система управления моментом БДПТРисунок 4. Система управления моментом БДПТ

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

Эта задача решается с помощью создания на базе трёхфазного мостового инвертора контура тока с ШИМ.

Регулятор тока(ПИ-рег.)формирует сигнал задания напряжения обмоток(U),которое затем реализуется инвертором с ШИМ в соответствии с алгоритмом коммутации(Табл.1).

В качестве сигнала обратной связи в контуре можно использовать трёхфазно-выпрямленные сигналы датчиков тока фаз или сигнал датчика тока в звене постоянного тока инвертора(I_{fb}).

На основе рассмотренного канала управления моментом можно строить внешние контуры управления скоростью и положением.

Однако

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

Кроме этих коммутационных пульсаций в рассматриваемой системе также будут иметь место пульсации момента на частоте ШИМ.

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

Часть модели,а именно-модель цифровой системы управления скоростью приведена ниже,на Рис.5.Регулятор скорости системы(Рег.W)выдает сигнал момента,который отрабатывается структурой,построенной в соответствии с Рис.4.

Рисунок 5. Модель цифровой системы управленияРисунок 5. Модель цифровой системы управления

Для управления был выбран двигатель со следующими параметрами:

  • Rs = 2.875Ом-сопротивление обмотки фазы;

    Ls = 8.5e-3Гниндуктивность фазы;

    F = 0.175Вбпотокосцепление ротора;

    Zp = 4-число пар полюсов;

    Jr = 0.06 нм- момент инерции ротора.

Напряжение в звене постоянного тока привода было принято равным100В.

В контуре тока электропривода использовалась ШИМ с частотой5кГц.

В процессе регулирования происходило ступенчатое увеличение частоты при постоянном моменте сопротивления на валу двигателя(10Нм).

Графики,полученные в процессе работы модели,приведены на Рис.6.

Рисунок 6. Моделирование работы двигателяРисунок 6. Моделирование работы двигателя

На графике момента видны существенные пульсации.

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

Пульсации,связанные с ШИМ,в данном случае,невелики.

Заметим,что коммутационные пульсации существенно возрастают при увеличении момента,что связано с увеличением тока.

Несколько спасает то,что их влияние на скорость снижает инерция.

А можно ли векторно управлять СДПМт?

Если очень хочется-то можно.
Однако и здесь не без особенностей.
Математика и структура стандартной векторной системы управления исходит из синусоидальности поля в зазоре.При трапецеидальной ЭДС это условие нарушается,правда не очень сильно(трапеция это же почти синус).

А результатом этогопочтибудут,опять же,пульсации момента.

Вид части модели относящейся к цифровой системе векторного управления в средеSimInTechпоказан на Рис.7.

Рисунок 7. Часть модели векторного управления.Рисунок 7. Часть модели векторного управления.

Ниже на Рис.8показан график работы модели уже рассмотренного ранее СДПМт работающего в рассмотренном ранее режиме,но под управлением векторной системы.

В графике момента мы опять наблюдаем пульсации(хотя по сравнению с предыдущим вариантом они несколько уменьшились).

Причины пульсации при векторном управлении и управлении по ДПР различны,но частота все та жеушестеренная по отношению к заданной.

Заметим,что вследствие несинусоидальности ЭДС токи в обмотках двигателя так же будут принципиально несинусоидальными(это так,хотя в масштабе рисунка и не слишком заметно).

Рисунок 8. Работа двигателя при векторном управленииРисунок 8. Работа двигателя при векторном управлении

А можно ли с помощью коммутации обмоток по ДПР управлять двигателем с синусоидальной ЭДС?

С точки зрения автора можноно не нужно.

Наряду с коммутационными пульсациями момента синусоидальность ЭДС(отсутствие плоской вершины трапеции)в данном случае неминуемо вызовет еще и дополнительные пульсации,снижающие качество регулирования даже по сравнению с управляемым по ДПР двигателем СДПМт.

А при векторном управлении двигателем с синусоидальной ЭДС пульсаций момента не будет.

Для подтверждения этого тезиса ниже(Рис.9)приведены графики работы модели двигателя с уже рассмотренными ранее параметрами,но с синусоидальной ЭДС и векторной системой управления скоростью.

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

Рисунок 8. Работа двигателя с синусоидальной ЭДСРисунок 8. Работа двигателя с синусоидальной ЭДС

Итоги

Для синхронников с страпецеидальной ЭДС-коммутация по ДПР.

Так же возможно использование и более сложного векторного алгоритма регулирования,что может дать снижение уровня пульсации момента.

Для синхронников с синусоидальной ЭДСлучший вариант это векторное регулирование.

Это сочетание идеально для построения точного электропривода(что собственно и так было понятно).

Калачёв Ю.Н.

Модели для самостоятельного изучения можно взять здесь.

Предыдущие статьи по теме:

Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока

Модельно ориентированное проектирование. Построение активного выпрямителя (на основе математической модели)

Список литературы

[1]А.С.ПушкинПолтава.

Подробнее..

3. Частотные характеристики звеньев и систем автоматического управления. ч. 3.4 Апериодическое звено 2го порядка

24.02.2021 02:21:58 | Автор: admin

Предыдущая часть Апереодическое звено первого порядка.

3.4 Апереодическое звено второго порядка

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

У нас есть модель механического демпфера. Это поршень на пружине, он движется внутри цилиндра, может перемещается вверх-вниз. Его положение это интересующая нас функция Y(t), сверху на него воздействует возмущающая сила (U(t)), на стенках поршня действует сила вязкого трения. (См. рис. 3.4.1)

Рисунок 3.4.1. Расчетная схема амортизатора. Рисунок 3.4.1. Расчетная схема амортизатора.

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

m \cdot \frac{d^2Y(t)}{dt} = \sum F_j = P+ U(t) +F_{пр}+F_{тр}
  • где:

    m - масса поршня;

    Y(t)- положение поршня (выходная переменная);

    U(t) = X(t)- приложенная сила (входное воздействие);

    P = m \cdot g- сила тяжести;

    F_{пр} = k \cdot Y(t) сила сопротивления пружины;

    F_{тр} = с \cdot \frac{dY}{dt} сила вязкого трения (пропорциональная скорости движения поршня).

Считаем, что в нулевой момент времени поршень находится в равновесии. Тогда начальное положение поршня y0в равновесии, где скорость и ускорения равны 0, можно посчитать из уравнения 2.

0 = m \cdot g + u_0-k \cdot y_0 \Rightarrow y_0= \frac{1}{k} [m\cdot g+u_0]

Перепишем уравнение равновесия в отклонениях от нулевого состояния:

Y(t) =y_0+y(t); \ \ \ U(t) = u_0+u(t);

m \cdot \frac{d^2 y(t)}{dt^2} = \underbrace { m \cdot g+ u_0}+u(t)-\underbrace {k \cdot y_0} -k\cdot y(t) - c \cdot\frac{dy(t)}{dt}

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

m \cdot y''(t)+c \cdot y'(t)+k \cdot y(t) = u(t) = x(t)

Приведем данное уравнение к классическому виду:

 \underbrace{\frac{m}{k}}_{T_2^2}\cdot y''(t)+\underbrace{\frac{c}{k}}_{T_1}\cdot y'(t)+y(t)=\underbrace{\frac{1}{k}}_K \cdot x(t)

Уравнение динамики апериодического звена 2го порядка имеет следующий вид:

T_2^2 \cdot y''(t)+T_1 \cdot y'(t)+y(t)=K \cdot x(t) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.1)}

при этом:

D = T_1^2-4 \cdot T_2^2 \ge 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.2)}

ЕслиD<0, то звено становится колебательным (см. раздел 3.5)

Переходя к изображениямx(t) \rightarrow X(s); \ \ \ y(t) \rightarrow Y(s)получаем уравнение динамики звена в изображениях:

(T_2^2\cdot s^2+ T_1 \cdot s+1) \cdot Y(s) = K \cdot X(s) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.3)}

Передаточная функция звена может быть представлена в двух видах:

W(s) = \frac{Y(s)}{X(s)}= \frac{K}{T_2^2 \cdot s^2+T_1 \cdot s+1} \iff \frac{K}{(T_3 \cdot s+1)(T_4 \cdot s+1)}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.4)}

где:

T_3 = \frac{T_1-\sqrt{D} }{2} ;\ \ T_4 = \frac{T_1+\sqrt{D}}{2}Рисунок 3.4.2 Апериодическое звено 2-го порядка (два варианта) Рисунок 3.4.2 Апериодическое звено 2-го порядка (два варианта)

Амплитудно-фазовая частотная характеристика (АФЧХ):

W(i \cdot \omega) = W(s)|_{s =i \cdot \omega} =\frac{K}{(1+i \cdot T_3 \cdot \omega)(1+ i \cdot T_4 \cdot \omega)} \Leftrightarrow \frac{K}{(1-T_2^2 \cdot \omega^2)+i \cdot T_1 \cdot \omega} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.5)}

Домножив числитель и знаменатель формулы (3.4.5) на комплексно-сопряженные скобки (1-i \cdot T_3 \cdot \omega) и (1-i \cdot T_4 \cdot \omega) , получаем:

W(i\cdot\omega) = \frac{K(1- i \cdot T_3 \cdot \omega)(1- i \cdot T_4 \cdot \omega)}{(1 + T_3^2 \cdot \omega^2)(1+T_4^2\cdot \omega^2)} == \underbrace {\frac{K (1 -T_4\cdot T_3 \cdot \omega^2)}{(1+T^2_3 \cdot \omega^2)(1+T_4^2 \cdot \omega^2)}}_{u(\omega)}- i \cdot \underbrace {\frac{K(T_4+T_3)\omega}{(1+T_3^2\cdot \omega^2)(1+ T_4^2\cdot \omega^2)}}_{v(\omega)}

Диствительная и мнимая части передаточной функции:

u(\omega) = \frac{K(1- T_3 \cdot T_4 \cdot \omega^2)}{(1+T_3^2 \cdot \omega^2)(1+ T_4^2 \cdot \omega^2)}; \ \ \ \ \ v(\omega) = -\frac{K(T_4+ T_3)\omega}{(1+T_3^2 \cdot \omega^2)(1+T_4^2 \cdot \omega^2)} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.6)}

Анализируя поведениеu()иv()при\omega \rightarrow 0 и при\omega \rightarrow \infty , получаем:

\lim_{\omega \to 0} u(\omega) = K; \ \ \ \ \ \lim_{\omega \to \infty}u(\omega) = 0\omega \rightarrow 0 \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow K; \\ v(\omega) \rightarrow 0; \end{gathered} \right. \ \ \ \ \ \ \ \omega \rightarrow \infty \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow 0; \\ v(\omega) \rightarrow 0; \end{gathered} \right.

Модуль АФЧХ (амплитуда), то естьmod(W(i)) = |W(i)| из формулы 3.4.5:

A(\omega) = |W(i\cdot \omega) | = \left | \frac{K}{(1+i\cdot T_3 \cdot \omega)(1+i \cdot T_4\cdot \omega)} \right | = \frac{K}{\sqrt{1+ T_3^2 \cdot \omega^2}\cdot \sqrt{1+ T_4^2\cdot \omega^2}}\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.7)}

Подставляя в формулы (3.4.6) или в формулу (3.4.5) различные значения можно построить векторы, соответствующие различным значениям :

Рисунок 3.4.3 Годограф АФЧХ апериодического звена 2-го порядкаРисунок 3.4.3 Годограф АФЧХ апериодического звена 2-го порядка

Из формул 3.4.6 очевидно, что на рисунке годографа 3.4.3 :

1) \ \omega_6>\omega_5>\omega_4>\omega_3>\omega_2>\omega_1>0\\ 2) \ \ 0 >\varphi_1>\varphi_2>\varphi_3>\varphi_4>\varphi_5>\varphi_6

Используя формулу 3.4.6 можно показать что u(w_3)=0 при \omega_3 = \frac{1}{\sqrt{T_3\cdot T_4}}

Из рисунка видно, что \varphi(\omega) \in [-\pi;0] .

Формула фазового сдвига:

\varphi(\omega) = - \pi \cdot j+ arctg \frac{v(\omega)}{u(\omega)} \omega\leq \omega_3 \Rightarrow j = 0;\\ \omega>\omega_3 \Rightarrow j=1.

Для фазового сдвига удобно представить апереодическое звено в виде последоваетельного соединения двух звеньев (см. рис. 3.4.2). Известно, что при последовательном соединении звеньев общий сдвиг фазы равен сумме фазовых сдвигов:

 \varphi(\omega)=\varphi_1(\omega)+\varphi_2(\omega) = -arctg (T_3\cdot \omega)-arctg(T_4 \cdot \omega)\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.8)}

Логарифмическая амплитудная характеристика (ЛАХ)

Lm(\omega) = 20 \cdot lg \ A(\omega) = 20\cdot lg \ K - 20 \cdot lg \sqrt{1+T_3^2 \cdot \omega^2} - 20 \cdot lg \sqrt{1+T_4^2\cdot \omega^2}\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.9)}

Графики А(), (),Lm() имеют вид:

Рисунок 3.4.4 АЧХ и ФЧХ апериодического звена 2-го порядкаРисунок 3.4.4 АЧХ и ФЧХ апериодического звена 2-го порядкаРисунок 3.4.5 ЛАХ и ЛФЧХ апериодического звена 2-го порядкаРисунок 3.4.5 ЛАХ и ЛФЧХ апериодического звена 2-го порядка

В инженерных расчетах часто графикLm() представляют виде отрезков ломаных, тогда:

при \omega < 1 /T_4 - звено близко к идеальному усилительному звену  W(s) \approx K

при  1/T_4 < \omega < 1/T_3 - звено близко к идеальному интегрирующему звену W(s) \approx K/(T\cdot s)

при \omega>1/T_3 - звено близко к дважды интегрирующему звену W(s)\approx K/(T^2 \cdot \omega^2)

В граничном случае (D=0 или T_1 = 2 \cdot T_2) \Rightarrow T_3 = T_4 отмеченные на графикеLm() (см. рис. 3.4.5 выше) точки излома совпадают:

Рисунок 3.4.6 ЛАХ и ЛФЧХ апериодического звена 2-го порядка в граничном случаеРисунок 3.4.6 ЛАХ и ЛФЧХ апериодического звена 2-го порядка в граничном случае

ЕслиD<0 \ (T_1 = 2T_2)звено переходит в разряд колебательных звеньев. Поэтому постоянная Т1в уравнении динамики (3.4.1) играет роль демпфирующего фактора, увеличение Т1(в колебательном звене) приводит к уменьшению или к полному исчезновению колебаний.

Найдем переходную функцию звена  h(t) - реакцию на воздействие единичное воздействие 1(t).

h(t) = L^{-1}[H(s)]=L^{-1} \left[ \frac{W(s)}{s} \right] =L^{-1} \left[ \frac{K}{s(T_3 \cdot s +1)(T_4 \cdot s+1)} \right]

Для нахождения функции по формуле Хэвисайда (см. раздел 2.8 Некоторые способы нахождения оригинала по известному изображению), запишем корни полюса изображения, т.е. те значения s при которых D_0(s) = s(T_3 \cdot s +1)(T_4 \cdot s +1) обращается в ноль:

s_1 = 0; \ \ s_2 =-\frac{1}{T_3}; \ \ s_3 = -\frac{1}{T_4}

Тогда по формуле Хэвисайда:

h(t) = \lim_{s \to 0} \left[ (s + 0) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s+1)} \cdot e^{st}\right] \\+ \lim_{s \to -\frac{1}{T_3}} \left[ (s+\frac{1}{T_3}) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s +1)}\cdot e^{st} \right] +\\+ \lim_{s \to -\frac{1}{T_4}} \left[ (s+\frac{1}{T_4}) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s +1)}\cdot e^{st} \right]

Вычисляя пределы получим формулу для переходной функции звена:

h(t) = K \left[1+ \frac{T_3}{T_4-T3} \cdot e^{- \frac{t}{T_3}}-\frac{T_4}{T_4 -T_3} \cdot e^{-\frac{t}{T_4}} \right] \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.10)}

Весовая функция получается дифференцированием w(t) =h'(t) :

w(t) = \frac{K}{T_4 - T_3} \cdot \left[ e^{-\frac{t}{T_4}} - e^{- \frac{t}{T_3}} \right] \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.11)}Рисунок 3.4.7 Переходная функция апериодического звена 2-го порядкаРисунок 3.4.7 Переходная функция апериодического звена 2-го порядка

Примерами апериодического звена 2-го порядка являются:

1) двигатель постоянного тока при учете инерционности самого якоря (механической) и цепи якоря (электрической);

2) электрический усилитель с учетом инерционности (механической и электрической) ротора;

3) двойныеRCилиRLцепочки

Рисунок 3.4.9 Пример апериодического звена 2-го порядкаРисунок 3.4.9 Пример апериодического звена 2-го порядка

Если звено представлено в переменных состояния в матричной форме таким образом:

x' = A \cdot x + B \cdot u; \ \ \ A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ \end{pmatrix} \Rightarrow \left \{ \begin{gathered} x_1' = a_{11} \cdot x_1+a_{12}\cdot x_2+ B \cdot u \\x_2'= a_{21} \cdot x_1+a_{22}\cdot x_2+ B \cdot u \end{gathered} \right.

то звено будет апериодическим 2-го порядка, если:

 D = (a_{11}+ a_{22})^2 - 4(a_{11}\cdot a_{22} -a_{12}\cdot a_{21}) \ge 0

Пример

В качестве примера возьмём модель демпфера, которую мы уже использовали в лекциях. (см. Рисунок 3.4.10) Структурная схема модели описывает уравнения динамики, описанные в начале статьи. Свойства системы заданы в списке общих сигналов проекта (см. рис. 3.4.11). Для получения из демпфера апериодического звена 2-го порядка необходимо увеличить силу трения таким образом, чтобы (как показано выше) коэффициентT1 был больше, чем 2 хT2. В этом случае D>0 и из колебательного звена мы получим апериодическое 2-го порядка.

Рисунок 3.4.10 Структурная схема модели демпфера.Рисунок 3.4.10 Структурная схема модели демпфера.Рисунок 3.4.11 Параметры моделиРисунок 3.4.11 Параметры модели

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

Рисунок 3.4.12. Параметры для модели демпфера в виде звенаРисунок 3.4.12. Параметры для модели демпфера в виде звена

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

Рисунок 3.4.13 Переходные процессы в двух моделях.Рисунок 3.4.13 Переходные процессы в двух моделях.

График частотных характеристик звена (ЛАХ и ФЧХ) представлен на рисунке 3.4.14На графике видно две точки излома характеристики ЛАХ в которых наклон последовательно меняетсяс 0, до 20дБ/дек и с 20дБ/дек до 40 дБ/дек.

Рисунок 3.4.14 Частотные характеристика ЛАХ и ФЧХРисунок 3.4.14 Частотные характеристика ЛАХ и ФЧХ

Для демонстрации влияния изменения Т1 на свойства звена выполним моделирование, в котором структурная схема является эталонной, а в модели звена будем уменьшать коэффициент силы трения (коэффициентT1).

Источником воздействия будет меандр, с периодом 3 секунды.

Для изменения свойств звена создадим блок на языке программирования. Данный блок, в процессе моделирования, постепенно уменьшает коэффициент Т1 для модели в виде звена. Этот же блокготовит данные для отображения на 3Dграфике переходного процесса.

Общая схема модели приведена на рисунке 3.4.15.

Рисунок 3.4.15 Схема демпфера с изменения свойств блокаРисунок 3.4.15 Схема демпфера с изменения свойств блока

Меандр задает изменение приложенной силы 0 30 Н (входного воздействия) с полупериодом 1.5 сек. График изменения положения приведен на рисунке 3.4.16 Видно, что на первом изменении графики совпадают, но потом по мере накопления отличий в параметрах динамика изменения положения начинает меняться.

Рисунок 3.4.16 Графики положения демпферов.Рисунок 3.4.16 Графики положения демпферов.

Первая часть процесса изображена на рисунке 3.4.17 Видно, что снижение силы трения обеспечивает более быстрое изменении положения демпфера.

Рисунок 3.4.17 Начальная часть графикаРисунок 3.4.17 Начальная часть графика

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

Рисунок 3.4.18 Конечная часть моделированиРисунок 3.4.18 Конечная часть моделировани

ЗDповерхность отображает переходный процесс при ступенчатом увеличении воздействия в блоке меандр.По осиZ отражается положение демпфера, по осиY время после увеличения входного воздействия в блоки меандр, по осиX измененийT1 (уменьшение силы трения).

Рисунок 3.4.19 Поверхность переходного процесса при снижении тренияРисунок 3.4.19 Поверхность переходного процесса при снижении трения

В заключение, сравним переходные процессы для разных параметровT1 (разных коэффициентов трения). Поскольку все основные блоки вSimInTechявляются векторными, создадим модели 7-ми демпферов из одного звена. Для этого в главном окне программы подготовим 7 векторов значений с разными коэффициентами трения. Скрипт приведен на рисунке 3.4.20.

Рисунок 3.4.20 Скрипт модели для задания параметров 7 демпферовРисунок 3.4.20 Скрипт модели для задания параметров 7 демпферов

Четвертый вектор содержит переходное значение T1. Как было показано выше, переходное значениеT1, при котором апереодическое звено второго порядка превращается в колебательное расчитывается по формуле T1 = 2хT2.

В модели, в свойствах блока указываем эти векторы в столбце формулы, и теперь блок может рассчитывать одновременно7демпферов одним блоком. (см. рис. 3.4.21)

Рисунок 3.4.21 Настройка параметров блока для векторного расчетаРисунок 3.4.21 Настройка параметров блока для векторного расчета

Общая схема модели в этом случае будет выглядеть как показано на рисунке 3.4.22 Ступенчатое изменение силы передается в блок Размножитель, где преобразуется в вектор из 7 воздействий. Данный вектор передается в блок, где и происходит расчёт семи вариантов демпфера.

Рисунок 3.4.22 Схема модели 7-и демпферовРисунок 3.4.22 Схема модели 7-и демпферов

Результат переходного процесса представленна рисунке 3.4.23. Видно, что 3 демпфера ведут себя как апериодическое звено второго порядка, 3 демпфера явно превратились в колебательные.

Рисунок 3.4.23 Перемещение 7 демпферов при ступенчатом воздействииРисунок 3.4.23 Перемещение 7 демпферов при ступенчатом воздействии

Характеристики ЛАХ и ФХЧ представлены на рисунке 3.4.24. Наглядно видно, как постепенно, при снижении коэффициента трения исчезают два излома на графике ЛАХ, и звено превращается в колебательное, о котором будем говорить в следующей части.

Рисунок 3.4.25 Частотные характеристики 7-и демпферовРисунок 3.4.25 Частотные характеристики 7-и демпферов

Модели с примерами для самостоятельного изучения можно взять по ссылке.

Предыдущая лекция Апереодическое звено первого порядка.

Подробнее..

3. Частотные характеристики звеньев и систем автоматического регулирования. 3.5 Колебательное звено

07.04.2021 08:12:05 | Автор: admin

Колебательное звено является наиболее интересным случаем из всех типовых звеньев, во-первых,за счет сильной похожести по своим динамическим свойствам на более сложные реальные САУ (САР), во-вторых, близкой идентичности переходных процессов в звене к аналогичным в реальных САР, и, в-третьих, существенной зависимости динамических свойств от величины параметра звена.

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

Рисунок 3.5.1 Модель электического колебательного контураРисунок 3.5.1 Модель электического колебательного контура

Электрическая цепь содержит источник напряжения и последовательно соединённые индуктивность, сопротивление, конденсатор.

Входное ступенчатое воздействиеx(t), формирующее внешнюю Э.Д.С в цепи, подключено к блоку источнику напряжения х(t) =Uвх(t).

Результирующий отклик звена - напряжение на конденсатореy(t) =Uс(t) =Uвых(t).

Согласно второму закону Кирхгофа для замкнутого контура, сумма Э.Д.С равна сумме напряжения на резистивных элементах контура.

U_R+U_C =U_{вх} +\xi_L \Rightarrow \\ \Rightarrow -\xi_L+U_R+U_C= U_{вх}

где:

\xi_L = -L \cdot \frac{dI}{dt}- ЭДС индукции на катушке, (направлено против изменения тока);

U_R=R \cdot I- падение напряжении на сопротивлении.

Поскольку в замкнутом контуре сила тока одинакова на всех элементах, перепишем уравнения, выразив силу тока через напряжение на конденсаторе. Сила тока в цепи равна изменению заряда конденсатора:

I =\frac{dq}{dt} где:

q=C\cdot U_C- заряд кондесатора.

Тогда сила тока в цепи связана с напряжение на конденсаторе соотношением:

I = C \cdot \frac{ dU_c}{dt}

После замены силы тока, ее выражением через U_C получим следующие выражение:

L \cdot C \cdot \frac{d^2U_c}{dt^2} +R\cdot C \cdot \frac{d U_c}{dt}+U_c = U_{вх}

Заменив U_C=y(t) и U_{ВХ} = x(t) получим уравнение колебательного звена:

\underbrace{L \cdot C}_{T_2^2} \cdot y''(t)+\underbrace{R \cdot C}_{T_1} \cdot y'(t) +y(t) =\underbrace{1 \cdot }_Kx(t)

Уравнение динамики звена описывается уравнением, аналогичным рассмотренном в предыдущем разделе (апериодическое звено второго порядка):

T^2_2 \cdot y''(t)+T_1 \cdot y'(t)+ y(t) =K\cdot x(t) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.1)}

причем T_1<T_2 , т.е. D= T_1^2-4 \cdot T_2^2 \leq 0

Учитывая, что D \leq0 , удобнее представить уравнение динамики в другой форме, а именно:

Введем новые параметры: T\equiv T_2 и \beta = \frac{T_1}{2 \cdot T_2} , где \beta - параметр (коэффициент) затухания (демпфирования).

Подставляя новые параметры в (3.5.1):

T^2 \cdot y''(t)+2 \cdot \beta \cdot T\cdot y'(t)+y(t) = K \cdot x(t) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.2)}

Уравнение 3.5.2 - наиболее удобная форма представления уравнения динамики.

Перейдем к изображениям: x(t) \rightarrow X(s) и y(t) \rightarrow Y(s) уравнение динамики в изображениях Лапласа:

(T^2_2 \cdot s^2+2 \cdot \beta \cdot T \cdot s+1) \cdot Y(s)=K \cdot X(s)

Передаточная функции колебательного звена:

W(s) =\frac{Y(s)}{X(s)}= \frac{ K}{ T^2 \cdot s^2+2 \cdot \beta \cdot T \cdot s + 1} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.3)}

Еще раз подчеркнем, что параметр (коэффициент) затухания (демпфирования) 0 \le \beta \le 1 , причем при \beta > 1 свойства колебательного звена совпадают с аналогичными свойствами соответствующего апериодического звена 2-го порядка, а при \beta = 0 звено выражается вконсервативное, в котором могут существовать незатухающие гармонические колебания.

Выражение для АФЧХ получается после подстановки в (3.5.3) значения s=i\cdot \omega :

W(i \cdot \omega)=\frac{K}{T^2 \cdot (i \cdot \omega)^2+2 \cdot \beta \cdot T \cdot i \cdot \omega+1}=\\= \frac{K}{(1-T^2\cdot \omega^2)+2 \cdot \beta \cdot T \cdot i \cdot \omega} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.4)}

Домножим числитель и знаменатель формулы 3.5.4 на компексно сопряженное выражения для знаменателя (1-T^2\cdot \omega^2) - 2 \cdot \beta \cdot T \cdot i \cdot \omega :

W(i \cdot \omega) = \frac{K(1-T^2\cdot \omega^2) - K \cdot 2 \cdot \beta \cdot T \cdot \omega \cdot i}{(1-T^2\cdot\omega^2)^2+4 \cdot \beta^2 \cdot T^2 \cdot \omega^2}

Выражения для вещественной и мнимой частей принимают вид:

u( \omega) = \frac{K(1-T^2\cdot \omega^2) }{(1-T^2\cdot\omega^2)^2+4 \cdot \beta^2 \cdot T^2 \cdot \omega^2} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.5)}v(\omega) = \frac{ - 2 \cdot K \cdot \beta \cdot T \cdot \omega }{(1-T^2\cdot\omega^2)^2+4 \cdot \beta^2 \cdot T^2 \ \cdot \omega^2} \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.6)}

Амплитуда АФЧХ

A(\omega) = \sqrt{u(\omega)^2+v(\omega)^2} =\sqrt{\frac{K^2 \left( (1-T^2\cdot \omega^2)+4\cdot K^2 \cdot \beta^2 \cdot T^2 \cdot \omega^2 \right)}{((1-T^2\cdot \omega^2)^2+4 \cdot \beta^2 \cdot T^2 \cdot \omega^2)^2}}A(\omega) = \frac{K }{\sqrt{(1-T^2\cdot \omega^2)^2+4 \cdot \beta^2 \cdot T^2 \cdot \omega^2}} \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.7)}

Сдвиг фазы

\varphi (\omega) = \left \{ \begin{gathered} -arctg \frac{2 \cdot \beta \cdot T \cdot \omega}{1- T^2 \cdot \omega^2}, \ если \ \omega \le \frac{1}{T}; \\ -\pi- arctg \frac{2 \cdot \beta \cdot T \cdot \omega}{1- T^2 \cdot \omega^2}, \ \ если \ \ \omega > \frac{1}{T}. \ \end{gathered} \right. \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.8)}

Анализ формул (3.5.5 3.5.8) показывает, что:

\omega \rightarrow 0 \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow K; \\ v(\omega) \rightarrow 0; \\ A(\omega) \rightarrow K; \\ \varphi(\omega) \rightarrow 0; \end{gathered} \right. \ \ \ \ \ \ \ \omega \rightarrow \infty \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow 0; \\ v(\omega) \rightarrow 0; \\ A(\omega) \rightarrow 0; \\ \varphi(\omega) \rightarrow - \pi; \end{gathered} \right. \ \ \ \ \ \ \ \mathbf{(3.5.9)}

Одной из главных особенностей АФЧХ является возможность существования экстремума в зависимостиA(). Выполним исследование на экстремум:

\frac{dA(\omega)}{d\omega}=\frac{d}{d\omega} \left( \frac{K}{\sqrt{(1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot T^2\cdot \omega^2}}\right)=0\frac{\frac{d}{d\omega}K\cdot\sqrt{(1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot\omega^2}-K \cdot \frac{d}{d\omega}\sqrt{(1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot\omega^2}}{(1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot\omega^2} = \\ =\frac{-0.5\cdot K\cdot((1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot\omega^2)^{-1.5}\cdot[2\cdot(1-T^2\cdot\omega^2)\cdot(-2)\cdot T^2\cdot \omega+8 \cdot \beta^2\cdot\omega]}{(1-T^2\cdot\omega^2)^2+4\cdot\beta^2\cdot\omega^2}

Очевидно что, для того, что бы выражение равнялось нулю необходиом равенство нлую следующего выражения:

-4\cdot(1-T^2\cdot \omega^2)\cdot T^2 \cdot \omega+8 \cdot \beta^2\cdot T^2 \cdot \omega = 0

Отсюда вырражение для экстермума:

\omega_m=\frac{1}{T}\sqrt{1-2\cdot \beta^2} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.10)}

Очевидно, что \omega_m существует если (1- 2 \cdot \beta^2)\ge 0 \Rightarrow \beta \le\frac{\sqrt2}{2}

Если \beta < \frac{\sqrt{2}}{2} , то заивисмость A(\omega) имеет экстремум.

Если \beta >\frac{\sqrt{2}}{2} , экстремума в заивсимости A(\omega) нет.

Вычислим максимальное значение A(\omega) , под ставим выражение для \omega_m 3.5.10 в формулу 3.5.7, получим:

A(\omega_m) =\frac{K}{\sqrt{\left [1 -T^2 \frac{1}{T^2}(1-2\beta^2) \right ]^2+4\beta^2T^2\frac{1}{T^2}(1- 2\beta^2)}} \RightarrowA(\omega_m) = \frac{K}{2 \cdot\beta \sqrt(1- \beta^2)} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.11)}

Анализ вышеприведенных соотношений показывает, что при \beta < \frac{\sqrt{2}}{2} графикA(\omega)имеет горб, который при уменьшении \beta растет и при \beta \rightarrow 0 \ \ \ \ \ \ A(\omega) \rightarrow \infty , что означает разрыв в зависимостиA(\omega).

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

Поскольку \beta = \frac{T_1}{T_2} , то очевидна роль постоянных времени :

T_2 раскачивает колебания, а T_1 демпфирует их. Рассмотрим соответствующие графики:

Рисунок 3.5.2 АЧХ колебательного звенаРисунок 3.5.2 АЧХ колебательного звенаРисунок 3.5.3 ФЧХ колебательного звенаРисунок 3.5.3 ФЧХ колебательного звена

Данные графики аналогичны для случаев резонансов в теоретической механике, физике, электротехнике и т.д.

Величину \omega = \frac{1}{T} принято называть частотой свободных колебаний и обозначать 0.

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

\omega_m=\frac{1}{T}\sqrt{1-2\cdot 0^2} = \frac{1}{T}

Величину \omega = \frac{1}{T} принято называть частотой свободных колебаний и обозначать 0.

Подставляя различные значения в формулу (3.5.5) или (3.5.6) построим годограф АФЧХ на комплексной плоскости:

Рисунок 3.5.4 АФЧХ колебательного звенаРисунок 3.5.4 АФЧХ колебательного звенаРисунок 3.5.5 Годограф АФЧХ консервативного звенаРисунок 3.5.5 Годограф АФЧХ консервативного звена

Построение ЛАХ Lm() не может быть сделано так же просто, как для предыдущих позиционных звеньев, т.е. она не сводится к комбинации отрезков прямых.

Будем использовать для построения графика ЛАХнормированную(безразмерную) частоту\tilde{\omega} = \frac{\omega}{\omega_0}, где \omega_0 - частота свободных колебаний, имеющим место в консервативном звене со следующим уравнением динамики:

T^2 \cdot y''(t)+y(t) = K \cdot x(t)

Решим данное уравнение динамики, используя корни характеристического уравнения L(\lambda )=0 :

T^2\cdot \lambda^2+1=0 \Rightarrow \lambda_{1,2} = \pm i\cdot\frac{1}{T} = \pm i \cdot \omega_0y_{собств} = С_1\cdot e^{i \cdot \omega_0\cdot t}+C_2\cdot e^{-i\cdot \omega_0 \cdot t} \approx sin(\omega_0\cdot t)

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

Введя новую переменную\tilde{\omega}в выражение дляLm() = 20 lg (А()):

Lm(\omega) =20\cdot lg(K) - 20 \cdot lg(\sqrt{(1-T^2\cdot \omega^2)^2+4 \cdot \beta^2\cdot T^2\cdot \omega^2}) = =20\cdot lg(K) - 20 \cdot lg(\sqrt{\left (1-\frac{\omega^2}{\omega_0^2} \right)^2+4 \cdot \beta^2\cdot \frac{\omega_2}{\omega_0^2}} \RightarrowLm(\omega) =20\cdot lg(K) - 20 \cdot lg(\sqrt{\left (1-\tilde{\omega}^2 \right)^2+4 \cdot \beta^2\cdot \tilde {\omega}^2} \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.12)}

Таким образом мы получаем выражение, которое не зависит от Т. Такая форма представления позволяет свести различные ЛАХ при различныхТк автомодельному (универсальному) виду графиков.

На рисунке ниже представлен графикLm() в форме (3.5.12), построенный фактически в логарифмических координатах, причем коэффициент усиленияK=1.

Рисунок 3.5.6 ЛАХ колебательного звенаРисунок 3.5.6 ЛАХ колебательного звена

Подчеркнем, что при такой форме представления все ЛАХ при различныхT1иT2можно собирать вместе.

ВеличинаHm(см. рис. 3.5.6) называетсяпревышением:

H_m=20\cdot lg \frac{1}{2\cdot\beta\cdot \sqrt{1-\beta^2}} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.13)}

Если, \beta <<1, \ \ \beta \approx 0 то в упрощенных расчетах величину превышенияHmможно оценить, как:

H_m = 20 \cdot lg \frac{1}{2\cdot \beta}=-20lg(2\cdot \beta) \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.14)}

при =m(эта формула работает для ярко выраженных горбов).

Вычислим переходную функцию звенаh(t):

h(t)= L^{-1}[H(s)] =L^{-1}\left[\frac{W(s)}{s}\right] = L^{-1}\left[ \frac{K}{s(T^2\cdot s^2+2 \cdot \beta \cdot s+1)} \right] \Rightarrowh(t) =\frac{K}{T^2}L^{-1} \left[ \frac{1}{s(s^2+\frac{2\cdot \beta}{T}\cdot s)+\frac{1}{T^2}} \right]

Для вычисления переходной функции воспользуемся формулой Хэвисайда сначала найдем полюса s_1,s_2,s_3:

s \cdot \left(s^2+\frac{2 \cdot \beta}{T}+ \frac{1}{T^2} \right) =0 \Rightarrow \\ s_1 =0;\\s_2 = -\frac{\beta}{T}+i \cdot \frac{1}{T}\sqrt{1- \beta^2} \\s_3 = -\frac{\beta}{T}-i \cdot \frac{1}{T}\sqrt{1- \beta^2}

По формуле Хэвисайда

h(t)= \frac{K}{T^2} \sum_1^3 \lim_{s \to s_j } \left[ \frac{(s-s_j)}{s \cdot(s^2+\frac{2 \cdot \beta}{T}\cdot s+\frac{1}{T^2})} \cdot e^{st} \right]\ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.15)}

Разберем отдельно каждый предел:

\lim_{s \to 0} \left [ \frac{(s-0)}{s \cdot(s^2+\frac{2 \cdot \beta}{T}\cdot s+ \frac{1}{T^2})} \cdot e^{st}\right]=\frac{1}{0+0+\frac{1}{T^2}}\cdot1=T^2

Для вычисления 2-го и 3-го предела в формуле Хэвисайда более удобно использовать новые переменные m и n:

m=-\frac{\beta}{T}; \ \ \ \ \ \ \ n = \frac{1}{T}\sqrt{1-\beta^2}

Тогда корни s_1, s_2 выраженные через переменные m и n будут записаны как:

s_2 =m+i\cdot n; \ \ \ \ \ \ \ \ s_3=m-i\cdot n

Разложим квадратный трех член в скобках в занаментели на множетели и использованием корней s_2, s_3 :

s^2+\frac{2\cdot\beta}{T} \cdot s+\frac{1}{T^2} =(s-s_2)\cdot(s-s_3)

тогда 2-й предел в фомуле Хевисайда можно записать как:

\lim_{s \to (m+i \cdot n)} \left [ \frac{s -m-i\cdot n}{s (s - m-i\cdot n)(s-m+i \cdot n)} \cdot e^{s\cdot t}\right] =\\ = \frac{1}{(m+i\cdot n)(m+i\cdot n-m+i \cdot n)} \cdot e^{(m+i \cdot n)\cdot t} = \\ = \frac{1}{(m +i\cdot n)\cdot 2 \cdot i\cdot n} \cdot e^{m\cdot t}\cdot e^{i\cdot n\cdot t}

домножая на комплексно сопряженное число (m-i \cdot n)\cdot i числитель и знаменатель получим значение второго предела:

-\frac{n+m \cdot i}{(m^2+n^2)\cdot 2 \cdot n}\cdot e^{m\cdot t}\cdot e^{i\cdot n \cdot t }

Анологично 3-й предел в формуле Хевисайда можно записать как:

\lim_{s \to (m-i \cdot n)} \left [ \frac{s -m+i\cdot n}{s (s - m-i\cdot n)(s-m+i \cdot n)} \cdot e^{s\cdot t}\right] =\\ = \frac{1}{(m-i\cdot n)(m-i\cdot n-m-i \cdot n)} \cdot e^{(m-i \cdot n)\cdot t} = \\ = -\frac{1}{(m -i\cdot n)\cdot (-2) \cdot i\cdot n} \cdot e^{m\cdot t}\cdot e^{i\cdot n\cdot t}

домножая на комплексно сопряженное число (m+i \cdot n)\cdot i , числитель и знаменатель получим значение третьего предела:

\frac{-n+m\cdot i}{(m^2+n^2)\cdot 2\cdot n}e^{m\cdot t}\cdot e^{-i\cdot n\cdot t}

Отдельно сложим второе и третье слогаемое в формуле Хевисайда:

\sum_2^3 =-\frac{e^{m\cdot t}}{2 \cdot n \cdot (m^2+n^2)} \left [ (n+i \cdot m)\cdot e^{i \cdot n \cdot t}+(n-i \cdot m)\cdot e^{-i \cdot n \cdot t} \right ]==-\frac{e^{m\cdot t}}{2 \cdot n \cdot(m^2+n^2)}\left[ n \cdot e^{i \cdot n \cdot t} +i \cdot m \cdot e^{i \cdot n \cdot t}+n \cdot e^{-i \cdot n \cdot t}-i \cdot m \cdot e^{-i \cdot n \cdot t} \right] == -\frac{e^{m \cdot t}}{2 \cdot n \cdot (m^2+n^2)} \left [ n\cdot(\underbrace{e^{i \cdot n \cdot t}+ e^{-i\cdot n \cdot t}}_{2 \cdot cos(n \cdot t)})+ i \cdot m \cdot(\underbrace{e^{i \cdot n \cdot t}-e^{-i \cdot n \cdot t}}_{2\cdot i \cdot sin(n \cdot t)})\right ]== -\frac{e^{m \cdot t}}{2 \cdot n \cdot(m^2+n^2)}\left [n \cdot cos (n \cdot t)- m \cdot sin(n \cdot t)\right ] == -\frac{e^{m \cdot t}}{2 \cdot n \cdot(m^2+n^2)}\left [cos (n \cdot t)- \frac{m}{n} \cdot sin(n \cdot t)\right ]

подставляя значения n и m:

(m^2+n^2)=\frac{\beta^2}{T^2}+\frac{1-\beta^2}{T^2}=\frac{1}{T^2}\\ \frac{m}{n}=-\frac{\beta}{T}\cdot \frac{T}{\sqrt{1-\beta^2}}

и собирая все слагаемые формулы 3.5.15 получаем:

h(t)=\frac{K}{T^2}\left [T^2 - T^2 \cdot e^{m \cdot t} (cos(n \cdot t)+\frac{\beta}{\sqrt{1-\beta^2}}\cdot sin(n \cdot t)) \right] \Rightarrow h(t) = K \left [ 1 -e^{-\frac{\beta}{T}\cdot t} \left(cos \frac{\sqrt{1-\beta^2}}{T}\cdot t+\frac{\beta}{\sqrt{1-\beta^2}}sin\frac{\sqrt{1-\beta^2}}{T} \cdot t \right) \right ] \ \ \ \ \ \mathbf{(3.5.16)}

Введем новую переменную \omega_c = \frac{1}{T}\sqrt{1-\beta^2} и перепишем формулу для переходной функции:

h(t) = K \left [1 -e^{-\frac{\beta}{T} \cdot t} \left( cos(\omega_c \cdot t)+\frac{\beta}{\sqrt{1 -\beta^2}}sin(\omega_c \cdot t)\right) \right ] \ \ \ \ \ \ \ \mathbf{(3.5.16.a)}

Величина \omega_c = \frac{1}{T}\sqrt{1-\beta^2} называется частотой собственной колебаний при 0<\beta< 1 .

Таким образом в описании колебательного звена появилосьтриновых частоты \omega_m < \omega_m <\omega_c

  • \omega_0 - частота свободных колебаний;

  • \omega_m- частота, соответствующая максимальной амплитуде;

  • \omega_c- частота собственных колебаний.

Причем \omega_m < \omega_m <\omega_c

Рассмотрим предельные случаи для (т.е. = 1 и = 0):

Если \beta \to 0 , то \omega_c \to \omega_0=\frac{1}{T} :

h(t) = K \left [1 -e^{0\cdot t} \left ( cos \frac{t}{T} +0 \cdot sin \frac{t}{T} \right ) \right]h(t) = K \left [ 1 - cos \frac{t}{T}\right ] \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.17)}

3.5.17 - переходная функция консервативного звена.

Рисунок 3.5.6 Переходная функция консервативного звенаРисунок 3.5.6 Переходная функция консервативного звена

Если \beta \to 1 , то \omega_c \to 0 , т.е. собственных колебаний в звененет, процесс без колебательный.В этом случае возникают трудности со вторым слагаемым в круглых скобках формулы (3.5.16).

Раскрываем неопределенность типа\frac{0}{0}:

\lim_{\beta \to 1 } \left[ \frac{\beta}{\sqrt{1-\beta^2}} \cdot sin \left (\frac{\sqrt{1-\beta^2}}{T} \cdot t \right ) \right ] = \lim_{\beta \to 1} \left [ \frac{\beta \cdot t}{T} \cdot \frac{sin(\frac{\sqrt{1-\beta^2}}{T}\cdot t)}{\underbrace{\frac{\sqrt{1-\beta^2}}{T}}_{\approx \frac{sin x}{x}}} \right ]=\frac{t}{T}h(t)_{\beta=1} = K \left [ 1 - e^{-\frac{t}{T}}\cdot \left (1 +\frac{t}{T} \right)\right] \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.18)}

эта формула соответствует также аналогичной формуле для апериодического звена 2-го порядка приD= 0 (совпадающиеполюса).

Рисунок 3.5.8 Переходная функция колебательного звена (при = 1)Рисунок 3.5.8 Переходная функция колебательного звена (при = 1)Рисунок 3.5.9 Переходная функция колебательного звена (при 0 < < 1)Рисунок 3.5.9 Переходная функция колебательного звена (при 0 < < 1)

Если 0<\beta<1 , то \beta =T\cdot \frac{\omega_c}{\pi} \cdot \ln \frac{A_1}{A_2}

Дифференцируя во времени формулы (3.5.16 3.5.18), найдем соответствующие весовые функции для крайних значений \beta (w(t)):

Если \beta =0 \Rightarrow

 w(h)_{\beta =0} = h'(t)= \frac{K}{T} sin \left ( \frac{t}{T} \right ) \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.19)}Рисунок 3.5.10 Весовая функция колебательного звена при = 0.Рисунок 3.5.10 Весовая функция колебательного звена при = 0.

Если \beta =1 \Rightarrow

 w(h)_{\beta =1} = h'(t)= K \left [ \frac{1}{T} \cdot e^{-\frac{t}{T}}\cdot \left( 1+ \frac{t}{T} \right) - e^{-\frac{t}{T}} \cdot \frac{t}{T} \right ]w(h)_{\beta =1} = \frac{K}{T^2} \cdot t \cdot e ^{-\frac{t}{T}} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.20)}Рисунок 3.5.11 Весовая функция колебательного звена при = 1.Рисунок 3.5.11 Весовая функция колебательного звена при = 1.

Если 0<\beta <1 \Rightarrow

w(t) = h'(t) = \frac{K}{T\cdot \sqrt{1 -\beta^2}}\cdot e^{-\frac{\beta \cdot t}{T}} \sin \left ( \frac{\sqrt{1-\beta^2}}{T} \cdot t \right) \ \ \ \ \ \ \ \ \ \ \mathbf{(3.5.21)}\beta = T\cdot \frac{\omega_c}{\pi}\cdot \ln\frac{B_1}{B_2}Рисунок 3.5.12 Весовая функция колебательного звена при 0 < < 1.Рисунок 3.5.12 Весовая функция колебательного звена при 0 < < 1.

Примерами колебательного звена можно считать:

  1. RCL цепь см. начало статьи;

  2. Упругиемеханические передачи;

  3. Гироскопический маятник;

  4. Управляемый двигатель постоянного тока (при некоторых условиях).

Пример

В качестве примера для исследования колебательного звена возьмем электрический колебательный контур, который был рассмотрен в начале статьи и сравним его с моделью колебательного звена.Модель контура представлена на рисунке 3.5.13:

Рисунок 3.5.13 Модель колебательного контураРисунок 3.5.13 Модель колебательного контура

Схема модели содержит в себе:

  1. модель электрического контура в виде электрической схемы;

  2. модель контура в виде колебательного звена.

Параметры электрической схемы задаются в виде общих сигналов проекта. См. рис. 3.5.14:

Рисунок 3.5.14 Общие сигналы проекта.Рисунок 3.5.14 Общие сигналы проекта.Рисунок 3.5.15. Вычисление параметров для колебательного звена.Рисунок 3.5.15. Вычисление параметров для колебательного звена.

В общем скрипте проекта выполняется вычисление постоянной времениTи коэффициента демпфирования \beta

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

Рисунок 3.5.16. Графики напряжений источника и на конденсаторе.Рисунок 3.5.16. Графики напряжений источника и на конденсаторе.

Выполним гармонический анализ данной модели, аналогично тому, как мы это делали для модели демпфера и камеры смешения реактора демпфера.

Рисунок 3.5.17 Сравнение модели контура и колебательного звенаРисунок 3.5.17 Сравнение модели контура и колебательного звена

На графике рис. 3.5.16 видно возникновение колебательного процесса и его затухание с течением времени. График на рис. 3.5.17 показывает практически полное совпадение модели в виде электрической схемы и модели в виде колебательного звена:

Выполним гармонический анализ данной модели, аналогично тому, как мы это делали для модели демпфера и камеры смешения реактора демпфера (см. разделы 3.3 Апериодическое звено 1-го порядка. и 3.1 Амплитудно-фазовая частотная характеристика). Расчетная схема для такого анализа приведена на рисунке 3.5.18.

Рисунок 3.5.18. Частотный анализ электрического контураРисунок 3.5.18. Частотный анализ электрического контура

Амплитуда входного тестового сигнала - 1 В, аналогична амплитуде ступенчатого воздействия из предыдущего численного эксперимента.

Результаты анализа представлены на рисунке 3.5.19

Рисунок 3.5.19 Результаты гармонического анализа.Рисунок 3.5.19 Результаты гармонического анализа.

Результаты моделирования показывают практическое совпадение теоретических значений частоты, при которой достигается максимальная амплитуда сигнала, и значений, полученных в результате моделирования электрической схемы: Теоретическое значение = 111,75 Гц Полученное моделированием = 112,2 Гц

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

 Рисунок 3.5.20 Модель с изменяемыми параметрами контура. Рисунок 3.5.20 Модель с изменяемыми параметрами контура.

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

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

Рисунок 3.5.21. Скрипт изменения параметров моделиРисунок 3.5.21. Скрипт изменения параметров модели

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

Например, при положении ползунков, изображенном на рисунке 3.5.22, колебательный контур превращается в апериодическое звено второго порядка (см. рис. 3.5.23.)

Рисунок 3.5.22. Настройки контура для устранения колебанийРисунок 3.5.22. Настройки контура для устранения колебанийРисунок 3.5.23. Графики изменения переходных процессов в контуре при изменении R и С.Рисунок 3.5.23. Графики изменения переходных процессов в контуре при изменении R и С.

При увеличении сопротивления резистора и емкости кондесатора происходит увеличение коэффициента демпфирования, и когда Если \beta >1 \Rightarrow колебательное звено превращается в апериодическое 2-го порядка. (см. график на рис 3.5.23.

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

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

Рисунок 3.5.24 Схема колебательного контура с настройками частоты источника.Рисунок 3.5.24 Схема колебательного контура с настройками частоты источника.

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

Рисунок 3.5.24 Скрипт для управления и отображения частоты.Рисунок 3.5.24 Скрипт для управления и отображения частоты.

Данная модель позволяет независимо настраивать параметры цепи и частоту источника напряжения.

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

Видео с управлением данным контуром можно посмотреть по ссылке.

А, например, на следующем графике изображено изменение напряжения на конденсаторе при повышении частоты источника от 0 до 300 Гц с шагом 1 Гц 1 сек.

График построен путем давления в скрипте строки, передвигающей ползунок каждую секунду на 1 единицу (Гц) BarW.Value=Round(time) .

Как видим результат ручного управления совпал с результатом гармонического анализа максиму амплитуды теоретической частоте максимума - 112 Гц.

Примеры проектов для самостоятельного изучения можно взять по ссылке здесь.

Предыдущая лекция. 3.4 Апериодическое звено 2го порядка.

Подробнее..

3. Частотные характеристики звеньев и систем автоматического регулирования. 3.7 Форсирующее звено

01.06.2021 02:22:59 | Автор: admin

Лекции по курсу Управление Техническими Системами читает Козлов Олег Степанович на кафедре Ядерные реакторы и энергетические установки факультета Энергомашиностроения МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 2.3,2.3 2.8,2.9 2.13.
3. ЧАСТОТНЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (РЕГУЛИРОВАНИЯ).
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.
3.2. Типовые звенья систем автоматического управления (регулирования). Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1го порядка (инерционное звено). На примере входной камеры ядерного реактора.
3.4. Апериодическое звено 2-го порядка.
3.5. Колебательное звено.3.3. Апериодическое звено 1го порядка (инерционное звено). На примере входной камеры ядерного реактора.
3.6. Инерционно-дифференцирующее звено.

Тем сегодняшней статьи: 3.7 Форсирующее звено (идеальное звено с введением производной)

Уравнение динамики форсирующего звена:

y(t) = k \cdot[x(t)+\tau \cdot x'(t)] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.1)}

Уравнение динамики в изображениях Лапласа:

Y(s) = k \cdot [\tau\cdot s+1]\cdot X(s)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.2)}

В общем, данное звено формально можно отнести к позиционным, т.к.a_0=1; b_0 = 0или статическая характеристика имеет вид: y(0)= k \cdot x(0) .

Передаточная функция форсирующего звена:

W(s) =\frac{Y(s)}{X(s)}= k \cdot [\tau \cdot s+1] =k\cdot \tau\cdot s+k \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.3)}Рисунок 3.7.1 Эквивалентная структурная схема форсирующего звенаРисунок 3.7.1 Эквивалентная структурная схема форсирующего звена

АФЧХ форсирующего звена, получается путем замены s= i \cdot \omega:

W(i\cdot \omega) = k \cdot[1+i\cdot \tau\cdot \omega ] = \underbrace{k}_{Re}+i\cdot\underbrace{k\cdot \tau\cdot\omega}_{Im} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.4)}

Модуль АФЧХ:

u(\omega) = k\\ v(\omega)= k \cdot \tau \cdot \omega \left \{ \begin{gathered} U(\omega) = k \\ V(\omega) = k \cdot \tau\cdot \omega\ \end{gathered} \right. \Rightarrow A(\omega) = |W(i\cdot \omega) | = k \cdot \sqrt{1+\tau^2\cdot \omega^2} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.5)}

Подставляя в формулы (3.7.4) и (3.7.5) различные значениястроим соответствующие графики:

Рисунок 3.7.2 АФЧХ форсирующего звенаРисунок 3.7.2 АФЧХ форсирующего звенаРисунок 3.7.3 АЧХ и ФЧХ форсирующего звенаРисунок 3.7.3 АЧХ и ФЧХ форсирующего звена

Логарифмическая амплитудная характеристика (ЛАХ):

Lm(\omega) = 20 \cdot lg (A(\omega))=20 \cdot lg (k)+ 20 \cdot lg \sqrt{1+\tau^2\cdot \omega^2} \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.6)}Рисунок 3.7.4 ЛАХ и ЛФЧХ форсирующего звенаРисунок 3.7.4 ЛАХ и ЛФЧХ форсирующего звена

Если \omega_{сопр} <<\frac{1}{\tau} звено приблизительно совпадает с идеальным усилительным звеном - \omega(s)\approx k .

Если \omega_{сопр} >> \frac{1}{\tau} - звено приблизительно совпадает с идеальным дифференцирующим звеном -\omega(s) \approx k \cdot \tau \cdot s

Переходная функция:

h(s) = L^{-1} \left[ H(s) \right] = L^{-1} \left[ \frac{W(s)}{s}\right] = L^{-1}\left[ \frac{k}{s}+\frac{k \cdot \tau \cdot s}{s}\right] = k \cdot Z^{-1}\left[\frac{1}{s}+\tau \right] \Rightarrowh(t) = k \cdot 1(t)+k \cdot \tau \cdot \delta(t)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.7)}

Весовая функция получается диффернцированием h(t) поt:

w(t) = k \cdot \left[\delta(t)+ \tau\cdot \delta'(t) \right]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.7.8)}

Построим соответствующие графики:

Рисунок 3.7.5 Переходная функция форсирующего звенаРисунок 3.7.5 Переходная функция форсирующего звенаРисунок 3.7.6 Весовая функция форсирующего звенаРисунок 3.7.6 Весовая функция форсирующего звена

Примечание: Данное звено реализуется в ПД-регуляторах, обеспечивающих введение производных в закон управления. ПД-регулятор увеличивает быстродействие замкнутых САР, т.к. управление ведется по рассогласованию и по производной от рассогласования.

Пример

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

Создадим комплексный в проект, в котором будут модель технического объекта (файл проектаnode_НS_2.prt) и модель системы управления (файлpd.prt), объединенные в пакет (файлnode_НS_2.pak)

В качестве технического объекта возьмём модель камеры смешения, используемую как иллюстрацию лекции Апериодическое звено первого порядка, и добавим к модели Узел регулирования температуры (см. рис. 3.7.7)

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

Узел регулирования температуры представляет собой дополнительный трубопровод с регулирующим клапаном (Valve_1 см. рис. 3.7.7). С одной стороны трубопровод подключён к узлу камеры смешения, с другой стороны задается граничное условие (ГУ) по давлению и температуре.Давление в ГУ больше давления в камере смешения, и температура то же больше чем на входе в камеру смешения.

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

В системе также установлен датчик температуры в узле камеры смешения. База сигналов проекта содержит два сигнала:

  • Температура в камере смешения (берется из датчика);

  • Положение клапанаValve_1.

    Модель системы управления представлена на рисунке 3.7.8

Рисунок 3.7.8 Модель системы управленияРисунок 3.7.8 Модель системы управления

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

Настройки регуляторов взяты по умолчанию, все коэффициенты равны 1.

Модель позволяет переключаться между регуляторами с помощьюблокаключа.

Регулирующее воздействие передается c выбранного регулятора на модель привода. Это простой интегратор с ограничением диапазона0 - 100, который с заданной скоростью изменяет положения клапана, а результат предаётся в базу данных.

Рисунок 3.7.9 Выбор типа регулятора в настройкахРисунок 3.7.9 Выбор типа регулятора в настройках

Для демонстрации работы П и ПД регуляторов используется один и тот же готовый блок ПИД регулятор. Тип регулятора задается в свойствах блока (см. рис. 3.7.9)

Рисунок 3.7.10. Скрипт изменения заданной температурыРисунок 3.7.10. Скрипт изменения заданной температуры

Для демонстрации режима управления в общем скрипте программы управления задается последовательное изменение требуемой температуры. (см. рис. 3.7.10)

В начальный момент времени заданная температура соответствует установившейся в системе температуре при 50% открытии клапана. На 10 секунде заданная температура меняется на 22 градуса С, на 50 секунде заданная температура меняется на 23.5 градусов С.

Чтобы можно было сравнить два варианта управления на одном графике, добавим еще один проект в пакет (файлdata.prt).

В данном файле расчетная схема содержит график, на котором выводятся текущее значение температуры (из базы данных сигналов) и значения из файла с предыдущим расчётом (temp_old.dat).

3.7.11 Проект и скрипт для сравнения двух рассчетов3.7.11 Проект и скрипт для сравнения двух рассчетов

Во время расчёта мы сохраняем текущее значение в файл (temp_cur.dat). По завершению расчёта (секцияfinalizationскрипта) мы копируем данные из текущего файла в сохраненный ранее с помощью глобального скрипта программы. (см. рис. 3.7.11).

Результаты моделирования представлены на рисунке 3.7.12

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

Рисунок 3.7.12 Сравнение П и ПД регуляторовРисунок 3.7.12 Сравнение П и ПД регуляторов

Пример для самостоятельного изучения можно взять здесь.

Предыдущая лекция из главы 3, Частотные характеристики звеньев и систем автоматического регулирования: 3.6 Инерционно-дифференцирующее звено.

Подробнее..

Настройка ПИД-регуляторов так ли страшен чёрт, как его малюют? Часть 1. Одноконтурная система

22.07.2020 12:20:51 | Автор: admin


Эта статья открывает цикл статей, посвященных автоматизированным способам настройки ПИД-регуляторов в среде Simulink. Сегодня разберемся, как работать с приложением PID Tuner.


Введение


Наиболее популярным типом применяемых в промышленности регуляторов в системах управления замкнутыми системами можно считать ПИД-регуляторы. И если структуру и принцип действия контроллера инженеры помнят еще со студенческой скамьи, то его настройка, т.е. расчет коэффициентов регулятора, до сих пор является проблемой. Существует огромное количество литературы, как зарубежной (например, [1, 2]), так и отечественной (например, [3, 4]), где настройка регуляторов объясняется на достаточно непростом языке теории автоматического управления.


В этой серии статей будут описываться автоматизированные способы настройки ПИД-регуляторов с помощью инструментов среды Simulink, таких как:


  • PID Tuner,
  • Response Optimizer,
  • Control System Tuner,
  • Frequency Response Based PID Tuner,
  • Closed-Loop PID Autotuner.

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


  • напряжение питания двигателя, $U_{пит} = 24 \; В$;
  • активное сопротивление обмотки якоря двигателя, $R = 4.8 \; Ом$;
  • индуктивное сопротивление обмотки якоря двигателя, $L = 0.0016 \; Гн$;
  • коэффициент момента двигателя, $c_{e} = 0.066 \; Нм/А$;
  • момент инерции ротора двигателя, $J_{дв} = 2.510^{-5} \; кг \cdot м^{2}$.

Параметры нагрузки и редуктора:


  • момент инерции нагрузки, $J_{н} = 0.01 \; кг \cdot м^{2}$;
  • передаточное число редуктора, $q = 5$.

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


Модель системы


Рассмотрим линейную систему управления угловой скоростью следящего электропривода, упрощенная структурная схема которой представлена ниже.



В соответствии с приведенной структурой в среде Simulink была построена модель такой системы.



Модели электропривода (подсистема Electric actuator) и инерционной нагрузки (подсистема Load) созданы с помощью блоков библиотеки физического моделирования Simscape:


  • модель электропривода,


  • модель инерционной нагрузки.


Модели электропривода и нагрузки также включают подсистемы датчиков различных физических величин:


  • тока, протекающего в обмотке якоря двигателя (подсистема А),


  • напряжения на его обмотке (подсистема V),


  • угловой скорости объекта управления (подсистема ).


Перед настройкой параметров ПИД-регулятора запустим модель на расчет, приняв передаточную функцию регулятора $W_{р}(s) = 1$. Результаты моделирования при отработке входного сигнала 150 об/мин показаны ниже.





Из анализа приведенных графиков видно, что:


  • Выходная координата системы управления не достигает заданного значения, т.е. в системе присутствует статическая ошибка.
  • Напряжение на обмотках двигателя достигает значения 150 В в начале моделирования, что повлечет за собой выход его из строя вследствие подачи на его обмотку напряжения больше номинального (24 В).

Пусть реакция системы на единичный импульс должна соответствовать следующим требованиям:


  • перерегулирование (Overshoot) не более 10%,
  • время нарастания (Rise time) менее чем 0.8 с,
  • время переходного процесса (Settling time) менее чем 2 с.

Кроме того, регулятор должен ограничивать напряжение, подаваемое на обмотку двигателя, до значения напряжения питания.


Настраиваем контроллер


Настройка параметров регулятора осуществляется с помощью инструмента PID Tuner, который доступен непосредственно в окне параметров блока PID Controller.



Приложение запускается нажатием на кнопку Tune, расположенную на панели Automated tuning. Стоит отметить, что до выполнения этапа настройки параметров контроллера необходимо выбрать его вид (П, ПИ, ПД и др.), а также его тип (аналоговый или дискретный).


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


  1. Переходим во вкладку Output Saturation.
  2. Нажимаем на флаговую кнопку Limit output, в результате чего активируются поля для задания верхней (Upper limit) и нижней (Lower limit) границы диапазона выходной величины.
  3. Устанавливаем границы диапазона.

Корректная работа блока регулятора в составе системы предполагает использования методов, направленных на борьбу с интегральным насыщением. В блоке реализованы два метода: back-calculation и clamping. Подробная информация о данных методах располагается здесь. Выпадающее меню выбора метода расположено на панели Anti-windup.


В рассматриваемом случае запишем значения 24 и -24 в поля Upper limit и Lower limit соответственно, а также используем метод clamping для исключения интегрального насыщения.



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


Далее, приняв все изменения нажатием кнопки Apply, возвращаемся во вкладку Main и нажимаем кнопку Tune, в результате чего откроется новое окно приложения PIDTuner.



В графической области окна отображаются два переходных процесса: при текущих параметрах регулятора, т.е. для ненастроенного регулятора, и при значениях, подобранных автоматически. Новые значения параметров можно посмотреть, нажав на кнопку Show Parameters, расположенную на панели инструментов. При нажатии на кнопку появятся две таблицы: подобранные параметры регулятора (Controller Parameters) и произведенные оценки характеристик переходного процесса при подобранных параметрах (Performance and Robustness).


Как видно из значений второй таблицы, автоматически рассчитанные коэффициенты регулятора удовлетворяют всем требованиям.



Настройка регулятора завершается нажатием на кнопку с зеленым треугольником, расположенной справа от кнопки Show Parameters, после чего новые значения параметров автоматически изменятся в соответствующих полях в окне настройки параметров блока PID Controller.


Результаты моделирования системы с настроенным регулятором для нескольких входных сигналов показаны ниже. При больших уровнях входных сигналов (голубая линия) система будет работать в режиме с насыщением по напряжению.





Отметим, что инструмент PID Tuner подбирает коэффициенты регулятора по линеаризованной модели, поэтому при переходе к нелинейной модели требуется уточнять его параметры. В этом случае можно воспользоваться приложением Response Optimizer.


Литература


  1. Handbook of PI and PID Controller Tuning Rules. Aidan O'Dwyer
  2. PID Control System Design and Automatic Tuning using MATLAB, Simulink. Wang L.
  3. ПИД-управление в нестрогом изложении. Карпов В.Э.
  4. ПИД-регуляторы. Вопросы реализации. Части 1, 2. Денисенко В.
Подробнее..

Настройка ПИД-регуляторов так ли страшен чёрт, как его малюют? Часть 2. Двухконтурная система. Control System Tuner

28.07.2020 12:21:05 | Автор: admin


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


Модель системы


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



Параметры электропривода и нагрузки указаны в первой части серии.


Отличие моделей Electric actuator и Load от заключается в добавлении новых датчиков: датчик угловой скорости измеряет скорость ротора исполнительного двигателя привода и датчик положения измеряет положение объекта управления.


В качестве регуляторов положения и скорости будем использовать П и ПИ регуляторы соответственно, причем последний имеет ограничение по выходному сигналу 24 В, и в нем реализован метод clamping для борьбы с интегральным насыщением.


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


Без регуляторов, т.е. предположив $W_{p_{i}}(s) = 1$, переходный процесс апериодический с временем переходного процесса, равным 2.5 с.



Предъявим следующие требования к переходному процессу системы:


  • Перерегулирование (Overshoot) не более 5%;
  • Время переходного процесса (Settling time) менее чем 1 с.

Настраиваем контроллеры


Приложение Control System Tuner располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.


Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:


  1. После открытия окна приложения переходим во вкладку TUNING и нажимаем кнопку Select Block.


  2. В открывшемся диалоговом окне нажимаем на кнопку Add Blocks для добавления блоков регуляторов.


  3. Устанавливаем флажок рядом с требуемыми блоками подтверждаем выбор нажатием кнопки OK. В результате выбранные блоки отобразятся в разделе Tuned Blocks панели Data Browser.


  4. Создаем новую задачу для настройки. Для этого нажимаем кнопку New Goal и в выпадающем меню выбираем опцию Tracking of step commands в разделе TIME-DOMAIN REQUIREMENTS. В результате откроется диалоговое окно Step Tracking Goal.


  5. Необходимо указать входной и выходной сигналы системы. Для этого в полях
    Specify step-response inputs и Specify step-response inputs нажимаем на кнопку
    Add signal to list Select signal from model.

    Переходим в окно модели и выбираем соответствующие сигналы, в нашем случае Reference и Position. Возвращается в окно приложения. В диалоговом окне Select Signals должен отобразиться выбранный сигнал. Нажимаем на кнопку Add Signal(s).


  6. Задаем желаемый вид переходного процесса на панели Desired Response и соответственно вид передаточной функции процесса. Можно выбрать апериодический процесс (First-order characteristics), колебательный процесс (Second-order characteristics) или иной вид процесса (Custom reference model). Для нашего случая выбираем колебательный процесс.


  7. В поле Time constant указывается постоянная времени ($\,T\,$) передаточной функции процесса в секундах. В поле Overshoot (%) величина перерегулирования ($\, \sigma \,$). Соотношения между постоянной времени колебательного звена и временем переходного процесса ($\, t_{п.п.} \,$) и коэффициентом демпфирования ($\, \zeta \,$) и перерегулированием выражаются зависимостями [1]:


    $T = \frac{4 t_{п.п.}}{\zeta},$


    $\zeta = -\frac{ln \, \sigma}{\sqrt{\pi^2 + ln^{2}\, \sigma}}$


    Таким образом, максимальное значение постоянной времени, удовлетворяющее требованию, составляет 0.1725 с. Укажем постоянную времени, равную 0.1 с. Также вводим требуемой значение перерегулирования во второе поле. Подтверждаем изменения.


  8. В появившемся графическом окне приложения можно видеть два переходных процесса: текущий, т.е. переходный процесс системы до настройки регуляторов, и желаемый, по заданной передаточной функции. Нажимаем на кнопку Tune для настройки регуляторов. Выбирая настраиваемые блоки на панели Data Browser в разделе Data Preview можно просмотреть вид передаточной функции контроллера и подобранные параметры. При выборе текущей задачи настройки в разделе Tuning Goals отображаются входные и выходные сигналы системы, а также передаточная функция процесса. Ниже показаны характеристики переходного процесса. Видно, что эти значения соответствуют требуемым.


  9. Для автоматического обновления параметров регуляторов переходим во вкладку CONTROL SYSTEM и нажимаем кнопку Update Blocks.



Результаты моделирования системы с настроенным регулятором для максимального уровня входного сигнала показаны ниже.





Литература


  1. Modern Control Engineering (5th Edition). Katsuhiko Ogata
Подробнее..

Настройка ПИД-регуляторов так ли страшен черт, как его малюют? Часть 3. Response Optimizer

05.08.2020 12:20:05 | Автор: admin


В данной статье рассмотрим процесс настройки регулятора нелинейной модели электропривода с помощью инструмента Response Optimizer.


До сих пор мы рассматривали только линейные системы (часть 1 и часть 2). Они нужны для понимания принципа работы настоящей (нелинейной) системы и грубого определения ее характеристик. Однако на практике приходится иметь дело именно с нелинейной моделью.


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


Сегодня рассмотрим систему, где вместо идеального датчика скорости используется инкрементальный энкодер. Он формирует три цифровых сигнала A, B и Z, на основе которых определяются угловое положение и скорость объекта управления.


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


Модель системы


Ниже показана модель рассматриваемой системы.



Помимо уже знакомых подсистем электропривода, нагрузки и регулятора скорости, она включает в себя:


  • датчик скорости (подсистема Sensor),



  • функцию обработки сигналов от энкодера, реализуемая в цифровом вычислителе (подсистема Incremental shaft decoder)




Все параметры системы приведены в первой части. Разрешение энкодера составляет 256 имп/об.


Результаты моделирования до настройки регулятора ($W_{р}(s) = 1$) приведены ниже.





Пусть реакция системы на единичный импульс должна соответствовать следующим требованиям:


  • перерегулирование (Overshoot) не более 8%,
  • время нарастания (Rise time) менее чем 0.3 с,
  • время переходного процесса (Settling time) менее чем 0.85 с.

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


Настраиваем контроллер


Приложение Response Optimizer располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.


Поскольку инструмент использует численные методы оптимизации, во время процесса расчет модели будет выполняться многократно. Поэтому перед настройкой в блоке SIMULATE окна модели активируем опцию Fast Restart для уменьшения времени, затрачиваемого на эти действия.


Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:


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


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



  2. Записываем переменные в соответствующие поля в окне параметров блока PID Controller.



  3. Открываем инструмент Response Optimizer. Слева в разделе Model Workspace на панели Data Browser показаны созданные ранее переменные.


  4. Определяем список оптимизируемых параметров. Для этого нажимаем на кнопку None редактируемого поля Design Variables Set.



    В выпадающем меню нажимаем New.... В правом списке открывшегося окна Create Design Variables Set расположены переменные модели, а в левом параметры для оптимизации. Выделяем переменные и нажимаем на кнопку со стрелкой, расположенной между двумя списками, для переноса их в левый список.


    Опционально можно указать границы диапазоны оптимизируемых параметров в столбцах Minimum и Maximum.



  5. Выбираем задачу оптимизации. В блоке REQUIREMENTS нажимаем на кнопку New и в выпадающем меню в разделе TIME-DOMAIN REQUIREMENTS выбираем опцию Step Response Envelope.



  6. Задаем характеристики требуемого переходного процесса в появившемся окне в разделе Specify Step Response Characteristics.



  7. Задаем сигнал, к которому предъявляются требования по переходному процессу. В разделе Select Signals to Bound нажимаем на кнопку с плюсом рядом со списком. Переходим в модель и выбираем необходимый сигнал. В нашем случае сигнал Speed. Возвращаемся в окно инструмента. В левом списке открывшегося окна Create Signal Set выбираем сигнал и нажимаем на кнопку со стрелкой. Завершаем выбор сигналов нажатием ОК.



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


    В разделе Data на панели Data Browser расположены три переменные: DesignVars содержит информацию о списке оптимизированных параметров, Sig свойства выбранного сигнала и StepRespEnvelope информацию о требованиях к переходному процессу.


    Построим переходный процесс до настройки регулятора. Для этого выбираем переменную Sig и нажимаем на кнопку Plot Model Response, расположенную в блоке PLOTS.



    Видно, что переходный процесс не удовлетворяет поставленным требованиях.


  8. Оптимизируем параметры регулятора. Выбираем переменную DesignVars и нажимаем на кнопку с зеленым треугольником в блоке OPTIMIZE.


    Результаты процесса оптимизации отображаются в окне прогресса.



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




Результаты моделирования системы с настроенным регулятором показаны ниже.




Подробнее..

Настройка ПИД-регуляторов так ли страшен черт, как его малюют? Часть 4. Frequency Response Based PID Tuner

12.08.2020 12:22:47 | Автор: admin


Среда Simulink предоставляет возможность исследования нелинеаризуемых систем и настройки их регуляторов с помощью метода гармонического анализа. Одним из инструментов, использующих данный метод, является Frequency Response Based PID Tuner.


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


Модель системы


Рассматриваемая система приведена ниже.



Драйвер управления двигателем:



Добавление блока управления двигателем вынуждает модифицировать блоки регулятора



и электропривода



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


  • Выходная координата системы управления не достигает заданного значения, т.е. в системе присутствует статическая ошибка;
  • Напряжение на обмотках двигателя достигает максимального значения (напряжения питания) при малых входных сигналах.




Пусть реакция системы на единичный импульс должна соответствовать следующим требованиям:


  • Перерегулирование (Overshoot) не более 10%;
  • Время нарастания (Rise time) менее чем 0.8 с;

При попытке настроить регулятор описанным в первом части способом в окне приложения PID Tuner появится предупреждение о невозможности линеаризации системы.



Настраиваем контроллер


Приложение Frequency Response Based PID Tuner располагается в окне параметров блока PID Controller в выпадающем меню Select tuning method. Для его запуска необходимо нажать кнопку Tune.



В открывшемся окне представлено краткое описание работы метода, а также параметры настройки эксперимента.



Алгоритм задания цели эксперимента:


  1. Указать количество расчетов моделей (Number of simulations): 2 расчета для систем с возмущающими воздействиями, 1 расчет для систем без возмущающих воздействий. Поскольку в данной системе их нет, то выбираем 1 расчет.
  2. Указать тип системы (Plant information): асимптотически устойчивая система, либо система с астатизмом первого порядка (система имеет один интеграл). В данном случае система асимптотически устойчива.
  3. Задание времени начала моделирования $t_{0}$ и продолжительности моделирования $t_{span}$. Эксперимент рекомендуется начинать, когда система вышла на установившейся режим, т.е. когда закончился переходный процесс. Установим начало эксперимента в 0.2 с. Продолжительность моделирования определяется требуемым временем нарастания согласно формуле $t_{span} = 50 t_{r}$.
  4. Задать амплитуды тестовых сигналов. Амплитуды сигналов рекомендуется брать такими, чтобы значения превышали амплитуды шумов в системе, но не выходили за ее ограничения. В данном случае указываем амплитуды сигналов, равными 1.
  5. Указать требования к переходному процессу (Design Specifications). Значение требуемой полосы пропускания определяется формулой $\omega_{b} = 2/t_{r}$. В нашем случае оно равно 4.83 рад/с. Величина перерегулирования 10% примерно соответствует запасу по фазе 60, поэтому оставляем это значение без изменения.

Далее, нажимаем кнопку Tune для запуска эксперимента. После завершения эксперимента настроенные параметры регулятора появятся на панели Tuning Results.



Нажимая кнопку Update PID Block, новые параметры автоматически изменятся в соответствующих полях окна параметров блока регулятора.


Результаты моделирования системы с настроенным регулятором для нескольких входных сигналов представлены ниже.





Полученные эпюры близки к результатам расчета линейной модели из первой части.

Подробнее..

Настройка ПИД-регуляторов так ли страшен черт, как его малюют? Часть 5. Closed-Loop PID Autotuner

19.08.2020 20:12:15 | Автор: admin


Заключающая статья серии, посвященной автоматизированным способам настройки ПИД-регуляторов в среде Simulink, в которой мы рассмотрим применение блока автоматической настройки Closed-Loop PID Autotuner.


Этот блок похож на ранее рассмотренный инструмент Frequency Response Based PID Tuner: он также базируется на методе гармонического анализа. Располагается блок в разделе Simulink Control Design библиотеки Simulink.


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


Модель системы


Рассматриваемая система приведена ниже.



Содержимое всех подсистем, кроме подсистемы регулятора, было рассмотрено в предыдущих статьях: Driver, Electric actuator, Load.


Для того чтобы использовать блок Closed-Loop PID Autotuner, необходимо включить его последовательно с блоком PID Controller, как показано ниже.



На порт входа 1 приходит сигнал ошибки с дискриминатора, на порт 2 сигнал обратной связи; в данном случае угловая скорость объекта управления. В подсистеме Tune enable формируется сигнал начала и завершения эксперимента по настройке параметров регулятора.



В модель добавлены блоки Display для регистрации выполнения эксперимента в процентах
(% conv) и подобранных параметров регулятора (pid gains).


Предъявим к этой системе такие же требования, как к системе из предыдущей статьи.


Настраиваем контроллер


Окно параметров блока Closed-Loop PID Autotune позволяет выбрать тип используемого в системе регулятора, его форму, задавать цель эксперимента, а также его параметры.



Желаемое значение полосы пропускания (Target bandwidth) рассчитывается также, как в предыдущей статье. В нашем случае оно равно 4.83 рад/c.


Если используемый в системе регулятор цифрового типа, то в блоке автонастройки указывается его период квантования; при применении непрерывного регулятора задается шаг расчета модели при выполнении эксперимента (Experiment sample time). Рекомендуемое значение шага моделирования составляет $0.02/\omega_{b}$. В нашем случае это значение равно 0.0041.


Во вкладке Experiment задаются параметры эксперимента. Рассматриваемая система является устойчивой, поэтому тип системы (Plant Type) указываем как Stable. Знак системы (Plant Sign) указывает на свойство совпадения знака выходной и входной координат. В данном случае оставляем этот параметр без изменения. Далее указывается амплитуда тестового гармонического сигнала (Sine Amplitudes) в соответствии с рекомендациями, приведенными в предыдущем параграфе. Устанавливаем амплитуду, равную 1.


Время начала эксперимента выбирается из расчета перехода системы в установившийся режим без регулятора. Время завершения эксперимента рекомендуется рассчитывать по формуле $200/\omega_{b}$. Для нашей системы время начало эксперимента будет $t_{start} = 0.1$ с, а время завершения $t_{end} = 42$ с. Оба значения указываются в полях Step time соответствующих блоков Step в подсистеме Tune enable.


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


После расчета модели подобранные параметры отобразятся в блоке Display.



Эти значения придется записать в соответствующие поля блока PID Controller вручную.


Для нормального функционирования системы переводим тумблер Manual Switch в подсистеме Tune Enable на вход нулевого сигнала. Таким образом, блок автонастройки не включится при моделировании системы.


Можно заметить, что рассчитанные параметры с помощью блока Closed-Loop PID Autotune практически совпадают с параметрами, полученными с помощью инструмента Frequency Response Based PID Tuner.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru