- •Донбасская государственная машиностроительная академия
- •Владимиров э.А., Шоленинов в.Е.
- •Передаточные функции плоских рычажных механизмов
- •Методические указания
- •Краматорск 2004
- •Рецензенты:
- •Содержание
- •Введение
- •1 Структурный анализ механизма
- •Формула строения механизма:
- •2 Передаточные функции начальных звеньев
- •Kriv (Xо, Yо, Lоа, Fiоаg, q, jk, Mas : Real; {входные параметры}
- •Var Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2 : Real), {возвращаемые параметры}
- •3 Передаточные функции произвольной точки звена
- •4 Структура исходной программы для расчета передаточных функций элементов механизма
- •4 Структура исходной программы для расчета передаточных функций элементов механизма.1 Начальное звено – кривошип
- •4 Структура исходной программы для расчета передаточных функций элементов механизма.2 Начальное звено – ползун
- •5 Контроль передаточных функций элементов механизма .1 Графический метод контроля пф0
- •5.2 Контроль пф0 с использованием AutoCad
- •5.3 Методика количественного контроля пф1 и пф2
- •6 Алгоритмы определения пф структурных групп
- •6 Алгоритмы определения пф структурных групп.1 Группа первого вида
- •6 Алгоритмы определения пф структурных групп.2 Группа второго вида
- •6 Алгоритмы определения пф структурных групп.3 Группа третьего вида
- •На рис. 6.3 представлена схема группы третьего вида.
- •Следует определить пф оси кулисы: , , .
- •После повторного дифференцирования полученных выражений находим угловые пф2:
- •6.4 Группа четвертого вида
- •Аналитически координаты точки k можно определить следующим образом. Уравнения осей направляющих:
- •6.5 Группа пятого вида
- •7 Процедуры для определения пф структурных групп
- •8 Структура программы для расчета пф рычажных механизмов второго класса
- •9 Методика определения пф0 структурных групп выше второго класса
- •10 Структура программы для моделирования механизма 3-го класса
- •11 Определение пф1 и пф2 элементов механизмов выше второго класса
- •12 Структура программы для определения пф механизма чушколомателя
- •13 Алгоритмы и программы для определения пф механизмов выше второго класса
- •Список рекомендованной литературы
- •Приложение а Исходный файл расчета механизма (начальное звено - кривошип)
- •Приложение б Исходный файл расчета механизма (начальное звено - ползун)
- •Приложение в Программа расчета механизма качающегося конвейера
- •Приложение г Программа расчета кулисно-рычажного параболографа Инвардса
- •Приложение д Программа для моделирования механизма чушколомателя по схеме
- •Приложение e Функция для определения оптимального значения варьируемого параметра
- •Приложение ж Программа для моделирования механизма чушколомателя по схеме
- •Приложение и Программа для моделирования механизма чушколомателя по схеме на рис. .5 (фиктивное начальное звено - ползун)
- •Приложение к Программа для моделирования механизма чушколомателя
- •Приложение л Программа для определения пф механизма, представленного на рис. 13.1
- •Приложение м Программа для определения пф механизма с кулисной парой
- •Приложение н Программа для определения пф механизма, представленного на рис. 13.3
- •Приложение п Программа для определения пф кулисно-рычажного гиперболографа Вяткина
Приложение д Программа для моделирования механизма чушколомателя по схеме
на рис. .5
Program Mech_3_class;
Uses Crt, Graph, Mpf0; {Перечень используемых модулей }
{ Описание констант }
Const fioa0g=40.0; {Начальное значение ОК }
h=0;
Lnapr=50;
{Описание переменных }
Var lc, q, j : Real;
i,k,r : Integer;
xo, yo, xb, yb, xd, yd, xe, ye,
xc, yc, xn, yn, xa, ya : Real;
loa, lab, lbc, ldc, Lbe : Real;
ALFAEBCg : Real;
fing, fibcg, Fiabg, fidcg, fioag, fibeg : Real;
Procedure Mech (Fiabg : Real); { Процедура для расчета фиктивного }
Var l : Real; { механизма }
Begin
j:=1;
Kr (Xa, Ya, Lab, Fiabg, q, Xb, Yb);
l:=0;
as2 (xb, yb, xn, yn, fing, l, lbe, h, lcc, j, q, fibeg);
Poi (xb, yb, fibeg, lbe, 0, q, 2, Xe, Ye);
Poi (xb, yb, fibeg, lbc, -alfaEBCg, q, 2, Xc, yc);
zveno(xb, yb, fibeg, Lbe, q);
zveno(xb, yb, fibeg-AlfaEBCg, Lbc, q);
zveno_(xc, yc, xd, yd, q);
zveno_(xe, ye, xc, yc, q);
Opora (xo, yo, 10, q, 1);
Opora (xd, yd, 10, q, 1);
End; {Procedure}
Function CF (X : Real) : Real; {Вычисление целевой функции }
Begin
Mech (X); {Расчет фиктивного механизма }
CF:=Sqrt(Sqr(xd-xc)+Sqr(yd-yc))-ldc;
End; {Function}
Begin {Начало основной программы }
InitG; {Инициализация графического экрана }
masg:=0.5; {Масштаб отрисовки }
xo:=0; yo:=0; {Задание параметров механизма }
xn:=0; yn:=50;
xd:=100; yd:=0;
loa:=20;
Lab:=70;
Lbe:=100;
Lbc:=70;
ldc:=65;
alfaEBCg:=60;
fing:=0;
{Цикл для определения ПФ0 элементов механизма }
For i:=1 to 49 do Begin
fioag:=fioa0g+DFi*(i-1); {Определяю следующее значение ОК }
q:=0; {Механизм не отображать }
kr (xo, yo, loa, fioag, q, xa, ya); {Определение ПФ0 первичного мех-ма }
FiABg:=Find(CF); {Поиск значения через цел. функцию }
q:=1; {Механизм отображать }
ClearDevice; {Очистка экрана }
kr (xo, yo, loa, fioag, q, xa, ya); {Определение ПФ0 первичного мех-ма }
Mech (Fiabg); {Нарисовать фиктивный механизм }
ReadKey;
End; { For }
End. {Program} {Конец программы }
Приложение e Функция для определения оптимального значения варьируемого параметра
Function Find (CF : CF_Type): Real;
Const KolPoints = 1000;
XF = 100;
Xl = 290;
Var X1, X2, X3, Dx_,
Y1, Y2, Y3 : Real;
Begin
DX_:=Abs(XF-XL)/KolPoints;
X1:=XF;
Y1:=CF(X1);
X2:=X1;
Y2:=Y1;
Repeat
X1:=X2;
Y1:=Y2;
X2:=X1+DX_;
Y2:=CF(X2);
Until (Y1*Y2<0) or (X2>XL);
if CF(X1)*CF(X2)>0 Then Begin
Find:=0;
Exit;
End;
Repeat
X3:=(X1+X2)/2;
Y1:=CF(X1);
Y2:=CF(X2);
Y3:=CF(X3);
if (Y1*Y3)>0 Then X1:=X3 Else X2:=X3;
Until (Abs(Y3)<0.001);
Find:=X3;
End;
Приложение ж Программа для моделирования механизма чушколомателя по схеме
на рис. .6
Program Mech_3_class;
Uses Crt, Graph, Mpf0; {Перечень используемых модулей }
{Описание констант}
Const fioa0g=40.0; {Начальное значение ОК }
h=0;
Lnapr=50;
{Описание переменных}
Var lc, q, j : Real;
i, k, r : Integer;
xo, yo, xb, yb, xd, yd, xe, ye,
xc, yc, xn, yn, xa, ya : Real;
loa, lab, lbc, ldc, Lbe : Real;
ALFAEBCg : Real;
fing, fibcg, Fiabg, fidcg, fioag : Real;
Procedure Mech (Fiabg : Real); {Процедура для расчета фиктивного }
Var l: Real; { механизма }
Begin
Kr (Xa, Ya, Lab, Fiabg, q, Xb, Yb);
As1 (xb, yb, xd, yd, lbc, ldc, -1, q, fibcg, fidcg);
Poi (xb, yb, fibcg, lbc, 0, q, 2, Xc, Yc);
Poi (xb, yb, fibcg, lbe, alfaEBCg, q, 2, Xe, ye);
zveno(xb, yb, fibcg+alfaEBCg, Lbe, q);
zveno(xn, yn, 0, 300, q);
zveno_(xe, ye, xc, yc, q);
Opora (xo, yo, 10, q, 1);
Opora (xd, yd, 10, q, 1);
End; { Procedure }
Function CF (X : Real) : Real; {Вычисление целевой функции }
Begin
Mech (X); {Расчет фиктивного механизма }
CF:=yn-ye;
End; {Function}
Begin {Начало основной программы }
InitG; {Инициализация графического экрана }
Masg:=0.5; {Масштаб отрисовки }
{Задание параметров механизма }
fing:=0;
Xo:=0; Yo:=0;
Xn:=0; Yn:=50;
Xd:=100; Yd:=0;
loa:=20;
Lab:=70;
Lbe:=100;
Lbc:=70;
ldc:=65;
alfaEBCg:=60;
{Цикл определения ПФ0 элементов механизма}
For i:=1 to 49 do Begin
fioag:=fioa0g+DFi*(i-1); {Определяю следующее значение OK }
q:=0; {Механизм не отображать }
Kr (Xo, Yo, Loa, Fioag, q, Xa, Ya); {Расчет ПФ0 первичного мех-ма }
FiAbg:=Find(CF); {Поиск значения через цел. функцию }
q:=1; {Механизм отображать }
ClearDevice; {Очистка экрана }
Kr (Xo, Yo, Loa, Fioag, q, Xa, Ya); {Расчет ПФ0 первичного мех-ма }
Mech (Fiabg); {Нарисовать фиктивный механизм }
ReadKey;
End;
End. {Program} {Конец программы }