Перейти к публикации

ТММ, динамика механизма - метод сил или матриц


Рекомендованные сообщения

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

5c0de056cfc4d_withelasticjoints.png.41eac40233281884d8410312a4f22a5d.png

 

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

5c0ddedd846b6_SLAUtipovaya.png.3d069c93d70ed94bb94e92b1210badd2.png

из которой находятся неизвестные силы F и неизвестные моменты. Правый вектор считается известным, там содержатся слагаемые вида m*a и J*e, где а и е - ускорения с предыдущего шага, если правильно понимаю.

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

Что делать, если необходимо узнать как (и куда) механизм будет двигаться? Т.е. надо интегрировать уравнения движения с некоторым малым шагом по времени, при этом не забывать про внешние силы, приходящие с колеблющегося основания. А как составить уравнения движения для всех элементов механизма? Теормех с уравнениями Лагранжа второго рода отпадает, т.к. звеньев больше двух-трёх. ADAMS и Matlab с тулбоксами не катят, т.к. требуется иметь систему уравнений на бумаге.

Похоже, что понять что и как делает ADAMS - первостепенная задача.

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

Ссылка на сообщение
Поделиться на других сайтах


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

Изменено пользователем k_v
Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем k_v
Ссылка на сообщение
Поделиться на других сайтах

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

Или считать их несвязанными между собой?

Формально связь учитывается в обобщённых силах.

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, k_v сказал:

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

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

Ссылка на сообщение
Поделиться на других сайтах
В 10.12.2018 в 08:36, AlexKaz сказал:

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

Или считать их несвязанными между собой?

Формально связь учитывается в обобщённых силах.

попробуйте в COMSOL - там это вполне реально сделать

Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, Victor_M сказал:

попробуйте в COMSOL - там это вполне реально сделать

Да и в ANSYS, и в LS-Dyna не проблема. Проблема составить уравнения, это лютейших термех. И люди, шарящие в нём, лютейшие спецы.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, AlexKaz сказал:

Да и в ANSYS, и в LS-Dyna не проблема. Проблема составить уравнения, это лютейших термех. И люди, шарящие в нём, лютейшие спецы.

Прежде чем чего-то писать ... подумайте\разберитесь.....

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • GHEB
      Добрый день Создал некую модель, всё было хорошо, но после перезапуска программы почему то эскиз перестал привязываться к линиям: Выбираю "Эскиз" https://skr.sh/sPckC4oM2Sf Нажимаю на нужную мне плоскость https://skr.sh/sPc7M6DGRDq Выбираю линию https://skr.sh/sPcnw9t9J9u Пытаюсь начать рисовать от центра окружности https://skr.sh/sPc1Kklf8nM Пытаюсь рисовать от некой точки https://skr.sh/sPcECS6vnwL Как видно курсор не привязывается к точкам, из-за чего попасть точно не представляется возможным Тоже самое если я пытаюсь к эскизу например дорисовать линию https://skr.sh/sPcX7Wyj0e6  В настройках эскиза настроено так, пробовал "перетыкивать" не помогло: https://skr.sh/sPc1CoTvYDS Версия https://skr.sh/sPcH4esnnCK Скрин всего окна и настроек, о которых я вычитал тут:  https://skr.sh/sPcHbYP5iB4 Скрин https://skr.sh/sPcHbYP5iB4 всего окна и настроек, о которых я вычитал тут:      Нашёл "быстрые привязки, но они работают не очень хорошо для окружностей и между ними приходиться переключаться, до этого таокго не было, неудобо https://skr.sh/sPcvE3KzS3u
    • Viktor2004
      Вот этот пример работает безотказно Нажатие на F1 включает кипп-реле К50.0, нажатие F2 его выключает O8001 G240 P3 C0 G243 X2 Y0 A1 B0 (TEST PROGRAM) G240 P6 C0 G243 X7 Y[4 + 1] (SECOND SCREEN) G240 P7 C0 G243 X5 Y26 A1 B0 (K50.1) G243 X5 Y27 A1 B0 (ON) G243 X12 Y26 A1 B0 (K50.1) G243 X12 Y27 A1 B0 (OFF) IF [#8549 EQ 249] THEN G310 K50 Q1 ENDIF IF [#8549 EQ 248] THEN G310 K50 Q0 ENDIF M99  
    • gudstartup
      код клавиши обязан передаться приложению экран которого активен на данный момент времени а у вас получается что он неактивен и какое то другое приложение этот код забирает
    • vanek77777
      Не тебе судить об уровне моих знаний и умений) тебе конкретно написали выше, сделай и выложи сюда проект. Покажи на деле. Языком трепать ты горазд. Человек изначально спросил, как сделать в непрерывных 5 осях, а ты ему про 3+2 закатку. Зачем ему именно в 5 осях крутить это уже его дело. 
    • Viktor2004
      не знаю. Я на видео показал что код нажатой клавиши лишь кратковременно мигает в момент ее нажатия. Это в переменной #8549. Как его ловить со 100% успехом я не знаю Если из программы все удалить и оставить только нажатие кнопки, тогда работает
    • gudstartup
      куда же он девается из буфера клавиатуры ведь если код не считывать то он должен там находиться иначе неизбежен пропуск нажимаемых кнопок а это неправильно 
    • ДОБРЯК
    • maxx2000
      Я работал в одной конторе, так там был выделен человек, который мониторил ютуб каналы конкурентов на предмет того что видно на экранах мониторов попавших в кадр.
    • maxx2000
      @ДОБРЯК блин, ну что за шарады. Я ведь просто спросил, обсуждаете или нет. Мог просто сказать что да.
    • ДОБРЯК
      В одной модели может быть любое количество незакрепленных изделий. lambda_root_2 != 0. Если из матрицы жесткости вычесть lambda_root_2 * матрицу масс, то полученная матрица не будет вырождена, потому что lambda_root_2 != 0. Проверьте это. Это же легко проверяется.  Кому как. Достаточно повисеть на пружинках, чтобы понять... Я же не просто так в качестве примера дал диагональную матрицу масс. Думаю, что Федор уже догадался...:=)
×
×
  • Создать...