I've been trying to wrap my head around this, and Rich generously let me pick his brain about the issue and has already offered too much help. I feel like were closing in on a solution. This is the current circuit:

Description of what's going on:
- A regulator circuit (not shown) keeps the laser anode voltage at constant 12.5 V
- The OpAmp attempts to keep its two inputs at the same voltage, in which case there is always the same current flowing through R31.
- At DC the OpAmp output has no path to the input. Instead, the voltage it outputs causes the gate on the MOSFET M1 to open, which draws current from the anode to the drain which has to come through the laser
- The source current splits, and part of it drives a much larger current through the power transistor Q2, which also drains from the anode.
- Since the OpAmp cannot source current though R31 but keeps the voltage across it steady at the setpoint, all current through R31 goes through the laser.
Or at least that's the idea. Now for the problems:
- Q2 has some maximum gain-bandwidth and the beefy inductor L1, which is intended to shut out the HF modulation path, makes it harder and harder to draw enough current from the anode at higher and higher frequencies to control the setpoint
- This makes the feedback loop unstable, unless capacitor C35 is added to relief the feedback loop at high frequencies
- This opens a second path for current into R31. The loop still holds the setpoint steady, but it trades current from the anode with current sourced by the OpAmp. The peak we are observing is some toxic cross-over behavior.
I procured the LTspice model for the circuit from Rich, along with his spare current driver unit which I will first modify rather than touching the somewhat working laser drivers. After tweaking it a little I was able to make the observed behavior appear qualitatively in the model (peak was at ~50kHz rather than 30kHz, for which I blame the accuracy of the spice parameters). Just like on the real units the peak frequency changes slightly with current set point, and also with extra capacitance on C35, so I'm fairly confident I have the real problem diagnosed.
The cross-over is surprisingly hard to remedy with the given topology. The best result I obtained by reducing L1 to 1uH, C35 to 100nF, and switching Q2 for a faster transistor. A transient analysis showed that this configuration would be stable, but since some simulation parameters might not be exact stability needs to be kept in mind. I'm now shopping for transistors that will do the job, since my first choice does not seem to be available for purchase anywhere. |