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.
Here is what happens at the opamp output:
And here is what happens at the inverting node (voltage across sense resistor):
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?