Maker Pro
Maker Pro

Control loop for current in a large inductor

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
 
T

Tim Wescott

Jan 1, 1970
0
Assuming that the first pole of the power supply is well above your intended
closed-loop pole a PI controller should be rock-solid stable. In fact,
that's probably what's inside the power supply in current mode (he guesses,
not having the vaguest notion what they put into 500A supplies other than
BIG wires).

As long as your inductance has some guaranteed maximum value (like 1kH) you
should be able to make your system unconditionally stable. A PI controller
is exactly the right controller to use with an integrating plant that has an
inpredictable pole (or DC disturbance), as long as the gain of the plant
never falls below some minimum. Since the integrator gain of your plant is
equal to 1/L, having a maximum value you can put on L meets this condition.

If you do a root-locus diagram of this you'll see that your system is
unconditionally stable; it's just uncomfortably underdamped if the
inductance of the coil goes over the design value. If you design your
controller for a critically-damped pair of closed-loop poles at your desired
frequency, _and_ you mind your P's and Q's with integrator windup you should
be fine.
 
R

Rene Tschaggelar

Jan 1, 1970
0
Michael said:
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.

Having had a look at that stuff over a decade ago, it appeared pretty
straight forward. Most important was to have an unconditional voltage
clamp, eg 2 antiparallel diodes for the continous full current, just
in case the power failed. Then, they were using a voltage supply.
Depending on the magnet they used voltages that became smaller the
closer the current got to full current.
I remember 500mV to start with and after a few hours when 100 or so
Amps were reached, the voltage was 50mV or so.

Meaning you gain nothing by operating a current source.
Your source has to be bipolar of course.

Rene
 
W

Winfield Hill

Jan 1, 1970
0
Michael Starks wrote...
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 ... 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 ...
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.
... 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. ...
Now you've got two poles at low frequency and the thing oscillates.

Michael, my first comment to you will be that the commercial 500A
power supply you are using no doubt in "current mode" operates as
a voltage-source supply with current-sensing feedback to dynamically
set the output voltage. This means that they've already solved your
problem. If you study the manual you'll probably find an AC feedback
path they provide when in current mode to insure loop stabilization.
You may find they say it works over a range of inductance values, and
a place is provided to change a component value, etc., to adjust the
range. You can study the circuit to see how this is accomplished.

You wrote "it behaves better in voltage mode." Perhaps the power
supply's circuit needs the adjustment I mentioned.

Thanks,
- Win

whill_at_picovolt-dot-com
 
M

Michael Starks

Jan 1, 1970
0
Winfield Hill said:
Michael, my first comment to you will be that the commercial 500A
power supply you are using no doubt in "current mode" operates as
a voltage-source supply with current-sensing feedback to dynamically
set the output voltage. This means that they've already solved your
problem. If you study the manual you'll probably find an AC feedback
path they provide when in current mode to insure loop stabilization.
You may find they say it works over a range of inductance values, and
a place is provided to change a component value, etc., to adjust the
range. You can study the circuit to see how this is accomplished.

Well, that is probably true. Let me first say that the makers of this
supply don't seem to know how it works, and the manual is useless. They
didn't appear to know that the output is not floating until we discovered it
and told them.

I agree that the supply likely runs in voltage mode with current feedback.
So they are faced with the same problem as I. However, they seem to have no
idea what their compensation looks like. I suspect a simple P controller,
because the steady-state errors are pretty high even with the integration
from the inductive load. That would make sense, because the gain of that
pole is quite small.
You wrote "it behaves better in voltage mode." Perhaps the power
supply's circuit needs the adjustment I mentioned.

