I want to control the motor position. but i have a problem to determine the controller i use, what is the best controller to control the motor position. is it with PI controller or PD, or PID
- posted
20 years ago
I want to control the motor position. but i have a problem to determine the controller i use, what is the best controller to control the motor position. is it with PI controller or PD, or PID
Maybe someone has more experience, I'd say PID, anyways you can always use such parameters to eliminate I or D component to get PD or PI out of PID.
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
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 it landed.
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.
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.
Peter Nachtwey
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.