Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

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

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

Содержание Введение.

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).

Рис 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.

if P1. AW+0.5*P1.DL.

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.

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.1*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.1*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.34 966;

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.

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.5*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 с.

Показать весь текст
Заполнить форму текущей работой