Моделирование рычажной системы
В этом примере мы реализуем рычажную передачу при помощи блоков физического моделирования.
Рычажные системы
Многие механизмы имеют в своем составе рычаги: велосипедные тормоза и напольные весы, молотки фортепиано, механизм подъема кузова самосвала или багажник автомобиля, гидравлические платформы и рычаюные передачи в тормозах вагонов.
Часто они собраны в рычажные системы, или рычажные передачи, и которые могут содержать несколько рычагов, кронштейнов, тяг, подвесок, шарниров и прочих механических элементов.
В этом примере модель такого устройства позволит нам узнать, какое смещение или усилие на выходе производит рычажная система, состоящая из рычагов первого, второго и третьего рода.
Описание модели
В этом примере мы показываем работу блока Lever
(рычаг). Четыре рычага участвуют в процессе:
-
Первый (
Lever 1
) и четвертый (Lever 4
) являются рычагами второго рода, их точка опоры находится на одном из концов перекладины рычага. Усилие прилагается к другому концу перекладины, а нагрузка располагается посередине -
Третий рычаг (
Level 3
) – это рычаг первого рода, его точка опоры находится по центру, между усилием и нагрузкой -
Второй рычаг (
Lever 2
) суммирует работу всех остальных.
На приведенной схеме изображен умозрительный механизм. Кроме рычагов, он содержит демпферы, пружины и два блока массы. Поскольку перед нами лишь модель динамики и кинематики некоторой части моделируемого механизма, блоки Mass
могут представлять собой обычные массы, размещенные прямо на рычагах, а могут моделировать аэродинамическую нагрузку. То же касается источников силы – это могут быть модели воздействия, которое пилот оказывает на педали управления по курсу летательного аппарата, так и модели любого другого взаимодействия.
На опсанный механизм влияют две силы, которые начинеют действовать в разные моменты времени. При t=1 с сила в 100 Н применяется к свободному концу рычага Lever 1
. Затем, при t=2 с, сила в 200 Н применяется к концу перекладины рычага Lever 3
.
Запуск модели
Запустим модель при помощи команд программного управления.
modelName = "linkage_mechanism"
model = modelName in [m.name for m in engee.get_all_models()] ? engee.open( modelName ) : engee.load( "$(@__DIR__)/$modelName.engee" );
model_data = engee.run( modelName )
Dict{String, DataFrames.DataFrame} with 1 entry:
"out" => 401×2 DataFrame…
plot( model_data["out"].time, hcat(model_data["out"].value...)' )
Как мы и ожидали, мы видим эффект двух возмущяющих воздействий.
Заключение
Блоки физического моделирования Engee позволяют моделировать различные механизмы, а благодаря графической природе этих моделей, пользователь может меньше времени тратить на составление уравнений, и больше – на системный анализ, составление требований и разработку модельного окружения для нашей разработки.