using solve for solving self and mutual inductance of a pmsm

2 vues (au cours des 30 derniers jours)
Kushal Basutkar
Kushal Basutkar le 23 Août 2019
I am trying to calculate inducatce values (which should have second order harmonic of voltage or current harmonic) in permanent magnet motor. But this isnot working.
Please check.following is the code.
------------------------------------------------
clear all
syms Ls Lm t w;
R = 0.0021;
psiPM = 0.0014;
uA = 10 * cos((w*t)+(10*pi/180));
uB = 10 * cos((w*t)-(2*pi/3)+(10*pi/180));
uC = 10 * cos((w*t)+(2*pi/3)+(10*pi/180));
iA = 2 * cos(w*t);
iB = 2 * cos((w*t)-(2*pi/3));
iC = 2 * cos((w*t)+(2*pi/3));
bemfA = psiPM * w *cos(w*t);
bemfB = psiPM * w * cos((w*t)-(2*pi/3));
bemfC = psiPM * w * cos((w*t)+(2*pi/3));
EqnA = uA - (R*iA + Ls * diff(iA,t) + Lm * diff(iB,t) + Lm * diff(iC,t) + bemfA);
EqnB = uB - (R*iB + Ls * diff(iB,t) + Lm * diff(iA,t) + Lm * diff(iC,t) + bemfB);
EqnC = uC - (R*iC + Ls * diff(iC,t) + Lm * diff(iA,t) + Lm * diff(iB,t) + bemfC);
Eqns = [EqnA == 0,EqnB == 0,EqnC == 0, Ls > 0, Lm > 0,t > 0,w > 0];
S = solve(Eqns,[w,Lm,Ls,],'ReturnConditions',true)
S.Lm
S.conditions
  2 commentaires
Ted Shultz
Ted Shultz le 23 Août 2019
what doesn't work?
Walter Roberson
Walter Roberson le 23 Août 2019
You need to notice that S.parameters is not empty and that S.conditions is not empty.
solve() is telling you that the solution is a set of numbers w = z, Lm = z1, Ls = z2, such that
21*cos(t*z) + 21*cos((2*pi)/3 + t*z) + 50000*cos((11*pi)/18 - t*z) + 7*z*cos(t*z) + 7*z*cos((2*pi)/3 + t*z) + 20000*z*z1*sin((2*pi)/3 - t*z) == 21*cos((2*pi)/3 - t*z) + 50000*cos(pi/18 + t*z) + 50000*cos((13*pi)/18 + t*z) + 7*z*cos((2*pi)/3 - t*z) + 10000*z*z2*sin(t*z) + 10000*z*z2*sin((2*pi)/3 + t*z) + 10000*z*z2*sin((2*pi)/3 - t*z) & 21*cos(t*z) + 7*z*cos(t*z) + 10000*z*z1*sin((2*pi)/3 - t*z) == 50000*cos(pi/18 + t*z) + 10000*z*z2*sin(t*z) + 10000*z*z1*sin((2*pi)/3 + t*z) & 21*cos((2*pi)/3 + t*z) + 7*z*cos((2*pi)/3 + t*z) + 10000*z*z1*sin((2*pi)/3 - t*z) == 50000*cos((13*pi)/18 + t*z) + 10000*z*z1*sin(t*z) + 10000*z*z2*sin((2*pi)/3 + t*z) & 0 < t & 0 < z & 0 < z1 & 0 < z2
Basically it is failing on finding a useful solution.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 23 Août 2019
Using a different programming package, I find that the solution is
Lm is anything positive
Pi = pi in the below
w = (50000*cos(Pi/18))/7 - 3 which is about 7031.341092944344
Ls = Lm + ((-1367187500000000000000000*cos(Pi/18) - 574218750000000000000)*sin(Pi/18)^2)/732420324610104303664233879 + ((2734372588281590341750000*cos(Pi/18) + 1148436487078267943535)*sin(Pi/18))/732420324610104303664233879 - (341796633828125000000000*cos(Pi/18))/732420324610104303664233879 - 47851528735937500000/244140108203368101221411293 which is about Lm + 0.000123481548805233
The equations do not involve t so it can be anything positive

Catégories

En savoir plus sur Specialized Power Systems dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by