There are so many variables behind that question that you need to supply
more information before it can be answered. There's some information on PID
choices and tuning in http://www.wescottdesign.com/articles/pidwophd.html ,
but that's more for the embedded software engineer who's writing code for
If your motor is driving a geartrain or anything with appreciable friction
or backlash your life will be complicated. These are nonlinear effects,
which take you right out of the "easy" realm of linear controllers. If you
have them should also consider if you need to add compensation for them;
this usually takes the form of deadband in the controller or a pulsed drive
to the motor, both of which take some tinkering with to apply.
Your basic tradeoffs are:
Only P: Very easy controller to tune, and to implement if you're rolling
your own. Very limited range of what you can do with one tuning parameter,
and it depends on the motor not stalling before you're satisfied with where
PI: The integral action guarantees that the system will keep pushing until
the target is reached. It also contributes greatly to instability.
Particularly, if your system has appriciable backlash or friction a PI
controller will get close to the target then "hunt" around the target point.
PID: The differential term will help to improve the bandwidth (and
therefore response speed) of your system, but it will also make your system
more susceptable to noise, it will enhance the destabilizing effects of any
mechanical resonances in your system, and it gets dicey to apply in the
presence of non-linear compensators for friction and backlash.
Deadband and pulsed drive: Beyond the scope of this posting. I'm working
on an article about these, but they've been around for decades so there's
plenty of material if you dig for it.
Good luck -- it'll be fun when it starts working.
1) More application outline required.
2) These will control HOW you get to and hold the motor position. Must also
include feedback as to where your motor is and a SetPoint input as to where
you want to be, AT ANY POINT in time. This maybe dynamic or not.
Assuming your motor/actuator transfer function can be modeled simply like
G*a/(s*(s+a)) then a PID with all the PID terms acting on the error is
optimal. Given a simple system like G*a/(s*(s+a)), a PID allows one to
place all the poles where you want.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.