Алгоритм кратной синхронизации для регулирования расфазировки роторов виброустановки с учетом динамики привода, страница 23

Язык MATLAB имеет свои операторы управляющей логики; операторы циклов FOR и WHILE и оператор условного перехода IF. Синтаксис и выполняемые действия этих операторов аналогичны соответствующим операторам во многих распространенных языках программирования, таких, например как Бейсик и Паскаль. Область действия каждого оператора управляющей логики должна ограничиваться словом END. MATLAB допускает вложенность циклов и возможность досрочного выхода из них с помощью команды BREAK.

Графика.

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

Решение задач теории систем.

Для решения задач, связанных с разработкой и анализом систем управления, в среде MATLAB используется Control System Toolbox ("Системы управления"). Представляет собой библиотеку алгоритмов, содержащихся в функциональных m-файлах и реализующих наиболее общие методы расчета, анализа и построения (моделирования) систем управления. Для моделирования доступен ряд явных и неявных методов численного интегрирования (Эйлера, Рунге - Кутта и т.п.).

В нашем случае вычисления производятся по методу Рунге - Кутта 4го - 5го порядка с помощью функции ODE44.

4.2. Описание моделирующей программы

Как было указано ранее моделирование программы осуществляется в среде MATLAB. Программа состоит из основной программы sbelolik2 и подпрограммы tokbelolikpp, приведенных в приложении 1 и 2 соответственно.

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

Вычисление времени синхронизации ts осуществляется по алгоритму (Рис.4.1) выводом на экран. Синхронизация двух дебалансов наступает, когда разность их скоростей становится близкой к нулю с точностью ±5%, а разность их положений становится постоянной и кратной π. Для определения точного времени синхронизации ts в алгоритме сравнивается расфазировка rasa (rasa – это абсолютная величина разности положений дебалансов без учета полных оборотов (2π) с π. И как только rasa войдет в ±5%-ную зону около π  и останется в ней, время синхронизации тут же зафиксируется.

Рис.4.1. Алгоритм вычисления времени синхронизации.

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

В программе используются следующие идентификаторы:

J , J _1, J_2 – моменты инерции дебалансов;

mpd  – масса платформы;

m – массы дебаланса;

m_0 – масса виброустановки;

m_g – масса присоединенного груза;

rho – эксцентриситет дебаланса;

k_c – коэффициент вязкого трения в подшипниках;

u1, u2 – управляющие электромеханические моменты двигателей;

g – ускорение свободного падения;

beta – коэффициент демпфирования пружин;