Моделирование САУ
Объекты управления
Система управления квадрокоптером
Создание системы управления требует довольно тщательного отношения к изучению объекта управления.
Предположим что мы хотим управлять квадрокоптером. Квадрокоптер обычно имеет четыре пропеллера (рис 2.1), которые, вращаясь, создают подъемную силу, в результате чего квадрокоптер меняет свою высоту над поверхностью.
Рис. 2.1. Управление квадрокоптером.
Итак, мы хотим управлять высотой полета квадрокоптера, изменяя скорость вращения пропеллеров.
В данном примере скорость вращения пропеллеров представляет собой входной сигнал, а высота квадрокоптера представляет собой выходной сигнал.
Модель объекта управления (квадрокоптера) задает взаимосвязь между входным и выходным сигналами (рис. 2.2).
Такая же постановка задачи будет служить нам при создании любой модели объекта управления, будь то автомобиль, робот-пылесос или кондиционер.
Рис. 2.2. Общая схема для объекта управления.
Система управления камерой смартфона
Вернемся к модели, которая у нас уже реализована, – к модели процесса автофокусировки камеры смартфона с предыдущего урока.
Если бы вам пришлось разрабатывать такую систему, вашей первой мыслью, наверное, было бы освежить знания по оптике, механике и электронике. Ведь мы разрабатываем довольно сложную систему.
Но, на самом деле, чтобы сфокусировать камеру нам просто нужно правильно переставить какую-нибудь линзу внутри камеры (рис. 2.3).
Рис. 2.3. Направление линзы внутри камеры: (а) Изображение объекта не находится в фокусе; (б) Изображение объекта находится в фокусе.
Представим, что идеальная фокальная точка двигается с положением линзы. Словно с движением линзы внутри камеры перемещается небольшое перевернутое изображение объекта.
Когда изображение объекта совпадает с плоскостью сенсора, объект находится в фокусе камеры. В этот момент можно сделать отличный снимок объекта. Но как определить правильное положение линзы для такого кадра?
Рис 2.4. Система управления камерой.
Современные смартфоны часто способны измерить расстояние до объекта. А на основе этого расстояния смартфон автоматически может вычислить идеальное положение линзы, которое даст правильную фокусировку.
Скажем, если объект будет находиться на расстоянии 5 метров от нас, то смартфон вычислит, что линза должна быть перемещена на расстояние 1.72 микрона. Электрический мотор, который перемещает линзу, получит команду в виде электрического тока, подаваемого на его контроллер (рис. 2.4).
В данной системе управления электрический ток представляется нам как входной сигнал, положение линзы – как выходной сигнал.
Кстати, объектом управления является система, состоящая из линзы и электрического мотора.
Математическая модель системы мотор-линза
Теперь попробуем переместить линзу, вручную изменяя подаваемый электрический ток.
Математическая модель системы мотор-линза в виде дифференциального уравнения приведена ниже:
где , – линейный и нелинейный коэффициенты жесткости пружин,
– коэффициент демпфирования,
– коэффициент момента мотора,
– коэффициент ускорения.
Данная система может быть смоделирована в среде Engee как показано на рис. 2.5.
Рис 2.5. Объект управления в среде Engee: система мотор-линза
Перед выполнением заданий запустите следующий скрипт для того, чтобы задать значения параметров модели:
Ts = 0.01;
K1 = 30;
K2 = 20000;
Kd = 2.8;
Kf = 6.3e-4;
m1 = 0.7;
m2 = 0.3;
✏️Задание 2.1
В качестве тестового сигнала для изучения поведения контура управления часто используется ступенчатый сигнал. В этом задании нужно будет сформировать такой сигнал и направить его на вход системы, чтобы изучить выходной сигнал, который она произведет.
- Откройте модель
Глава_2_задача_1.engee. - Выберите блок Ступенчатая функция во вкладке Базовые, в разделе Источники.
- Подсоедините блок Ступенчатая функция к блоку Коэффициент момента.
- Подсоедините блок Заглушка к выходной сигнальной линии (к выходу блока Преобразование единиц измерения). Блок Заглушка находится в разделе Приемники во вкладке Базовые.
- Щелкните по линии, выходящей из блока Преобразование единиц измерения, и в появившемся меню выберите Логировать.
- Запустите симуляцию модели и постройте график выходного сигнала.
Решение
Модель:
Результаты моделирования:
✏️Задание 2.2
По умолчанию, блок Ступенчатая функция осуществляет скачок со значения 0 на 1 спустя секунду после запуска симуляции (в модельном времени).
В предыдущем задании вы могли заметить, что при поступлении входного тока в 1 мА положение линзы изменилось примерно на 20 микрон.
Одним из свойств линейных систем является то, что если увеличить входной сигнал в 10 раз, выходной сигнал тоже должен увеличиться в 10 раз. Если увеличить силу тока до 10 мА, изменение положения линзы должно увеличиться в 10 раз и линза должна сдвинуться на расстояние примерно в 200 микрон (если точно, то 207,3). Однако наша система «мотор-линза» ведет себя иначе.
Попробуйте увеличить электрический ток на входе в 10 раз и исследуйте, как поведет себя линза.
Процедура выполнения
- В окне настроек блока Ступенчатая функция задайте значение параметра Конечное значение равным
10. - Запустите симуляцию модели и постройте график выходного сигнала.
Решение
Результаты моделирования:
✏️Задание 2.3
Мы ожидали, что 10-кратное увеличение силы тока приведет к перемещению линзы на 207.3 микрон. Вместо этого мы увидели, что перемещение линзы в микронах после подачи команды равно 186.7. У нас есть основания утверждать, что система «мотор-линза» является нелинейной.
Нелинейности приводят к некоторым трудностям. Допустим, если вы хотите передвинуть линзу на расстояние 100 микрон, легко ли будет найти конкретное значение входного сигнала? Ответ неочевиден. Мы высчитали силу тока заранее, но в следующих заданиях вы научитесь решать эту задачу иначе.
Процедура выполнения
- В окне настроек блока Ступенчатая функция задайте значение параметра Конечное значение равным
5.061. - Запустите симуляцию модели и постройте график выходного сигнала.
Решение
Результаты моделирования:
Задача для самостоятельного решения
Измените значение Конечное значение в блоке Ступенчатая функция и попробуйте передвинуть линзу на 50 микрон, 200 микрон или на любое другое расстояние.
Что еще интересно проверить – возможно ли передвинуть линзу на расстояние, превышающее 1000 микрон?