В работе [1] рассматривалось математическое моделирование линейного асинхронного двигателя с намоткой каждой пазовой катушки через ярмо индуктора (статора). Питание этих катушек (Z1 = 12) осуществлялось от отдельных источников синусоидального напряжения.
В данной работе рассматривается процесс математического моделирования линейного асинхронного двигателя при раздельном питании обмоток двигателя от отдельных автономных инверторов напряжения с широтно-импульсной модуляцией (АИН ШИМ). Результаты данной работы будут основой для создания учебно-лабораторной установки по исследованию характеристик системы «АИН ШИМ – ЛАД».
Математическое моделирование системы построено на основе функциональной схемы элементарного широтно-импульсного модулятора с нулевой схемой инвертирования [2]. В соответствии с числом катушек в индукторе (статоре), необходимо иметь двенадцать каналов широтно-импульсных модуляторов, как показано на рис. 1.
В этой схеме приняты следующие обозначения:
- – задающие гармонические воздействия:
; ; ;
; ; ;
; ; ;
; ; .
Рис. 1. Функциональная схема системы «АИН с ШИМ – ЛАД»
– опорное напряжение, представляющее собой пилообразное, двухстороннее, симметричное напряжение с частотой модуляции значительно превышающей частоту напряжения задания.
- – нуль-органы, обеспечивающие сравнение сигналов задания с опорным сигналом. Если , то выходные сигналы нуль-органов , иначе .
- и , и и – формирователи сигналов управления силовыми ключами. Формирователи сигналов управления имеют взаимно инверсные релейные характеристики [2] и сепарируют сигнал нуль-органа НО по двум каналам управления ключами инвертора. Кроме того, предусматривают небольшие временные задержки включения ключей. Это необходимо для предотвращения коротких замыканий силовых блоков питания () через ключи инвертора.
- и , и и – дискретные выходные сигналы с формирователей, управляющих включением силовыми ключами.
- и , и и - силовые ключи попеременно подключающие начала обмоток катушек индуктора к разноименным полюсам источников постоянного напряжения (,).
Цифровой алгоритм расчета опорного сигнала ШИМ приведен в работе [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 соответственно (сплошными линиями обозначены выходные сигналы с нуль-органа).
Рис. 2. Сигнал на выходе нуль-органа при
Рис. 3. Сигнал на выходе нуль-органа при
Напряжения , на каждой катушке индуктора будут повторять по форме , а по амплитуде будут увеличены на коэффициент инвертора kинв.
Одна из возможных реализаций математической модели системы «АИН ШИМ – ЛАД» на языке высокого уровня MATLAB примет следующий вид:
% Математическая модель ЛАД с укладкой статорной обмотки через спинку
% ярма ( Z1=12 ) c помощью магнитных схем замещения
function LAD_Z1_12_spin
% Начальные условия двигателя
Rb=0.1003*10^7;
dt=0.00001;
rs=9.5;
Ls=0.074*0.5;
rr=9.269*10^-5;
Lr=0.0744*10^-5;
tz=9.769*10^-3;
m=3.8;
v0=0;
wn=200;
f=50;
w=2*pi*f;
UA=wn/dt;
Um=155;
X=zeros(32,1);
F=0;
p=2;
%Начальные условия для ШИМ
kinv=Um/p;
dt=0.00001;
U0=1;
tau=0;
time=0;
u0p(1)=1;
pwm=-2;
f_sin=50;
f_triangle=1000;
um=1;
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_pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+pi/6);
s_2pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+2*pi/6);
s_3pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+3*pi/6);
s_4pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+4*pi/3);
s_5pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+5*pi/6);
s_6pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+6*pi/6);
s_7pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+7*pi/6);
s_8pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+8*pi/6);
s_9pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+9*pi/6);
s_10pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+10*pi/6);
s_11pi6(k+1)=um*sin(2*pi*f_sin*time(k+1)+11*pi/6);
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);
%u_gamma(i+1)=sqrt(2)*u0p(i+1);
if (s(k+1)>=u0p(k+1))
pwm(k+1)=p;
else
pwm(k+1)=-p;
end
if (s_pi6(k+1)>=u0p(k+1))
pwm_pi6(k+1)=p;
else
pwm_pi6(k+1)=-p;
end
if (s_2pi6(k+1)>=u0p(k+1))
pwm_2pi6(k+1)=p;
else
pwm_2pi6(k+1)=-p;
end
if (s_3pi6(k+1)>=u0p(k+1))
pwm_3pi6(k+1)=p;
else
pwm_3pi6(k+1)=-p;
end
if (s_4pi6(k+1)>=u0p(k+1))
pwm_4pi6(k+1)=p;
else
pwm_4pi6(k+1)=-p;
end
if (s_5pi6(k+1)>=u0p(k+1))
pwm_5pi6(k+1)=p;
else
pwm_5pi6(k+1)=-p;
end
if (s_6pi6(k+1)>=u0p(k+1))
pwm_6pi6(k+1)=p;
else
pwm_6pi6(k+1)=-p;
end
if (s_7pi6(k+1)>=u0p(k+1))
pwm_7pi6(k+1)=p;
else
pwm_7pi6(k+1)=-p;
end
if (s_8pi6(k+1)>=u0p(k+1))
pwm_8pi6(k+1)=p;
else
pwm_8pi6(k+1)=-p;
end
if (s_9pi6(k+1)>=u0p(k+1))
pwm_9pi6(k+1)=p;
else
pwm_9pi6(k+1)=-p;
end
if (s_10pi6(k+1)>=u0p(k+1))
pwm_10pi6(k+1)=p;
else
pwm_10pi6(k+1)=-p;
end
if (s_11pi6(k+1)>=u0p(k+1))
pwm_11pi6(k+1)=p;
else
pwm_11pi6(k+1)=-p;
end
PWM(k+1)=pwm(k+1)*kinv;
PWM_pi6(k+1)=pwm_pi6(k+1)*kinv;
PWM_2pi6(k+1)=-pwm_2pi6(k+1)*kinv;
PWM_3pi6(k+1)=-pwm_3pi6(k+1)*kinv;
PWM_4pi6(k+1)=pwm_4pi6(k+1)*kinv;
PWM_5pi6(k+1)=pwm_5pi6(k+1)*kinv;
PWM_6pi6(k+1)=-pwm_6pi6(k+1)*kinv;
PWM_7pi6(k+1)=-pwm_7pi6(k+1)*kinv;
PWM_8pi6(k+1)=pwm_8pi6(k+1)*kinv;
PWM_9pi6(k+1)=pwm_9pi6(k+1)*kinv;
PWM_10pi6(k+1)=-pwm_10pi6(k+1)*kinv;
PWM_11pi6(k+1)=-pwm_11pi6(k+1)*kinv;
v(1,k)=v0; % создание вектора-строки для графика скорости
f(1,k)=sum(F); % создание вектора-строки для графика усилия
% Формирование матрицы сопротивлений
R=zeros(21,1);
R(1,1)=500*Rb;
R(2,1)=500*Rb;
R(3,1)=50*Rb;
R(4,1)=5*Rb;
for i=5:17
R(i,1)=Rb;
end;
R(18,1)=5*Rb;
R(19,1)=50*Rb;
R(20,1)=500*Rb;
R(21,1)=500*Rb;
% Формирование матрицы А
A=zeros(32);
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);
W1=-wn*Lr/dt;
P=-Rb*Lr/dt;
Q=(2*Rb*Lr+1)/dt;
KS=rs+Ls/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:12
A(n+4,n+4)=B;
A(n+5,n+4)=E;
A(n+3,n+4)=C;
A(n+3,n+20)=T;
A(n+4,n+20)=Y;
A(n+5,n+20)=-T;
A(n+20,n+4)=UA;
A(n+20,n+20)=KS;
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(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;
% Матрица свободных членов
S=[ Q4*X(1)+ P*( 500*X(2));
Q3*X(2)+ P*(500*X(1)+50*X(3));
Q2*X(3)+ P*(50*X(2)+5*X(4));
Q1*X(4)+ P*(5*X(3)+X(5));
W1*X(21)+Q*X(5)+ P*(X(4)+X(6));
W1*X(22)+Q*X(6)+ P*(X(5)+X(7));
W1*X(23)+Q*X(7)+ P*(X(6)+X(8));
W1*X(24)+Q*X(8)+ P*(X(7)+X(9));
W1*X(25)+Q*X(9)+ P*(X(8)+X(10));
W1*X(26)+Q*X(10)+ P*(X(9)+X(11));
W1*X(27)+Q*X(11)+ P*(X(10)+X(12));
W1*X(28)+Q*X(12)+ P*(X(11)+X(13));
W1*X(29)+Q*X(13)+ P*(X(12)+X(14));
W1*X(30)+Q*X(14)+ P*(X(13)+X(15));
W1*X(31)+Q*X(15)+ P*(X(14)+X(16));
W1*X(32)+Q*X(16)+ P*(X(15)+X(17));
Q1*X(17)+ P*(X(16)+5*X(18));
Q2*X(18)+ P*(5*X(17)+50*X(19));
Q3*X(19)+ P*(50*X(18)+500*X(20));
Q4*X(20)+ P*500*X(19);
UA*X(5)+Ls/dt*X(21)+PWM(k+1);
UA*X(6)+Ls/dt*X(22)+PWM_pi6(k+1);
UA*X(7)+Ls/dt*X(23)+PWM_2pi6(k+1);
UA*X(8)+Ls/dt*X(24)+PWM_3pi6(k+1);
UA*X(9)+Ls/dt*X(25)+PWM_4pi6(k+1);
UA*X(10)+Ls/dt*X(26)+PWM_5pi6(k+1);
UA*X(11)+Ls/dt*X(27)+PWM_6pi6(k+1);
UA*X(12)+Ls/dt*X(28)+PWM_7pi6(k+1);
UA*X(13)+Ls/dt*X(29)+PWM_8pi6(k+1);
UA*X(14)+Ls/dt*X(30)+PWM_9pi6(k+1);
UA*X(15)+Ls/dt*X(31)+PWM_10pi6(k+1);
UA*X(16)+Ls/dt*X(32)+PWM_11pi6(k+1) ];
% Решение методом Гаусса-Жордана
Z=rref([A S]); % Приведение расширенной матрицы к треугольному виду
X=Z(1:32,33:33); % Выделение последнего столбца из матрицы
% Ток в роторе
Ir=[ 1000*Rb*X(1)- Rb*( 500*X(2));
550*Rb*X(2)- Rb*(500*X(1)+50*X(3));
55*Rb*X(3)- Rb*(50*X(2)+5*X(4));
6*Rb*X(4)- Rb*(5*X(3)+X(5));
-wn*X(21)+2*Rb*X(5)- Rb*(X(4)+X(6));
-wn*X(22)+2*Rb*X(6)- Rb*(X(5)+X(7));
-wn*X(23)+2*Rb*X(7)- Rb*(X(6)+X(8));
-wn*X(24)+2*Rb*X(8)- Rb*(X(7)+X(9));
-wn*X(25)+2*Rb*X(9)- Rb*(X(8)+X(10));
-wn*X(26)+2*Rb*X(10)-Rb*(X(9)+X(11));
-wn*X(27)+2*Rb*X(11)-Rb*(X(10)+X(12));
-wn*X(28)+2*Rb*X(12)-Rb*(X(11)+X(13));
-wn*X(29)+2*Rb*X(13)-Rb*(X(12)+X(14));
-wn*X(30)+2*Rb*X(14)-Rb*(X(13)+X(15));
-wn*X(31)+2*Rb*X(15)-Rb*(X(14)+X(16));
-wn*X(32)+2*Rb*X(16)-Rb*(X(15)+X(17));
6*Rb*X(17)-Rb*(X(16)+5*X(18));
55*Rb*X(18)-Rb*(5*X(17)+50*X(19));
500*Rb*X(19)-Rb*(50*X(18)+500*X(20));
1000*Rb*X(20)-Rb*(500*X(19))];
% Электромагнитное усилие
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, м/c'); grid on;
subplot(2,1,2);
plot(k*dt,f);
title('Электромагнитное усилие');
xlabel('t, c');
ylabel('F, H');
grid on;
end
В таблице 1 приведены идентификаторы, применяемые для математического моделирования системы «АИН ШИМ – ЛАД» в MATLAB, в соответствии с обозначениями, приведенными на функциональной схеме рис.1.
Таблица 1
Таблица идентификаторов
Наименование |
Обозначение на функциональной схеме |
Идентификатор |
Задающие гармонические воздействия |
||
Выходные сигналы нуль-органов НО1, НО2, …, НО12 |
||
Импульсные напряжения на катушках обмотки индуктора ЛАД |
Временные зависимости скорости и электромагнитного усилия линейного асинхронного двигателя при питании от АИН ШИМ с амплитудами сигнала задания и приведены на рис. 4 и рис. 5 соответственно.
Рис. 4. Результат моделирования системы «АИН ШИМ – ЛАД» при
Рис. 5. Результат моделирования системы «АИН ШИМ – ЛАД» при
Литература:
1. Емельянов А.А. и др. Моделирование линейного асинхронного двигателя с укладкой обмотки индуктора (Z1 = 12) через спинку ярма / Емельянов А.А., Медведев А.В., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бойко Д.Ю., Киряков Г.А., Чернов М.В., Королев О.А. // Молодой ученый. – 2013. – №8. – С. 13-31.
2. Шрейнер Р.Т. Математическое моделирование электроприводов переменного тока с полупроводниковыми преобразователями частоты. – Екатеринбург: УРО РАН, 2000. – 654 с.
3. Емельянов А.А. и др. Моделирование системы АИН ШИМ – линейный асинхронный двигатель (Z1 = 6) с обмоткой индуктора через ярмо / Емельянов А.А., Медведев А.В., Кобзев А.В., Козлов А.М., Бесклеткин В.В., Бочкарев Ю.П., Авдеев А.С., Чернов М.В., Габзалилов Э.Ф., Киряков Г.А. // Молодой ученый. – 2013. – №11. – С. 18-28.