# Oscillations in voltage-controlled current source with MOSFETs and opamp feedback -- Why?

I have a circuit that should operate as a voltage-controlled push-pull current driver, able to source or sink at least 2A (into a 1 ohm load). It has unexpected oscillations on the output current.

Circuit components:

• U1: LM358P "rail to rail" opamp

• Q1, Q2: IRL540NPBF power MOSFET, 36A max

• D1: 6A10-B rectifier, 6A max avg forward current

Note: Despite the feedback loop being connected to the noninverting input, the opamp has negative feedback because Q1 and R_D form an inverting amplifier.

Quick description of circuit operation

$$\V_{IN}\$$ controls the current. $$\V_{IN}=3.3V\$$ (roughly) should give $$\V_{L}=5V\$$ and therefore zero current through $$\R_L\$$. This aspect works properly, and the circuit is stable under this condition (no oscillations). With $$\V_{IN} < 3.3V\$$, the circuit should sink current from $$\V_2\$$ through $$\R_L\$$, D1, and Q1, to GND. This somewhat works, in that the mean value of $$\V_L\$$ decreases below 5V (to 4V, etc), but as $$\V_L\$$ decreases there are increasingly large oscillations in $$\V_L\$$. The oscillations are (distorted) square waves at about 86 kHz. When the mean of $$\V_L\$$ is $$\\approx 4V\$$, the oscillation amplitude is $$\\approx 1 Vpp\$$.

Attempts to diagnose the oscillation

In an earlier version of the circuit I thought the oscillation might be because of delays in the feedback loop, so I followed the instructions here. I added $$\C_F =\$$ 100 nF to make the crossover frequency $$\f = 1/(2 \pi R_{IN} C_F ) \approx\$$ 500 Hz. This made no significant change to the oscillation.

I have also bypassed the power supplies with the largest capacitors (ceramic and electrolytic) that I had on hand.

Can anyone diagnose the source of the oscillation? Thanks much!

p.s. The circuit was inspired by one in Horowitz & Hill 2nd Ed. See Fig 3.75.

• U1 is far from being a rail to rail op-amp. Apr 16, 2020 at 9:16
• This may help Apr 16, 2020 at 9:24