For practical DC motors having dead-band effects, where the output angular speed of the DC motor remains zero until a large-enough DC voltage is applied to the motor system --- is it possible to approximate the DC motor as a first order model?

For example, input is voltage, output is angular velocity, so the first order DC motor approximation has a transfer function output_velocity/input_voltage is something like \$\frac{K}{(s+a)}\$.

And if we purposely include an integrator next to the first order model, we would get a transfer function \$\frac{K}{s.(s+a)}\$.

If we then incorporate that transfer function within a unity negative feedback system, then the closed loop feedback system would become :

closed_loop_transfer_function = \$\frac{K}{s^2 + as + K}\$, which has the form of a general second order system transfer function.

Apart from the issue of DC motors are really second order systems, there is also the issue of motor deadband, where the motor's speed remains zero until a sufficiently large-enough voltage is applied to the motor to get it moving.

My assumption is that the motor dead-band effect is not accounted for in the second order system transfer function. So there is expected to be issues when attempting to model and design the practical (actual) DC motor system with Laplace models.

Does anyone know if it is actually possible to use such approximations and Laplace system models to design the feedback system with real DC motors?

I think I have to sort out a few problems here, and one of those problems is to try understand whether or not the motor dead-band effect is going to be an issue. Or is it just not even possible to base this feedback design on a general second order Laplace system?

The original idea is to simply have a basic model of a basic DC motor (such as \$K_v\$ and \$a\$, where \$K_v\$ is approximate linear output velocity to input voltage slope relation, and 'a' is just related to the time-constant, to give an approximate \$\frac{K_v}{s+a}\$ transfer function for the DC motor - input is voltage, output is angular velocity). But, once again, I assume one of the barriers is going to be motor dead-band effect, or how to account for it.

The original idea is also to simply be able to scale (alter) the \$K_v\$ constant (with a multiplying factor), that will alter damping ratio, overshoot for step response. But at the moment, I don't know how to account for motor-deadband with the basic Laplace system model.

Thanks for any help and recommendations in advance! Thanks all.


3 Answers 3


Yes and no.

If the motor will be going continually in one direction, you can sweep it under the rug by calling it a constant disturbance torque.

If the motor will be constantly running one way or another, particularly if you have an inner velocity loop, you can measure your system response (I prefer swept-sine measurements), model the system based on those measurements, and pretend that the model is accurate. Check the Wikipedia page for "describing function". This also works if the hunting caused by the friction is smaller than any inaccuracies you care about (see below).

If the motor needs to stop, then accurately and slowly reach a position, then probably not. The "deadband" is from friction, and the starting friction is higher than the running friction. This means that if the motor is on the verge of breaking loose and running, an infinitesimal increase in drive will cause a finite motion -- i.e., an infinite gain. That's just too nonlinear to approximate.

You can do things to make a motor with friction appear to be more linear -- do a search on "dealing with the effects of friction and backlash".

  • \$\begingroup\$ Marko, Voltage, Tim --- thanks so much for your help. Genuinely and greatly appreciated. It helped a lot - as there are lots of sources that show Laplace models of systems feedback systems - general second order type, but have not been able to find documents that mention what general results we could expect, or even whether it is possible under certain conditions to make the output velocity underdamped response (under feedback conditions) become dependent on estimated second order system parameters, like damping ratio, and Kv etc. The information you all provided are massively helpful. \$\endgroup\$
    – Kenny
    Commented Aug 23, 2019 at 1:28
  • \$\begingroup\$ I will just add as well that the basic DC motor system I'd like the control (under feedback operation) can be assumed to be operating with the motor shaft spinning, uni-directional. Virtually no-load is ok too. I was thinking of estimating open-loop motor Voltage_in versus Velocity out to estimate Kv. And also open loop step response to estimate a time-constant. And the idea was to use these values in the second order model. Due to dead-band, I think I may have to measure Volt_in versus Veloc_out in open loop mode, and find Kv (slope) of the 'approximated' straight 'line'. Thanks again all!! \$\endgroup\$
    – Kenny
    Commented Aug 23, 2019 at 1:50

If the deadband is not too big then sometimes the controller will compensate without too much error as controller will apply more energy until the motor starts. The controller may 'wind up' a bit, if the wind up isn't too great then it should work.

Sometimes control logic can be implemented to handle the cases when the motor goes into the deadzone (like preventing\changing output or changing the plant input).

The subject of nonlinear control handles deadzones. Perhaps a sliding mode controller might do well (but it's been years since I have implemented one).

  • 1
    \$\begingroup\$ "Perhaps a sliding mode controller..." Bah! Just use pulsed power (AKA slow PWM) to unstick the stiction. It worked for decades before I was born, and it works now! \$\endgroup\$
    – TimWescott
    Commented Aug 22, 2019 at 23:43

The practical industrial approach is somehow different. The last controller is the current controller in the cascade.


simulate this circuit – Schematic created using CircuitLab

Have a look here:

Brushless motor dynamics (BLDC transfer function)?

DC motor differential equation

What you want is a kind of sticky constant, but this would turn the system to be non-linear, then there is not such way of doing Laplace, since Laplace is a mathematical description of the linear system.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.