Смекни!
smekni.com

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ

Кафедра ОКММ

Розрахунково-графічна робота

з дисципліни

„Прикладна механіка та основи конструювання”

Виконав:

Перевірив:

ст. гр. АВП 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 – кривошип.

Розіб’ємо механізм на структурні елементи


Рисунок 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∙p1-p2,

W=3∙5-2∙71-0=1,

Так як в результаті розрахунку ми отримали одну ступінь свободи, то помилки допущено не було. Механізм має одну вхідну ланку.

2. Лістінг програми комплексного розрахунку механізму

programMechan1(output);

usescrt,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;

{Описаниемассивов}

varFIab_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}

varXb,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;

varXd,Yd,Xd_1,Yd_1, Xd_2,Yd_2,:massiv;

varXsfd,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 – Зовнішні сили, діючи на механізм

Відмітимо центри мас ланок механізму і усі зовнішні сили, що діють на нього

Визначимо МПС, ІП', ІП":

МПС=G2yyS2'+G3yyC'+G4yyC'+G5yyS5'+MC∙∙φ;