Моделирование движения и нагрузок плоских механизмов на языке Python
Покупка
Тематика:
Общее машиностроение. Машиноведение
Издательство:
Издательство Уральского университета
Год издания: 2019
Кол-во страниц: 80
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7996-2685-3
Артикул: 800594.01.99
Учебное пособие соответствует программам курсов «Теория механизмов и машин», «Математическое моделирование» и включает необходимые сведения для их изучения. Пособие содержит краткие описания программ на языке Python. Может быть рекомендовано студентам технических вузов, занимающихся программированием, а также служить справочным материалом для выполнения проектных работ, связанных с выполнением на компьютере.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 621: Общее машиностроение. Ядерная техника. Электротехника. Технология машиностроения в целом
ОКСО:
- ВО - Бакалавриат
- 15.03.02: Технологические машины и оборудование
- ВО - Магистратура
- 15.04.02: Технологические машины и оборудование
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации Уральский федеральный университет Имени первого Президента России Б. Н. Ельцина С. К. Буйначев Е. Е. Баженов И. В. Троицкий МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ И НАГРУЗОК ПЛОСКИХ МЕХАНИЗМОВ НА ЯЗЫКЕ PYTHON Учебное пособие Рекомендовано методическим советом Уральского федерального университета для студентов вуза, обучающихся по направлениям подготовки 15.03.02, 15.04.02 «Технологические машины и оборудование» Екатеринбург Издательство Уральского университета 2019
УДК 621.837.3:004.432Phyton(075.8) ББК 34.412.5я73+32.973.22я73 Б90 Рецензенты: Г. О. Котиев, д‑р техн. наук, проф., завкафедрой «Колесные машины» Московского государственного технического университета им. Н. Э. Баумана; И. П. Трояновская, д‑р техн. наук, доц. кафедры «Теоретическая механика и теория механизмов и машин», проф. кафедры «Прикладная механика» (ФГБОУ ВО Южно‑Уральский государственный аграрный университет) Научный редактор — канд. техн. наук, доц. С. В. Бутаков Б90 Буйначев, С. К. Моделирование движения и нагрузок плоских механизмов на языке Python : учебное пособие / С. К. Буйначев, Е. Е. Баженов, И. В. Троицкий. — Екатеринбург : Изд‑во Урал. ун‑та, 2019. — 80 с. ISBN 978‑5‑7996‑2685‑3 Учебное пособие соответствует программам курсов «Теория механизмов и машин», «Математическое моделирование» и включает необходимые сведения для их изучения. Пособие содержит краткие описания программ на языке Python. Может быть рекомендовано студентам технических вузов, занимающихся программированием, а также служить справочным материалом для выполнения проектных работ, связанных с выполнением на компьютере. Библиогр.: 5 назв. Рис. 19. УДК 621.837.3:004.432Phyton(075.8) ББК 34.412.5я73+32.973.22я73 ISBN 978‑5‑7996‑2685‑3 © Уральский федеральный университет, 20189
Предисловие Предисловие Р азвитие вычислительной техники и массовое внедрение компьютеров в исследование механизмов повысили требования к математической подготовке инженеров. В настоящее время процесс проектирования машины требует использования алгоритмического языка высокого уровня. Самым удобным признан язык Python. Многие конструкции языков сходны, однако на Python программирование имеет существенные преимущества. Этот язык выбран не случайно, поскольку разработанные авторские программы, представленные в пособии, работают без изменения под разными операционными системами Windows, Linux, MacOS. В учебном пособии представлен объективный подход к описанию групп Ассура и их поведению совместно с электродвигателем с дальнейшим анализом и визуализаций решений. Пособие составлено как набор модулей для разных задач, позволяющих быстро найти нужную информацию и освоить новые приемы программирования.
Моделирование движения и нагрузок плоских МеханизМов на языке Python 1. Плоские механизмы. Общие сведения М еханизм — часть машины, в которой рабочий процесс реализуется путем выполнения определенных механических движений. Чаще всего эти движения являются плоскими. Однотипные механизмы используются в конструкциях самых разных по назначению и условиям работы машин. В плоском механизме положение звена можно описать тремя координатами — двумя линейными и одной угловой [1]. Из множества кинематических цепей с абсолютно жесткими звеньями рассмотрим только цепи со степенью подвижности w = 1. Для цепи с координатами звеньев J = (J1,.., Jn)T, (1) где Ji — i‑я координата j‑го звена, n — число координат звеньев кинематической цепи. Зададим ведущему звену закон движения j (t), это позволит определить координаты всех ведомых звеньев: J = J (j (t)). (2) Если известна скорость ведущего звена jў(t) и его ускорение jў(t), то известны скорость Jў и ускорение Jўў ведомых звеньев Jў = Jjjў, (3) Jўў = Jjjўў+Jjj (jў) 2, (4)
1. Плоские механизмы. Общие сведения где jў = ∂j/∂t, (5) jўў = ∂ 2j/∂t 2. (6) Частные производные по координатам являются аналогами скоростей и ускорений по координате ведущего звена. Jj = (∂J1/∂j,..,∂Jn/∂j)T, (7) Jjj = (∂ 2J1/∂j 2, …,∂J 2 n/∂j 2)T. (8) Кинетическая энергия звеньев представлена квадратичной формой T = 1 2 JўTQ Jў. (9) Если форма каноническая, то матрица коэффициентов инерции звеньев Q = diag{Qi} i=1, n. (10) Подставим в выражение кинетической энергии (9) в формулу (3) T = 1 2 (Jjjў)TQJjjў = 1 2 Jj TQJjjў 2 = 1 2 Jjў 2, (11) где J — приведенный момент инерции. Обозначим приведенный момент инерции звеньев к ведущей координате J = Jj TQ Jj (12) и его производную по обобщенной координате Jj = 2Jj TQ Jjj. (13) В этом случае задача сводится к исследованию вращения маховика с переменным приведенным моментом инерции. Он определяется конфигурацией рычажной системы [2]
Моделирование движения и нагрузок плоских МеханизМов на языке Python J = J (j). (14) Свойства приведенного момента характеризуются гладкой и неотрицательной функцией: J (j) = Si=1, n Qi (Jij) 2 ≥ 0, (15) в которой период изменения соответствует обороту кривошипа J (j) = J (j + 2p). (16) Пусть на кинематическую цепь по координатам c действует вектор внешних сил C = C (c (j)). (17) Работа вектора C по координатам c есть скалярное произведение: A = cTC. (18) Уравнение движения найдем как экстремаль функционала [3]: т(0, t) (A + T) dt ® minj, c. (19) Координаты j и c связаны с обобщенными координатами q уравнениями t(q, J) = 0, (20) a(q, c) = 0. (21) Добавим в функционал неопределенные множители LT и LE dim<LT> = dim<j >, (22) dim<LE> = dim<c >. (23) Теперь функционал т(0, t) (A + T — tўLT – aўLE) dt ® minj, cq (24) имеет единственное решение.
1. Плоские механизмы. Общие сведения Уравнения Лагранжа первого рода Jjўў + 1 2 Jjjў 2 + tjўLT = 0, (25) – C + acўLE = 0, (26) tqўLT + aqўLE = 0. (27) Получим движение одномассовой кинематической цепи, описанной уравнением Jjўў + 1 2 Jjjў 2 = M. (28) Преобразуем уравнение движения: Jj TQJjjўў + Jj TQJjjjў 2 = cj TC, (29) и еще раз Jj TQ (Jjjўў+Jjj (jў) 2) = (cJJj)TC, (30) здесь Jj TQJўў = Jj T cJ T C, (31) тогда Jj T Fи = Jj TP, (32) где Fи — приведенные силы инерции по координатам J, P — приведенные внешние силы по координатам c. Таким образом получился рычаг Жуковского: Jj T (Fи – P) = 0. (33) Также легко получается и метод Виттенбауэра F = f (DT, J). (34)
Моделирование движения и нагрузок плоских МеханизМов на языке Python 2. Кинематика плоских механизмов П остроим механизм путем присоединения группы Ассура к кривошипу ОА (рис. 1 на с. 13). Начнем с группы первого вида. Считаем, что звенья между собой соединены парой пятого класса с центром в точке В, а другими свободными элементами приводятся звеньями с заданным законом движения. В данном случае элемент кинематической пары с центром в точке А соединяется с элементом кинематической пары кривошипа. Группу Ассура представим объектом [4]. Для описания группы используем вектор объекта J = (xb, yb, xsAB, ysAB, xsBC, ysBC, jAB, jBC)T, (35) где xb, yb — координаты центра кривизны элемента кинематической пары в точке B, соединяющей звенья группы; xsAB, ysAB, xsBC, ysBC — координаты центров тяжести звеньев AB и BC; jAB, jBC — углы поворота звеньев вокруг их центров тяжести. 2.1. Группа Ассура первого вида На рис. 1 (с. 13) представлен объект и изображение группы Ассура первого вида. Этот же файл можно использовать для составления длинных цепочек. Длина кривошипа ОА, присоединенного к группе,
2. Кинематика плоских механизмов равна 0,3 м. Длины звеньев группы АВ и ВС равны 1,0 и 0,7 м. Расстояние от точки О вращения кривошипа до стойки в точке С равно 1,0 м. ________________________________________________ ## g1_bsc.py # -*- coding: utf-8 -*from Tkinter import * from bsc_grafik import * from math import * ##=========================================== Объект 1-го вида class GA1: def __init__(self,AB=1.0,BC=1.0,AS=0.0,CS=0.0,alfa=0.0): self.AB,self.BC,self.AS,self.CS,self.alfa=AB,BC,AS,CS,alfa self.fi,self.xa,self.ya,self.xb,self.yb,self.xc,self.yc=0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0 self.xsAB,self.ysAB,self.xsBC,self.ysBC=0.0,0.0, 0.0,0.0 self.fiAB,self.fiBC=0.0, 0.0 self.bd=Bl('fi','xa','ya','xb','yb','xc','yc','xs1','ys1','xs2','ys2','fi1','fi2', 'A','B','C','S1','S2','KL') def getline(self,fi): self.bd.add(A=(self.xa,self.ya),B=(self.xb,self.yb),C=(self.xc,self.yc), S1=(self.xsAB,self.ysAB),S2=(self.xsBC,self.ysBC)) self.bd.add(fi=fi,xa=self.xa,ya=self.ya,xb=self.xb,yb=self.yb,xs1=self. xsAB,ys1=self.ysAB, xs2=self.xsBC,ys2=self.ysBC,fi1=self.fiAB,fi2=self.fiBC) def putline(self,c,mg=0.003,xg=550,yg=200,L=['A','B','C','S1','S2'],col='black',w=1): for i in L: LayImagine(self.bd.L[i],mg,xg,yg,c,col,w) def getkontur(self,b=1): if b: self.bd.addL(KL=[(0.0,0.0),(self.xa,self.ya),(self.xb,self.yb),(self.xc,self.yc)]) else: self.bd.addL(KL=[(self.xa,self.ya),(self.xb,self.yb),(self.xc,self.yc)]) self.bd.addL(KL=F0(self.xa,self.ya,0.01)) self.bd.addL(KL=F0(self.xb,self.yb,0.01)) self.bd.addL(KL=F0(self.xc,self.yc,0.01))