Figure 2: Untuned Response.
Control System Tuning
You can use systune to jointly tune both feedback loops. To set up the design, create an
instance of the slTuner interface with the list of tuned blocks. All blocks and signals are
specified by their names in the model. The model is linearized at t=0.5 to avoid
discontinuities in some derivatives at t=0.
TunedBlocks = {'Current PID','Speed PID'};
tLinearize = 0.5; % linearize at t=0.5
% Create tuning interface
ST0 = slTuner('rct_linact',TunedBlocks,tLinearize);
The data structure ST0 contains a description of the control system and its tunable
elements. Next specify that the DC motor should follow a 2000 rpm speed demand in 0.1
seconds:
TR = TuningGoal.Tracking('Speed Demand (rpm)','rpm',0.1);
You can now tune the proportional and integral gains with looptune:
ST1 = systune(ST0,TR);
Final: Soft = 1.12, Hard = -Inf, Iterations = 34
Control of a Linear Electric Actuator