Описание примеров работы блоков библиотеки "Механика"

Введение

В данном разделе представлено описание и справка по расчетным блокам библиотеки "Механика".

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

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

( 1.1 )
( 1.2 )

где F(t) - сумма сил, Н, действующих на тело вдоль выбранной оси;

m - масса тела, кг;

a(t) - линейное ускорение дволь выбранной оси, м/с²;

v(t) - скорость прямолинейного движения тела, м/с;

T(t) - момент сил, Н·м, действующих на тело вокруг выбранной оси вращения;

J - момент инерции тела, кг·м², вокруг неподвижной выбранной оси вращения;

ε(t) - угловое ускорение вращающегося тела, 1/c²;

ω(t) - угловая скорость вращающегося тела, 1/c.

В общем случае, масса тела или его момент инерции могут быть также переменными во времени. На базе уравнений (1.1) и (1.2) реализованы многие блоки библиотеки. В библиотеке "Мехника" приняты следующие обозначения величин, последовательно сила, масса, скорость, момент сил, момент инерции тела, угловая скорость: F, M, v, T, J, w. Латинская (английская) буква w использована вместо греческой ω, так как имена переменных можно набирать только из латинских букв. Буква T использована для обозначения момента сил, так как буквой M обозначается масса.

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

Напомним, что плоскопараллельным (или плоским) называется такое движение твердого тела, при котором все его точки перемещаются параллельно некоторой неподвижной плоскости. В библиотеке "Механика" в базовых блоках рассматриваются более простые движения, являющиеся частными случаями плоского движения, а именно:
  • прямолинейное поступательное, вдоль какого-либо направления (оси);
  • вращательное, вокруг какой-либо выбранной неподвижной оси. Как правило, это конструктивная ось вращения меанизма (двигателя, ротора, маховика и т.п.). Или ось шарнира (шарнирно-неподвижной опоры).

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

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

Базовые принципы, лежащие в основе библиотеки

Блоки библиотеки допускают соединение между собой посредством специальных линий связи, которые в SimInTech именуются как "Механика поступательная связь" и "Механика вращательная связь", как представлено на рисунках:

Рисунок 1. Поступательная связь

Рисунок 2. Вращательная связь

Эти типы связей имеют много общего с т.н. "двунаправленной шиной данных", и по ним передается скорость массы v(t) (производная координаты) и набор сил Fi, или угловая скорость w(t) (производная угла поворота) вращения тела и набор моментов сил Ti, действующих на вращающееся тело. При этом, скорость (угловая скорость) передается в одном направлении по механической линии связи, а силы (моменты сил) - в другом направлении, как показано на рисунке ниже.

Рисунок 3. Пример поступательной линии связи с 4 силами, действующими на тело

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

С точки зрения линий связи, блоки делятся на две группы: первая группа это блоки, которые вычисляют скорость (угловую скорость) движения тела. Вторая группа - блоки, которые вычисляют силы (моменты сил). На каждой линии связи должен быть один и только один блок из первой группы, и один или более блоков второй группы. Аналогично и для вращательной линии связи - должен быть один и только один блок, который вычисляет угловую скорость вращения тела, и один или более, которые воздействуют на данное тело моментом сил. Блоки из первой группы всегда имеют выходной порт с соответствующим типом порта - "Механика поступательная связь" или "Механика вращательная связь", и порождают саму линию связи. Далее к линии связи можно добавлять 1...N блоков с входным портом соответствующего типа, из второй группы блоков. Они будут "потреблять" скорость движения тела и добавлять в правые части уравнений свое слагаемое - силу, или момент сил. Мы говорим "правые части" уравнений, так как при записи уравнений относительно неизвестных скоростей, второй закон Ньютона можно перезаписать в следующем виде:

( 1.3 )
( 1.4 )

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

По сути, каждая линия связи в проекте (она может быть разветвленной) с блоком-массой или блоком-инерцией, и набором силовых воздействия на эту массу (инерцию), является записью одного из уравнений движения моделируемой системы. Соединять два блока, моделирующих массу (инерцию), оба из которых вычисляют скорость своей массы, напрямую одной линией связи не допускается. Чтобы смоделировать совместное движение двух тел, необходимо задать (через блоки, вычисляющие силовое взаимодействие) силовую связь между ними. Таким образом, всю схему механической модели можно условно представить в виде последовательно соединенных блоков, которые вычисляют v - F - v - F - v - F … и так далее. Либо, в случае вращающихся механизмов, последовательность будет w - T - w - T - w … и так далее.

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

