It is "good enough" for PID output directly controls, without further modelling, the PWM duty cycle?

Logic behind the question is,

In case of pure resistance heater, PWM duty cycle percentage directly relates to power (on off time ratio). So, direct control is appropriate.

However, motor has two additional effects,

a) with considerable inductance, initial current is smaller and ramping up over time

b) as RPM gradually ramping up, after time constant of mechanical inertia etc, increasing back EMF will reduce current

Will it be wise to ignore the above two effects and still expect a reasonably good outcome?

Application is 6 volts, 2 watt DC brushed motor, gear 1:50, 10000 RPM no load, PWM frequency 490Hz, driving DIY 1kg robot.


1 Answer 1


The factors that you mention will definitely have an effect on the accuracy of your PID. Whether that inaccuracy is enough to negatively affect your outcome is something that only you can determine -- preferably after doing some tests. In most cases, these inaccuracies are safe to ignore.

In general, if you have some nonlinear effect in your actuator, you would handle that separately from your PID. For your case, you would need to write some algorithm that converts the desired value (PID output) to the appropriate PWM signal, based on the current state of the motor. Even if you can't measure the properties of the motor directly to do this, a simple mathematical model of the motor might be enough.

Before you start in this direction, make sure that you've actually found a problem behavior that is being caused by naive conversion of PID level to PWM level (i.e., you know that your PID is tuned properly but you still see a problem). Otherwise, you will have no way to judge whether your algorithm is helping or hurting your results.


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.