I need to design a +/-1.5A, 3kHz small-signal-bandwidth (absolute min, for 3° max phase and 1% max error on amplitude) current controller for a 20 Ohm 0.1H load with a +/-100V supply rail (the current setpoint profile I'm planning to request should make the load swing +/-80V).

I want to make that controller based on a high power op-amp (because I need very good smoothness so no H-bridge) from PowerAmp Design, the PAD129. It has in particular a GBW of 1MHz and a correct SOA for this application. The opamp controls the voltage across a sense resistor capable of dissipating the heat.

Here is the best of my many attempts using the manufacturer's SPICE model of the opamp, and yet it still does not work. I've also tried placing the RC between the output of the opamp and the negative input, with similar results. enter image description here

I have calculated the transfer function and plotted it considering the opamp to have a finite gain equal to a first order with DC gain of 1 million and rolloff frequency of 5Hz, and I have noticed that the feedback network has very little impact on this resonance: enter image description here

So it seems the inductor is resonating with something, but I don't see how to damp it enough to increase the gain-limited bandwidth (the phase-limited bandwidth is more or less what I need).

And finally, I thought the wobble on the waveform above was due to that resonance, but how can a pure sine input result in an output waveform with a different frequency, since the opamp is supposed to be linear (the output voltage is not clipped)?

Do you have an idea of how to modify the circuit to make it work? I'm out of ideas.

Edit: Suggestion of peufeu (and one of my previous attempts). This is the furthest I can push the resonance, and it still isn't enough. enter image description here

  • \$\begingroup\$ I can't see the circuit well, but why did you place the feedback across the inductor? Where is the load 200 ohm and 0.1H? What are all other resistors? It would be easier to see frequency rather than rad/s. \$\endgroup\$ – Marko Buršič Sep 13 '17 at 21:22
  • \$\begingroup\$ 0.1H and 200ohm at 3kHz from my calc gives 2k ohm impedance. Injecting 1.5A would need approx 3kV. \$\endgroup\$ – Marko Buršič Sep 13 '17 at 21:46
  • \$\begingroup\$ Can't believe I had forgotten this. Oops. \$\endgroup\$ – bobflux Sep 13 '17 at 21:48
  • \$\begingroup\$ Marko Bursic: I've tried several forms of feedbacks, this is one of them :/ The load is just at the output of the opamp, and the resistor on the right is the current sense resistor. 1.5A is not injected at 3kHz, I only need this bandwidth for small signals. \$\endgroup\$ – Mister Mystère Sep 13 '17 at 21:58
  • \$\begingroup\$ +1 for "damp"! (rather than "dampen", which means to make something wet) \$\endgroup\$ – Dave Tweed Sep 14 '17 at 0:39

The opamp is oscillating...

This is due to the feedback inductor current, which has 90° phase lag relative to output voltage. Since the opamp's output already has about 90° phase lag relative to input voltage, you get 180° lag and it oscillates.

"I have no idea what I'm doing" method:

The 20R resistor on the output is part of the load?

Remove the top series RC (can't see the part names on your schematic) and add a cap from the output of the opamp to the negative input, perhaps 100pF. Adjust its value until the frequency response looks good, you should get rid of the peak.

Engineering method:

Learn about bode's stability criterion. (VF)

Now, plot the open loop gain by breaking the loop and inserting a source inside:


Then do the above capacitor trick...

Then close the loop, it should work.

| improve this answer | |
  • \$\begingroup\$ Still, I don't see how the control input voltage will translate into current setpoint. The OP talks about current controller. \$\endgroup\$ – Marko Buršič Sep 13 '17 at 21:42
  • \$\begingroup\$ Yeah he wants to control the current in the inductor, so he takes feedback on the 3R resistor which gives an image of the current... \$\endgroup\$ – bobflux Sep 13 '17 at 21:44
  • \$\begingroup\$ Thanks for the answer peufeu. You'll recognize the same problem as the last one we discussed :) I've also tried with a capacitor between opamp out and V-, with similar results... \$\endgroup\$ – Mister Mystère Sep 13 '17 at 22:00
  • \$\begingroup\$ try stepping the cap value 100pF - 10nF or something... \$\endgroup\$ – bobflux Sep 13 '17 at 22:08
  • \$\begingroup\$ See edit in my question, I've tried 1pF to 100nF (and various resistances), the lower cap the better and 1pF doesn't cut it :/ \$\endgroup\$ – Mister Mystère Sep 13 '17 at 22:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.