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

2684

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

'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;

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