Dc motor control


Thread Starter

zeeshan ahmed

sir i am trying to control a simple 12vdc motor (only position).The motor is vibrating at commanded position. what could be the problem.Or whom should i contact for help.
pc. v

Daniel Boudreault

Hello Zeeshan,

1. Your motor is occilating due to bad tuning of the PID loop. You have too much gain. Try reducing it.

or / and
2. Your feedback resolution is too low.
Replace it with one with higher resolution.

or / and
3. Your feedback loop is too slow.
Increase feedback rate.

Good Luck, Dan B.

Gerrit M. van der Molen

Dear Zeeshan,

At a first glance there could be two problems. The first is if you are trying to control the position to a more accurate value than your measurement, i.e. a problem of sensor resolution. Do you know if you position (angle?) sensor has a finite resolution, e.g. 1 degree or 1 mm? If this is the case, you could solve it by inserting a deadband on the error in your control loop.

Another problem could you be that your (proportional) control gain is too high.
Have you tried reducing this gain?

For a more conclusive analysis, I think we need some more information. Do you have any more information on the position sensor (type, resolution)? Also, which options do you have for the control algorithm, for example is it a fixed-structure PID controller or can you program it in any way you want?



Davis Gentry

Check the PID parameters in your control software. If they are too tight, the motor will chatter with very high frequency high speed swings around the set point, if too loose it will tend to oscillate more slowly around the set point.

Davis Gentry
Carpenter Company
Load inertia is too high with respect to the motor inertia. Even though the load may move freely, too much rotating load mass will cause the motor to 'hunt'.

Possible solutions:
additional gear reduction.
add friction to the load to dampen the oscillation. (a poor solution, but may do the trick)