Расчет двухступенчатого рядного механизма при габаритных ограничениях и минимизации массы

Кинематический и габаритный расчет ступенчатых рядных механизмов. Интерфейс программы расчета двухступенчатого рядного механизма при габаритных ограничениях и минимизации массы. Код программы, описание ее переменных и библиотеки функций, констант SV.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.08.2012
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовой проект

Расчет двухступенчатого рядного механизма при габаритных ограничениях и минимизации массы

Содержание

Введение

1. Основные соотношения для кинематического и габаритного расчетов ступенчатых рядных механизмов

2. Интерфейс программы расчета двухступенчатого рядного механизма при габаритных ограничениях и минимизации массы

3. Описание переменных использованных в программе

4. Код программы

5. Описание библиотеки функций и констант SV

Список литературы

Введение

Развитие в настоящее время мехатронных систем (МС), одним из основных элементов которых являются зубчатые механизмы, предполагает использование средств вычислительной техники с целью повышения качества и снижения трудоемкости проектирования механической части МС.

Применение средств автоматизации проектных работ позволяет получать оптимальные технические решения, что, как известно, является неотъемлемой частью ускорения научно-технического прогресса. При этом сроки выполнения проектных работ могут быть существенно сокращены.

При проектировании ступенчатых зубчатых механизмов, входящих в состав различных редукторов приводов исполнительных устройств МС, предлагает использовать оптимизационные алгоритмы при различном числе ступеней для определенного критерия эффективности: минимизации размеров, массы, приведенного момента инерции, угловой погрешности, максимизация КПД при заданных габаритных ограничениях.

Планетарные зубчатые механизмы синтезируются исходя из заданных габаритных ограничениях при выполнении условий соосности, соседства и сборки. Волновые зубчатые механизмы проектируются так, чтобы внутри гибкого колеса можно было разместить двигатель и другие устройства заданных габаритов. При расчетах планетарных и волновых механизмов предлагаемые алгоритмы программ обеспечивают расчет возможных вариантов решения задачи, оставляя окончательный выбор за проектантом. При этом предполагается введение дополнительных критериев эффективности для обеспечения выбора среди сформированной совокупности альтернатив.

Речь идет о разработке не отдельных компонентов, а мехатронной системы в целом, что однозначно предполагает использования системного подхода. При этом принятие проектных решений должно осуществляться на основе анализа разнообразной информации: от схемных решений и параметров аналогов МС до результатов математического моделирования функционирования МС на ЭВМ. Важным для проектанта оказывается не только знание существующего математического аппарата и компьютерной техники, но и умение принимать проектные решения при недостатке информации.

двухступенчатый рядный механизм габаритный программа

1. Основные соотношения для кинематического и габаритного расчетов ступенчатых рядных механизмов

Проектировочный расчет кинематических параметров и габаритных размеров ступенчатого зубчатого механизма состоит в определении для каждой ступени передаточных чисел, числа зубьев и размеров шестерен и колес, межосевых расстояний, а также габаритов всего механизма. Проектировочный расчет основан на ряде кинематических, геометрических и иных соотношений.

Оптимальный диапазон изменения передаточных чисел для цилиндрической прямозубой передачи:

(1)

где - числа зубьев шестерни и колеса в ступени j.

Общее передаточное отношение редуктора, включающего k ступеней:

. (2)

Условие рационального распределения передаточных чисел по отдельным ступеням редуктора при главенствующих критериях минимума его габаритов и массы:

(3)

если главные критерии -- минимальная угловая погрешность (мертвый ход) и максимальный КПД редуктора, то

(4)

Рациональный диапазон применяемых чисел зубьев шестерен и колес для цилиндрических прямозубых передач внешнего зацепления:

(5)

Шестерни с числом зубьев могут быть нарезаны без смещения исходного контура (инструмента), если числа зубьев равны 14-20, то обязательно положительное смещение.

