Electronic – Unstable Feedback in Opamp+MOSFET circuit for Voltage Controlled Current Source

current-source

I'm attempting to build a 1 Amp LASER driver that can be pulsed (at ~10kHz) and gives control over current with a voltage (from a DAC, for example). I'd like to scale it up to 10 Amp pulses eventually. I tried this common circuit below on a breadboard, but the feedback is unstable. Arrows indicate what should be (apprixmately) happening, which I confirmed on simulations.

I'm using a 500 mOhm 10 W resistor to simulate LAESR diode on resistance, and a 1 Ohm sense resistor.

enter image description here

Here is what happens at the opamp output:
enter image description here

And here is what happens at the inverting node (voltage across sense resistor):
enter image description here

I tried changing around the values but things only get worse. I thought the opamp was too wideband so I increased compensation cap C3. Feedback becomes stable when I make it 4.7uF (yes, 4.7uF), but pulsing Vctrl makes rise and fall times ~1s. Value of R3 doesn't seem to matter as long as it's there.

This is the opamp I'm using (MCP6022, not 602), and this is the FET I'm using (IRLI3705N). Is the opamp too wideband for this application? Its correcting too quickly and overshoots? Am I stuck at the "knee" on the FET's I-V curve so a little bit of gate voltage changes current exponentially? Is my Vcc not large enough? Is this even the right VCCS solution for a 10 A pulsed load?

Best Answer

A couple of things can cause instability

  1. With such low impedances you need to make sure you have a low inductance ground system. Implementing this in a plug-in breadboard will probably not work, the parasitics are too high.

  2. Remove C4 - it is possibly causing phase shift in your feedback loop.

  3. You have a 22pF cap (C3) from the output of the amplifier to the input, but you have it directly connected to the 1 ohm sense resistor. This will prevent it doing anything useful. I would add a 1k resistor between the sense resistor and the inverting input of the opamp to isolate the stabilizing feedback path (C3) from the lower frequency signal from R4. You may need to try different values for C3, I would expect you would need it much larger, maybe 1000's of pF. You can get a good idea of what value you need by simulating it in LTspice. Have you simulated it?

kevin