Методическое пособие 527
.pdf'3':point_4_3; else goto 1; end; clearviewport; end;
procedure point_5_1; var t,d,a,ft,fr,fn:real; begin
closegraph;
clrscr;
writeln('Введите крутящий момент T='); gotoxy(28,1);
read(t);
writeln('Введите диаметр колеса d='); gotoxy(27,2);
read(d);
writeln('Введите угол альфа-дубль-в='); gotoxy(29,3);
read(a);
a:=a*3.14/180;
ft:=2*t/d;
fr:=ft*sin(a)/cos(a);
fn:=ft/cos(a);
writeln('Ft=',ft);
writeln('Fr=',fr);
writeln('Fn=',fn); repeat until keypressed;
initgraph(gd,gm,'c:\tp\bgi');
end;
procedure point_5_2;
var t,d,g,a,fi,ft1,ft2,fn,fr:real; begin
closegraph;
clrscr;
writeln('Введите крутящий момент Т2=');
gotoxy(28,1);
read(t);
writeln('Введите диаметр d2='); gotoxy(20,2);
read(d);
writeln('Введите делительный угол подъема винтовой линии гамма=');
gotoxy(55,3);
read(g);
g:=g*3.14/180;
writeln('Введите угол альфа-дубль-в='); gotoxy(28,4);
read(a);
a:=a*3.14/180;
writeln('Введите угол трения ='); gotoxy(22,5);
read(fi);
fi:=fi*3.14/180;
ft2:=2*t/d;
fr:=ft2*sin(a)/cos(a);
ft1:=ft2*sin(g+fi)/cos(g+fi);
fn:=ft2/(cos(g)*cos(a));
writeln;
writeln('Ft1=',ft1);
writeln('Fr=',fr);
writeln('Ft2=',ft2);
writeln('Fn=',fn); repeat until keypressed;
initgraph(gd,gm,'c:\tp\bgi');
end;
procedure point_5; 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,210,cyan); settextjustify(0,1); outtextxy(200,160,'1. Прямозубая'); outtextxy(200,180,'2. Червячная'); repeat until keypressed;
key:=readkey; case key of '1':point_5_1; '2':point_5_2; else goto 1; end; clearviewport; end;
procedure point_6; var
d,Mp,sigma_i,Fx,sigma_s,t,tau,sigma:real; begin
closegraph;
textbackground(blue);
clrscr;
writeln('Введите диаметр сечения d[мм]='); gotoxy(31,1);
read(d);
writeln('Введите расчетный изгибающий момент Мр[Н*мм]=');
gotoxy(46,2);
read(Mp); sigma_i:=Mp/(0.1*d*d*d);
writeln('Введите силу, вызывающую сжатие или растяжение Fx[H]=');
gotoxy(54,3);
read(Fx); sigma_s:=Fx*4/(3.1415*d*d);
writeln('Введите крутящий момент Tх[Н*мм]='); gotoxy(34,4);
read(t);
tau:=t/(0.2*d*d*d); sigma:=sqrt((sigma_i+sigma_s)*(sigma_i+sigma_s )+3*tau*tau);
writeln;
writeln('Приведенное напряжение СИГМАпр=',sigma);
repeat until keypressed; initgraph(gd,gm,'c:\tp\bgi'); end;
procedure point_7; begin
setbkcolor(black);
clearviewport;
settextjustify(1,1);
setcolor(cyan);
outtextxy(320,50,'Программу разработали:'); outtextxy(320,70,'студент Камалов
Константин');
outtextxy(320,180,'доцент кафедры РЭУС'); outtextxy(320,200,'Андреев Игорь
Викторович');
repeat until keypressed; key:=readkey; clearviewport;
end;
procedure main_menu; label 1,2;
begin 2:settextjustify(1,1);
setbkcolor(darkgray);
setcolor(white);
box(163,28,470,75,magenta);
settextstyle(1,0,1); outtextxy(320,50,'Расчет зубчатой
передачи'); box(120,120,520,300,cyan); settextjustify(0,1); outtextxy(140,140,'1. Внешний вид
механизма');
outtextxy(140,160,'2. Расчет геометрии механизма');
outtextxy(140,180,'3. Прочностной расчет механизма');
outtextxy(140,200,'4. Расчет КПД механизма');
outtextxy(140,220,'5. Силовой расчет механизма');
outtextxy(140,240,'6. Расчет вала на прочность');
outtextxy(140,260,'7. Сведения об авторах'); outtextxy(140,280,'8. Выход из программы'); repeat until keypressed;
key:=readkey; case key of '1':point_1; '2':point_2; '3':point_3; '4':point_4; '5':point_5; '6':point_6; '7':point_7; '8':goto 1;
end; goto 2;
1: end; begin
gd:=vga;
gm:=vgamed;
initgraph(gd,gm,'c:\tp\bgi');
title; main_menu; closegraph;
end.
Листинг программы Hard.pas
{Программа расчета жесткой передачи} program Hard;
uses crt; label 1,2; var
key,key1 : char; FD1,FD2,FE,FI12 : real;
GUp,GHp,GN1,GP1,Gh,GT1,GT2 : real;
HR1,HR2,HE1,HE2,HM1,HM2,HF,HB,HSigmaDop,HSigma
,
HRpr,HEpr : real; begin
Textcolor(White);
Textbackground(Blue);
1:Clrscr;
writeln('Расчет механизма жесткой передачи');
writeln(' |
Выберите пункт |
меню:'); |
|
writeln; |
|
writeln('1 |
- расчет кинематики;'); |
writeln('2 |
- силовой расчет;'); |
writeln('3 |
- расчет зацепления на |
прочность'); |
|
writeln('4 |
- выход из программы.'); |
Key:=readkey; case key of
'1':begin writeln('Кинематика:');
write('Введите диаметр первого шкива
D1: ');
readln(FD1);
write('Введите диаметр второго шкива
D2: ');
readln(FD2);
write('Введите коэффициент E: '); readln(FE);
FI12:=FD2*FE/FD1; writeln('Передаточное отношение
I12=',FI12:8:2);
end;
'2':begin writeln('Силовой:');
write('Двигатель с редуктором? (1-
да, 2-нет)'); readln(key1);
if key1='1' then begin write('Введите передаточное число
редуктора Up: '); readln(GUp);
write('Введите КПД редуктора: '); readln(GHp);
end;
write('Введите число оборотов двигателя n1: ');
readln(GN1);
write('Введите мощность двигателя
P1: ');
readln(GP1);
write('Введите КПД передачи: '); readln(GH);
write('Введите передаточное отношение I12: ');
readln(FI12); if key1='1' then
GT1:=((9550*GP1)/(GN1*GUp))*GHp else GT1:=9550*GP1/GN1; GT2:=GT1*FI12*GH;
writeln('Крутящий момент на ведущем валу:',GT1:8:2);
writeln('Крутящий момент на ведомом валу:',GT2:8:2);
end;
'3':begin writeln('Прочность:');
writeln('Введите радиусы кривизны в точках контакта: ');
write(' R1: '); readln(HR1); write(' R2: '); readln(HR2);
writeln('Введите модули упругости
дисков:');
write(' E1: '); readln(HE1); write(' E2: '); readln(HE2);
writeln('Введите коэфф. Пуассона материалов дисков:');
write(' M1: '); readln(HM1); write(' M2: '); readln(HM2);
write('Введите силу притяжения дисков: ');
readln(HF);
write('Введите ширину площадки контакта: ');
readln(HB);
write('Введите допустимое контактное напряжение: ');
readln(HSigmaDop);
HRpr:=HR1*HR2/(HR1+HR2);
HEpr:=2*HE1*HE2/(HE1*(1- HM2*HM2)+HE2*(1-HM1*HM1));
HSigma:=sqrt((1/(2*pi))*(HF/HB)*(HEpr/HRpr)); writeln('Контактное напряжение:
',HSigma:8:2);
If HSigma > HSigmaDop then writeln('Расчет не верен, так как
контактное ', 'напряжение больше допустимого');
end;
'4':begin
write('Действительно желаете закончить работу?');
writeln(' (1-Да; 2-Нет)'); Key:=readkey;
If Key='1' then goto 2 else goto 1; end;
else goto 1;
end;
write('Расчет закончен. Для продолжения ',
'нажмите Enter');readln; goto 1;
2:writeln('Работа программы закончена.'); end.
Листинг программы Fric.pas
{Программа расчета силового механизма фрикционной передачи}
program Fric; uses crt; label 1,2; var
key : char; FD1,FD2,FC,FU,Fa,FLp,Falfa : real; GF0,GF1,GF2,GFb,GF,GFT,GUs : real; HE,HD,HT1,HS,HSigma0,HSigmaM : real;
begin Textcolor(White);
Textbackground(Blue);
1:Clrscr;
writeln('Расчет механизма фрикционной передачи');
writeln(' Выберите пункт меню:');
writeln;
writeln('1 - расчет геометрии;'); writeln('2 - силовой расчет;'); writeln('3 - расчет зацепления на
прочность');
writeln('4 - выход из программы.');
Key:=readkey;