# using solve for solving self and mutual inductance of a pmsm

6 views (last 30 days)
Kushal Basutkar on 23 Aug 2019
Answered: Walter Roberson on 23 Aug 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.
------------------------------------------------
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

Ted Shultz on 23 Aug 2019
what doesn't work?
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.

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