Clear Filters
Clear Filters

IPMSM Velocity Control Example PID Tuning

11 views (last 30 days)
In the IPMSM Velocity Control example I would like to add parameters from a motor I have and simulate its operation. However, I need to tune the d & q axis current controller values (Kp_id, Ki_id, Kp_iq, Ki_iq) and speed values (Kp_omega & Ki_omega) in order to get the simulation to work properly.
My question is, what is the best way you would recommend I tune these values? I'm no Matlab expert, but I have used the SISO tool and the PID tuner app. However, I don't see how I can tune these values that are being set as block parameters with those tools. I have read this page on tunable block parameters but I still don't see a clear way to tune those values.
I know there might be a few different ways to do this but given the system and the fact that it is probably non-linear, how would you go about this? Of course I'll tune the inside loop, the current loop, first then the speed loop but my question is how should I set myself up to do that in Simulink?
I have attached the the Simulink and Matlab parameter code. The simulink code I'm running has a few Solver settings different than the original example and a few additional THD, efficiency calculation blocks, and I'm running the PMSM current reference generator in "zero d-axis control" mode, but besides that it is essentially the same as the original.

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 29 Oct 2018
Please follow the approach explained in this example .

More Answers (0)


Community Treasure Hunt

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

Start Hunting!