В работе [1] рассматривался процесс математического моделирования линейного асинхронного двигателя (2p = 2, Z1 = 18) на основе магнитных схем замещения. Питание обмотки индуктора (соединение «звезда» с нулевым проводом, классический тип укладки обмотки) осуществлялось от источника трехфазного синусоидального напряжения.
В данной работе рассматривается процесс математического моделирования линейного асинхронного двигателя (ЛАД) при питании от трехфазного автономного инвертора напряжения с широтно-импульсной модуляцией (АИН ШИМ). Результаты этой работы будут основой для создания учебно-лабораторной установки по исследованию системы АИН ШИМ – ЛАД.
Функциональная схема системы трехфазный автономный инвертор напряжения с ШИМ - линейный асинхронный двигатель приведен на рис. 1.
В этой схеме приняты следующие обозначения:
- и - задающие гармонические воздействия:
- – опорное напряжение, представляющее собой пилообразное, двухстороннее, симметричное напряжение с частотой модуляции значительно превышающей частоту напряжения задания.
Рис. 1. Функциональная схема системы «АИН ШИМ – ЛАД» с нулевым проводом
- и – нуль-органы, обеспечивающие сравнение сигналов задания с опорным сигналом. Если то выходные сигналы нуль-органов иначе
-
|
- и и и - дискретные выходные сигналы с формирователей, управляющих включением силовыми ключами.
- и и и – силовые ключи, попеременно подключающие обмотки фаз двигателя к разноименным полюсам источника постоянного напряжения .
Цифровой алгоритм расчета опорного сигнала ШИМ приведен в работе [3]. Программирование выходных сигналов нуль-органов произведен в MATLAB и имеет следующий вид:
dt=0.00001;
U0=1;
tau=0;
time=0;
u0p(1)=1;
pwm=-2;
f_sin=50;
f_triangle=1000;
for i=1:8000
tau(i+1)=tau(i)+dt*f_triangle;
time(i+1)=time(i)+dt;
s(i+1)=3*sin(2*pi*f_sin*time(i+1));
s_pi3(i+1)=3*sin(2*pi*f_sin*time(i+1)+pi/3);
if tau(i+1)>=1
tau(i+1)=tau(i+1)-1;
end
if (tau(i+1)>=0) && (tau(i+1)<0.5)
f(i)=1-4*tau(i+1);
else
f(i)=4*tau(i+1)-3;
end
u0p(i+1)=U0*f(i);
if (s(i+1)>=u0p(i+1))
pwm(i+1)=2;
else
pwm(i+1)=-2;
end
if (s_pi3(i+1)>=u0p(i+1))
pwm_pi3(i+1)=2;
else
pwm_pi3(i+1)=-2;
end
end
subplot(2,1,1);
plot(time,s,time,u0p,time,pwm);
hold on;
axis([0 0.04 -4 4]);
subplot(2,1,2);
plot(time,s_pi3,time,u0p,time,pwm_pi3);
hold on;
axis([0 0.04 -4 4]);
Результаты сравнений с для трех значений ( и ) приведены на рис. 2, 3 и 4 соответственно (сплошными линиями обозначены выходные сигналы с нуль-органа).
Рис. 2. Сигнал на выходе нуль-органа при
Рис. 3. Сигнал на выходе нуль-органа при
Рис. 4. Сигнал на выходе нуль-органа при
Формирователи сигналов управления силовыми ключами ( и и и ) задают программу подключения фаз обмоток двигателя к источнику постоянного напряжения .
Фазное напряжение в обмотке двигателя представляет собой пятиуровневую импульсную функцию [2] со значениями:
Импульсные напряжения, подаваемые на двигатель, и связаны с постоянным напряжением и выходными сигналами нуль-органов и по следующей зависимости [2]:
Уравнения (*) для решения в программном пакете MATLAB примут следующий вид:
dt=0.00001;
U0=1;
tau=0;
time=0;
u0p(1)=1;
pwm=-1;
um=2;
f_sin=50;
f_triangle=1000;
Um=310/2;
up=Um;
for i=1:8000
tau(i+1)=tau(i)+dt*f_triangle;
time(i+1)=time(i)+dt;
s(i+1)=um*sin(2*pi*f_sin*time(i+1));
s_2pi3(i+1)=um*sin(2*pi*f_sin*time(i+1)+2*pi/3);
s_4pi3(i+1)=um*sin(2*pi*f_sin*time(i+1)+4*pi/3);
if tau(i+1)>=1
tau(i+1)=tau(i+1)-1;
end
if (tau(i+1)>=0) && (tau(i+1)<0.5)
f(i)=1-4*tau(i+1);
else
f(i)=4*tau(i+1)-3;
end
u0p(i+1)=U0*f(i);
if (s(i+1)>=u0p(i+1))
pwm(i+1)=2;
else
pwm(i+1)=-2;
end
if (s_2pi3(i+1)>=u0p(i+1))
pwm_2pi3(i+1)=2;
else
pwm_2pi3(i+1)=-2;
end
if (s_4pi3(i+1)>=u0p(i+1))
pwm_4pi3(i+1)=2;
else
pwm_4pi3(i+1)=-2;
end
PWM(i+1)=up*(1/2)*((2*(pwm(i+1)))/3-(pwm_2pi3(i+1))/3-(pwm_4pi3(i+1))/3);
PWM_2pi3(i+1)=up*(1/2)*(-pwm(i+1)/3+(2*pwm_2pi3(i+1))/3-pwm_4pi3(i+1)/3);
PWM_4pi3(i+1)=up*(1/2)*(-pwm(i+1)/3-pwm_2pi3(i+1)/3+(2*pwm_4pi3(i+1))/3);
end
plot(time,PWM);
axis([0 0.02 -250 250]);
Результаты расчета фазного напряжения для задающих сигналов с и приведены на рис. 5, 6 и 7 соответственно.
Рис. 5. Импульсное напряжение в фазе обмотки при амплитуде задающего сигнала
Рис. 6. Импульсное напряжение в фазе обмотки при амплитуде задающего сигнала
Рис. 7. Импульсное напряжение в фазе обмотки при амплитуде задающего сигнала
Программирование системы «АИН ШИМ - ЛАД» на языке высокого уровня MATLAB имеет следующий вид:
% Математическая модель ЛАД с укладкой статорной обмотки классическим
% способом (z=18) с нулевым проводом
% function lad_z18_zero_PWM
% Исходные данные асинхронного двигателя
Rb=0.1003*10^7;
rs=23.75;
LsA=0.0555;
LsB=0.057;
LsC=0.0525;
rr=11.586*10^-5;
Lr=0.0558*10^-5;
dt=0.000011;
As=rs+LsA/dt;
Bs=rs+LsB/dt;
Cs=rs+LsC/dt;
tz=9.769*10^-3;
m=2.28;
v0=0;
wn=200;
f=50;
w=2*pi*f;
UA=wn/dt;
Um=310;
X=zeros(30,1);
F=0;
um=1;
kinv=310*0.5;
% начальные условия для ШИМ
tau=0;
time=0;
U0=1;
u0p(1)=1;
pwm=-1;
f_triangle=1000;
f_sin=50;
K=input('длительность цикла k=');
for k=1:(K+1)
% ШИМ
tau(k+1)=tau(k)+dt*f_triangle;
time(k+1)=time(k)+dt;
s(k+1)=um*sin(2*pi*f_sin*time(k+1));
s_2pi3(k+1)=um*sin(2*pi*f_sin*time(k+1)-2*pi/3);
s_4pi3(k+1)=um*sin(2*pi*f_sin*time(k+1)-4*pi/3);
if tau(k+1)>=1
tau(k+1)=tau(k+1)-1;
end
if (tau(k+1)>=0) && (tau(k+1)<0.5)
f(k)=1-4*tau(k+1);
else
f(k)=4*tau(k+1)-3;
end
u0p(k+1)=U0*f(k);
if (s(k+1)>=u0p(k+1))
pwm(k+1)=2;
else
pwm(k+1)=-2;
end
if (s_2pi3(k+1)>=u0p(k+1))
pwm_2pi3(k+1)=2;
else
pwm_2pi3(k+1)=-2;
end
if (s_4pi3(k+1)>=u0p(k+1))
pwm_4pi3(k+1)=2;
else
pwm_4pi3(k+1)=-2;
end
PWM(k+1)=kinv*(1/2)*((2*(pwm(k+1)))/3-(pwm_2pi3(k+1))/3-(pwm_4pi3(k+1))/3);
PWM_2pi3(k+1)=kinv*(1/2)*(-pwm(k+1)/3+(2*pwm_2pi3(k+1))/3-pwm_4pi3(k+1)/3);
PWM_4pi3(k+1)=kinv*(1/2)*(-pwm(k+1)/3-pwm_2pi3(k+1)/3+(2*pwm_4pi3(k+1))/3);
v(1,k)=v0; %создание вектор-строки для графика скорости
f(1,k)=sum(F); %Создание вектор-строки для графика усилия
i0(1,k)=X(30);
i_a(1,k)=X(27);
i_b(1,k)=X(29);
i_c(1,k)=X(28);
% Формирование матрицы А
A=zeros(30);
B=2*Rb*(rr+Lr/dt)+1/dt;
B1=6*Rb*(rr+Lr/dt)+(-4*Rb)*Lr*v0/(2*tz)+1/dt;
B2=55*Rb*(rr+Lr/dt)+(-45*Rb)*Lr*v0/(2*tz)+1/dt;
B3=550*Rb*(rr+Lr/dt)+(-450*Rb)*Lr*v0/(2*tz)+1/dt;
B4=1000*Rb*(rr+Lr/dt)+1/dt;
B5=550*Rb*(rr+Lr/dt)+450*Rb*Lr*v0/(2*tz)+1/dt;
B6=55*Rb*(rr+Lr/dt)+(45*Rb)*Lr*v0/(2*tz)+1/dt;
B7=6*Rb*(rr+Lr/dt)+(4*Rb)*Lr*v0/(2*tz)+1/dt;
C=-Rb*(rr+Lr/dt)+(2*Rb*Lr+1)*v0/(2*tz);
C1=-Rb*(rr+Lr/dt)+(6*Rb*Lr+1)*v0/(2*tz);
C2=-5*Rb*(rr+Lr/dt)+(55*Rb*Lr+1)*v0/(2*tz);
C3=-50*Rb*(rr+Lr/dt)+(550*Rb*Lr+1)*v0/(2*tz);
C4=-500*Rb*(rr+Lr/dt)+(1000*Rb*Lr+1)*v0/(2*tz);
C5=-500*Rb*(rr+Lr/dt)+(550*Rb*Lr+1)*v0/(2*tz);
C6=-50*Rb*(rr+Lr/dt)+(55*Rb*Lr+1)*v0/(2*tz);
C7=-5*Rb*(rr+Lr/dt)+(6*Rb*Lr+1)*v0/(2*tz);
D=-Rb*Lr*v0/(2*tz);
D1=5*D;
D2=50*D;
D3=500*D;
E=-Rb*(rr+Lr/dt)-(2*Rb*Lr+1)*v0/(2*tz);
E1=-5*Rb*(rr+Lr/dt)-(6*Rb*Lr+1)*v0/(2*tz);
E2=-50*Rb*(rr+Lr/dt)-(55*Rb*Lr+1)*v0/(2*tz);
E3=-500*Rb*(rr+Lr/dt)-(550*Rb*Lr+1)*v0/(2*tz);
E4=-500*Rb*(rr+Lr/dt)-(1000*Rb*Lr+1)*v0/(2*tz);
E5=-50*Rb*(rr+Lr/dt)-(550*Rb*Lr+1)*v0/(2*tz);
E6=-5*Rb*(rr+Lr/dt)-(55*Rb*Lr+1)*v0/(2*tz);
E7=-Rb*(rr+Lr/dt)-(6*Rb*Lr+1)*v0/(2*tz);
T=-wn*Lr*v0/(2*tz);
Y=-wn*(rr+Lr/dt);
M=Y+T;
N=Y-T;
W1=-wn*Lr/dt;
P=-Rb*Lr/dt;
Q=(2*Rb*Lr+1)/dt;
Q1=(6*Rb*Lr+1)/dt;
Q2=(55*Rb*Lr+1)/dt;
Q3=(550*Rb*Lr+1)/dt;
Q4=(1000*Rb*Lr+1)/dt;
for n=1:3
A(3*n+1,n+26)=(-1)^(n+1)*T;
A(3*n+2,n+26)=(-1)^(n+1)*M;
A(3*n+3,n+26)=(-1)^(n+1)*Y;
A(3*n+4,n+26)=(-1)^(n+1)*N;
A(3*n+5,n+26)=(-1)^n*T;
A(3*n+10,n+26)=(-1)^n*T;
A(3*n+11,n+26)=(-1)^n*M;
A(3*n+12,n+26)=(-1)^n*Y;
A(3*n+13,n+26)=(-1)^n*N;
A(3*n+14,n+26)=(-1)^(n+1)*T;
end;
for n=1:3
A(30,n+26)=1; %hh
end;
A(30,30)=-1; %jgj
for n=1:18
A(n+4,n+4)=B;
A(n+5,n+4)=E;
A(n+3,n+4)=C;
end;
for n=1:19
A(n+2,n+4)=D;
A(n+5,n+3)=-D;
end;
A(1,1)=B4;
A(1,2)=C5;
A(1,3)=D2;
A(2,1)=E4;
A(2,2)=B5;
A(2,3)=C6;
A(2,4)=D1;
A(3,1)=-D3;
A(3,2)=E5;
A(3,3)=B6;
A(3,4)=C7;
A(4,2)=-D2;
A(4,3)=E6;
A(4,4)=B7;
A(5,3)=-D1;
A(5,4)=E7;
A(22,23)=C1;
A(22,24)=D1;
A(23,23)=B1;
A(23,24)=C2;
A(23,25)=D2;
A(24,23)=E1;
A(24,24)=B2;
A(24,25)=C3;
A(24,26)=D3;
A(25,23)=-D1;
A(25,24)=E2;
A(25,25)=B3;
A(25,26)=C4;
A(26,24)=-D2;
A(26,25)=E3;
A(26,26)=B4;
for n=1:3
A(27,n+4)=UA;
A(27,n+13)=-UA;
A(28,n+10)=UA;
A(28,n+19)=-UA;
A(29,n+7)=-UA;
A(29,n+16)=UA;
end;
A(27,27)=As;
A(28,29)=Bs;
A(29,28)=Cs;
% Матрица свободных членов
S=[ Q4*X(1)+P*( 500*X(2)); %1
Q3*X(2)+P*(500*X(1)+50*X(3)); %2
Q2*X(3)+P*(50*X(2)+5*X(4)); %3
Q1*X(4)+P*(5*X(3)+X(5)); %4
W1*X(27)+Q*X(5)+P*(X(4)+X(6)); %5
W1*X(27)+Q*X(6)+P*(X(5)+X(7)); %6
W1*X(27)+Q*X(7)+P*(X(6)+X(8)); %7
(-1)*W1*X(28)+Q*X(8)+P*(X(7)+X(9)); %8
(-1)*W1*X(28)+Q*X(9)+P*(X(8)+X(10)); %9
(-1)*W1*X(28)+Q*X(10)+P*(X(9)+X(11)); %10
W1*X(29)+Q*X(11)+P*(X(10)+X(12)); %11
W1*X(29)+Q*X(12)+P*(X(11)+X(13)); %12
W1*X(29)+Q*X(13)+P*(X(12)+X(14)); %13
(-1)*W1*X(27)+Q*X(14)+P*(X(13)+X(15)); %14
(-1)*W1*X(27)+Q*X(15)+P*(X(14)+X(16)); %15
(-1)*W1*X(27)+Q*X(16)+P*(X(15)+X(17)); %16
W1*X(28)+Q*X(17)+P*(X(16)+X(18)); %17
W1*X(28)+Q*X(18)+P*(X(17)+X(19)); %18
W1*X(28)+Q*X(19)+P*(X(18)+X(20)); %19
(-1)*W1*X(29)+Q*X(20)+P*(X(19)+X(21)); %20
(-1)*W1*X(29)+Q*X(21)+P*(X(20)+X(22)); %21
(-1)*W1*X(29)+Q*X(22)+P*(X(21)+X(23)); %22
Q1*X(23)+P*(X(22)+5*X(24)); %23
Q2*X(24)+P*(5*X(23)+50*X(25)); %24
Q3*X(25)+P*(50*X(24)+500*X(26)); %25
Q4*X(26)+P*500*X(25); %26
UA*(X(5)+X(6)+X(7)-X(14)-X(15)-X(16))+(LsA/dt)*X(27)+PWM(k+1); %27
UA*(X(11)+X(12)+X(13)-X(20)-X(21)-X(22))+(LsB/dt)*X(29)+PWM_2pi3(k+1);%28
UA*(-X(8)-X(9)-X(10)+X(17)+X(18)+X(19))+(LsC/dt)*X(28)+PWM_4pi3(k+1); %29
0]; %30
% Решение методом Гаусса-Жордана
Z=rref([A S]); %Приведение расширенной матрицы к треугольному виду
X=Z(1:30,31:31); %Выделение последнего столбца из матрицы
% Ток в роторе
Ir=[ 1000*Rb*X(1)-Rb*(500*X(2)); %1
550*Rb*X(2)-Rb*(500*X(1)+50*X(3)); %2
55*Rb*X(3)-Rb*(50*X(2)+5*X(4)); %3
6*Rb*X(4)-Rb*(5*X(3)+X(5)); %4
-wn*X(27)+2*Rb*X(5)-Rb*(X(4)+X(6)); %5
-wn*X(27)+2*Rb*X(6)-Rb*(X(5)+X(7)); %6
-wn*X(27)+2*Rb*X(7)-Rb*(X(6)+X(8)); %7
(-1)*(-wn)*X(28)+2*Rb*X(8)-Rb*(X(7)+X(9)); %8
(-1)*(-wn)*X(28)+2*Rb*X(9)-Rb*(X(8)+X(10)); %9
(-1)*(-wn)*X(28)+2*Rb*X(10)-Rb*(X(9)+X(11)); %10
-wn*X(29)+2*Rb*X(11)-Rb*(X(10)+X(12)); %11
-wn*X(29)+2*Rb*X(12)-Rb*(X(11)+X(13)); %12
-wn*X(29)+2*Rb*X(13)-Rb*(X(12)+X(14)); %13
(-1)*(-wn)*X(27)+2*Rb*X(14)-Rb*(X(13)+X(15)); %14
(-1)*(-wn)*X(27)+2*Rb*X(15)-Rb*(X(14)+X(16)); %15
(-1)*(-wn)*X(27)+2*Rb*X(16)-Rb*(X(15)+X(17)); %16
-wn*X(28)+2*Rb*X(17)-Rb*(X(16)+X(18)); %17
-wn*X(28)+2*Rb*X(18)-Rb*(X(17)+X(19)); %18
-wn*X(28)+2*Rb*X(19)-Rb*(X(18)+X(20)); %19
(-1)*(-wn)*X(29)+2*Rb*X(20)-Rb*(X(19)+X(21)); %20
(-1)*(-wn)*X(29)+2*Rb*X(21)-Rb*(X(20)+X(22)); %21
(-1)*(-wn)*X(29)+2*Rb*X(22)-Rb*(X(21)+X(23)); %22
6*Rb*X(23)-Rb*(X(22)+5*X(24)); %23
55*Rb*X(24)-Rb*(5*X(23)+50*X(25)); %24
550*Rb*X(25)-Rb*(50*X(24)+500*X(26)); %25
1000*Rb*X(26)-Rb*(500*X(25))]; %26
% Электромагнитное усилие
F(1)=X(2)*Ir(1)/(2*tz);
for n=1:24
F(n+1)=(X(n+2)-X(n))*Ir(n+1)/(2*tz);
end;
F(26)=-X(25)*Ir(26)/(2*tz);
% Скорость
v0=v0+(sum(F)/m)*dt;
end;
% Построение графиков
k=0:K;
subplot(2,1,1);
plot(k*dt,v);
title('Скорость');
xlabel('t,c');
ylabel('v,m/c');
grid on;
subplot(2,1,2);
plot(k*dt,f);
title('Электромагнитное усилие');
xlabel('t,c');
ylabel('F,H');
grid on;
end
Временные диаграммы скорости и электромагнитного усилия линейного асинхронного двигателя при питании от АИН с амплитудой напряжения задания и представлены на рис. 8, 9 и 10 соответственно.
Рис. 8. Результат моделирования асинхронного двигателя при
Рис. 9. Результат моделирования асинхронного двигателя при
Рис. 10. Результат моделирования асинхронного двигателя при
Зависимости токов , , и даны на рис. 11 и 12.
Рис. 11. Временные зависимости , , и при k = 120000 и
Рис. 12. Временные зависимости , , и при k = 5000 и
Литература:
1. Емельянов А.А. и др. Программирование линейного асинхронного двигателя (Z1 = 18) с трехфазной обмоткой индуктора с нулевым проводом / Емельянов А.А., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бочкарев Ю.П., Авдеев А.С., Киряков Г.А., Чернов М.В., Габзалилов Э.Ф. // Молодой ученый. – 2014. - №8. – С. 20-41.
2. Шрейнер Р.Т. Математическое моделирование электроприводов переменного тока с полупроводниковыми преобразователями частоты. — Екатеринбург: УРО РАН, 2000. — 654 с.
3. Емельянов А.А. и др. Моделирование системы АИН ШИМ – линейный асинхронный двигатель (Z1 = 6) с обмоткой индуктора через ярмо / Емельянов А.А., Медведев А.В., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бочкарев Ю.П., Авдеев А.С., Чернов М.В., Габзалилов Э.Ф., Киряков Г.А. // Молодой ученый. – 2013. - №11. – С. 18-28.
4. Емельянов А.А. и др. Моделирование системы АИН ШИМ – линейный асинхронный двигатель (Z1 = 12) с классическим типом обмотки с нулевым проводом / Емельянов А.А., Кобзев А.В., Бочкарев Ю.П., Козлов А.М., Бесклеткин В.В., Авдеев А.С., Чернов М.В., Габзалилов Э.Ф., Киряков Г.А. // Молодой ученый. – 2014. - №4. – С. 47-60.
5. Емельянов А.А. и др. Моделирование асинхронного двигателя с помощью магнитных и электрических схем замещения / Емельянов А.А., Медведев А.В., Кобзев А.В., Бочкарев Ю.П., Евдокимов О.В. // Молодой ученый. – 2013. - №4. – С. 1-10.