Компьютерная анимация кинематических схем в программах Excel и Mathcad

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 30.07.2018
Размер файла 726,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ТММ и компьютер

Размещено на http://www.allbest.ru/

80

http://tmm.spbstu.ru

Размещено на http://www.allbest.ru/

Компьютерная анимация кинематических схем в программах Excel и Mathcad

Практика последних лет показывает, что для расчёта геометрии механизмов используются не только (и не всегда) специальные компьютерные программы, но и широко распространённые универсальные, такие, как Excel из офисного пакета от Microsoft или MathCAD фирмы PTC. Причём возможности визуализации результатов расчётов, имеющиеся в этих программах и весьма полезные с точки зрения удобства пользования, используются далеко не в полной мере. В предлагаемой статье рассматриваются способы создания анимации диаграмм (например, кинематических схем механизмов).

Анимация в программе Excel

В качестве первого примера рассмотрим построение кинематической схемы плоского робота (рис. 1). Стойка связана со звеном 1 с помощью поступательной пары А; перемещение первого звена относительно стойки задаётся обобщённой координатой q1. Звено 2 связано со звеном 1 поступательной парой С; их относительное перемещение определяется обобщённой координатой q2. Поворот звена 3 относительно звена 2 в кинематической паре D определяется обобщённой координатой q3. Угол разворота звеньев 4 и 5 схвата задаётся обобщённой координатой q4.

Рис. 1. Кинематическая схема робота

Чтобы нарисовать кинематическую схему, надо получить координаты некоторых точек, соединяя которые, можно нарисовать фигуры кинематической схемы: прямоугольники, отрезки прямых и т.д. Назовём такие точки характерными. В данном примере это точки A, B, C, D, M, а также все угловые точки, такие, как точки I, II, III, IV ползуна, входящего в кинематическую пару А. Введём системы координат: неподвижную, связанную со стойкой, и локальные, связанные с каждым из пяти подвижных звеньев. В локальных системах координат зададим постоянные параметры, определяющие положение характерных точек. Введём эти параметры в таблицу Excel. Для удобства это можно сделать так, как показано на рис. 2, а. Здесь - расширенный столбец локальных координат точки B:

a) б)

Рис. 2. Ввод в Excel: а) значений столбца координат; б) матрицы перехода H01(q1)

.

Значения локальных координат точки B введены в выделенные ячейки столбца B: - в ячейку B5, - в ячейку B6.

Составим и введём в Excel матрицы перехода во всех кинематических парах: H01(q1), H12(q2), H23(q3), H34(q4), H35(q4) (рис. 2, б). Зададим и введём в Excel начальные значения обобщённых координат; например, q1 - в ячейку А2, q2 - в ячейку В2, q3 - в ячейку С2, q4 - в ячейку D2 (рис. 3). Отметим, что, если для удобства угловые координаты q3 и q4 введены в градусах, то для дальнейших расчётов их следует перевести в радианы (как это сделано в ячейках С3 и D3).

Рис. 3. Ввод в Excel обобщённых координат

Найдём положение характерных точек кинематической схемы в неподвижной системе координат [1]:

,

где H0s(q1, q2, …, qs) - матрица перехода из s-й системы координат в неподвижную систему координат; и - расширенные матрицы-столбцы некоторой точки N соответственно в s-й и неподвижной системах координат. Перемножать матрицы можно либо «вручную», либо с помощью встроенной функции умножения матриц мумнож. Для этого надо установить курсор на свободной ячейке, на вкладке Формулы следует щёлкнуть на кнопке Математические, выбрать функцию мумнож; появится окно Аргументы функции (рис. 4). Далее следует указать Массив1 (например, матрицу H01, выделив её, как показано на рис. 2, б), затем Массив2 (например, матрицу H12, выделив её таким же образом) и нажать кнопку ОК. Чтобы увидеть результат перемножения матриц (например, матрицу ), следует выделить ячейки, куда будет записан результат (для матрицы H02 надо выделить 3х3 ячейки), нажать клавишу F2, затем клавиши Ctrl+Shift+Enter.

