Смекни!
smekni.com

Створення програми розрахунку параметрів електричних машин за допомогою середовища Delphi (стр. 5 из 13)

public

{ Public declarations }

end;

var

Form2: TForm2;

{-------------------------------------------------}

D1_zovn,D1,D2_vn,D2,z1,z2,l1,l2,hz1,bz1:real;

bzq1,hz2,bz2,d_d,pov_zaz,mat_st,tov_l,kc1:real;

p2,bq,ai,bp,f_potic:real;

{-------------------------------------------------}

bz_max,kz_min,hz_max,bz_min,kz_max,hz_min,bz_ser,kz_ser,hz_ser:real;

{-------------------------------------------------}

cod1,cod2,cod3,cod4,cod5,cod6,cod7,cod8,cod9,cod10:integer;

cod11,cod12,cod13,cod14,cod15,cod16,cod17,cod18,cod19,cod20:integer;

cod21,cod22,cod23,cod24,cod25,cod26,cod27,cod28,cod29,cod30:integer;

cod31,cod32:integer;

{-------------------------------------------------}

kq,t1,fq,bzmax,bzmin,bzser,hz_1,fz,bzmax2,t2,bzmin2:real;

bzser2,hz_2,fz2,hc1,bc1,pol_dil,hc_1,bc_1:real;

lc1,fc1,hc2,bc2,hc_2,lc2,fc2,f_rush,ku:real;

{-------------------------------------------------}

ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8:integer;

{-------------------------------------------------}

tex1,tex2,tex3,tex4,tex5,tex6,tex7,tex8,tex9,tex10:string;

tex11,tex12,tex13,tex14,tex15,tex16,tex17,tex18,tex19,tex20:string;

tex21,tex22,tex23,tex24,tex25:string;

{-------------------------------------------------}

aa:array[1..17,0..9] of real;

f1,ba1,f2,ba2,f3,ba3,f4,ba4:real;

A1,B2,A2,B3,A3,b4,a4,b5:byte;

{-------------------------------------------------}

const line='___________________________________________________';

implementation

uses Unit1, Unit4, Unit7;

{$R *.dfm}

function RoundTo(num:real; r:byte):real;

var

rt:longint;

i:byte;

begin

rt:=1;

for i:=1 to r do rt:=rt*10;

RoundTo:=round(num*rt)/rt;

end;

procedure TForm2.N2Click(Sender: TObject);

begin

form1.close;

end;

procedure TForm2.N6Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm2.Timer1Timer(Sender: TObject);

begin

if label1.Visible=true then

label1.Visible:=false

else label1.Visible:=true;

end;

procedure TForm2.BitBtn3Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

form1.Show;

form2.Visible:=false;

end;

procedure TForm2.N3Click(Sender: TObject);

begin

form1.Show;

form2.Visible:=false;

end;

procedure TForm2.BitBtn2Click(Sender: TObject);

begin

aa[1,0]:=0.52;aa[1,1]:=0.53;aa[1,2]:=0.54;aa[1,3]:=0.55;aa[1,4]:=0.56;

aa[1,5]:=0.58;aa[1,6]:=0.59;aa[1,7]:=0.60;aa[1,8]:=0.61;aa[1,9]:=0.62;

aa[2,0]:=0.64;aa[2,1]:=0.65;aa[2,2]:=0.66;aa[2,3]:=0.67;aa[2,4]:=0.69;

aa[2,5]:=0.70;aa[2,6]:=0.71;aa[2,7]:=0.72;aa[2,8]:=0.74;aa[2,9]:=0.77;

aa[3,0]:=0.80;aa[3,1]:=0.81;aa[3,2]:=0.83;aa[3,3]:=0.85;aa[3,4]:=0.87;

aa[3,5]:=0.89;aa[3,6]:=0.91;aa[3,7]:=0.93;aa[3,8]:=0.95;aa[3,9]:=0.97;

