МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ
Кафедра ОКММ
Розрахунково-графічна робота
з дисципліни
„Прикладна механіка та основи конструювання”
Виконав:
Перевірив:
ст. гр. АВП 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 – кривошип.
Розіб’ємо механізм на структурні елементи
№ | Означення | Номери ланок | Вид КП | |
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 – Зовнішні сили, діючи на механізм
Відмітимо центри мас ланок механізму і усі зовнішні сили, що діють на нього
Визначимо МПС, ІП', ІП":
МПС=G2y∙yS2'+G3y∙yC'+G4y∙yC'+G5y∙yS5'+MC∙∙φ;