Mutual Inductance ODEs and wireless power transfer

16 vues (au cours des 30 derniers jours)
Tucker Albright
Tucker Albright le 12 Fév 2019
I am trying to model a wireless power transfer using two conductive circular coils. I have tried two approaches so far:
Approach 1
In simulink, the electrical circuit is as shown below
Where we have two LR circuits. The circuit at left has a sinusoidal voltage input and inductively drives the other, which will be connected to a charging battery (not modeled). However, when I run the model, I get this error:
" Trouble solving algebraic equations in differential-algebraic system. Singular iteration matrix encountered with step size 0.2 at time 0.0. Try tightening the error tolerances. If the problem persists, check the model structure and values of parameters."
I did some reading on algebraic loops in simulink, but I can't seem to find mine if there is one. I also defined all intial I and V values of the voltage source, the inductors, and the resistors. What do you think is the problem? Are there any other problems with this model?
Approach 2
My first instinct was to numerically solve the ODEs for the system. By using Kirchhoff's Voltage law, we know that the voltage around any loop in a circuit is zero. We have for the driving circuit,
and the powered circuit,
But I may be wrong about sign conventions. We can treat L1, L2, and M as constants because I have calculated them separately. I attempted to solve the system of equations using ODE45. Inside my odeFun, I have the code,
function y = odeFun(t,x,constants)
L1 = constants(1); L2 = constants(2) ...
I1 = x(1);
dI1 = x(2);
I2 = x(3);
dI2 = x(4);
y = zeros(4,1);
y(1) = dI1;
y(2) = -(M*dI2 + I1*R1 -V0*sin(w*t))/L1;
y(3) = dI2;
y(4) = -(M*dI1 - I2*R2)/L2;
end
When I get my results and plot them, I notice that the frequencies of I1 and I2 change drastically as either R1 or R2 changes. This shouldn't happen! The frequencies of the current in both circuits should be identical to the frequency of the voltage source. Am I wrong? Where are my problems? Anything I haven't considered?
You can read more about mutual inductance here:
Let me know if I can make my question clearer by attaching images, code snippets, or more tags.
Many thanks.
  1 commentaire
SAKSHAM JAIN
SAKSHAM JAIN le 21 Mai 2020
Hello sir i am also facing the same problem as the question was posted a year ago if you somehow managed to get solution please share the solkution as i am also facing the same problem it will be very much appreciated
Thanks

Connectez-vous pour commenter.

Réponses (2)

David Goodmanson
David Goodmanson le 21 Mai 2020
Hello Tucker,
You have two first order DE's so there is no need to have a vector x with four components. Four is appropriate for two second order DE's.
For a two-component column vector I = [I1; I2] your equations are
[L1 M; M L2]*dI/dt + [R1 0; 0 R2]*I = [V0*sin(w*t); 0];
with the solution
Idot = [L1 M; M L2]\( [V0*sin(w*t); 0] -[R1 0; 0 R2]*I )
The demo below has unrealistic values for L and R but it shows the response at frequency w after the transient response of time constant (L/R) ~~ 5 sec. dies off.
[t y] = ode45(@fun,[0 25],[0 0]);
figure(1)
plot(t,y)
grid on
function Idot = fun(t,I)
V0 = 1;
L1 = 1; L2 = 1;
R1 = .2; R2 = .2;
M = .3;
w = 10;
Idot = [L1 M; M L2]\( [V0*sin(w*t); 0] -[R1 0; 0 R2]*I );
end
  1 commentaire
Cristian Babetto
Cristian Babetto le 29 Déc 2020
Modifié(e) : Cristian Babetto le 29 Déc 2020
Hello, I'm facing a similar problem with the same circuit.
I tried your solution and it works.
However, I tried to write the ode in the following way:
di1/dt = (v1 - R1*i1 + (M/L2*R2*i2))/(L1-M^2/L2)
di2/dt = -R2/L2*i2 - M/L2*di1/dt
but it diverges!
Do you know why?
Thanks

Connectez-vous pour commenter.


JIANFEN WAN
JIANFEN WAN le 2 Juin 2021
hi,sir
There are no electrical reference exist.You should connect ground both mutual inductance primary side and secondary side.

Communautés

Plus de réponses dans  Power Electronics Control

Catégories

En savoir plus sur Simulink dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by