How to Model a DC Motor in State-Space with Load Torque Disturbance Rejection?

8 views (last 30 days)
I’m working on a DC motor control system and need to implement a state-space model that accounts for load torque disturbances. The motor is armature-controlled with parameters:
Inertia (J), damping (B), torque constant (Kt), back-EMF (Ke).
States: Angular velocity (ω) and armature current (iₐ).
Problem:
State-Space Setup: How to properly structure the state-space matrices to include both control input (Va) and disturbance input (Tl)?
Disturbance Rejection:
If using a PID controller, how to ensure the integral term compensates for Tl?
Is a disturbance observer (DOB) better for this case?
Simulation:
In MATLAB, how to simulate the system with lsim when there are two inputs (Va and Tl)?
Should I manually inject Tl into the derivative equations?
Request:
Theoretical guidance on state-space disturbance modeling.
MATLAB/Simulink implementation tips.

Accepted Answer

Sabin
Sabin on 5 Aug 2025
The state-space can be constructed as xdot=A.x+B.u+w, where w is the disturbance. If the disturbance is known a coordinate transformation can be derived to cast the state-space system as zdot=F.z+G.s. The integral term will ensure zero steady-state error. An alternative is to use a disturbance observer. Perhaps you can try the Active Disturbance Rejection Control instead of PID. There are also many relevant examples on mathworks.com:

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!