Motor parameters: ,,,,. P=(500,0,0), PI=(500,300,0), PID=(500,300,30).
Procedure
Build three closed-loop models using negative unity feedback.
Plot the unit-step responses over s in the same figure, and check the poles first.
Record overshoot, settling time, and steady-state error for stable models.
Results to retain
A table with 3 controller rows, response plots, and a brief comparison of their roles.
Items to record and points to check
Controller
Kp
Ki
Kd
Stability
Overshoot [%]
Settling Time [s]
Steady-State Error
Points to check
Are the plant, input, and time axis the same, with only the controller changing?
For unstable or unconverged cases, did you give a reason instead of reporting metrics?
2. Changing one term at a time
Starting conditions
Starting from the PID baseline (500,300,30), change only Kp to 250,500,750. Keep Ki and Kd fixed.
Procedure
Use the PID result from Activity 1, , as the baseline, and change only to 250 and 750 in turn. Keep , , the plant, and the time axis unchanged.
Plot the unit-step responses of both settings alongside the baseline curve in the same figure. Record overshoot, settling time, and steady-state error using the same ctl.step_infostepinfo settings and the same columns as Activity 1.
Choose one of the two additional settings. Use the table values to explain which metric you aim to improve over the baseline and which changes you are willing to accept.
Results to retain
Response plots and a performance table for both settings. One sentence explaining your choice.
Items to record and points to check
Changed term
Value
Overshoot [%]
Settling Time [s]
Steady-State Error
Points to check
Did you change only one gain at a time?
Did you support claims of faster response with specific metrics?
3. Input limits and integrator windup
Starting conditions
1st-order plant , reference 2→.5 (changes at 5 s), , dt=.01 s. Use , .
Procedure
In the supplied PI simulation, plot the actual input alongside the input before limiting.
Compare conditional integration enabled and disabled.
Explain why the error persists after lowering the reference, relating it to the integrator state.
Results to retain
Three plots of output, input, and integrator state, and a comparison table.
In the comparison table, IAE is from the reference-change time to the final recording time. Calculate input saturation duration by multiplying the number of samples where the limited is 0 or 1 over the entire record by dt.
Use the same interval and calculation method for both integration approaches.
Items to record and points to check
Integration handling
IAE after the reference change
Maximum integral value
Input saturation duration [s]
Points to check
Did you distinguish input values before and after limiting?
Did you compare only integration handling without also changing the PI gains?