DC Motor Disturbance Rejection
English translation
Control Engineering I · Week 10
Run: After signing in to MathWorks, open .mlx in your workspace. Click inside the code → Live Editor → Run Section to run one section at a time. Run runs everything. After changing a value, rerun the relevant section. Edit the text in ⟦enter here⟧ response fields; do not execute them. You can use Ctrl+Enter on Windows/Linux and ⌘+Enter on Mac.
Define symbols and motion directions
Define positive disturbance torque Td in the direction of rotation. Ra is armature resistance, Km the torque constant, Kb the back-EMF constant, J inertia, and b viscous friction. Kt is the tachometer gain converting angular velocity into voltage, and is amplifier gain. Set the reference angular velocity deviation to 0 and apply only the disturbance.
1. Transfer function with respect to which input?
This exercise concerns the effect of disturbance torque Td on angular velocity deviation ω, rather than reference tracking. Interpret the disturbance direction specified in the problem as positive.
Transfer function with respect to which input?
Defining load torque in the opposite direction changes the sign. Use absolute values when comparing deviation magnitudes, and first check where the disturbance is summed in the block diagram.
How the motor denominator is formed
Ignoring armature inductance gives Ra·i = va − Kb·ω. The torque balance is J·ω′ + b·ω = Km·i + Td. Substituting voltage change va=0 into the baseline model gives J·ω′ + (b+KmKb/Ra)·ω = Td.
Feedback that reduces voltage when angular velocity increases is va=−KaKt·ω. Substituting this into the same equation adds (Km/Ra)KaKt to the denominator. Thus, this simplified model reduces the angular velocity deviation caused by the same disturbance.
2. Open-loop Disturbance Model
In the model neglecting armature inductance, . The steady-state angular velocity deviation after applying a constant disturbance D is . Thus, increasing the denominator term without s reduces the final deviation under the same disturbance.
Open-loop Disturbance Model
Consider a disturbance applied while the armature voltage is constant. Ignore armature inductance.
3. Add tachometer feedback
Applying tachometer gain and amplifier gain gives denominator .
For a stable model, is the steady-state output under a constant unit disturbance. For input magnitude , . MATLAB's dcgain(Gd) calculates this .
Add tachometer feedback
dcgain is the transfer function's static gain. If the actual input is D=0.2, multiply by D instead of reporting dcgain itself as the steady-state value.
4. Compare theory with numerical results
Use Ra=1,Km=Kb=0.1,J=0.01,b=0.001,Kt=0.05,D=0.2. Plot the open-loop and closed-loop responses on the same time axis, and find giving the target deviation of at most 0.5rad/s.
Compare theory with numerical results
Comparing only the last values on automatic time axes may mistake values that have not converged for steady state. Use dcgain together with a sufficiently long observation interval.
Check your understanding
- What values should go into the code, and what does each row and column of the resulting array represent? If calculating physical quantities, have you also checked the units?
- Can you identify which parts to rerun when you change one condition?
- Do the results match your expectations? If they differ, can you explain why using the output values or plots?
Practice materials
- Control_Engineering_1_Week10_FeedbackTwo.mlxPreview mlx script · Download mlx script