M
Michael Starks
- Jan 1, 1970
- 0
I am working on a new design for a precision (2 mA) control loop for a
500A current source, which must drive anything from a short circuit to
a 1000 H inductor or larger (it's a superconducting coil).
My version 1 design uses an off-the-shelf 500A power supply, driven in
current mode (i.e. you tell it what current you want, it gives you
something almost, but not completely, unlike it). Feedback comes from
a non-contact DCCT. The control loop takes an input current, compares
it to the output current, and then uses a PI loop to control the power
supply. This works, and the errors are nice and small.
As I work on version 2, I am considering whether driving the
off-the-shelf 500A power supply in voltage mode might be better (it
behaves better in voltage mode). In such a setup, the PI controller
would present a voltage request to the supply. The output voltage
would be "converted" to a current by the load and fed back through the
DCCT to the loop.
So how to stablize this loop: compute and plot the theoretical
frequency response first.
In the pure-current case, you quickly find that the lead resistance
plus inductive load contribute nothing to the frequency response.
That's right, you're driving a big inductor (Z=jwL), but as long as
the power supply can provide sufficient voltage (assume this) the load
does not care what current you put through it. It provides no phase
shift or attenuation of the current, so its frequency response is 1
(current in = current out, no changes). This is nice, because the
loop is theoretically stable for ALL inductor / resistor combinations.
In the voltage-to-current case, you quickly find that the lead
resistance plus inductive load contribute a pole at R/L. You saw my
L's at the top of the post, so this pole is as close to DC as you like
in most cases. In fact, it is so close to DC that it is underneath the
pole created by the integrator (it has an unwinding resistor) in the
PI controller. That is, with such a big inductive load, the open-loop
frequency response looks like it has a built-in integrator (it does,
because the current in the load is the integral of the voltage we
drive it with).
So my first startling conclusion was that a simple P controller should
provide equivalent steady-state error performance to the PI controller
in the pure-current system, as long as there is sufficient DC gain.
i.e. take out the integrator, you have one already.
The problem with this is what to do in the case of resistive load or a
short circuit load (both are possible). The pole just went away, so
we have to stabilize the loop without it. That will probably require
a pole to get the gain below unity before trouble sets in, especially
since the P gain needs to be pretty big.
The problem with this additional pole comes when you re-attach the
giant inductor. Now you've got two poles at low frequency and the
thing oscillates.
I would appreciate it if someone could just read through the line of
reasoning above and let me know their thoughts. I am coming to the
conclusion that you really really want to control things in pure
current mode, because it seems to make you load independent (for R-L
loads). I suppose I knew this when I designed version 1, but I never
really gave it a lot of thought.
So, does this all seem correct? Any ideas, suggestions, or experience
to share?
Regards,
Michael Starks
500A current source, which must drive anything from a short circuit to
a 1000 H inductor or larger (it's a superconducting coil).
My version 1 design uses an off-the-shelf 500A power supply, driven in
current mode (i.e. you tell it what current you want, it gives you
something almost, but not completely, unlike it). Feedback comes from
a non-contact DCCT. The control loop takes an input current, compares
it to the output current, and then uses a PI loop to control the power
supply. This works, and the errors are nice and small.
As I work on version 2, I am considering whether driving the
off-the-shelf 500A power supply in voltage mode might be better (it
behaves better in voltage mode). In such a setup, the PI controller
would present a voltage request to the supply. The output voltage
would be "converted" to a current by the load and fed back through the
DCCT to the loop.
So how to stablize this loop: compute and plot the theoretical
frequency response first.
In the pure-current case, you quickly find that the lead resistance
plus inductive load contribute nothing to the frequency response.
That's right, you're driving a big inductor (Z=jwL), but as long as
the power supply can provide sufficient voltage (assume this) the load
does not care what current you put through it. It provides no phase
shift or attenuation of the current, so its frequency response is 1
(current in = current out, no changes). This is nice, because the
loop is theoretically stable for ALL inductor / resistor combinations.
In the voltage-to-current case, you quickly find that the lead
resistance plus inductive load contribute a pole at R/L. You saw my
L's at the top of the post, so this pole is as close to DC as you like
in most cases. In fact, it is so close to DC that it is underneath the
pole created by the integrator (it has an unwinding resistor) in the
PI controller. That is, with such a big inductive load, the open-loop
frequency response looks like it has a built-in integrator (it does,
because the current in the load is the integral of the voltage we
drive it with).
So my first startling conclusion was that a simple P controller should
provide equivalent steady-state error performance to the PI controller
in the pure-current system, as long as there is sufficient DC gain.
i.e. take out the integrator, you have one already.
The problem with this is what to do in the case of resistive load or a
short circuit load (both are possible). The pole just went away, so
we have to stabilize the loop without it. That will probably require
a pole to get the gain below unity before trouble sets in, especially
since the P gain needs to be pretty big.
The problem with this additional pole comes when you re-attach the
giant inductor. Now you've got two poles at low frequency and the
thing oscillates.
I would appreciate it if someone could just read through the line of
reasoning above and let me know their thoughts. I am coming to the
conclusion that you really really want to control things in pure
current mode, because it seems to make you load independent (for R-L
loads). I suppose I knew this when I designed version 1, but I never
really gave it a lot of thought.
So, does this all seem correct? Any ideas, suggestions, or experience
to share?
Regards,
Michael Starks