using solve for solving self and mutual inductance of a pmsm

2 views (last 30 days)
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 Comments
Walter Roberson
Walter Roberson on 23 Aug 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.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 23 Aug 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

Categories

Find more on Specialized Power Systems in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!