Theory vs. practice: DC-motor controller

Suppose you have a DC-motor with encoder, that drives a small car with a gear and rack.

The FRF(s) = Encoder(s)/Inputvoltage(s) can be determined and so one can develop a simple lead controller for this system.

If I simulate this controller on the measured FRF, there is an overshoot of about 20% on a step response and a rise time of about 0.2 sec.

If I add a voltage limiter (+/-10V) and simulate the step response again, the rise time is about 0.5 sec and the overshoot is a lot smaller (less than


If I test this controller on the real setup, the system acts quite like the simulation with voltage limiter.

Now, when I developed the controller, the bandwidth I chose was actually too high. However, in reality, the system acts better than expected (less overshoot, but higher rise time). I am sort of caught in the middle of the following two statements:

  • the controller was developed for a theoretical system and in reality, the bandwidth of the actual system is lower. So the controller demands more of the motor than it can handle.
  • On the other hand this is not so bad since:

- the real response seems okay.

- there is friction in the system and the controller will react more "agressive" than a controller that is developed for the actual achievable bandwidth of the system. This is good in this case, because it does compensate the friction that was not modeled in the theoretical system.

What do you think about this? Should I only look at the real response?

Any answers are greatly appreciated. Thank you in advance.

Note: * the step response was simulated for a representative distance (not unit step response). The voltage limitation will affect the response for different step sizes in different ways.

  • the purpose of this controller is mainly to test step responses/ramp response, ... and not complicated trajects/tracking control etc.
Reply to
Loading thread data ...

You should be able to do better with a lead controller, but it's hard to say without having the detail -- this is well within the realm of the believable. Did you tune for overshoot, or did you tune for something else then look at the overshoot?

Not surprising, but indicative that lower proportional gain may have been a good idea.

Not surprising that it acted differently from your model (surprising is when reality and model match well). Given that you motor drive has some real limit you may actually be approximating your model fairly well.

I think your assessment is probably correct.

That depends on what you're doing. I will often use theoretical models for the preliminary design, then leave them to gather dust once I have my hands on a real system. There _is_ value in keeping a theoretical model current, but only if you are going to be doing on-going performance enhancement and your model is reasonably accurate and it is expensive to just test on the "real thing".

You should _always_ use the real response as the final test, and if at all possible you should _always_ do your final tuning on the real thing.

Reply to
Tim Wescott

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.