Рис. 4. Окно Аргументы функции

Определив положение всех характерных точек кинематической схемы в неподвижной системе координат, переходим к рисованию кинематической схемы в Excel. На вкладке Вставка выбираем диаграмму Точечная с прямыми отрезками (рис. 5).

Рис. 5. Выбор типа диаграммы

Появится прямоугольная область диаграммы. Щёлкнув по ней правой клавишей мыши, получим контекстное меню, в котором надо щёлкнуть на пункте Выбрать данные …. (рис. 6).

Рис. 6. Контекстное меню области диаграммы

После этого появится окно Выбор источника данных (рис. 7, а). Источниками данных в нашем случае являются ячейки таблицы, содержащие координаты характерных точек фигур кинематической схемы.

а) б)

Рис. 7. Добавление фигуры на диаграмму

Чтобы нарисовать какую-либо фигуру, надо щёлкнуть на кнопке Добавить. В появившемся окне Изменение ряда (рис. 7, б) следует ввести Имя ряда (желательно, чтобы это было «говорящее» имя фигуры, например: прямоугольник А, отрезок DM и т.п.), Значения Х (координаты х характерных точек фигуры, например: для прямоугольника А - ; для отрезка DM - (см. рис. 5)), Значения Y (координаты y тех же самых точек). После нажатия кнопки ОК на области диаграммы появится нарисованная фигура. Отметим, что при рисовании замкнутой фигуры (например, прямоугольника) координаты последней точки должны совпадать с координатами первой точки. Цвет, толщину, тип линии, наличие или отсутствие маркера и т.д. можно изменить, выделив фигуру и вызвав контекстное меню нажатием правой клавиши и выбрав пункт Формат ряда данных… (рис. 8).

Рис. 8. Контекстное меню фигуры на диаграмме

Нарисовав на диаграмме кинематическую схему в начальном положении, введём новое значение какой-либо из обобщённых координат q1 - q4, которые помещены в ячейки А2 - D2 (см. рис. 3). При этом на диаграмме переместится изображение соответствующего звена. На этом основана идея создания анимированной кинематической схемы.

Для более удобного изменения значений обобщённых координат составим небольшую программу (макрос), используя встроенный в Excel редактор Microsoft Visual Basic. Вызвать редактор можно, щёлкнув на вкладке Разработчик кнопку Visual Basic (или нажав клавиши Alt + F11). Для записи кода программы вызовем Лист1, щёлкнув на кнопку View Сode. На Листе1 запишем код макроса Step_forward_q1 ():

Sub Step_forward_q1 ()

Worksheets («robot»).Cells (2, 1) = Worksheets («robot»).Cells (2, 1) + Worksheets («robot»).Cells (8, 1)

End Sub

Этот макрос увеличивает содержимое ячейки, находящейся на второй строке первого столбца (т.е. ячейки А2) листа с именем robot на то число, которое содержит ячейка на восьмой строке первого столбца, т.е. ячейка А8. В эту ячейку введём произвольное число, которое станет шагом изменения содержимого ячейки А2. Поскольку в ячейке А2 содержится значение обобщённой координаты q1, то при запуске макроса Step_forward_q1 () значение q1 изменится на величину шага, а изображение звена 1 вместе с изображением всех остальных подвижных звеньев переместится по стойке на тот же шаг.

Немного изменив код, запишем макросы для изменения значений всех остальных обобщённых координат. Далее на лист Excel, на котором размещена диаграмма с кинематической схемой, поместим кнопки, с помощью которых будем запускать программы. Ими могут быть: кнопки как элементы управления формой, рисунки, фигуры, надписи, декоративный текст (рис. 9).

Рис. 9. Управляющие элементы: кнопка в стиле Windows 3.1, фигура, декоративный текст

Каждому управляющему элементу надо назначить макрос: щёлкнув правой кнопкой, из контекстного меню выбрать команду Назначить макрос…, в появившемся окне Назначить макрос объекту из списка макросов выбрать нужную программу. Теперь при щелчке на управляющем объекте запустится закреплённый за ним макрос, а изображение соответствующих звеньев переместится на шаг (рис. 10).

