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.