В работе [1] рассматривался процесс математического моделирования линейного асинхронного двигателя (2p = 2, Z1 = 12) на основе магнитных схем замещения. Питание обмотки индуктора (соединение «звезда» с нулевым проводом, классический тип укладки обмотки) осуществлялось от источника трехфазного синусоидального напряжения.
В данной работе рассматривается процесс математического моделирования линейного асинхронного двигателя (ЛАД) при питании от трехфазного автономного инвертора напряжения с широтно-импульсной модуляцией (АИН ШИМ). Результаты этой работы будут основой для создания учебно-лабораторной установки по исследованию системы АИН ШИМ – ЛАД.
Функциональная схема системы трехфазный автономный инвертор напряжения с ШИМ- линейный асинхронный двигатель приведен на рис. 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=12) с нулевым проводом
function lad_z12_zero_PWM
% Исходные данные асинхронного двигателя
Rb=0.1003*10^7;
rs=9.5;
LsA=0.037;
LsB=0.038;
LsC=0.035;
rr=4.6345*10^-5;
Lr=0.0372*10^-5;
dt=0.000011;
As=rs+LsA/dt;
Bs=rs+LsB/dt;
Cs=rs+LsC/dt;
tz=9.769*10^-3;
m=1.9*0.5;
v0=0;
wn=200;
f=50;
w=2*pi*f;
UA=wn/dt;
X=zeros(24,1);
F=0;
um=1;
kinv=190*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(24);
i_a(1,k)=X(21);
i_b(1,k)=X(23);
i_c(1,k)=X(22);
% Формирование матрицы А
A=zeros(24);
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:2
A(n+4,21)=(2-n)*M+(n-1)*N;
A(n+6,22)=(n-2)*M+(1-n)*N;
A(n+8,23)=(2-n)*M+(n-1)*N;
A(n+10,21)=(n-2)*M+(1-n)*N;
A(n+12,22)=(2-n)*M+(n-1)*N;
A(n+14,23)=(n-2)*M+(1-n)*N;
A(8-n,n+20)=-T;
A(10-n,n+21)=T;
A(14-n,n+20)=T;
A(16-n,n+21)=-T;
end;
for n=1:3
A(24,n+20)=1; %hh
end;
A(24,24)=-1; %jgj
for n=1:12
A(n+4,n+4)=B;
A(n+5,n+4)=E;
A(n+3,n+4)=C;
end;
for n=1:13
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(16,17)=C1;
A(16,18)=D1;
A(17,17)=B1;
A(17,18)=C2;
A(17,19)=D2;
A(18,17)=E1;
A(18,18)=B2;
A(18,19)=C3;
A(18,20)=D3;
A(19,17)=-D1;
A(19,18)=E2;
A(19,19)=B3;
A(19,20)=C4;
A(20,18)=-D2;
A(20,19)=E3;
A(20,20)=B4;
for n=1:2
A(21,n+4)=UA;
A(21,n+10)=-UA;
A(22,n+8)=UA;
A(22,n+14)=-UA;
A(23,n+6)=-UA;
A(23,n+12)=UA;
end;
A(21,21)=As;
A(22,23)=Bs;
A(23,22)=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(21)+Q*X(5)+P*(X(4)+X(6)); %5
W1*X(21)+Q*X(6)+P*(X(5)+X(7)); %6
(-1)*W1*X(22)+Q*X(7)+P*(X(6)+X(8)); %7
(-1)*W1*X(22)+Q*X(8)+P*(X(7)+X(9)); %8
W1*X(23)+Q*X(9)+P*(X(8)+X(10)); %9
W1*X(23)+Q*X(10)+P*(X(9)+X(11)); %10
(-1)*W1*X(21)+Q*X(11)+P*(X(10)+X(12)); %11
(-1)*W1*X(21)+Q*X(12)+P*(X(11)+X(13)); %12
W1*X(22)+Q*X(13)+P*(X(12)+X(14)); %13
W1*X(22)+Q*X(14)+P*(X(13)+X(15)); %14
(-1)*W1*X(23)+Q*X(15)+P*(X(14)+X(16)); %15
(-1)*W1*X(23)+Q*X(16)+P*(X(15)+X(17)); %16
Q1*X(17)+P*(X(16)+5*X(18)); %17
Q2*X(18)+P*(5*X(17)+50*X(19)); %18
Q3*X(19)+P*(50*X(18)+500*X(20)); %19
Q4*X(20)+P*500*X(19); %20
UA*(X(5)+X(6)-X(11)-X(12))+(LsA/dt)*X(21)+PWM(k+1); %21
UA*(X(9)+X(10)-X(15)-X(16))+(LsB/dt)*X(23)+PWM_2pi3(k+1); %22
UA*(X(13)+X(14)-X(7)-X(8))+(LsC/dt)*X(22)+PWM_4pi3(k+1); %23
0]; %24
% Решение методом Гаусса-Жордана
Z=rref([A S]); %Приведение расширенной матрицы к треугольному виду
X=Z(1:24,25:25); %Выделение последнего столбца из матрицы
% Ток в роторе
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(21)+2*Rb*X(5)-Rb*(X(4)+X(6)); %5
-wn*X(21)+2*Rb*X(6)-Rb*(X(5)+X(7)); %6
(-1)*(-wn)*X(22)+2*Rb*X(7)-Rb*(X(6)+X(8)); %7
(-1)*(-wn)*X(22)+2*Rb*X(8)-Rb*(X(7)+X(9)); %8
-wn*X(23)+2*Rb*X(9)-Rb*(X(8)+X(10)); %9
-wn*X(23)+2*Rb*X(10)-Rb*(X(9)+X(11)); %10
(-1)*(-wn)*X(21)+2*Rb*X(11)-Rb*(X(10)+X(12)); %11
(-1)*(-wn)*X(21)+2*Rb*X(12)-Rb*(X(11)+X(13)); %12
-wn*X(22)+2*Rb*X(13)-Rb*(X(12)+X(14)); %13
-wn*X(22)+2*Rb*X(14)-Rb*(X(13)+X(15)); %14
(-1)*(-wn)*X(23)+2*Rb*X(15)-Rb*(X(14)+X(16)); %15
(-1)*(-wn)*X(23)+2*Rb*X(16)-Rb*(X(15)+X(17)); %16
6*Rb*X(17)-Rb*(X(16)+5*X(18)); %17
55*Rb*X(18)-Rb*(5*X(17)+50*X(19)); %18
550*Rb*X(19)-Rb*(50*X(18)+500*X(20)); %19
1000*Rb*X(20)-Rb*(500*X(19))]; %20
% Электромагнитное усилие
F(1)=X(2)*Ir(1)/(2*tz);
for n=1:18
F(n+1)=(X(n+2)-X(n))*Ir(n+1)/(2*tz);
end;
F(20)=-X(19)*Ir(20)/(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 = 5000 и
Рис. 12. Временные зависимости , , и при k = 50000 и
Литература:
1. Емельянов А.А., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бочкарев Ю.П., Авдеев А.С., Киряков Г.А., Чернов М.В., Габзалилов Э.Ф., Иванин А.Ю. Программирование линейного асинхронного двигателя (Z1 = 12) с трехфазной обмоткой индуктора с нулевым проводом // Молодой ученый. – 2014. - №3. – С. 28-47.
2. Шрейнер Р.Т. Математическое моделирование электроприводов переменного тока с полупроводниковыми преобразователями частоты. — Екатеринбург: УРО РАН, 2000. — 654 с.
3. Емельянов А.А., Медведев А.В., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бочкарев Ю.П., Авдеев А.С., Чернов М.В., Габзалилов Э.Ф., Киряков Г.А. Моделирование системы АИН ШИМ – линейный асинхронный двигатель (Z1 = 6) с обмоткой индуктора через ярмо // Молодой ученый. – 2013. - №11. – С. 18-28.
4. Емельянов А.А., Медведев А.В., Кобзев А.В., Бочкарев Ю.П., Евдокимов О.В. Моделирование асинхронного двигателя с помощью магнитных и электрических схем замещения // Молодой ученый. – 2013. - №4. – С. 1-10.