Рис. 10. Диаграмма Excel с кинематической схемой робота и с управляющими элементами

Важно отметить: во избежание эффекта «дёргания» изображения в диаграмму надо добавить рамку с размерами, гарантированно бульшими, чем габариты кинематической схемы.

Мы промоделировали «ручное» управление каждой обобщённой координатой. Можно составить макрос, в котором обобщённые координаты будут изменяться по заданному закону (раздельно или вместе). Рассмотрим пример. Пусть в начальном положении звенья 1, 2 и 3 неподвижны, а схват сжимается (имитируется «захват детали»). Затем при фиксированной координате q4 обобщённые координаты q1, q2 и q3 равномерно увеличиваются до некоторых значений («перемещение детали»), после чего при фиксированных q1, q2 и q3 схват разжимается («освобождение детали»). Возвращение в исходное положение.

При составлении макроса воспользуемся циклом конструкции ForNext. Во время выполнения первого цикла (переменная-счётчик k) схват сжимается (обобщённая координата q4 уменьшается на 150 от начального значения с шагом, устанавливаемым переменной Stp). После окончания цикла начинается второй цикл (переменная-счётчик i), во время которого звено 1 поднимается по стойке (на 80 мм), второе звено выдвигается относительно первого звена (тоже на 80 мм), а третье звено поворачивается относительно второго на 800 (обобщённые координаты q1, q2 и q3 увеличиваются до заданных максимальных значений с тем же шагом Stp). Оба этих цикла (первый и второй) вложены во внешний цикл (переменная-счётчик j). После окончания второго вложенного цикла шаг Stp меняет знак, а программа возвращается к началу внешнего цикла. Процесс повторяется, только значение координаты q4 возрастает, а координат q1 - q3 уменьшается до начальных значений; робот возвращается в начальное положение. Ниже помещён код макроса Run() для рассмотренного примера:

Sub Run()

Dim i As Integer, j As Integer, k As Integer

Dim Stp As Integer

Worksheets («robot»).Cells (2, 1) = 0

Worksheets («robot»).Cells (2, 2) = 0

Worksheets («robot»).Cells (2, 3) = 145

Worksheets («robot»).Cells (2, 4) = 15

Stp = 1

Calculate

For j = 1 To 2

For k = 0 To 14

Worksheets («robot»).Cells (2, 4) = Worksheets («robot»).Cells (2, 4) - Stp

Calculate

Next

For i = 0 To 79

Worksheets («robot»).Cells (2, 1) = Worksheets («robot»).Cells (2, 1) + Stp

Worksheets («robot»).Cells (2, 2) = Worksheets («robot»).Cells (2, 2) + Stp

Worksheets («robot»).Cells (2, 3) = Worksheets («robot»).Cells (2, 3) + Stp

Calculate

Next

Stp = -1

Next

End Sub

Здесь шаг Stp перемещения звеньев (он же шаг приращения обобщённых координат) постоянен и равен 1. Если шаг сделать переменным, то можно моделировать более сложные законы движения звеньев.

При анимации схем цикловых механизмов код макроса упрощается. Например, для изменения значения входной обобщённой координаты q от 00 до 3600 с шагом Stp можно предложить макрос Start():

Sub Start()

Dim i As Integer

Dim Stp As Integer

Stp = Worksheets («1»).Cells (9, 2)

Calculate

For i = 0 To 360 / Stp - 1

Worksheets («1»).Cells (8, 2) = Worksheets («1»).Cells (8, 2) + Stp

Calculate

Next

End Sub

В макросе Start() значение обобщённой координаты q содержится в ячейке B8 листа с именем 1. Шаг Stp берётся из ячейки В9 того же листа, поэтому значение шага и, следовательно, скорость задаётся пользователем. Поскольку Stp объявлен как Integer, то шаг должен быть натуральным числом. Цикл организован так же, как и в макросе Run(). Примеры кинематических схем цикловых механизмов, нарисованных в Excel, приведены на рис. 11.

