МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ
Кафедра ОКММ
Розрахунково-графічна робота
з дисципліни
„Прикладна механіка та основи конструювання”
Виконав:
Перевірив:
ст. гр. АВП 02-1
Кулик Є. В.
м. Краматорськ 2004г.
Зміст
1. Структурний аналіз механізму
2. Лістінг програми комплексного розрахунку механізму
3. Контроль передатних функцій механізму
4. Параметри динамічної моделі механізму
1. Структурний аналіз механізму
Визначити передатні функції механізму зображеного на схемі
Рисунок 1 – Схема механізму
Таблиця 1 –Довжини та координати ланок
LOA,
мм |
LAC
,мм |
LBD
,мм |
LFD
,мм |
LAB
, мм |
XF
, мм |
YF
, мм |
120 |
1.
Структурний аналіз механізму
Рисунок 2 – Схема механізму
Назви ланок:
0 – стояк;
1 – кривошип ;
2 – шатун;
3 – повзун;
4 – шатун;
5 – кривошип.
Розіб’ємо механізм на структурні елементи
група Асура 2-го класу, 2-го виду |
|
Рисунок 3 – Структурні елементи механізмуСтруктурна формула будови механізму:
(0-1)→(2-3)2
→(4-5)1
Таблиця кінематичних пар
№ |
Означення |
Номери ланок |
Вид КП |
1 |
0 |
0-1 |
однорухома обертальна |
Початкова ланка |
2 |
А |
1-2 |
однорухома поступальна |
3 |
C |
2-3 |
однорухома поступальна |
гр. Асура 2-го кл., 2-го виду |
4 |
- |
3-0 |
однорухома поступальна |
5 |
В |
2-4 |
однорухома обертальна |
6 |
D |
4-5 |
однорухома обертальна |
гр. Асура 2-го кл., 1-го виду |
7 |
F |
5-0 |
однорухома обертальна |
Число ступенів вільності механізму.
Для перевірки скористаємося формулою Чебишева. Оскільки механізм має одну ступінь свободи, то ми повинні отримати . У нас кількість ланок , число нижчих кінематичних пар , а вищих кінематичних пар немає: . Згідно за формулою Чебишева
W
=3∙
n
-2∙
p
1
-
p
2
,
W
=3∙5-2∙71
-0=1,
Так як в результаті розрахунку ми отримали одну ступінь свободи, то помилки допущено не було. Механізм має одну вхідну ланку.
2. Лістінг програми комплексного розрахунку механізму
program
Mechan1(output);
uses
crt,graph,MPF;
{Описание меток}
{Описание констант}
const
m=48;
{Описаниетипов}
{type massiv=array[1..m] of real; }
{Описаниепеременных}
var
Xo,Yo,Loa,las,FIoa0g,dFi,dFir,lc:real
;
var
q,jk,Mas:real
;
var
i,ori,k:integer
;
var
driver,mode:integer
;
var
strvar:string
;
{Описаниемассивов}
var
FIab_1,FIab_2,FIabg,alfasg,FIng,FIkg,FIoag,Xa,Ya,Xa_1,Ya_1,Xa_2,Ya_2,
Xn_1,
Yn_1,Xn_2,Yn_2 :massiv
;
{Описаниеиспользуемыхпроцедур}
FIn_1,FIn_2,l,Lac,h,lcc,lab,j:real
;
{POINT}
var
Xb,Yb,Xb_1,Yb_1, Xb_2,Yb_2,Xc,Yc,Xc_1,Yc_1, Xc_2,Yc_2,Mc, Mc_1,Mc_2,Mpc, Mpc_1,Mpc_2:massiv
;
var
Xd,Yd,Xd_1,Yd_1, Xd_2,Yd_2,:massiv
;
var
Xsfd,Ysfd,Xsfd_1,Ysfd_1, Xsfd_2,Ysfd_2, Xsbd,Ysbd,Xsbd_1,Ysbd_1, Xsbd_2,Ysbd_2:massiv
;
var
alfabg,alfacg,alfbdg,alffdg:real
;
r:integer
;
{ASSUR 1}
var
FIbdg,FIbd_1,FIbd_2,FIacg,FIac_1,FIac_2:massiv
;
var
FIfdg,FIbdr,FIfdr, Fioar,FIfd_1,FIfd_2:massiv
;
var
Lbd,Lfd,Lsfd,Lsbd:real;
{OPORA}
var
Xf,Yf,lf:real
;
{ZVENO}
var
Xzv,Yzv,FIg,lzv:real
;
{РАЗДЕЛОПЕРАТОРОВ}
begin
driver:=detect;
{Инициализацияграфики}
initgraph (driver,mode,'');
SetBKcolor(7);
{SetTextStyle(DefaultFont, HorizDir, 1);}
{Определениепередаточныхфункций}
for
i:=1 to
m+1 do
begin
cleardevice; {Очисткаграфическогоэкрана}
str(i:2,strvar);
{ settextstyle(triplexfont,horizdir,2);
} outtextxy(20,20,strvar);
Xo:=0;
Yo:=0;
Loa:=60;
FIoa0g:=3.3;
dFi:=360/m;
dFir:=2*pi/m;
jk:=1;
FIoag[i]:=FIoa0g+dFi*(i-1)*jk;
str(Fioag[i]:8:4,strvar);
{ settextstyle (triplexfont, horizdir, 2);
} outtextxy (20,40, strvar);
q:=1;
Mas:=2;
setcolor(10);
kriv (Xo, Yo, Loa, FIoag[i], q, jk, Mas, Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i]);
lc:=50;
ori:=1;
opora (Xo,Yo,lc,Mas,q,ori);
{Расчет 1-ой присоединенной группы}
Lac:=270;
lcc:=40;
j:=-1;
Assur2 (Xa[i],Ya[i],Xa_1[i],Ya_1[i],Xa_2[i],Ya_2[i],-360,-120,0,
0,0,0,50,0,0,l,Lac,0,lcc,j,q,Mas, FIabg[i],FIab_1[i],FIab_2[i]);
lab:=120;
r:=5;
Point(Xa[i],Ya[i],Xa_1[i],Ya_1[i],Xa_2[i],Ya_2[i],FIabg[i],FIab_1[i],FIab_2[i],
lab,alfabg,q,Mas,r,Xb[i],Yb[i],Xb_1[i],Yb_1[i], Xb_2[i],Yb_2[i]);
{Расчет 2-ой присоединенной группы}
Lbd:=150;
Lfd:=250;
Assur1 (Xb[i],Yb[i],Xb_1[i],Yb_1[i],Xb_2[i],Yb_2[i],40,-170,0,0,0,
0,Lbd,Lfd,j,q,Mas,Fibdg[i],Fifdg[i],Fibd_1[i],Fifd_1[i],Fibd_2[i],Fifd_2[i]);
Fifdr[i]:=Fifdg[i]/180*pi;
{OPORA}
Xf:=40;
Yf:=-170;
ori:=1;
lf:=50;
Opora (Xf,Yf,lf,Mas,q,ori);
{ZVENO}
Xzv:=-360;
Yzv:=-120;
lzv:=290;
FIg:=50;
Zveno(Xzv,Yzv,FIg,lzv,q,Mas);
Point (Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i], FIabg[i], FIab_1[i], FIab_2[i],
Lac, alfacg, q, Mas, r, Xc[i], Yc[i], Xc_1[i], Yc_1[i],
Xc_2[i],Yc_2[i]);
Point (Xb[i], Yb[i], Xb_1[i], Yb_1[i], Xb_2[i], Yb_2[i], FIbdg[i], FIbd_1[i], FIbd_2[i],
Lbd,alfbdg,q,Mas,r,Xd[i],Yd[i],Xd_1[i],Yd_1[i],
Xd_2[i],Yd_2[i]);
Lsbd:=Lbd/2;
Point (Xb[i], Yb[i], Xb_1[i], Yb_1[i], Xb_2[i], Yb_2[i], FIbdg[i], FIbd_1[i], FIbd_2[i],
Lsbd,alfbdg,q,Mas,r,Xsbd[i],Ysbd[i],Xsbd_1[i],Ysbd_1[i],
Xsbd_2[i],Ysbd_2[i]);
Lsfd:=-Lfd/2;
Point(Xd[i],Yd[i],Xd_1[i],Yd_1[i],Xd_2[i],Yd_2[i],FIfdg[i],FIfd_1[i],FIfd_2[i],
Lsfd,alfbdg,q,Mas,r,Xsfd[i],Ysfd[i],Xsfd_1[i],Ysfd_1[i],
Xsfd_2[i],Ysfd_2[i]);
readkey
;
end
;
cleardevice
;
closegraph;
{Переходвтекстовыйрежим}
Testuniv(m,dFir,Xa,Xa_1,Xa_2,'Xa');
testpf (m,Xa,Xa_1,Xa_2,'Xa');
Grafik(m+1,Fioag,Xa,Xa_1,Xa_2,'Xa','Xa_1','Xa_2');
testpf (m,Ya,Ya_1,Ya_2,'Ya');
Grafik(m+1,Fioag,Ya,Ya_1,Ya_2,'Ya','Ya_1','Ya_2'); }
testpf (m,Xb,Xb_1,Xb_2,'Xb');
Grafik(m+1,Fioag,Xb,Xb_1,Xb_2,'Xb','Xb_1','Xb_2');
testpf (m,Yb,Yb_1,Yb_2,'Yb');
Grafik(m+1,Fioag,Yb,Yb_1,Yb_2,'Yb','Yb_1','Yb_2');
FIbdr[i]:=Fibdg[i]/180*pi;
Fioar[i]:=Fioag[i]/180*pi;
testpf (m,FIbdr,FIbd_1,FIbd_2,'FIbdr');
Grafik(m+1,Fioar,FIbdr,FIbd_1,FIbd_2,'FIbdr','FIbd_1','FIbd_2');
testpf (m,FIfdr,FIfd_1,FIfd_2,'FIfdr');
Grafik(m+1,Fioag,FIfdr,FIfd_1,FIfd_2,'FIfdr','FIfd_1','FIfd_2');
for
i:=1 to
m+1 do
begin
if FIfd_1[i]>0 then
Mc[i]:=-1000 else
Mc[i]:=0;
Mpc[i]:=Mc[i]*FIfd_1[i];
end
;
Grafik(m+1,Fioag,Mc,Mc,Mc,'Mc','',' ');
Grafik(m+1,Fioag,Mpc,Mpc,Mpc,'Mpc','',' ');
testpf (m,Xd,Xd_1,Xd_2,'Xd');
Grafik(m+1,Fioag,Xd,Xd_1,Xd_2,'Xd','Xd_1','Xd_2');
testpf (m,Yd,Yd_1,Yd_2,'Yd');
Grafik(m+1,Fioag,Yd,Yd_1,Yd_2,'Yd','Yd_1','Yd_2'); }
testpf (m,Xsbd,Xsbd_1,Xsbd_2,'Xsbd');
Grafik(m+1,Fioag,Xsbd,Xsbd_1,Xsbd_2,'Xsbd','Xsbd_1','Xsbd_2');
testpf (m,Ysbd,Ysbd_1,Ysbd_2,'Ysbd');
Grafik(m+1,Fioag,Ysbd,Ysbd_1,Ysbd_2,'Ysbd','Ysbd_1','Ysbd_2');
testpf (m,Xsfd,Xsfd_1,Xsfd_2,'Xsfd');
Grafik(m+1,Fioag,Xsfd,Xsfd_1,Xsfd_2,'Xsfd','Xsfd_1','Xsfd_2');
testpf (m,Ysbd,Ysbd_1,Ysbd_2,'Ysbd');
Grafik(m+1,Fioag,Ysfd,Ysfd_1,Ysfd_2,'Ysfd','Ysfd_1','Ysfd_2');
testpf (m,Xc,Xc_1,Xc_2,'Xc');
Grafik(m+1,Fioag,Xc,Xc_1,Xc_2,'Xc','Xc_1','Xc_2');
testpf (m,Yc,Yc_1,Yc_2,'Yc');
Grafik(m+1,Fioag,Yc,Yc_1,Yc_2,'Yc','Yc_1','Yc_2');
end
.
3. Контроль передатних функцій механізму
ДаніPascal |
ДаніAutoCad |
AX
|
19.732 |
19.732 |
AY
|
56.6626 |
56.6626 |
BX
|
-98.8089 |
-98.8099 |
BY
|
38.0063 |
38.0063 |
CX
|
-246.985 |
-246.9851 |
CY
|
14.6860 |
14.685 |
DX
|
-192.806 |
-192.8065 |
DY
|
-78.8889 |
-78.8895 |
Координати точок та кути ланок, отримані графічно, порівнювали з розрахованими за допомогою розробленої програми. Контроль передатніх функцій 1-го та 2-го порядку (ПФ1 та ПФ2) виконали за допомогою процедури Testpf.pas, яка базується на порівнянні результатів, отриманих аналітичним та чисельним методами.
4. Параметри динамічної моделі механізму
Рисунок 4 – Зовнішні сили, діючи на механізм
Відмітимо центри мас ланок механізму і усі зовнішні сили, що діють на нього
Визначимо МПС
, ІП
'
, ІП
"
:
МПС
=
G
2
y
∙
yS
2
'
+
G
3
y
∙
yC
'
+
G
4
y
∙
yC
'
+
G
5
y
∙
yS
5
'
+
MC
∙∙φ;
|