Simulink Control Design™ - MathWorks

(Tuis.) #1
Collect Frequency Response Data

To collect frequency response data, find an operating point at a speed of 150 rad/sec,
specify linear analysis points, define input signals, and estimate the frequency response.

Disconnect the original controllers, and simulate the open-loop system model with VD and
VQ commands. To reach the operating point, specify initial voltages of -0.1 V for VD and
3.465 V for VQ using the ctrlIniValues structure. Constant voltage command blocks
are connected by setting switch signals in the switchIniValue structure.

switchIniValue.openLoopD = 1;
switchIniValue.openLoopQ = 1;
ctrlIniValues.voltageD = -0.1;
ctrlIniValues.voltageQ = 3.465;

Capture a simulation snapshot at 3 sec as the operating point for frequency response
estimation.

signalbuilder(SignalBuilderPath, 'activegroup', 1);
op = findop(mdl,3);

Use the simulation snapshot operating point as the initial condition of the model. Change
the model initial values in the ctrlIniValues structure to be at this steady state. For
the d-axis current controller, the current ID is 0 A. For the q-axis current controller, the
current IQ is 0.1 A. For the outer-loop speed controller, the reference current is 0.122 A
and the speed is at 150 rad/s. For the PMSM plant, set the rotor velocity in the pmsm
structure to 150 rad/s.

set_param(mdl,'LoadInitialState','on');
set_param(mdl,'InitialState','getstatestruct(op)');
ctrlIniValues.currentDIC = 0;

13 Control System Tuning Examples

Free download pdf