# Practical buck converter output voltage too high for given duty cycle

I'm attempting to implement a buck converter as shown in the schematic using a p-channel mosfet as a switch. I'm having difficulties implementing this circuit practically. The simulation produces a correct output voltage. The gate voltage switches between 38V(off) and 30V(on) (not exceeding vgs_max) in the simulation and in my implementation as expected with duty cycle = 0.5. So it appears the mosfet driver part is correct. However, for some reason the output voltage of my implementation is not half the supply voltage as in the simulation. It is around 36v and only when I reduce D to really low values does the output voltage begin to drop significantly. The mosfet I am using is FQP17P06. I have tried swapping it in case it was broken but it doesnt affect the output.

Are there any problems with my schematic? What could be causing this behaviour (assuming there are no breadboard/wiring problems)?

• I would check the voltage at the diode's cathode. If the MOSFET is well driven, you should observe a square-wave voltage whose plateau is close to $V_{in}$ without considering the $r_{DS(on)}$ drop. If you don't see that type of waveform, something is wrong or the P-channel is reverse-connected and its body diode permanently conducts : ) – Verbal Kint Sep 20 '17 at 15:46
• I second Verbal Kint, check the waveforms and compare them to your simulation. They shouldn't differ significantly. – Attila Kinali Sep 20 '17 at 17:18
• Google discontinuous conduction mode. – winny Sep 20 '17 at 20:53

OK here's a DCM sanity check - when the output is at an average voltage of half the incoming supply (i.e. 19 volts) you would expect that any energy transferred through the inductor is just enough to sustain 19 volts on the 185 ohm load.

This sanity check is just to see if in fact you are running in DCM (discontinuous conduction mode) because, in DCM, the output voltage is not strictly related to the duty cycle and this might be your problem. In CCM (continuous conduction mode) the output voltage IS pretty much related to the duty cycle AND 50% duty would roughly mean 19 volts on the output. Read on...

Power in the 185 ohm load is 19 volts squared / 185 = 1.95 watts. This power needs to be delivered by energy storage in the inductor (joules) multiplied by the number of times it transfers per second (joules per second = watts).

The switching frequency is 25 kHz so, energy storage required per cycle is 1.95 watts / 25 kHz = 78 uJ. This is the amount of energy the inductor needs to store and release to the load every switching cycle to get 19 volts across 185 ohms.

So, how much energy gets pushed into the inductor in 20 us when it is being charged?

There is 38 volts on one side (M2 MOSFET on) and 19 volts on the load side. Remembering that V = Ldi/dt allows us to estimate di/dt using the voltage and inductance of 5 mH.

So, di/dt = 19 V / 5 mH = 3800 amps per second or, in 20 us, the current rises to 76 mA. This is the peak current that the inductor should rise to in DCM in 20 us.

Also, remembering that the energy stored in an inductor is: -

$\dfrac{LI^2}{2}$ or 28.88 uJ

In other words, given that I've assumed it might operate discontinuously, there is clearly not enough energy per cycle taken by the inductor so, it has to operate in CCM to get the energy throughput.

When operating in CCM more energy can be transferred because the current through the inductor doesn't fall to zero. It also means that the average current taken by the load (19 volts /185 ohms or 103 mA) is also the average current flowing through the inductor.

So, if it is operating in CCM and the timings are right AND the resistor value is correct then I don't see a problem. However, have you checked that your load is in fact 185 ohms? If it is higher than about 500 ohms then it will operate discontinuously and the output voltage will be above 19 volts. Higher than 500 ohms means higher than 19 volts.

• I see you've accepted my answer - out of curiosity, was it the load resistor or something else? – Andy aka Sep 30 '17 at 8:57