i’m self learning electronics for a few months now and i choose my first project to be a bench SMPS. Since it is my first circuit design ever i really need some clarification.

My SMPS is 2-switch forward topology and i designed it to have: adjustable output voltage 0-30V, adjustable current limiting 0-10A

Please review my FB circuit: Op amps are rail-to-rail, i computed values in the way that op amps are comparing 0-1V on one input(current sense, voltage) and 0-1V on second input(potentiometer adjusting) SMPS fb circuit with current limiting and voltage regulation

  • 2
    \$\begingroup\$ Minor thought if you are going to mass produce this: you are converting your rail to rail opamp into open collector using external BJTs. It would be cheaper to use open collector opamps in the first place and just wire the outputs together and let your existing optocoupler resistor serve as pull-up. If it’s a one off, don’t bother. \$\endgroup\$
    – winny
    Oct 11, 2019 at 7:29
  • \$\begingroup\$ @winny Took me a good hour to understand your comment, i finally get it, thanks for really good comment, you are right, with open collector op amps i wouldnt need those 2 BJTs at all. I’ve already bought LMV358s so i will try it with BJTs. Thanks for really good comment! \$\endgroup\$
    – Petr Fiala
    Oct 11, 2019 at 19:51

1 Answer 1


Few comments:

Your feedback opamps have no compensation. You would end up trying to regulate out the ripple on your output and start oscillating like crazy. Check this link: http://www.ti.com/lit/an/slva662/slva662.pdf it is an article titled "Demystifying Type II and Type III compensators". I'd recommend a Type II compensator for this design (three extra components).

I have doubts about your current feedback circuit. Usually you would use a differential amplifier across your shunt, and then put that output into your error amplifier. Are you using this to regulate based on current or as a current limit?

I have not seen the BJT oring you're using before. I'd be worried about the two loops fighting each other. I usually use simple diodes to accomplish this, but I'm not sure how that'd work in your case.

  • \$\begingroup\$ 1. Compensation: Somewhat makes sense, you are probably right about the oscillating output. I’ve somehow read the doc about op amp compensation, but i dont understand the theory behind it, i dont understand how the compensation works in my case, and how i should use it. Im using op amp as a comparator (not as an error/differential amplifier), just to decide if the output is high rail or low rail. I’m little bit lost. \$\endgroup\$
    – Petr Fiala
    Oct 11, 2019 at 21:19
  • \$\begingroup\$ 2. current limiting: 2nd opamp with input from 0.1ohm shunt: I intend to use it just for current limiting. My thinking is that when output current exceeds by potentiometer set current limit, FB is activated(op amp outputs high rail) and as a result output voltage is lowered -> which causes output current to go lower. \$\endgroup\$
    – Petr Fiala
    Oct 11, 2019 at 21:21
  • \$\begingroup\$ 3. BJT oring: op amps will output GND or high rail(4.22v), in combination with 10k resistors it causes BJTs to fully open or fully close. 2 BJTs connected the way i did should behave as a logic OR because just one open BJT is enough to pass current to optocoupler. \$\endgroup\$
    – Petr Fiala
    Oct 11, 2019 at 21:22
  • 1
    \$\begingroup\$ You can also use large capacitor values, 1u and 0.1u (resistor 50k-100k or so) to make the compensation stable easily, but it will be slow. Depends on how fast you need your supply to respond to transients. If you don't have a response analyzer or an oscilloscope, it will be hard to check these things anyway. \$\endgroup\$
    – Stiddily
    Oct 12, 2019 at 13:17
  • 1
    \$\begingroup\$ I design power supplies for work and I feel the same way. There is a method of control called hysteretic control (or something similar, it's based on hysteresis) that has a set point above and below your desired voltage. It turns off when it hits the high limit, and on when it hits the lower limit. It can be incredibly precise. \$\endgroup\$
    – Stiddily
    Oct 14, 2019 at 12:46

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.