Modelowanie przetwornika elektromagnetycznego
Parametry przetwornika:
m = 0,25[kg]; k = 600; b = 3*10
-3
[m]; D = 0,015; a = 1*10
-3
[m]; z = 50; S = 400*10
-6
[m
2
];
R = 5[Ω]; U = 20[V]; μ
0
= 4π10
-7
;
Długość szczeliny powietrznej:
l
x=2 ab−x
Indukcyjność cewki:
L
x=
z
2
R
=
z
2
R
0
R
Fe
≈
z
2
R
0
=
z
2
0
S
l
x
=
z
2
0
S
2
ab−x
Model matematyczny przetwornika:
m
d
2
x
dt
2
kxD
dx
dt
−F
em
=0
d
x ,t
dt
iR−U =0
przy czym:
x , t=L x , t it
d
dt
=L x
di
dt
d L
x
dt
i
W powyższym równaniu występują różniczki dwóch zmiennych po czasie dokonując podstawienia:
dt
=
dx
v
otrzymuje się postać:
d
dt
= L x
di
dt
dL
x
dx
i v
pochodna indukcyjności względem zmiennej x wynosi:
dL
x
dx
=
z
2
0
S
2
ab− x
2
Siłę F
em
występującą w równaniu mechanicznym wylicza się z pochodnej koenergii magnetycznej cewki:
F
em
=
dW
x '
dx
Koenergia zgromadzona w cewce:
W
x'=
1
2
L
x i
2
Zatem siła F
em
wynosi:
F
em
=
1
2
dL
x
dx
i
2
=
z
2
0
S
4
ab− x
2
i
2
Siłę F
em
można także wyznaczyć ze wzoru na ciśnienie magnetyczne p
m
:
F
em
=2 pm S
gdzie
pm
=
B
2
2
0
Indukcję B można wyznaczyć z prawa Gausa:
B
=
S
=
R
0
S
=
i z
l
0
S
S
=
i z
0
2
ab− x
zatem wzór na siłę F
em
będzie miał postać:
F
em
=2
i z
0
2
4
ab−x
2
1
2
0
S
=
z
2
0
S
4
ab−x
2
i
2
Jak widać obie metody wyznaczania siły F
em
prowadzą do identycznej zależności.
Uwzględniając powyższe, równania stanu opisujące model będą miały postać:
dx
dt
=v
dv
dt
=
F
em
−k x−D v
m
di
dt
=
U
−R i−
dL
x
dx
i v
L
x
Całkując numerycznie powyższe równania dostaje się przebiegi prądu i drogi z których można także wyliczyć przebieg
siły i indukcyjności.
Skrypt Matlaba całkujący powyższe równania ma następującą postać:
% ---- Elektromagnes 2007.03.01 -----------------------
clear
all
; clc; close
all
;
global
a b D k m R U mi0 S z
% ---- Dane -------------------------------------------
m = 0.25; k = 600; b = 3e-3; D = 0.015; a = 1e-3;
z = 50; S = 400e-6; R = 5; U = 20; mi0 = 4e-7*pi;
% ---- calkowanie -------------------------------------
t0=0; tk=0.5;
ts=[t0 tk];
x0=[0 0 0];
options=odeset(
'RelTol'
,1e-2);
tic
[t,y]=ode45(
'model'
,ts,x0,options);
toc
% ----Obliczanie wynikow ---------------------------------
x=y(:,1); v=y(:,2); i=y(:,3);
L = (z^2*S*mi0)/2./(a+b-x);
Fe=(z^2*S*mi0)/4./((a+b-x).^2).*(i.^2);
% ---- Prezentacja wynikow -------------------------------
figure(1); plot(t,b-x); grid;
xlabel(
'Czas [s]'
);
ylabel(
'Odleglosc zwory od rdzenia [m]'
);
title(
'Przebieg czasowy odleglosci zwory'
);
figure(2); plot(b-x,L); grid;
xlabel(
'Odleglosc zwory od rdzenia [m]'
);
ylabel(
'Indukcyjnosc [H]'
);
title(
'Zaleznosc indukcyjnosci od odleglosci zwory'
);
figure(3); plot(t,i); grid;
xlabel(
'Odleglosc zwory od rdzenia [m]'
);
ylabel(
'Prad [A]'
);
title(
'Zaleznosc pradu cewki od odleglosci zwory'
);
figure(4); plot(b-x,Fe); grid;
xlabel(
'Odleglosc zwory od rdzenia [m]'
);
ylabel(
'Sila [N]'
);
title(
'Zaleznosc sily przyciagania od odleglosci zwory'
);
function
dy = model( t, y )
dy=zeros(3,1);
global
a b D k m R U mi0 S z
x=y(1); v=y(2); i=y(3);
L = (z^2*S*mi0)/(2*(a+b-x));
dL =(z^2*S*mi0)/(2*(a+b-x)^2);
u=U*sin(2*pi*50*t);
Fe=((z^2*S*mi0)/(4*(a+b-x)^2))*i^2;
% ---- Rownania rozniczkowe --------------
if
x<=b
dy(1) = v;
dy(2) = (Fe-k*x-D*v)/m;
else
dy(1) = 0;
dy(2) = 0;
end
dy(3) = (U-R*i-dL*i*v)/L;
% -----------------------------------------