Electronic – Oscillations in voltage-controlled current source with MOSFETs and opamp feedback — Why

current-sourcemosfetoperational-amplifierpowermosfetpush-pull

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.
Push-pull current driver for 2A into 1 ohm

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.

Best Answer

A significant factor when using power MOSFETS is their very large input capacitance - in this circuit it will add poles at the output of the opamp and the gate of Q2. Together with the very high loop gain in the circuit due to the added gain of Q1 will make it very difficult to stabilize.