aa[4,0]:=1.00;aa[4,1]:=1.02;aa[4,2]:=1.04;aa[4,3]:=1.06;aa[4,4]:=1.08;

aa[4,5]:=1.11;aa[4,6]:=1.13;aa[4,7]:=1.15;aa[4,8]:=1.18;aa[4,9]:=1.21;

aa[5,0]:=1.24;aa[5,1]:=1.26;aa[5,2]:=1.29;aa[5,3]:=1.32;aa[5,4]:=1.35;

aa[5,5]:=1.38;aa[5,6]:=1.40;aa[5,7]:=1.43;aa[5,8]:=1.46;aa[5,9]:=1.49;

aa[6,0]:=1.52;aa[6,1]:=1.55;aa[6,2]:=1.58;aa[6,3]:=1.61;aa[6,4]:=1.64;

aa[6,5]:=1.68;aa[6,6]:=1.71;aa[6,7]:=1.74;aa[6,8]:=1.77;aa[6,9]:=1.81;

aa[7,0]:=1.85;aa[7,1]:=1.88;aa[7,2]:=1.91;aa[7,3]:=1.95;aa[7,4]:=1.99;

aa[7,5]:=2.03;aa[7,6]:=2.06;aa[7,7]:=2.09;aa[7,8]:=2.13;aa[7,9]:=2.17;

aa[8,0]:=2.21;aa[8,1]:=2.25;aa[8,2]:=2.29;aa[8,3]:=2.33;aa[8,4]:=2.37;

aa[8,5]:=2.41;aa[8,6]:=2.45;aa[8,7]:=2.49;aa[8,8]:=2.53;aa[8,9]:=2.57;

aa[9,0]:=2.62;aa[9,1]:=2.67;aa[9,2]:=2.72;aa[9,3]:=2.77;aa[9,4]:=2.83;

aa[9,5]:=2.89;aa[9,6]:=2.95;aa[9,7]:=2.99;aa[9,8]:=3.06;aa[9,9]:=3.13;

aa[10,0]:=3.20;aa[10,1]:=3.27;aa[10,2]:=3.34;aa[10,3]:=3.41;aa[10,4]:=3.49;

aa[10,5]:=3.57;aa[10,6]:=3.65;aa[10,7]:=3.73;aa[10,8]:=3.82;aa[10,9]:=3.91;

aa[11,0]:=4.00;aa[11,1]:=4.10;aa[11,2]:=4.20;aa[11,3]:=4.30;aa[11,4]:=4.40;

aa[11,5]:=4.50;aa[11,6]:=4.63;aa[11,7]:=4.78;aa[11,8]:=4.92;aa[11,9]:=5.06;

aa[12,0]:=5.20;aa[12,1]:=5.42;aa[12,2]:=5.64;aa[12,3]:=5.86;aa[12,4]:=6.08;

aa[12,5]:=6.30;aa[12,6]:=6.54;aa[12,7]:=6.78;aa[12,8]:=7.02;aa[12,9]:=7.26;

aa[13,0]:=7.50;aa[13,1]:=7.88;aa[13,2]:=8.26;aa[13,3]:=8.64;aa[13,4]:=9.02;

aa[13,5]:=9.40;aa[13,6]:=9.82;aa[13,7]:=10.2;aa[13,8]:=10.7;aa[13,9]:=11.1;

aa[14,0]:=11.5;aa[14,1]:=12.2;aa[14,2]:=12.9;aa[14,3]:=13.6;aa[14,4]:=14.3;

aa[14,5]:=15.0;aa[14,6]:=16.0;aa[14,7]:=17.0;aa[14,8]:=18.0;aa[14,9]:=19.0;

aa[15,0]:=20.0;aa[15,1]:=21.6;aa[15,2]:=23.2;aa[15,3]:=24.9;aa[15,4]:=26.5;

aa[15,5]:=28.1;aa[15,6]:=29.6;aa[15,7]:=31.1;aa[15,8]:=32.7;aa[15,9]:=34.2;

