{расчеты сердечника} program ras; uses crt,derba; Label 1,2; const L=1e-6*70. ; dt=1e-9;k=38/12;{к транс} k3=3;{n-циклов} U_reg_=30; {напряж регул(на выходе)} t=20.15e-6; {Время импульса} k2=25.3e-6; { время паузы } c1=5E-9;c2=5e-7; fl=1000;{разрешение} dop_c=2;{дор цикл} var dX:word; U_cv,Imt:real; i_,i,u1,dt1,t2,U_sum,tim, U_v,U,Umin_:double; Imp,paus:real; j2,j3,n,nZ,y1:longint; Fl_l,fl2:boolean; bat1:string; {_________} Procedure U_c; begin If (dt10 then Imp:=imp+1e-6 else Paus:=Paus+1e-6; end; if dt1>(t2) then begin dt1:=0; Fl_l:=true; Fl2:=true; end; i:=i+(U_v-U_cv)*dt/L; If ((Fl_l=false) and (Fl2=true)) then Begin Fl2:=false; end; If i<0 then i:=0; If (i>Imt*k) then begin if fl_l=true then tim:=dt1; fl_l:=false; end; end; {--------} begin 2: textcolor (0);textbackground(15); clrscr; u:=220*sqrt(2)-U_cv*imT/30; If u<220 Then U:=220; Dt1:=t; t2:=k2+t; U_sum:=0; Writeln(' 1-пуск, остальное режим КЗ') ; bat1:=readkey; dx:=0; If bat1='1' then Begin U_cv:=28; dx:=1; end else U_cv:=2; 1: Write(' Введите Пусковой ток (20-160 A) '); Readln(Imt); writeln(' Пусковой ток введен неверно'); if (Imt<20)or(imt>160) then goto 1; Imt:=imt/k; nz:=0; Writeln; ekr_('d:\tp7\BGI'); i:=imt*k; for j2:=1 to k3 do For j:=1 to 638*fl do Begin if (j=1)and(j2=1) then For j3:=1 to 30*fl do Begin Dt1:=dt1+dt; U_c; end; if (fl_l=true)and(j2y then begin if y1>y then begin Line_(x,Y-5*dx,X,Y1); if U_cv>3 then Line_(x+1,Y-3,X+1,Y+3); end else begin Line_(x,y+3*dx,x,Y1); if U_cv>3 then Line_(x+1,Y-2,X+1,Y+2); end; end; Y1:=y; If j2=k3 then Begin i_:=i_+i; n:=n+1; U_sum:=u_sum+U_cv; end; if (j=638*fl) and (j2<>k3) then cls; end; close_(0,0); textcolor (0);textbackground(15); clrscr; Writeln(' U=',U_sum/n:2:2); Writeln(' I:=',I_/n:2:2); wRITELN(' K=',k:2:5); Writeln(' t=',t*1e6:2:1,' T2=',T2*1e6:2:1,' F=',1/T2*1e-3:2:2,'kg'); Writeln(' U=',U:2:2); Writeln(' i max=',Imt*k:2:2); Writeln(' T=',tim*1e6:2:3); Writeln(' Время импульса=',1e6*Imp*T2/(Imp+Paus):2:4,' мксек Время паузы=' ,1e6*Paus*t2/(imp+paus):2:4,' мксек tp/ti=',(paus/imp):2:2); Writeln(' P снабер D1=',(SQR(U/k)*c1)/(T2):2:4); Writeln(' P снабер D2=',(0.5*SQR(U/k)*c2)/(T2):2:4); Writeln(' Время заряд=',1e6*(U/k)*c2/(imt*k):2:6,' мксек'); Writeln(' I1=',(Imt*k)*(Imp/(Imp+paus)):2:4,' Amp'); Writeln(' Ток с1=',2*(U/k)/(1/(2*pi*(1/t2)*c1)):2:2); Writeln(' Ток с2=',(U/k)/(1/(2*pi*(1/t2)*c2)):2:2); Writeln(' "1" Повторить расчет, остальное выход"'); bat1:=readkey; if Bat1='1' then goto 2; end.