Mutual Inductance ODEs and wireless power transfer
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
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
Réponses (2)
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
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
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.
0 commentaires
Communautés
Plus de réponses dans Power Electronics Control
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!