|
Механізми
Механізми
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ Кафедра ОКММ Розрахунково-графічна робота з дисципліни „Прикладна механіка та основи конструювання” Виконав: Перевірив: ст. гр. АВП 02-1 Кулик Є. В. м. Краматорськ 2004г. Зміст 1. Структурний аналіз механізму 2. Лістінг програми комплексного розрахунку механізму 3. Контроль передатних функцій механізму 4. Параметри динамічної моделі механізму 1. Структурний аналіз механізму Визначити передатні функції механізму зображеного на схемі Рисунок 1 - Схема механізму Таблиця 1 -Довжини та координати ланок |
LOA,мм | LAC,мм | LBD,мм | LFD,мм | LAB, мм | XF, мм | YF, мм | | 60 | 270 | 150 | 250 | 120 | 40 | -170 | | |
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. Лістінг програми комплексного розрахунку механізму 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; {Описание массивов} 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} 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 - Зовнішні сили, діючи на механізм Відмітимо центри мас ланок механізму і усі зовнішні сили, що діють на нього Визначимо МПС, ІП', ІП": МПС=G2y•yS2'+G3y•yC'+G4y•yC'+G5y•yS5'+MC••?;
|
|