Контактная выносливость и износостойкость зубьев увеличивается, если у чисел зубьев сопряженных колес отсутствуют общие множители. Это условие можно записать следующим образом:

(6)

где - целые числа, причем .

Выполнение условия (6) особенно существенно для высокоскоростных передач, имеющих окружные скорости колес выше 10 м/с.

Габаритные условия для двух -- и трехступенчатых определяется схемой расположения отдельных передач (рис.1). При заданных предельных размерах для двухступенчатого редуктора, выполненного по схеме «уступом» (рис.1, а):

; , (7)

; , (8)

; , (9)

; , (10)

для двухступенчатого соосного редуктора (рис.1, б):

; , (11)

; ; (12)

Кроме того, сохраняются условия (7), (8) и (10).

В выражениях (7)...(12) - габаритные размеры редуктора; - диаметр окружности вершин колеса i=2, или шестерни, i=1 ступени j:

; (13)

, (14)

- диаметр делительной окружности; - межосевое расстояние ступени j; - модуль этой ступени; - коэффициент высоты головки исходного контура; - коэффициент смещения исходного контура для шестерни и колеса передачи, в зависимости от суммарного коэффициента смещения:

; ;

, ;

- угол профиля исходного контура; - угол наклона линии зуба; - угол зацепления в торцовом сечении зуба; - делительное межосевое расстояние передачи;

(15)

ее межосевое расстояние; - коэффициент воспринимаемого смещения; - коэффициент уравнительного смещения.

Для прямозубых цилиндрических передач , изготовляемых без смещения :

, (16)

. (17)

В соосности конструкции (рис.1, б) необходимо обеспечить равенство межосевых расстояний и . Для зубчатых передач, выполненных без смещения (или равносмещенных, , ), требование соосности приводит к соотношению:

; . (18)

Условие (18) существенно ограничивает диапазон возможных сочетаний чисел зубьев, в особенности при . Применение в одной передаче колес, нарезаемых со смещением с коэффициентом суммарного смещения , значительно расширяет указанный диапазон сочетаний , a условие соосности с учетом (15) примет вид , откуда

; , (19)

- допускаемое значение коэффициента воспринимаемого смещения. Полученная из (19) величина y позволяет найти необходимые коэффициенты смещений для шестерни и колеса и уточнить их диаметральные размеры по формуле (13).

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис 1, а

Рис 1, б

2. Интерфейс программы расчета двухступенчатого рядного механизма при габаритных ограничениях и минимизации мертвого хода

Рис. 2 Главная форма

3. Описание переменных использованных в программе

Идентификатор

Обозначение величины

Единица

Название величины

K1MIN

z11min

-

Минимальное число зубьев шестерни для 1-й ступени

K1MAX

z11max

-

То же, максимальное

L1MIN

z21min

-

Минимальное число зубьев колеса для 1-й ступени

L1MAX

z21max

-

То же, максимальное

K2MIN

z12min

--

Минимальное число зубьев шестерни для 2-й ступени

K2MAX

z12max

-

То же, максимальное

L2MIN

z22min

-

Минимальное число зубьев колеса для 2-й ступени

SM1

m1

мм

Модуль 1-й ступени

SM2

m2

-

Модуль 2-й ступени

B1

b1

мм

Ширина шестерни и зубчатого колеса 1-й ступени

B2

b2

-

То же,для 2-й ступени

LTR

LTR

-

Условный параметр

DU

[? i]

%

Допускаемая погрешность реализации передаточного отношения

K1

z11

--

Число зубьев шестерни и колеса 1-й ступени

K2

z12

-

То же, для 2-й ступени

L2

z22

-

То же, для 2-й ступени

U1

u1

-

Передаточное число для 1-й ступени

U2

u2

-

То же, для 2-й ступени

U

iB

-

Передаточное отношение механизма

DK1

da11

мм

Диаметр окружности вершин шестерни 1й ступени

DL1

da21

-

То же, для колеса 1-й ступени

DK2

da12

-

То же, для шестерни 2-й ступени