aa[16,0]:=35.7;aa[16,1]:=38.0;aa[16,2]:=40.3;aa[16,3]:=42.6;aa[16,4]:=44.9;

aa[16,5]:=47.2;aa[16,6]:=49.3;aa[16,7]:=51.4;aa[16,8]:=53.5;aa[16,9]:=55.6;

aa[17,0]:=57.7;aa[17,1]:=60.0;aa[17,2]:=63.0;aa[17,3]:=66.0;aa[17,4]:=70.0;

aa[17,5]:=74.0;aa[17,6]:=79.0;aa[17,7]:=84.0;aa[17,8]:=90.0;aa[17,9]:=97.0;

val(edit1.Text,d1_zovn,cod1);

val(edit2.Text,d1,cod2);

val(edit3.Text,d2_vn,cod3);

val(edit4.Text,d2,cod4);

val(edit5.Text,pov_zaz,cod5);

val(edit6.Text,z1,cod6);

val(edit7.Text,z2,cod7);

val(edit8.Text,l1,cod8);

val(edit9.Text,l2,cod9);

val(edit10.Text,mat_st,cod10);

val(edit11.Text,tov_l,cod11);

val(edit12.Text,hz1,cod12);

val(edit13.Text,bz1,cod13);

val(edit14.Text,bzq1,cod14);

val(edit15.Text,hz2,cod15);

val(edit16.Text,bz2,cod16);

val(edit17.Text,d_d,cod17);

val(edit18.Text,f_potic,cod18);

val(edit19.Text,kc1,cod19);

val(edit20.Text,p2,cod20);

val(edit21.Text,bq,cod21);

val(edit22.Text,ai,cod22);

val(edit23.Text,bp,cod23);

val(edit29.Text,bz_max,cod24);

val(edit30.Text,kz_min,cod25);

val(edit31.Text,hz_max,cod26);

val(edit32.Text,bz_min,cod27);

val(edit33.Text,kz_max,cod28);

val(edit34.Text,hz_min,cod29);

val(edit35.Text,bz_ser,cod30);

val(edit36.Text,kz_ser,cod31);

val(edit37.Text,Hz_ser,cod24);

Form7.show;

form2.Visible:=false;

form7.Memo1.Clear;

t1:=(pi*d1)/z1;

kq:=((10*pov_zaz)+t1)/((10*pov_zaz)+bzq1);

str(kq:8:4,tex1);

form7.Memo1.Lines.Add('Коефіцієнт повітряного зазору');

form7.Memo1.Lines.Add(tex1);

form7.Memo1.Lines.Add(line);

fq:=(0.8*1000)*bq*pov_zaz*kq;

str(fq:8:4,tex2);

form7.Memo1.Lines.Add('Магнітне напруження повітряного зазору - А');

form7.Memo1.Lines.Add(tex2);

form7.Memo1.Lines.Add(line);

Bzmax:=(bq*t1)/(kc1*bz1);

str(bzmax:8:4,tex3);