Рисунок 4. Один из блоков типа "масса" - на выходе этого блока скорость движения моделируемой массы:

Внутри модели силы (блок типа "Механика - Пружина поступательного движения") мы видим что в шину данных отправляется сила сжатия пружины, с разным знаком согласно 3-му закону Ньютона, а входящие скорости (двух концов пружины) используются для вычисления степени сжатия-растяжения, и потом для расчета силы:

Рисунок 5. Один из блоков типа "сила" - на выходах этого блока сила сжатия пружины:

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

О методах интегрирования и настройках расчета для моделей механических систем

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

Это связано с наличием сильных скачков в правых частях уравнений, из-за силы сухого трения в моменты страгивания и останова, из-за контактных сил, возникающих "внезапно" при ударе и/или начале соприкосновения с препятствиями, из-за люфтов и подобных ситуаций. Если говорить не строго, жёсткой системой обыкновенных дифференциальных уравнений (ОДУ) называется такая система ОДУ, численное решение которой явными методами (например, методами Рунге — Кутты или Адамса) является неудовлетворительным из-за резкого увеличения числа вычислений (при дроблении шага расчета и малом шаге интегрирования) или из-за резкого возрастания погрешности (так называемого, взрыва погрешности) при недостаточно малом шаге. Для жёстких систем характерно то, что для них неявные методы дают лучший результат, обычно несравненно более хороший, чем явные методы решения. В SimInTech можно предложить выбор между неявным методом Эйлера с переменным шагом, или методом DIRK4. Эти два метода численного интегрирования являются наиболее оптимальными для моделирования механики. Впрочем, в конкретно вашей ситуации можно попробовать и другие методы решения, однако явные способы скорее всего дадут худший результат. Рекомендуется выставлять минимальный шаг расчета на уровне микросекунд и долей микросекунды (0.1...10 мкс), а максимальный - около 10...50 миллисекунд (0.01...0.05 с). Конкретные величины подбираются под условия вашей задачи и характерные времена переходных процессов переключений между различными стадиями моделирования, которые предполагается считать.

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

1 Пример - Тяжелый груз на пружине

О типах механических линий связи

Рассмотрим подробнее типы линий связи в библиотеке "Механика". Поскольку блоки библиотеки сделаны на основе общетехнических блоков в схеме общего вида, то доступны в принципе все линии связи, которые могут быть использованы с блоками схем общего вида. Это математическая линия связи, линии связи библиотеки ГПС, и 2 типа линий связи библиотеки Механика. Оба типа линии связи библиотеки Механика сделаны единообразно, как шина данных с двунаправленной передачей сигналов. При этом в одну сторону передается скорость какой-либо массы, а в другую сторону - набор сил, воздействующих на данную массу.

Примечание: для заделки, например, можно сказать что она обладает бесконечной массой и нулевой скоростью, и никакая сила не может её сдвинуть.

Рассмотрение линий связи продолжим на следующих примерах:

2 Пример - Демпфер

3 Пример - Крутильный маятник

4 Пример - Крутильный маятник с демпфированием

Более сложные примеры поступательных и вращательных систем

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

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

5 Пример - Двойной вертикальный пружинный маятник

Двойной крутильный маятник:

6 Пример - Двойной крутильный маятник

Рычаги классов 1, 2 и 3. Отличия между разными моделями:

7 Пример - Рычаги разных классов

Ворот:

8 Пример - Ворот

9 Пример - Передаточное звено с воротом

Ограничитель движения:

10 Пример - Ограничитель положения поступательного движения

О датчиках

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

Мы пока что использовали датчики для измерения перемещения относительно заделки (неподвижного объекта). Но в принципе, датчик можно использовать и как измеритель относительного перемещения и относительной скорости.

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

О построении блоков библиотеки Механика

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

Рисунок 6. Войти в субмодель...

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