Re: PID question
- From: hondgm@xxxxxxxxx
- Date: 22 Nov 2006 13:30:39 -0800
John Popelish wrote:
hondgm@xxxxxxxxx wrote:
In general, I think a current control loop has to react much
faster than a voltage control loop. One way to accomplish
this is to have two PID controls, a fast one that controls
current, and a slow one than controls voltage, by modifying
the setpoint for the current loop. This is called a cascade
controller (a single output controlled by two measured
variables, one slaved to the other. You implement current
limit by having a low selector at the current controller
setpoint. In other words, the actual current controller
setpoint is the lower of, the current limit value, or the
output of the voltage controller. Both the setpoint for the
voltage controller, and the current limit value can come
from your DAC.
As to tuning the controllers, a visual method is quite
effective, if you have a load stepper that provides the
loops with clean, repeatable steps that you can sync a scope
to. If you need help with the tuning concepts based on
observing the time response of a PID control loop, I wrote a
tutorial (focused on industrial process control, but
applicable to any PIC controller) available at:
http://www.tcnj.edu/~rgraham/PID/popelish.html
You would tune the current controller, first, with only the
limit setpoint in effect, then tune the voltage controller
supplying the setpoint for the current controller.
Keep in mind the DAC provides a reference for a regulator, so I'm not
digitally regulating voltage. I'll be able to set the voltage via a
user interface (as well as current), but the PID controller will have
the capability of forcing the voltage lower to meet a current setpoint.
Does your response still apply? I'm a bit confused about how to apply
a cascade configuration to this. Also, I've been thinking about the
maximum value the accumulating error can reach, the "I" part.
Digitally, the output voltage can be set 0 - 2500. Right now, the
accumulating error is limited in software from exceeding +/- 28 000;
kind of a random value I chose. Is there a methodology to setting this
limit? It seems to me now that +/- 28K is a little high and will cause
sluggish response after settling into a "maximum error" condition for
long enough to hit this max.
.
- Follow-Ups:
- Re: PID question
- From: John Popelish
- Re: PID question
- References:
- PID question
- From: hondgm
- Re: PID question
- From: John Popelish
- PID question
- Prev by Date: Re: Inductive Coupling through a Steel Enclosure
- Next by Date: Re: Inductive Coupling through a Steel Enclosure
- Previous by thread: Re: PID question
- Next by thread: Re: PID question
- Index(es):
Relevant Pages
|