form7.Memo1.Lines.Add(' Максимальна магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex3);

form7.Memo1.Lines.Add(line);

if bzmax>1.8 then

begin

form7.Memo1.Lines.Add('Велечина Bz1 > 1.8 Тл - Ведемо розрахунки мінімального та');

form7.Memo1.Lines.Add('середнього значення магнітної індукції в зубці статора');

form7.Memo1.Lines.Add(line);

bzmin:=abs((bq*t1)/(kc1*(t1-bp)));

str(bzmin:8:4,tex4);

form7.Memo1.Lines.Add(' Мінімальна магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex4);

form7.Memo1.Lines.Add(line);

bzser:=0.5*(bzmax+bzmin);

str(bzser:8:4,tex5);

form7.Memo1.Lines.Add(' Середня магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex5);

form7.Memo1.Lines.Add(line);

hz_1:=(hz_max+(4*Hz_ser)+Hz_min)/6;

str(hz_1:8:4,tex6);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex6);

form7.Memo1.Lines.Add(line);

end

else begin

form7.Memo1.Lines.Add('Велечина Bz1 < 1.8 Тл - Напруженість поля в зубці');

form7.Memo1.Lines.Add('статора Hz1 визначаємо по таблиці');

form7.Memo1.Lines.Add(line);

end;

b2:=2; a1:=4;

f1:=roundto(f_potic,a1);

ba1:=roundto(bzmax,b2);

ind1:=trunc(f1/0.01+1);

ind2:=trunc((ba1-0.3)/0.1);

Hz_1:=aa[ind2,ind1];

str(hz_1:8:4,tex6);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex6);

form7.Memo1.Lines.Add(line);

form7.Memo1.Lines.Add(' Продовження розранунків');

form7.Memo1.Lines.Add(line);

fz:=0.1*hz_1*hz1;

str(fz:8:4,tex7);

form7.Memo1.Lines.Add(' Магнітне напруження зубцевого шару статора - А');

form7.Memo1.Lines.Add(tex7);

form7.Memo1.Lines.Add(line);

t2:=(pi*d2)/z2;

bzmax2:=(bq*t2)/(kc1*bz2);

str(bzmax2:8:4,tex8);

form7.Memo1.Lines.Add('Максимальна магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex8);

form7.Memo1.Lines.Add(line);

if bzmax2>1.8 then begin

form7.Memo1.Lines.Add('Велечина Bz2 > 1.8 Тл - Ведемо розрахунки мінімального та');

form7.Memo1.Lines.Add('середнього значення магнітної індукції в зубці ротора');

form7.Memo1.Lines.Add(line);

bzmin2:=(bq*t2)/(kc1*(t2-bp));

str(bzmin2:8:4,tex9);

form7.Memo1.Lines.Add(' Мінімальна магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex9);

form7.Memo1.Lines.Add(line);

bzser2:=0.5*(bzmax2+bzmin2);

str(bzser2:8:4,tex10);

form7.Memo1.Lines.Add(' Середня магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex10);

form7.Memo1.Lines.Add(line);

hz_2:=(hz_max+(4*hz_ser)+hz_min)/6;

str(hz_2:8:4,tex11);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці ротора - А/см');

form7.Memo1.Lines.Add(tex11);

form7.Memo1.Lines.Add(line);

end

else begin

form7.Memo1.Lines.Add('Велечина Bz2 < 1.8 Тл - Напруженість поля в зубці');

form7.Memo1.Lines.Add('ротора Hz2 визначаємо по таблиці');

form7.Memo1.Lines.Add(line);

end;

b3:=2; a2:=4;

f2:=roundto(f_potic,a2);

ba2:=roundto(bzmax2,b3);

ind3:=trunc(f2/0.01+1);

ind4:=trunc((ba2-0.3)/0.1);

Hz_2:=aa[ind4,ind3];

str(hz_2:8:4,tex12);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці ротора - А/см');

form7.Memo1.Lines.Add(tex12);

form7.Memo1.Lines.Add(line);

fz2:=0.1*(hz_2*(hz2-(0.4*d2)));

str(fz2:8:4,tex13);

form7.Memo1.Lines.Add(' Магнітне напруження зубцевого шару ротора - А');

form7.Memo1.Lines.Add(tex13);

form7.Memo1.Lines.Add(line);

hc1:=(d1_zovn-d1-(2*hz1))/2;

str(hc1:8:4,tex14);

form7.Memo1.Lines.Add(' Висота спинки статора - мм');

form7.Memo1.Lines.Add(tex14);

form7.Memo1.Lines.Add(line);

pol_dil:=(pi*d1)/p2;

bc1:=(0.5*ai*pol_dil*bq)/(kc1*hc1);

str(bc1:8:4,tex15);

form7.Memo1.Lines.Add(' Магнітна індукція в спинці статора - Тл');

form7.Memo1.Lines.Add(tex15);

form7.Memo1.Lines.Add(line);

if bc1<1.4 then begin

b4:=2; a3:=4;

f3:=roundto(f_potic,a3);

ba3:=roundto(bc1,b4);

ind5:=trunc(f3/0.01+1);

ind6:=trunc((ba3-0.3)/0.1);

Hc_1:=aa[ind6,ind5];

str(hc_1:8:4,tex16);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex16);

form7.Memo1.Lines.Add(line);

end

else begin

bc_1:=bc1*0.4;

b4:=2; a3:=4;

f3:=roundto(f_potic,a3);

ba3:=roundto(bc_1,b4);

ind5:=trunc(f3/0.01+1);

ind6:=trunc((ba3-0.3)/0.1);

Hc_1:=aa[ind6,ind5];

str(hc_1:8:4,tex16);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex16);

form7.Memo1.Lines.Add(line);

end;

lc1:=(pi/p2)*(d1_zovn-hc1);

str(lc1:8:4,tex17);

form7.Memo1.Lines.Add(' Довжина силової лінії в спинці статора - мм');

form7.Memo1.Lines.Add(tex17);

form7.Memo1.Lines.Add(line);

fc1:=0.1*hc_1*lc1;

str(fc1:8:4,tex18);

form7.Memo1.Lines.Add(' Магнітне напруження спинки статора - А');

form7.Memo1.Lines.Add(tex18);

form7.Memo1.Lines.Add(line);

hc2:=abs((d2-d2_vn-(2*hz2))/2);

str(hc2:8:4,tex19);

form7.Memo1.Lines.Add(' Висота спинки ротора - мм');

form7.Memo1.Lines.Add(tex19);

form7.Memo1.Lines.Add(line);

bc2:=(0.5*ai*pol_dil*bq)/(kc1*hc2);

str(bc2:8:4,tex20);

form7.Memo1.Lines.Add(' Магнітна індукція в спинці ротора - Тл');

form7.Memo1.Lines.Add(tex20);

form7.Memo1.Lines.Add(line);

b5:=2; a4:=4;

f4:=roundto(f_potic,a4);

ba4:=roundto(bc2,b5);

ind7:=trunc(f4/0.01+1);

ind8:=trunc((ba4-0.3)/0.1);

Hc_2:=aa[ind8,ind7];

str(hc_2:8:4,tex21);

form7.Memo1.Lines.Add(' Значення напруженості поля в спинці ротора - А/см');

form7.Memo1.Lines.Add(tex21);

form7.Memo1.Lines.Add(line);

lc2:=(pi/p2)*(d2_vn-hz2-hc2);

str(lc2:8:4,tex22);

form7.Memo1.Lines.Add(' Довжина силової лінії в спинці ротора ротора - мм');

form7.Memo1.Lines.Add(tex22);

form7.Memo1.Lines.Add(line);

fc2:=0.1*hc_2*lc2;

str(fc2:8:4,tex23);

form7.Memo1.Lines.Add(' Магнітне напруження спинки ротора - А');

form7.Memo1.Lines.Add(tex23);

form7.Memo1.Lines.Add(line);

f_rush:=(2*fq)+(2*fz)+(2*fz2)+fc1+fc2;

str(f_rush:8:4,tex24);

form7.Memo1.Lines.Add(' Магнітно-рушійна сила на пару полюсів - А');

form7.Memo1.Lines.Add(tex24);

form7.Memo1.Lines.Add(line);

ku:=f_rush/(2*fq);

str(ku:8:4,tex25);

form7.Memo1.Lines.Add(' Коефіцієнт магнітного накопичення');

form7.Memo1.Lines.Add(tex25);

form7.Memo1.Lines.Add(line);

form7.Memo1.Lines.Add(' Розрахунок закінчено');

end;

procedure TForm2.N4Click(Sender: TObject);

begin

aa[1,0]:=0.52;aa[1,1]:=0.53;aa[1,2]:=0.54;aa[1,3]:=0.55;aa[1,4]:=0.56;

aa[1,5]:=0.58;aa[1,6]:=0.59;aa[1,7]:=0.60;aa[1,8]:=0.61;aa[1,9]:=0.62;

aa[2,0]:=0.64;aa[2,1]:=0.65;aa[2,2]:=0.66;aa[2,3]:=0.67;aa[2,4]:=0.69;

aa[2,5]:=0.70;aa[2,6]:=0.71;aa[2,7]:=0.72;aa[2,8]:=0.74;aa[2,9]:=0.77;

aa[3,0]:=0.80;aa[3,1]:=0.81;aa[3,2]:=0.83;aa[3,3]:=0.85;aa[3,4]:=0.87;

aa[3,5]:=0.89;aa[3,6]:=0.91;aa[3,7]:=0.93;aa[3,8]:=0.95;aa[3,9]:=0.97;

aa[4,0]:=1.00;aa[4,1]:=1.02;aa[4,2]:=1.04;aa[4,3]:=1.06;aa[4,4]:=1.08;

aa[4,5]:=1.11;aa[4,6]:=1.13;aa[4,7]:=1.15;aa[4,8]:=1.18;aa[4,9]:=1.21;

aa[5,0]:=1.24;aa[5,1]:=1.26;aa[5,2]:=1.29;aa[5,3]:=1.32;aa[5,4]:=1.35;

aa[5,5]:=1.38;aa[5,6]:=1.40;aa[5,7]:=1.43;aa[5,8]:=1.46;aa[5,9]:=1.49;

aa[6,0]:=1.52;aa[6,1]:=1.55;aa[6,2]:=1.58;aa[6,3]:=1.61;aa[6,4]:=1.64;

aa[6,5]:=1.68;aa[6,6]:=1.71;aa[6,7]:=1.74;aa[6,8]:=1.77;aa[6,9]:=1.81;

aa[7,0]:=1.85;aa[7,1]:=1.88;aa[7,2]:=1.91;aa[7,3]:=1.95;aa[7,4]:=1.99;

aa[7,5]:=2.03;aa[7,6]:=2.06;aa[7,7]:=2.09;aa[7,8]:=2.13;aa[7,9]:=2.17;

aa[8,0]:=2.21;aa[8,1]:=2.25;aa[8,2]:=2.29;aa[8,3]:=2.33;aa[8,4]:=2.37;

aa[8,5]:=2.41;aa[8,6]:=2.45;aa[8,7]:=2.49;aa[8,8]:=2.53;aa[8,9]:=2.57;

aa[9,0]:=2.62;aa[9,1]:=2.67;aa[9,2]:=2.72;aa[9,3]:=2.77;aa[9,4]:=2.83;

aa[9,5]:=2.89;aa[9,6]:=2.95;aa[9,7]:=2.99;aa[9,8]:=3.06;aa[9,9]:=3.13;

aa[10,0]:=3.20;aa[10,1]:=3.27;aa[10,2]:=3.34;aa[10,3]:=3.41;aa[10,4]:=3.49;

aa[10,5]:=3.57;aa[10,6]:=3.65;aa[10,7]:=3.73;aa[10,8]:=3.82;aa[10,9]:=3.91;

aa[11,0]:=4.00;aa[11,1]:=4.10;aa[11,2]:=4.20;aa[11,3]:=4.30;aa[11,4]:=4.40;

aa[11,5]:=4.50;aa[11,6]:=4.63;aa[11,7]:=4.78;aa[11,8]:=4.92;aa[11,9]:=5.06;

aa[12,0]:=5.20;aa[12,1]:=5.42;aa[12,2]:=5.64;aa[12,3]:=5.86;aa[12,4]:=6.08;

aa[12,5]:=6.30;aa[12,6]:=6.54;aa[12,7]:=6.78;aa[12,8]:=7.02;aa[12,9]:=7.26;