DL2

da22

-

То же, для колеса 2-й ступени

AW1

aw1

-

Межосевое расстояние для 1-й ступени

AW2

aw2

-

То же, для 2-й ступени

A1

A1

-

Минимальная масса зубчатых колес редуктора(для ZTMM34)

A2

A2

-

A3

A3

-

RM

Mp min

кг

Габаритные размеры редуктора

4. Код программы

unit kur;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, jpeg, ExtCtrls, sv;

type

TANSWER = record

K1:string;

L1:string;

K2:string;

L2:string;

U1:string;

U2:string;

U0:string;

DUR:string;

DK1:string;

DL1:string;

DK2:string;

DL2:string;

AW1:string;

AW2:string;

A1:string;

A2:string;

A3:string;

end;

TZTMM33 = class(TForm)

GroupBox1: TGroupBox;

Count: TButton;

Exit: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit7: TEdit;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

ProgressBar1: TProgressBar;

Edit11: TEdit;

Edit12: TEdit;

Edit13: TEdit;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Edit17: TEdit;

Memo1: TMemo;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

procedure CountClick(Sender: TObject);

procedure ExitClick(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

ZTMM33: TZTMM33;

procedure ShowZTMM33;

implementation

{$R *.dfm}

procedure TZTMM33.CountClick(Sender: TObject);

var DUT,UT,DU,SM1,SM2,AG1,AG2,AG3:real;

K1MIN,K1MAX,L1MIN,L1MAX,K2MIN,K2MAX,L2MIN,L2MAX,LTR,LTM:integer;

i,j,k,m,z:integer;

Fn:real;

ANSWER:TANSWER;

p1,p2: TSV3DATA;

param: TSV5DATA;

begin

UT:=strtofloat(Edit1.Text);

DU:=strtofloat(Edit17.Text);

SM1:=strtofloat(Edit2.Text);

SM2:=strtofloat(Edit3.Text);

AG1:=strtofloat(Edit4.Text);

AG2:=strtofloat(Edit5.Text);

AG3:=strtofloat(Edit6.Text);

K1MIN:=strtoint(Edit7.Text);

L1MIN:=strtoint(Edit8.Text);

K2MIN:=strtoint(Edit9.Text);

L2MIN:=strtoint(Edit10.Text);

K1MAX:=strtoint(Edit11.Text);

L1MAX:=strtoint(Edit12.Text);

K2MAX:=strtoint(Edit13.Text);

L2MAX:=strtoint(Edit14.Text);

LTR:=strtoint(Edit15.Text);

LTM:=strtoint(Edit16.Text);

memo1.Lines.Clear;

Fn:=SVM(LTM,AG1,AG2,AG3);

for i:=K1MIN to K1MAX do

BEGIN

ProgressBar1.Position:=Round((i-K1MIN)*100/(K1MAX-K1MIN));

for j:=L1MIN to L1MAX do

BEGIN

p1:=SV3(i,j,LTR,SM1,AG3);

if P1.U>UT+UT*DU/100 then break;

if P1.IP=0 then

if 0.5*P1.DK<AG1 then

if P1.AW+0.5*P1.DL<AG2 then

for k:=K2MIN to K2MAX do

for m:=L2MIN to L2MAX do

BEGIN

P2:=SV3(k,m,LTR,SM2,AG3);

if P1.U*P2.U>UT+UT*DU/100 then break;

IF P2.IP=0 THEN

IF P1.U>P2.U THEN

IF P1.AW+P2.AW+0.5*P2.DL<AG2 THEN

Begin

DUT:=abs((UT-P1.U*P2.U)*100/UT);

if DU>DUT then

Begin

Param:=SV5(P1.DK,P1.DL,P2.DK,P2.DL,P1.AW,P2.AW);

if Fn>SVM(LTM,Param.A1,Param.A2,Param.A3) then

begin

Fn:=SVM(LTM,Param.A1,Param.A2,Param.A3);

with ANSWER do

begin

K1:=' K1='+inttostr(i);

L1:=' L1='+inttostr(j);

K2:=' K2='+inttostr(k);

L2:=' L2='+inttostr(m);

U1:=' U1='+floattostrF(P1.U,ffFixed,7,3);

U2:=' U2='+floattostrF(P2.U,ffFixed,7,3);

U0:=' U='+floattostrF(P1.U*P2.U,ffFixed,7,3);

DUR:=' dU='+floattostrF(DUT,ffFixed,7,3)+'%';

DK1:=' DK1='+floattostrF(P1.DK,ffFixed,7,3)+' мм';

DL1:=' DL1='+floattostrF(P1.DL,ffFixed,7,3)+' мм';

DK2:=' DK2='+floattostrF(P2.DK,ffFixed,7,3)+' мм';

DL2:=' DL2='+floattostrF(P2.DL,ffFixed,7,3)+' мм';

AW1:=' AW1='+floattostrF(P1.AW,ffFixed,7,3)+' мм';

AW2:=' AW2='+floattostrF(P2.AW,ffFixed,7,3)+' мм';

A1:=' A1='+floattostrF(Param.A1,ffFixed,7,3)+' мм';

A2:=' A2='+floattostrF(Param.A2,ffFixed,7,3)+' мм';

A3:=' A3='+floattostrF(Param.A3,ffFixed,7,3)+' мм';

end;

end;

End;

End;

END;

END;

END;

with ANSWER do

begin

memo1.Lines.Add(K1);

memo1.Lines.Add(L1);

memo1.Lines.Add(K2);

memo1.Lines.Add(L2);

memo1.Lines.Add(U1);

memo1.Lines.Add(U2);

memo1.Lines.Add(U0);

memo1.Lines.Add(DUR);

memo1.Lines.Add(DK1);

memo1.Lines.Add(DL1);

memo1.Lines.Add(DK2);

memo1.Lines.Add(DL2);

memo1.Lines.Add(AW1);

memo1.Lines.Add(AW2);

memo1.Lines.Add(A1);

memo1.Lines.Add(A2);

memo1.Lines.Add(A3);

end;

end;

procedure ShowZTMM33;

begin

TZTMM33.Create(Application).ShowModal;

end;

procedure TZTMM33.ExitClick(Sender: TObject);

begin

close;

end;

procedure TZTMM33.FormShow(Sender: TObject);

begin

memo1.Clear;

end;

end.

5. Описание библиотеки функций и констант SV

unit sv;

interface

Uses Math;

Type

TSV3DATA = record

IP:byte;

U:real;

DK:real;

DL:real;

AW:real;

end;

TSV5DATA = record

A1:Real;

A2:Real;

A3:Real;

end;

TSV6DATA = record

Y:Real;

IP:Byte;

end;

TSV15DATA= record

D1:real;

D2:real;

AW:real;

DR:real;

IP:byte;

end;

TSVZ1DATA= record

ALF:real;

HAZ:real;

CZ:real;

end;

TSVOL2DATA=record

NP:String[3];

D0:byte;

d:byte;

B:byte;

WPD:integer;

end;

TSVOL5DATA=record

Xf:real;

Xc:real;

dF:real;

daF:real;

dfF:real;

dC:real;

daC:real;

dfC:real;

end;

TSVOL6DATA=record

HZF:real;

HF:real;

BWF:real;

BWC:real;

BF:real;

BK:real;

HC:real;

end;

var NPM:array [1..11] of string[3] =

('806','808','809','811','812','815','818','822','824','830','836');

D0M:array [1..11] of byte =(42,52,62,72,80,100,120,150,160,200,240);

dM:array [1..11] of byte =(30,40,45,55,60, 75, 90,110,120,150,180);

BM:array [1..11] of integer =(7,8,9,11,13,15,18,24,24,30,35);

WPDM:array [1..11] of integer =

(4000,4000,3500,3500,3500,3000,3000,2500,2500,1600,1600);

function SV1(K,N:integer):boolean;

function SV2(K,L:integer):boolean;

function SV3(K,L,LTR:integer; SM,AG:real): TSV3DATA;

function SV5(DK1,DL1,DK2,DL2,AW1,AW2:real):TSV5DATA;

function SV6(YD,AW1,AW2,SM1:real):TSV6Data;

function SV12(DK1,DL1,DK2,DL2,DK3,DL3,AW1,AW2,AW3:real):TSV5DATA;

function SV15(KPZ,K1,K2,NW,LTR1,LTR2:integer; SM,AG:real):TSV15DATA;

function SV16(NW,KA,KB:integer):boolean;

function SV18(SM1,SM2:real; KA,KG,KF:integer):integer;

function SV20(B1,B2,DK1,DL1,DK2,DL2:real):real;

function SV21(B1,B2,DK1,DL1,DK2,DL2,U1,U2:real):real;

function SV22(AW1,AW2,U2,DL1,DL2:real; LPG: byte):real;

function ZM(B,D:real):real;

function ZJ(B,D:real):real;

function FPG(AW,D:real;LPG: byte):real;

function SVM(LTM:byte; AG1,AG2,AG3:real):real;

function SVZ1(SM:real; LH:byte): TSVZ1DATA;

function SVOL2(Dpr:real):TSVOL2DATA;

function SVOL3(D0:byte; SM,HAZ,CZ:real):integer;

function SVOL4(PR:byte; KF,KC:integer):real;

function SVOL5(ZF,ZC: integer; SM,HAZ,CZ:real):TSVOL5DATA;

function SVOL6(KF:integer; dF,dC,DP,SM,Xf,HAZ,CZ:real):TSVOL6DATA;

implementation

function SV1(K,N:integer):boolean;

begin

SV1:=false;

if K mod N = 0 then SV1:=true;

end;

function SV2(K,L:integer):boolean;

var i:integer;

begin

SV2:=false;

for i:=2 to K do if (SV1(K,i)=true) and (SV1(L,i)=true) then SV2:=true;

end;

function SV3(K,L,LTR:integer; SM,AG:real): TSV3DATA;

begin

SV3.IP:=1;

SV3.U:=L/K;

if (result.U>1) and (result.U<6) then begin

SV3.DK:=SM*(K+2);

if result.DK-AG<=0 then begin

SV3.DL:=SM*(L+2);

if result.DL-AG<=0 then

begin

if LTR=0 then

begin

SV3.AW:=0.5*SM*(K+L);

SV3.IP:=0;

end else if SV2(K,L)=false then

begin

SV3.AW:=0.5*SM*(K+L);

SV3.IP:=0;

end;

end;

end;

end;

end;

function SV5(DK1,DL1,DK2,DL2,AW1,AW2:real):TSV5DATA;

begin

SV5.A1:=0.5*DK1;

SV5.A2:=max((AW1+0.5*DL1),(AW1+AW2+0.5*DL2));

SV5.A3:=max(max(DK1,DL1),max(DK2,DL2));

end;

function SV6(YD,AW1,AW2,SM1:real):TSV6Data;

begin

SV6.Y:=(AW2-AW1)/SM1;

if result{SV6}.Y<0 then SV6.IP:=4;

if result{SV6}.Y=0 then SV6.IP:=2;

If result{SV6}.Y>0 then if result{SV6}.Y-YD>0 then SV6.IP:=4 else SV6.IP:=2;

end;

function SV12(DK1,DL1,DK2,DL2,DK3,DL3,AW1,AW2,AW3:real):TSV5DATA;

begin

SV12.A1:=0.5*DK1;

SV12.A2:=max(max((AW1+0.5*DL1),(AW1+AW2+0.5*DL2)),(AW1+AW2+AW3+0.5*DL3));

SV12.A3:=max(max(max(DK1,DL1),max(DK2,DL2)),max(DK3,DL3));

end;

function SV15(KPZ,K1,K2,NW,LTR1,LTR2:integer; SM,AG:real):TSV15DATA;

label M2,M3,M4,M5,M6,M7,M8,M9,M10,M15,M17,M18,M20,M21,M25,M30,M40,Mend;

var U:real;

begin

U:=k2/k1;

case KPZ of

1: goto M4;

2: goto M2;

3: goto M3;

end;

M2: if U<1 then goto M40 else goto M4;

M3: if ((K1*K1-34)/(2*K1-34))>K2 then goto M40 else goto M5;

M4: if U>6 then goto M25 else goto M6;

M5: if U>8 then goto M25 else goto M6;

M6: if LTR1=1 then goto M7 else goto M10;

M7: if KPZ=3 then goto M9 else goto M8;

M8: if SV1(K1,NW)=true then goto M25 else goto M10;

M9: if SV1(K2,NW)=true then goto M40 else goto M10;

M10: if LTR2=1 then goto M15 else goto M17;

M15: if SV2(K1,K2)=true then goto M40 else goto M17;

M17: SV15.D1:=SM*(K1+2*SVZ1(SM,0).HAZ);

if KPZ=3 then goto M20 else goto M18;

M18: SV15.D2:=SM*(K2+2*SVZ1(SM,0).HAZ);

SV15.AW:=0.5*SM*(K1+K2);

SV15.DR:=2*result{SV15}.AW+result{SV15}.D2;

goto M21;

M20: SV15.D2:=SM*(K2+2*(SVZ1(SM,0).HAZ+SVZ1(SM,0).CZ));

SV15.AW:=0.5*SM*(K2-K1);

SV15.DR:=result{SV15}.D2;

M21: if result{SV15}.DR>AG then goto M25 else goto M30;

M25: SV15.IP:=1;

goto Mend;

M30: SV15.IP:=2;

goto Mend;

M40: SV15.IP:=3;

Mend: end;

function SV16(NW,KA,KB:integer):boolean;

begin

SV16:=false;

SV16:=SV1(KA+KB,NW);

end;

function SV18(SM1,SM2:real; KA,KG,KF:integer):integer;

begin

SV18:=Ceil((SM1*(KA+KG)+SM2*KF)/SM2);

end;

function SV20(B1,B2,DK1,DL1,DK2,DL2:real):real;

begin

SV20:=ZM(B1,DK1)+ZM(B1,DL1)+ZM(B2,DK2)+ZM(B2,DL2);

end;

function SV21(B1,B2,DK1,DL1,DK2,DL2,U1,U2:real):real;

begin

SV21:=ZJ(B1,DK1)+(ZJ(B1,DL1)+ZJ(B2,DK2))/(U1*U1)+ZJ(B2,DL2)/((U1*U1)*(U2*U2));

end;

function SV22(AW1,AW2,U2,DL1,DL2:real; LPG: byte):real;

begin

SV22:=FPG(AW1,DL1,LPG)/U2+FPG(AW2,DL2,LPG);

end;

function ZM(B,D:real):real;

var cm:real;

begin

if D<20 then cm:=6.8;

if (D>=20) and (D<25) then if B<2 then cm:=6.8 else cm:=4.6;

if D>=25 then if B<2 then cm:=5.4 else cm:=3.2;

ZM:=0.000001*cm*B*D*D;

end;

function ZJ(B,D:real):real;

var cj:real;

begin

if D<20 then cj:=0.77;

if (D>=20) and (D<25) then if B<2 then cj:=0.77 else cj:=0.52;

if D>=25 then if B<2 then cj:=0.44 else cj:=0.2;

ZJ:=0.000001*cj*B*D*D*D*D;

end;

function FPG(AW,D:real;LPG: byte):real;

var Jn:byte;

begin

case LPG of

1: begin if AW<12 then Jn:=6;

if (AW>=12) and (AW<20) then Jn:=8;

if (AW>=20) and (AW<32) then Jn:=9;

if (AW>=32) and (AW<50) then Jn:=11;

if (AW>=50) and (AW<80) then Jn:=13; end;

2: begin if AW<12 then Jn:=9;

if (AW>=12) and (AW<20) then Jn:=11;

if (AW>=20) and (AW<32) then Jn:=13;

if (AW>=32) and (AW<50) then Jn:=16;

if (AW>=50) and (AW<80) then Jn:=19; end;

3: begin if AW<12 then Jn:=15;

if (AW>=12) and (AW<20) then Jn:=18;

if (AW>=20) and (AW<32) then Jn:=21;

if (AW>=32) and (AW<50) then Jn:=25;

if (AW>=50) and (AW<80) then Jn:=30; end;

4: begin if AW<12 then Jn:=22;

if (AW>=12) and (AW<20) then Jn:=27;

if (AW>=20) and (AW<32) then Jn:=33;

if (AW>=32) and (AW<50) then Jn:=39;

if (AW>=50) and (AW<80) then Jn:=46;

end;

end;

FPG:=6.88*Jn/D;

end;

function SVM(LTM:byte; AG1,AG2,AG3:real):real;

begin

case LTM of

1: SVM:=AG1;

2: SVM:=AG2;

3: SVM:=AG1+AG2;

4: SVM:=AG3;

5: SVM:=(AG1+AG2)*AG3;

end;

end;

function SVZ1(SM:real; LH:byte): TSVZ1DATA;

begin

SVZ1.ALF:=0.34966;

if LH<=0 then SVZ1.HAZ:=1 else SVZ1.HAZ:=1.1;

if SM<=0.5 then SVZ1.CZ:=0.5;

if (SM>0.5) and (SM<=1) then SVZ1.CZ:=0.35;

if SM>1 then SVZ1.CZ:=0.25;

end;

function SVOL2(Dpr:real):TSVOL2DATA;

var i:integer;

begin

for i:=1 to 11 do if Dpr<D0M[i] then break;

SVOL2.NP:=NPM[i];

SVOL2.D0:=D0M[i];

SVOL2.d:=dM[i];

SVOL2.B:=BM[i];

SVOL2.WPD:=WPDM[i];

end;

function SVOL3(D0:byte; SM,HAZ,CZ:real):integer;

begin

SVOL3:=Floor(D0/SM-5.88+1.96*(HAZ+CZ));

if result{SVOL3} mod 2 <> 0 then SVOL3:=result{SVOL3}-1;

end;

function SVOL4(PR:byte; KF,KC:integer):real;

begin

case PR of

1: SVOL4:=0.5*KC;

2: SVOL4:=0.5*KF;

end;

if (result{SVOL4}<70) then SVOL4:=-1;

if (result{SVOL4}>300) then SVOL4:=-3;

end;

function SVOL5(ZF,ZC: integer; SM,HAZ,CZ:real):TSVOL5DATA;

var Kw,Kf:real;

begin

Kw:=1.1;

Kf:=0.4;

SVOL5.Xf:=3+0.01*ZF;

SVOL5.Xc:=result{SVOL5}.Xf-1+Kw*(1+0.00005*Kw*ZF);

SVOL5.dF:=SM*ZF;

SVOL5.daF:=result{SVOL5}.dF+2*(result{SVOL5}.Xf+Kf)*SM;

SVOL5.dfF:=result{SVOL5}.dF+2*(result{SVOL5}.Xf-HAZ-CZ)*SM;

SVOL5.dC:=SM*ZC;

SVOL5.daC:=result{SVOL5}.dC+2*(result{SVOL5}.Xc-HAZ)*SM;

SVOL5.dfC:=result{SVOL5}.daC+2*(HAZ+CZ+Kf)*SM;

end;

function SVOL6(KF:integer; dF,dC,DP,SM,Xf,HAZ,CZ:real):TSVOL6DATA;

begin

SVOL6.HZF:=SM*(0.5*KF+Xf-(HAZ+CZ))-0.5*DP;

SVOL6.HF:=0.7*result{SVOL6}.HZF;

SVOL6.BWF:=0.2*dF;

SVOL6.BWC:=result{SVOL6}.BWF+3;

SVOL6.BF:=0.06*dF;

SVOL6.BK:=dF;

SVOL6.HC:=0.18*dC;

end;

end.

Список литературы

1. Автоматизированное проектирование зубчатых передач мехатронных систем: Методические указания по курсовому проектированию / Сост.: А.З. Копылов, В.Ю, Лавров; Балт. гос. техн. ун-т. Спб., 2003. 39 с.

2. Копылов А.З. Проектирование мехатронных систем: Учеб. пособие / Балт. гос. техн. ун-т. Спб., 2002. 44.

3. Неклюдов С.Ю. Алгоритмизация и программирование вычислительных процессов в инегрированной среде BORLAND PASCAL -- Спб.: Энергоатом-издат, Санкт-Петербургское отделение, 2000 -- 319 с.ил.

4. Применение Delphi при проектировании мехатронных систем: Методические указания по выполнению лабораторных работ и курсового проекта / Сост.: А.З.Копылов; Балт. гос. техн. ун-т. Спб., 2003. 26 с.

Размещено на Allbest.ru


Подобные документы

  • Разработка программы, моделирующей работу сложного механизма, состоящего из двух кривошипов, шатунов и ползуна, в среде Delphi 7. Описание алгоритма работы программы и расчет ускорения точек механизма. Обзор уравнения сложности и руководства пользователя.

    курсовая работа [143,3 K], добавлен 07.08.2013

  • Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.

    курсовая работа [305,9 K], добавлен 03.07.2011

  • Технико-математическое описание и назначение программы "Расчет фундаментов": предоставление краткого описания формул вычисления и инженерного калькулятора, вывод информации на печать, простой интерфейс. Тестирование вычислительной системы программы.

    дипломная работа [4,4 M], добавлен 25.09.2014

  • Анализ, математическая постановка задачи. Описание алгоритма работы основной программы. Детализация отдельных участков программы. Графический интерфейс программы "15". Описания используемых типов, глобальных переменных, процедур, функций. Процесс отладки.

    курсовая работа [48,8 K], добавлен 14.02.2009

  • Разработка программы-приложения для создания композиции кривых второго порядка в полярных координатах. Описание используемых констант, переменных, компонентов, процедур и функций. Источники входной и выходной информации. Требования к программе и системе.

    реферат [125,2 K], добавлен 28.05.2014

  • Разработка и внедрение механизма расчета заработной платы с использованием ключевых показателей эффективности (KPI), механизмов анализа эффективности подразделения и организации в целом. Расчет капитальных затрат на создание и внедрение программы.

    курсовая работа [418,0 K], добавлен 19.09.2014

  • Описание предметной области. Характеристика программных средств. Описание компонентов, интерфейс программы. Описание процедур и функций. Вызов и загрузка программы. Испытание методом белого и черного ящика на ошибки кода программного приложения.

    курсовая работа [2,2 M], добавлен 26.04.2015

  • Анализ и описание алгоритма. Основные характеристики выбранного компьютера, программных сред (операционная система и среда программирования). Описание компонентов и интерфейса программы, а также модулей, процедур и функций. Вызов и загрузка программы.

    курсовая работа [1,3 M], добавлен 26.04.2015

  • Существующие альтернативы программы. Описание формул для выкроек, используемых в разработке. Описание разрабатываемой программы, а также структура ее интерфейса. Детальное описание возможностей и спецификация, функциональные особенности программы.

    курсовая работа [427,4 K], добавлен 10.10.2015

  • Сущность понятия "код блюда". Алгоритмы обучения и использования программы. Логика работы программы. Общий интерфейс программы. Последовательность обучения программе Lota+. Интерфейс программы в момент выбора параметров и получения общего результата.

    курсовая работа [563,6 K], добавлен 01.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.