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

Asked by Kushal Basutkar

### Kushal Basutkar (view profile)

on 23 Aug 2019 at 18:14
Latest activity Answered by Walter Roberson

### Walter Roberson (view profile)

on 23 Aug 2019 at 18:42
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

Ted Shultz

### Ted Shultz (view profile)

on 23 Aug 2019 at 18:24
what doesn't work?
Walter Roberson

### Walter Roberson (view profile)

on 23 Aug 2019 at 18:35
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.

### Tags ### Walter Roberson (view profile)

Answer by Walter Roberson

### Walter Roberson (view profile)

on 23 Aug 2019 at 18:42

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