The odd behavior (it wobbles, but doesn't oscillate) in current mode when
driving a large inductor (and not when driving a resistive load) seems to
verify that the supply's phase margin is suffering from this load-induced
pole. That makes me think that I will be better off running the supply
under voltage control. In that case, you ask for a voltage and you get that
voltage (as long as you have enough current available), without needing to
worry about the load. Then I can at least model the commercial supply as a
known, stable piece of my overall system whose behavior is independent of
the load.

I can then deal with the influence of the load-induced pole in my own
compensation circuitry. That pole only shows up when you want to convert
voltage to current within the system. Even though we may eventually be
charging a 10,000 H coil (!), there will always be a finite upper limit on
the load inductance, and I can design for that.

Does this sound like a reasonable approach?



Michael Starks
(e-mail altered: remove the FILTER to use)
 
R

Rene Tschaggelar

Jan 1, 1970
0
Michael said:
[snip]
The odd behavior (it wobbles, but doesn't oscillate) in current mode when
driving a large inductor (and not when driving a resistive load) seems to
verify that the supply's phase margin is suffering from this load-induced
pole. That makes me think that I will be better off running the supply
under voltage control. In that case, you ask for a voltage and you get that
voltage (as long as you have enough current available), without needing to
worry about the load. Then I can at least model the commercial supply as a
known, stable piece of my overall system whose behavior is independent of
the load.

I can then deal with the influence of the load-induced pole in my own
compensation circuitry. That pole only shows up when you want to convert
voltage to current within the system. Even though we may eventually be
charging a 10,000 H coil (!), there will always be a finite upper limit on
the load inductance, and I can design for that.

Does this sound like a reasonable approach?


The talk about poles makes only sense when you actually need that
transfer function. IMO, superconducting magnets are just loaded and
unloaded, as ramps with pseudo constant voltage. A process that can
take hours. Usually the copper around the superconductor shorts big
voltages. As soon as the superconducting state is lost due to excess
thermal energy, the whole helium is blown off, a mishap to be avoided
at all cost.
What is wrong with a voltage controlled approach ?
The pulsewidth makes the voltage, no complex loops necessary.
Have a cpu that adjusts the preset voltage such that the current is
reached.

Rene
 
F

Fritz Schlunder

Jan 1, 1970
0
Michael Starks said:
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.


Greetings Mr. Starks.

I am understanding you correctly? You want a constant current source that
can supply 500.000A with a tolerance of +/-2mA to a short circuit, or 1000H
Inductor, or perhaps a 1000H with some series resistance?

If my interpretation is correct those are some most interesting
requirements. I've very curious to know what you are doing and why you need
such precision?

Lessee here... E=0.5LI^2... 0.5*1000*500^2 = 125MJ. Ouch. Wouldn't want
to be sitting next to that if the helium or whatnot ran out or the power
supply (compensation loop?) was acting up by supplying much more than 500A
making the superconductor go resistive.

Hmm... 500.002A/500.000A = 1.000004. So at the very least you would need
to measure the current to better than within 0.0004%? What did you say you
were measuring the current with again? What is a DCCT?

Is the off-the-shelf 500A power supply a switch mode powersupply, and if so,
what topology does it use?
 
M

Michael Starks

Jan 1, 1970
0
Hello,

Fritz Schlunder said:
I am understanding you correctly? You want a constant current source that
can supply 500.000A with a tolerance of +/-2mA to a short circuit, or 1000H
Inductor, or perhaps a 1000H with some series resistance?

You got it. I have already built one such beast. I am contemplating the
next version. Series resistance is in the milliOhm range, due to the leads.
If my interpretation is correct those are some most interesting
requirements. I've very curious to know what you are doing and why you need
such precision?

You need to put the current in the coil exactly (within a few mA) where you
want it to be, and you need to be able to get back to that same current when
it comes time to change it. If you can't reproduce the current accurately,
you will engage the coil with the supply at current and generate a big
voltage due to the mismatch. That voltage will cause a superconducting
quench and dump the whole thing.
Lessee here... E=0.5LI^2... 0.5*1000*500^2 = 125MJ. Ouch. Wouldn't want
to be sitting next to that if the helium or whatnot ran out or the power
supply (compensation loop?) was acting up by supplying much more than 500A
making the superconductor go resistive.

Well, the 1000H devices don't go to 500A, only the smaller ones. But it
doesn't matter what the final current is, we will still have to ramp a 1000H
coil someday. To give you a baseline, the current test coil is about 200A
and 100H.

And yes, you run away if the He starts to boil off. The supply detects this
event, warns the user and goes safe.
Hmm... 500.002A/500.000A = 1.000004. So at the very least you would need
to measure the current to better than within 0.0004%? What did you say you
were measuring the current with again? What is a DCCT?

A DCCT is a direct current-current transformer. It is a nifty little device
that outputs a current that is proportional to the current flowing through
its sense loop. Our particular unit is good to better than the 4 ppm you
computed above.
Is the off-the-shelf 500A power supply a switch mode powersupply, and if so,
what topology does it use?

Yes, it is a switch-mode power supply. The manual doesn't even say that
much, but after opening it up and looking it over, it seems to be a standard
buck converter.


Regards,

Michael Starks
 
T

Tim Wescott

Jan 1, 1970
0
But then you need a "complex loop" in software, which isn't a bad idea but
still requires thoughtful design.


-- snip--
 
R

Rene Tschaggelar

Jan 1, 1970
0
Fritz said:
Greetings Mr. Starks.

I am understanding you correctly? You want a constant current source that
can supply 500.000A with a tolerance of +/-2mA to a short circuit, or 1000H
Inductor, or perhaps a 1000H with some series resistance?

If my interpretation is correct those are some most interesting
requirements. I've very curious to know what you are doing and why you need
such precision?

The current accuracy in one thing, the magnetic field accuracy
is another story. There are experiments, aka NMR, where the hydrogen
precession frequency is equal to 45MHz/Tesla(or so). Some magnets
operate at 20 Tesla, making 900MHz for the hydrogen.
Other experiments, aka ESR, have prescession frequencies at 10GHz,
35GHz or 90GHz. Over a single experiment, which can last for a day
you want to field to be stable to the single Hz. This is where the
superconducting magnet comes in.
Dunno, what they are using it for though.

Lessee here... E=0.5LI^2... 0.5*1000*500^2 = 125MJ. Ouch. Wouldn't want
to be sitting next to that if the helium or whatnot ran out or the power
supply (compensation loop?) was acting up by supplying much more than 500A
making the superconductor go resistive.

You have antiparallel diodes across the coil, that limit the voltage
to below 1V. And yes, when the helium blows off, that is impressive.
When you overcome the fright, you can talk like mickey mouse.

Rene
 
F

Fred Bloggs

Jan 1, 1970
0
Michael said:
Well, that is probably true. Let me first say that the makers of this
supply don't seem to know how it works, and the manual is useless. They
didn't appear to know that the output is not floating until we discovered it
and told them.

I agree that the supply likely runs in voltage mode with current feedback.
So they are faced with the same problem as I. However, they seem to have no
idea what their compensation looks like. I suspect a simple P controller,
because the steady-state errors are pretty high even with the integration
from the inductive load. That would make sense, because the gain of that
pole is quite small.




The odd behavior (it wobbles, but doesn't oscillate) in current mode when
driving a large inductor (and not when driving a resistive load) seems to
verify that the supply's phase margin is suffering from this load-induced
pole. That makes me think that I will be better off running the supply
under voltage control.

Do you mind telling us what a non-oscillating "wobble" is? Do you mean
it flickers randomly? The current mode supply driving a large inductor
is exactly the dual of a voltage mode supply driving a large capacitor,
in either case you have a dominant pole. If you have a flickering output
then you more likely have a parametric sensitivity problem like flicker
on the regulator reference or low frequency parametric changes in the
inductance that are being gained up- or something going on in the DCCT.
 
R

Rene Tschaggelar

Jan 1, 1970
0
The software loop can be rather slow, in the seconds
per sample. The process is a very, very slow integrator.


Rene
 
J

John Woodgate

Jan 1, 1970
0
I read in sci.electronics.design that Rene Tschaggelar <[email protected]>
wrote (in said:
Dunno, what they are using it for though.

Beaming N-rays at News 2020, no doubt. Oh, I forgot; we're not suppose
to mention N-rays, are we.
 
K

Klaus Vestergaard Kragelund

Jan 1, 1970
0
Michael Starks said:
Well, that is probably true. Let me first say that the makers of this
supply don't seem to know how it works, and the manual is useless. They
didn't appear to know that the output is not floating until we discovered it
and told them.

I agree that the supply likely runs in voltage mode with current feedback.
So they are faced with the same problem as I. However, they seem to have no
idea what their compensation looks like. I suspect a simple P controller,
because the steady-state errors are pretty high even with the integration
from the inductive load. That would make sense, because the gain of that
pole is quite small.

Have you tried running the supply in voltage mode? If you apply amost a
short (sub uH coil), the the precision/resolution of the supply needs to be
gigantic. An off the shelf supply would not seem to be able to do that.

If its a Buck supply, what do you do about the ripple voltage? That will
give you large current ripple in the inductor

Cheers

Klaus
 
Top