Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2684

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
2.05 Mб
Скачать

writeln('Значение диаметра впадин червяка df1[мм] = ',df1:8:3);

writeln;

if (z1=1)or(z1=2) then b1:=(11+0.06*z2)*m else

b1:=(12.5+0.09*z2)*m;

writeln('Значение длины нарезанной части червяка b1[мм] = ',b1:8:3);

writeln('Угол обхвата червяка колесом

2*delta=70...120');

writeln('Угол зацепления aw=20');writeln; d2:=m*z2;

da2:=m*(z2+2); df2:=m*(z2-2.4);

if z1=1 then kn:=2*m; if z1=2 then kn:=1.5*m

else kn:=m; dn:=da2+kn;

writeln('Значение делительного диаметра колеса d2[мм] = ',d2:8:3);

writeln('Значение диаметра вершин колеса da2[мм] = ',da2:8:3);

writeln('Значение диаметра впадин колеса df2[мм] = ',df2:8:3);

writeln('Значение начального диаметра колеса dn[мм] = ',dn:8:3);

b2:=0.75*da1;

writeln('Ширина венца зубчатого колеса b[мм]=',b2:5:2);

ham:=arctan(m*z1/d1); writeln('Значение делительного угла

подъема винтовой линии gamma[рад] =

',ham:5:3);

aw:=0.5*m*(z2+q);

writeln('Значение межосевого расстояния aw = ',aw:8:3);

i:=z2/z1;

writeln('Значение передаточного отношения i=',i:6:3);

end; begin

closegraph;

4:clrscr;

writeln('Выберете тип передачи (1- прямозубая;2-косозубая;3-червячная)');

read(rec); case rec of 1:pryam; 2:kosoz; 3:cherv;

end;

writeln('Для продолжения нажмите любую клавишу');

repeat until keypressed;clrscr; writeln('Желаете ли продолжить работу с

программой ? [1=да/2=нет]'); read(otv1);

if otv1=1 then goto 4; initgraph(gd,gm,'c:\tp\bgi');

exit end;

procedure point_3; label 1;

var i,z1,z2,x,z:integer;

g,c,s,d,u,t,e1,e2,f,f1,x1,amod2,amod3,zs,

kfs,kfl,yf,signfs,

signfa,signf0,sf,b1,b2,sh,sh1,aw,signh,yf

1,yf2,s1,s2,sn,

l,kb1,kb2,ep,sg,a1,a,amod,amod1:real;

ff:text;

w:array[1..35] of real; w1:array[1..11] of real;

q,kb,nh,siga,sign,sigb,sig:array[1..2] of

real;

procedure delw; var i:integer;

begin

for i:=1 to 35 do w[i]:=0; end;

begin closegraph;

1:clrscr;textbackground(1);clrscr; write('Введите тип материала колеса (1-

сталь;2-бронза;3-латунь) '); readln(x);

write('Введите коэффициент динамической нагрузки g = ');

readln(g);

write('Введите коэффициент динамичности внешней нагрузки c = ');

readln(c);

write('Введите коэффициент неравномерности нагрузки по длине зуба s = ');

readln(s);

write('Введите коэффициент длины зуба pciba = ');

readln(d);

write('Введите передаточное число u =

');

readln(u);

write('Введите крутящий момент на шестерне t = ');

readln(t);

write('Введите модуль упругости материала шестерни e1 = ');

readln(e1);

write('Введите модуль упругости материала колеса e2 = ');

readln(e2);

writeln('Введите число оборотов зубчатых колес q1,q2 ');

readln(q[1]);

readln(q[2]);

write('Введите срок службы зацепления l

= ');

readln(l);

write('Введите значение твердости шестерни kb1 = ');

readln(kb[1]);

write('Введите значение твердости колеса kb2 = ');

readln(kb[2]);

write('Введите допускаемый коэффициент безопасности sh = ');

readln(sh);

write('Введите допускаемый коэффициент безопасности для изгиба sh1 = ');

readln(sh1);

for i:=1 to 2 do begin nh[i]:=60*l*q[i]; sigb[i]:=(2*kb[i]+70)/sh;

if x=1 then x1:=2 else x1:=1.2; siga[i]:=x1*sigb[i]; f:=0.0012*sqr(sqr(kb[i]))/nh[i];

if x=1 then f1:=1/6;

if (x=2)or(x=3) then f1:=1/8; sign[i]:=sigb[i]*exp(f1*ln(f)); sig[i]:=sign[i];

if siga[i]<sign[i] then sig[i]:=siga[i];

if sigb[i]>sign[i] then sig[i]:=sigb[i];

end;

sg:=sig[1];

if sig[2]<sig[1] then sg:=sig[2]; ep:=2.0*e1*e2/(e1+e2); f1:=(t*g*c*s*ep)/(sqr(sg)*d*u); a1:=0.82*(u+1.0)*exp((1/3)*ln(f1)); assign(ff,'mechan3.dat'); reset(ff);

i:=1;

while not eoln(ff) do begin read(ff,w[i]);

i:=i+1;

end;close(ff);i:=1; repeat

i:=i+1;

aw:=w[i];

until w[i]>=a1;delw; sf:=1.75;kfs:=1;kfl:=1;

if kb[1]>kb[2] then signf0:=1.8*kb[2] else signf0:=1.8*kb[1];

signfa:=(signf0/sf)*kfs*kfl;

b2:=d*aw;b1:=1.12*b2;

amod2:=6.8*t*(u+1)/(u*a1*b1*signfa);

assign(ff,'mechan.dat');

reset(ff);

i:=1;

while not eoln(ff) do

begin read(ff,w[i]); i:=i+1; end;close(ff);

i:=0; repeat

i:=i+1;

amod:=w[i];

until w[i]>=trunc(amod2*10)/10;delw; writeln;

zs:=2*aw/amod;

z1:=trunc(zs/(u+1)); z2:=trunc(zs-z1);

signh:=310/(aw*u)*sqrt(t*1.2*(u+1)*sqr(u+1)/b2

);

writeln('siga1[МПа] = ',siga[1]:6:1); writeln('siga2[МПа] = ',siga[2]:6:1); writeln('sigb1[МПа] = ',sigb[1]:6:1); writeln('sigb2[МПа] = ',sigb[2]:6:1); writeln('signfa[МПа] = ',signfa:6:1); writeln('Стандартное значение модуля

amod = ',amod:5:3); writeln('Приблеженное межосевое

расстояние a1 = ',a1:8:4);

writeln('Точное межосевое расстояние a =

',aw:8:4);

writeln('Расчетное контактное напряжение signh = ',signh:6:1);

assign(ff,'mechan1.dat');

reset(ff);

i:=1;

while not eoln(ff) do begin

read(ff,w[i]);

i:=i+1;

end;close(ff);

assign(ff,'mechan2.dat');

reset(ff);

i:=1;

while not eoln(ff) do begin

read(ff,w1[i]);

i:=i+1;

end;close(ff);

i:=0; repeat

i:=i+1;if i<>11 then begin

if z1=w[i] then yf1:=w1[i];

if z2=w[i] then yf2:=w1[i];end;

if (z1>w[i])and(z1<w[i+1])and(i<=10) then yf1:=(w1[i]+w1[i+1])/2;

if (z2>w[i])and(z2<w[i+1])and(i<=10) then yf2:=(w1[i]+w1[i+1])/2;

if z1>100 then yf1:=3.6; if z2>100 then yf2:=3.6;

until i>10; s1:=1.8*kb[1]/1.75/yf1; s2:=1.8*kb[2]/1.75/yf2; sn:=s1;

yf:=yf2;

if s1>s2 then begin sn:=s2;yf:=yf1;end; if z1>z2 then z:=z2 else z:=z1; signfs:=yf*(2*t/(amod*z)/(b2*amod))*1.4; writeln('Прочность зубьев на изгиб

signf2[МПа] = ' ,signfs:6:1);textbackground(black);

repeat until keypressed; initgraph(gm,gd,'c:\tp\bgi'); end;

procedure point_4_1;

var f_n,f_tr,z1,z2,n:real; begin

closegraph;

clrscr;

writeln('Введите нормальную нагрузку в зацеплении зубчатых колес Fn[H]=');

gotoxy(63,1); read(f_n);

writeln('Введите коэффициент трения скольжения в зацеплении fтр=');

gotoxy(56,2); read(f_tr);

writeln('Введите число зубьев первого колеса z1=');

gotoxy(40,3);

readln(z1);

writeln('Введите число зубьев второго колеса z2=');

gotoxy(40,4);

readln(z2);

writeln;

writeln('Дай подумать...'); delay(20);

writeln('Так вот оно что...'); delay(20);

writeln; n:=1-

(f_n+3)*f_tr*3.14*(1/z1+1/z2)/(f_n+0.18); writeln('КПД механизма равен ',n); repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi');

end;

procedure point_4_2; var b,ro,n:real; begin

closegraph;

clrscr;

writeln('Введите угол наклона зубьев ведомого колеса бета2=');

gotoxy(51,1);

read(b);

b:=b*3.14/180;

writeln('Введите приведенный угол трения в зацеплении ro=');

gotoxy(50,2);

read(ro);

ro:=ro*3.14/180;

writeln;

n:=0.95*sin(b)*cos(b+ro)/(cos(b)*sin(b+ro)); writeln('КПД механизма равен ',n);

repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi'); end;

procedure point_4_3;

var z,d,m,ro,tangent,ang,n:real; begin

closegraph;

clrscr;

writeln('Введите число витков червяка z='); gotoxy(32,1);

read(z);

writeln('Введите диаметр червяка d='); gotoxy(28,2);

read(d);

writeln('Введите модуль передачи m=');

gotoxy(28,3);

read(m);

writeln('Введите приведенный угол трения в зацеплении ro=');

gotoxy(49,4);

read(ro);

ro:=ro*3.14/180;

tangent:=z*m/d;

ang:=arctan(tangent);

n:=0.95*tangent*cos(ang+ro)/sin(ang+ro); writeln('КПД механизма равен ',n); repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi');

end;

procedure point_4; label 1;

begin

1:clearviewport;

settextjustify(1,1);

setbkcolor(darkgray);

setcolor(white);

box(163,28,470,75,magenta);

settextstyle(1,0,1); outtextxy(320,50,'Выбор типа передачи'); box(180,140,460,230,cyan); settextjustify(0,1); outtextxy(200,160,'1. Прямозубая'); outtextxy(200,180,'2. Косозубая'); outtextxy(200,200,'3. Червячная'); repeat until keypressed;

key:=readkey; case key of '1':point_4_1; '2':point_4_2;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]