I am testing a flyback converter with secondary side regulation, by means of a 431 in conjunction with an optocoupler with nominal CTR of 50-100%. A snippet of the regulator part is below.

I have used the 431 before to regulate non-isolated supplies (Sepic, Cuk) using the same 431 and modulator without issues, i.e. I didn't use the optocoupler in the feedback of those supplies.


simulate this circuit – Schematic created using CircuitLab

The full schematic is here:

enter image description here

The issue

According to my spice sims (using the 431 model from Diode's website), the regulator should be stable as shown in the schematic. The switching frequency is approx. 1.3 MHz. It is stable with no Iload at all, or with various load currents, up to 100 mA in this test. It becomes unstable if the compensation capacitor C1 is smaller than ~100 pF, or if the 5V capacitor is smaller than approximately 1 uF.

However, the actual converter is ringing heavily, overshooting and undershooting the regulation at irregular intervals. All the voltage waveforms on the primary side modulator look completely as expected, with the only exception being the feedback node that is pulled on by the opto. This feedback seems to over-react. Therefore, I suspect an issue with the regulator compensation. This feedback node on the primary side has an impedance of 33 kΩ || 100 pF.

Adding some load current of around 50 mA made the regulation a bit better, but it was still changing between essentially maximum duty cycle (50%) and fully off phases.

I then added a 120 µF electrolytic cap on the output to provide a large high frequency load. This fixed stability at higher frequencies. But now the regulator is ringing at a pretty constant frequency of about 2 kHz. Where "ringing" means toggling between off and a few pulses of high-duty operation.

Is there some general suspicion to be made about the compensation scheme? Can the frequency of the ringing (2 kHz) be a trace to some part of the regulation loop that I could fix? Does the opto perhaps restrict regulation bandwidth considerably over the non-isolated supplies I built succesfully using the same modulator and regulation? The opto datasheet lists 3-4 µs as toggle time, so it should be plenty fast for the time constant of voltage sense node (33 µs).

  • \$\begingroup\$ What is the used converter frequency? Is it possible, that the coupler itself is too slow? \$\endgroup\$
    – Jens
    Jun 23, 2023 at 16:52
  • \$\begingroup\$ @Jens Do you mean the switching frequency mentioned in the question? That would be 1.3 MHz. I suspect the opto, too, as it is the part I have no prior experience with. But according to the datasheet, I would infer that it is fast enough actually. \$\endgroup\$
    – tobalt
    Jun 23, 2023 at 17:00
  • \$\begingroup\$ The respose times of the coupler are defined for a 100 ohm load, but here you have 33 kohm. Your switching frequency is 10 times faster than all the circuits I have seen using this 431 and coupler circuit. Interesting - which SMPS driving circuit do you use? \$\endgroup\$
    – Jens
    Jun 23, 2023 at 17:10
  • \$\begingroup\$ @Jens hmm I see. Do you think the opto could be as slow as 2 kHz given the high impedance in the feedback node? Wanna formulate an answer based on that? Drive is comparator straight into a small MOSFET. Vin is 48V (no offline converter), so the FET is small. It turns on in about 10 ns without additional driver. \$\endgroup\$
    – tobalt
    Jun 23, 2023 at 17:28
  • \$\begingroup\$ What load current is the phototransistor running at? What voltage gain? To make it concrete, what is the rest of the circuit (controller, output filter)? \$\endgroup\$ Jun 24, 2023 at 3:15

2 Answers 2


I think the coupler response time is too slow for the desired feedback loop.

The datasheet specifies a maximum of 18 µs rise and fall time with 100 ohm load and 2 mA collector current. We are far from this here with 33 kohm load.

Another problem is, that the response is not symmetrical. The coupler output capacitance can be discharged quickly if the LED is driven, but only slowly discharged via the load resistor. This will produce overshoot.

A first attempt is to lower the load resistor to enable 2 mA current as midpoint for the regulation.

If this is still too slow, it is possible to use only the BE diode of a coupler as photo diode. This needs another coupler with access to the base. In this case 33 kohm load may be appropriate.

  • \$\begingroup\$ Indeed it looks likely that the opto is already limiting at this low frequency. I was always wondering why people used so high opto currents of several mA. Lower impedance on the opto output and more opto current would also remove the need for R1.. Will test in the next days to check. \$\endgroup\$
    – tobalt
    Jun 23, 2023 at 19:00
  • \$\begingroup\$ I did two tests: 1) increased compensation cap to 10 nF which should put bandwidth safely below the opto speed limit -> still ringing, but at a faster frequency now ~8kHz with less amplitude. 2) I tested the opto model in spice, and it very well accounts for the slow rise/fall times when in a high impedance load. Regardless, the spice sim of the flyback regulator is very stable with no ringing. At the moment I am trying to reproduce the real behavior in spice for more hints. I am suspecting VIN stability issues. \$\endgroup\$
    – tobalt
    Jun 27, 2023 at 6:36
  • \$\begingroup\$ @tobalt, if you talk about the compensation cap. across the TL431, increasing it changes the time constant of the 0-dB cross-over pole and the zero position. To add a pole, you need to place a cap. loading the optocoupler collector or emitter for instance. This is because of the so-called fast-lane configuration of the TL431 in which the LED current depends on the TL431 and the regulated voltage directly. \$\endgroup\$ Sep 22, 2023 at 12:08
  • \$\begingroup\$ @VerbalKint If you look at the Kicad image, you see C5. This timing capacitor directly loads the opto output. \$\endgroup\$
    – tobalt
    Sep 22, 2023 at 14:25

The key to finding the issue was realizing that it only appears when the converter drops into DCM. Something was stimulating it to turn on prematurely, but only in DCM and this "something" was the oscillating switch node voltage, which capacitively coupled back into the rather high impedance comparator input nodes (both of them ~33kΩ).

After reducing the impedance of the inverting input, the oscillator becomes more noise resistant and works fine. I changed C5 to 1nF and R6 to 10kΩ


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.