using solve for solving self and mutual inductance of a pmsm

조회 수: 2 (최근 30일)
Kushal Basutkar
Kushal Basutkar 2019년 8월 23일
답변: Walter Roberson 2019년 8월 23일
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
Ted Shultz
Ted Shultz 2019년 8월 23일
what doesn't work?
Walter Roberson
Walter Roberson 2019년 8월 23일
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.

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2019년 8월 23일
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

카테고리

Help CenterFile Exchange에서 Specialized Power Systems에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by