Passing functions as arguments to one another
1 view (last 30 days)
Show older comments
Hi,
I'm trying to find the d and q axis flux linkages in a Permanent Magnet Synchronous Motor(PMSM). The equations are as follows:
Ψd = ʃ(Vd– (rs*id) + ωr*ψq).dt (1) //d-axis flux linkage
Ψq = ʃ(Vq– (rs*iq) + ωr*ψd).dt (2) //q-axis flux linkage
id = (Ψd – k)/Ld
iq = Ψq/Lq
The process is iterative where ωr is the rotor speed(electrical) and k is a constant quantity.
Clearly, (1) and (2) are coupled.
I cannot figure out as to how two functions can be passed as input arguments to one another, as in this case.
Consider that the motor runs from zero speed to steady state and id, iq being zero to beign with.
[d(Ψd )/dt and d(Ψq)/dt are back emf values; id and iq are d and q axis currents, respectively]
Any suggestion would be very welcome.
Thank you.
0 Comments
Answers (1)
Sabin
on 9 Jan 2023
You can use the flux from the previous iteration as input to your function when computing the new value.
0 Comments
See Also
Categories
Find more on Motor Drives 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!