Step response for a DC motor with a transient load

9 views (last 30 days)
I'm attempting to find the step response for a DC motor with a position-dependent load.
i.e., the motor is driving an arm, there is no load until the position reaches a critical value (arm hits a wall), and then the motor is prevented from spinning.
I have tried opening up the step function in MatLab, but it seems to work by calling itself.
Does anyone have any possible advice about how to do this? Ideally I would write my own step function in a loop where the torque was updated.
Thanks in advance,

Accepted Answer

Sebastian Castro
Sebastian Castro on 2 Mar 2016
Edited: Sebastian Castro on 2 Mar 2016
Depends on how you want to model this system. Assuming you want to stay in MATLAB and are not looking at Simulink,
If you want your inputs to a time-invariant linear system to change over time, you can use the lsim function and provide your own input time history. [ documentation link ]
If you additionally want the DC motor model to have parameters/dynamics that change over time, you can take a more involved approach using linear parameter-varying (LPV) systems.
- Sebastian
  2 Comments
Tom
Tom on 4 Mar 2016
Edited: Tom on 4 Mar 2016
Thanks! The second link you provided helped me figure out a solution.
As a side note, if I solve this system in it's state space form, is there anyway of modelling a PID controller without converting to a transfer function?
Sebastian Castro
Sebastian Castro on 4 Mar 2016
Yes -- there is a pid function in MATLAB. You can connect the result of this with any other linear system representation (state-space, transfer function, etc.)

Sign in to comment.

More Answers (0)

Communities

More Answers in the  Power Electronics Control

Community Treasure Hunt

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

Start Hunting!