Разработка системы управления асинхронным двигателем с детальной разработкой программ при различных законах управленияРефераты >> Технология >> Разработка системы управления асинхронным двигателем с детальной разработкой программ при различных законах управления
15.Боэм Б. У. Инженерное проектирование программного обеспечения.: Пер. с англ. - М.: Радио и связь. 1985. - 512 c.
16. Методические указания по составлению экономической части дипломного проекта для студентов специальностей "Автоматика и управление в технических системах" (21.01) и "Электропривод и автоматизация промышленных установок и технологических комплексов" (21.05) / Сост.: В. Д. Тулупий, А. В. Давидайтис, И. В. Шереметьева. - Днепропетровск: ДГИ, 1992. - 52 c.
17.Сандлер А. С., Гусяцкий Ю. М. Тиристорные инверторы с широтно - импульсной модуляцией. - .: Энергия, 1968 - 96 с.
18.Кривицкий С. О., Эпштейн И. И. Динамика частотно - регулируемых электроприводов с автономными инверторами. - М.: Энергия, 1970. - 150 c.
ПРИЛОЖЕНИЯ
Обозначение |
Наименование |
Примечание |
документация | ||
Текст программы |
Текст программы с комментариями | |
Описание программы |
Описание, назначение и характеристика программы | |
Руководство оператора |
{ИСХОДНЫЙ ТЕКСТ ПРОГРАММЫ IM_Main.PAS}
{$IFDEF CPU87} {$N+} {$ELSE} {$N-} {$ENDIF}
{ Программа расчета векторной диаграммы асинхронного двигателя }
program lw(lw);
uses crt,dos,graph,im_tpu;
const {Параметры "Г-образной схемы замещения}
p=2; {Число полюсов}
P2n=75; {Номинальная мощность, кВт}
U1n=220; {Номинальное фазное напряжение, В}
KPDn=0.925; {Номинальный КПД}
Cosn=0.89; {Номинальный Cos(f)}
Sn=0.016; {Номинальное относительное скольжение, о.е.}
Smax=0.1; {Критическое относительное скольжение, о.е.}
J=0.6; {Момент инерции ротора, кг*м^2}
X0=4.6; {Сопротивление взаимоиндукции, о.е.}
R1=0.037; {Активное сопротивление статора, о.е.}
X1=0.1; {Индуктивное сопротивление статора, о.е.}
R2=0.017; {Активное сопротивление ротора, о.е.}
X2=0.16; {Индуктивное сопротивление ротора, о.е.}
R2p=0.036; {Пусковое сопротивление ротора, о.е.}
Mn=9550*P2n/(3e3/p*(1-Sn));{Номинальный момент, н*м}
Mmin=1*Mn; {Значение минимального момента, н*м}
Mmax=2.5*Mn; {Значение критического момента, н*м}
type StringSwitche=(ST11,ST12,ST13,ST14,ST15,ST16,ST17,DATA1,DATA2,
ST21,ST22,ST23,ST24,ST25,ENDT1,ENDT2);
var t,dt,U1a,U1b,M,A1,A2,K1,K2,L11,L21,L1,L2,L0,W1,EndT,SpeedScale,
I0a,I0b,I1a,I1b,I21a,I21b,KPD,CosF,I1,I21,W0,Psi1,Psi2,Psi0,s,I0,
I1n,X1t,R1t,X0t,R2t,X2t,R2pt,Smin:real;
RepeatNumber,CurrentNumber,CurrentRepeat,i,k,Ms,Uss,PsiAlpha,IsAlpha,
IsPsirAlpha,PsisRAngle,UssAbsoluteAngle,PsirRAngle,IsRAngle,IrsRAngle,
PsioRAngle,Fs:integer;
x,f,h,f1,f2,f3,f4:array[1 5] of real;
StringKPD,StringPsiAlpha,StringIsAlpha,StringIsPsirAlpha,StringCurrW,
StringAlphaRasch,StringIs,StringCosF, VectorString,VectorString0:string;
color:word;
Result:text;
{Пересчет паспортных данных в абсолютные единицы "Т"-образной схемы}
procedure ReCalculation;
var b:real;
begin
I1n:=P2n*1e3/(3*U1n*Cosn*KPDn); {Номинальный фазный ток}
X1t:=2*X1*X0/(X0+Sqrt(Sqr(X0)+4*X1*X0))*U1n/I1n;
R1t:=R1*X1t/X1; {Сопротивления статора, Ом}
X0t:=X0*U1n/I1n;{Сопротивление взаимоиндукции, Ом}
R2t:=R2*U1n/I1n;
X2t:=X2*U1n/I1n;{Сопротивления ротора, Ом}
R2pt:=R2p*U1n/I1n;
b:=R1/R2*Smax;
Smin:=Smax/Mmin*((1+b)*Mmax-b*Mmin+SqRt((1+b)*(Mmax-Mmin)*((1-b)*Mmin+(1+b)*Mmax)));
end;
{ Дифференциальные уравнения АД в двухфазной системе
координат (a,b), неподвижной относительно статора }
procedure Right_Part;
begin
if s>smin then A2:=(R2t+(R2pt-R2t)*(S-Smin)/(1-Smin))/L21
else A2:=R2t/L21;
U1a:=Uss*cos(W1*t);
U1b:=Uss*sin(W1*t);
f[1]:=U1a-A1*x[1]+A1*K2*x[3];
f[2]:=U1b-A1*x[2]+A1*K2*x[4];
f[3]:=A2*(K1*x[1]-x[3])-x[5]*x[4];
f[4]:=A2*(K1*x[2]-x[4])+x[5]*x[3];
M:=3/2*p*L0/(L1*L11)*(x[2]*x[3]-x[1]*x[4]);
f[5]:=p/J*(M-Ms);
S:=(W1-x[5])/W1;
end;
{ Модифицированный метод Рунге-Кутта 4-го порядка }
procedure Runge;
begin
for k:=1 to 5 do h[k]:=x[k];
Right_Part;
for k:=1 to 5 do
begin
f1[k]:=f[k];
x[k]:=h[k]+f1[k]*dt/2;
end;
Right_Part;
for k:=1 to 5 do
begin
f2[k]:=f[k];
x[k]:=h[k]+f2[k]*dt/2;
end;
Right_Part;
for k:=1 to 5 do
begin
f3[k]:=f[k];
x[k]:=h[k]+f3[k]*dt;
end;
Right_Part;
for k:=1 to 5 do
begin
f4[k]:=f[k];
x[k]:=h[k]+(f1[k]+2*f2[k]+2*f3[k]+f4[k])/6*dt;
end;
end;
{ Инициализация графики }
procedure Init_Graph;
var GraphDriver,GraphMode:integer;
i:integer;
color:word;
begin
GraphDriver:=0;
DetectGraph(GraphDriver,GraphMode);
if GraphMode>1 then GraphMode:=1;
InitGraph(GraphDriver,GraphMode,'e:\tp\bgi');
color:=GetMaxColor;
TextMode(1);
Writeln;
Writeln(' Graph Initialisate And ',GraphErrorMsg(GraphResult));
Writeln;
Writeln(' Use: GraphMode - ',GetModeName(GraphMode));
Writeln(' GraphDriver - ',GetDriverName);
Writeln;
Writeln(' The Number Of Using Colors :',GetMaxColor);
for i:=1 to 4 do Writeln;
Writeln(' Параметры АД:');
Writeln;
Writeln(' As =',A1:6,' Ar =',A2:6);
Writeln(' Ks =',K1:6,' Kr =',K2:6);
Writeln(' Ls`=',L11:6,' Lr`=',L21:6);
for i:=1 to 7 do Writeln;
Writeln(' Press Any Key To Continue');
pausa;
SetGraphMode(GraphMode);
end;
{ Процедура подготовки к цифровому моделированию
по паспортным данным двигателя }
procedure Prepeare;
var HelpVariable:integer;
begin
W1:=2*Pi*Fs;W0:=W1/p;
L0:=1.5*X0t/W1;L1:=X1t/W1;L2:=X2t/W1;
L1:=L1+L0;L2:=L2+L0;
K2:=L0/L2;K1:=L0/L1;
L11:=L1-sqr(L0)/L2;L21:=L2-sqr(L0)/L1;
A1:=R1t/L11;A2:=R2t/L21;
for HelpVariable:=1 to 5 do
begin
f[HelpVariable]:=0;
x[HelpVariable]:=0;
end;
end;
{ Процедура расчета угов векторов }
procedure AngleDefinition;
begin
UssAbsoluteAngle:=AbsoluteAngle(U1a,U1b);
PsisRAngle:=AbsoluteAngle(x[1],x[2])-UssAbsoluteAngle;
if PsisRAngle<0 then PsisRAngle:=360+PsisRAngle;
PsirRAngle:=AbsoluteAngle(x[3],x[4])-UssAbsoluteAngle;
if PsirRAngle<0 then PsirRAngle:=360+PsirRAngle;
IsRAngle:=AbsoluteAngle(I1a,I1b)-UssAbsoluteAngle;