P, PI, PD, PID

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

Reply to
noviandi_saputradewa
Loading thread data ...

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.

Reply to
Mickey

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

formatting link
that's more for the embedded software engineer who's writing code for the controller.

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.

Reply to
Tim Wescott
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.
Reply to
mindspringnews

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

Reply to
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.