a) б)

Рис. 11. Диаграммы Excel с кинематическими схемами цикловых механизмов: а) рычажного; б) кулачкового

Анимация в программе MathCAD

Рассмотрим создание анимации замкнутого шестизвенного механизма (рис. 12) с помощью пакета MathCAD.

Механизм имеет пять подвижных звеньев и состоит из трех структурных групп (кривошипа OA и двух групп Ассура). На первой странице протокола введем все необходимые размеры:

- первая структурная группа

длина кривошипа (OA) L0:=0.1

- вторая структурная группа (первая группа Ассура)

длины звеньев (AB, O2B) L1:=0.25, L2:=0.275 координаты присоединения к стойке (xO2, yO2) XF1:=0.24, YF1:=0.3

сборка, звено присоединения M1:=-1, NP:=2

локальные координаты точки присоединения

следующей структурной группы (XCЛ, YCЛ) X1:=0.14, Y1:=0.1

- третья структурная группа (вторая группа Ассура)

длина звена (CD) L3:=0.375

координаты присоединения к стойке (yD*, ц*) QF2:=0.1, FF2:=15

сборка M2:=1.

Рис. 12. Кинематическая схема шестизвенного механизма

Эти исходные данные однозначно определяют положение механизма для любой входной координаты q (угол поворота кривошипа OA). Зададим число точек n:=60, для которых будем проводить геометрический расчет. Введем массивы k:=0 n-1 и qk:=k/n (массив углов поворота кривошипа). Определим координаты всех точек:

- столбец координат точки O,

- столбец координат точки A,

- столбец координат точки O2.

По известному алгоритму [1] можно найти аналогичные массивы для точек B, C, D (XYbk, XYcbk, XYdk). Сведём все полученные координаты в два массива:

- массивы координат всех точек в проекциях на оси X и Y,

где nk:=0. 5 - массив точек,

k:=0 … n-1 - массив положений кривошипа.

Получаем:

,,,,,.

Определим массивы косинусов (Cfmk,k) и синусов (Sfmk,k) углов, связывающих локальные и неподвижные системы координат (mk:=0… 4 - массив звеньев). Для кривошипа (нулевое звено) можно записать:

, ,

для ползуна (четвертое звено) - , .

Рисование кинематической схемы в MathCAD'е происходит аналогично тому, как описано для среды Excel. Для каждого из 60 положений k можно построить с помощью диаграммы кинематическую схему механизма, определив предварительно характерные точки (точки опор и ползуна).

Чтобы создать анимацию, воспользуемся переменной FRAME (по умолчанию FRAME=0). Нарисуем кинематическую схему для угла кривошипа qFRAME=0 (рис. 13).

Рис. 13. Кинематическая схема механизма для угла qFRAME=0

Чтобы заставить схему двигаться, необходимо менять переменную FRAME. Для этого на вкладке Инструменты выбираем Анимация > Запись (рис. 14).

Рис. 14. Создание анимации

Появится окно Запись анимации (рис. 15).

Рис. 15. Запись анимации

Выделяем область протокола, на которой расположена диаграмма (см. рис. 13), для переменной FRAME в окне Запись анимации (рис. 15) задаем диапазон изменения От 0 До 59 Скорость 10 Кадров / Сек. Таким образом, меняя переменную FRAME, мы будем видеть изменение положения механизма с заданной скоростью смены кадров в секунду. Полученный файл (*.avi) можно сохранить и в дальнейшем воспроизвести с помощью любого проигрывателя независимо от протокола MathCAD.

Файлы со всеми рассмотренными примерами размещены на портале «Теория механизмов и машин» вместе с интернет-версией статьи.

Список литературы

1. Теория механизмов и машин [Текст]: учеб. пособие / [М.З. Коловский, А.Н. Евграфов, Ю.А. Семёнов, А.В. Слоущ]. - 2-е изд., испр. - М.: Издательский центр «Академия, 2008. - 560 с.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.