Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Problem controlling the output voltage of a buck converter

Not open for further replies.


Advanced Member level 3
Apr 24, 2010
Reaction score
Trophy points
Dhaka, Bangladesh, Bangladesh
Activity points
I was trying to make a micro-controller based buck converter. As the theory tells the output voltage should be controlled by the duty cycle. But Its always giving same output at 1%-100% duty and 0 at <1% duty. I'm using IRF9540 for switching, Cin=470uF/50V, L=10uH,Cout=2200/25X2. Fsw=50KHz.

Can anyone tell me how can I control the output voltage of the buck converter?

Adjusting the duty cycle should vary the output voltage. Your inductance is insufficient.

What is the input voltage? What is the output current?

What same output voltage do you receive at all duty cycles?

input voltage: 15-25VDC, output: 10-14V, I load(max)= 10A, Iload(min) = 0.5A. I'm testing with 20V input. But whatever the duty the output is either 19.5V or 0V. Can't control. I also sued a inductor of 100uH. But same problem.

With a 20V input, if you get 19.5V or 0V, it means that you're not getting the LC filtering you desire. Increase the value of the inductance. What is the output current with which you are testing?

Take a look here: **broken link removed**

And, yes, you'll need to increase your inductance. Try in the range of 500uH to 1mH. Remember that the value calculated from the formula is the minimum required value. Actual must be greater than calculated.

1mH will be a large inductor in size. How can I make smaller one?

- - - Updated - - -

Can you show me any working design? I tried with 500uH but the output voltage is varying just within a few mV.
Can you upload your schematic?

I've made quite a few buck converters, mostly with N-channel MOSFETs though. Output voltage problems were all due to LC filter, that I fixed through trial and error.

For 1mH inductor, use a toroidal core with high AL value such as ferrite transformer toroid cores.

I followed this pdf

Just now I've used 100uH+100uH. with Fsw=5KHz. Now its varying as desired. But the problem again with the inductor. How can I get a 200uH inductor of up to 60A? Any inductor design process?


  • SMPSBuckDesign_031809.pdf
    85.8 KB · Views: 73

Is the 5kHz fsw mentioned a typo? Don't you mean 50kHz?

Wind the inductor on a large enough core. 200µH shouldn't take too many turns.

Use several strands of thin wire such that they can handle the required current and minimize skin effect.

Yes, Its 5KHz Fsw. I found that at this point control become easy. But I'm afraid that it may required large inductor.

For inductor designing, I tried some formulas from net, but none of them work or result comes so odd. such as just a 20uH inductor with 1.5in dia, formula says it have to wind around 267Turns of 12SWG wire. How its possible? Can you help in this case? do you have any easy way to design an inductor?

You can't use turns information from the internet directly for winding the inductor, without knowing the specifications of your core, as the AL value may (probably will) vary. Most cores you find in Dhaka don't come with specifications. So, you need to find the AL value experimentally. Then adjust as required by trial and error.

please can you explain how to find the AL value experimentally. thanks

You can use any shaped core, but toroids are easiest to use, since you can just wind over the core.

Wind 5 turns and measure the inductance.
Wind 15 turns and measure the inductance.
Wind 30 turns and measure the inductance.
Wind 50 turns and measure the inductance.

For each set of turns and inductance, calculate the AL value as: AL = L / (\[{N }^{2 }\])
You will get 4 values of AL. If there is any anomalous value, leave out that result and measure L and calculate AL again. Take the average of the 4 AL values you calculated. That will be a good approximation to the AL value.

Using several values of inductance (L) and turns (N), you can plot a graph of L against \[{ N}^{2 }\] . Draw a best fit line through the points and calculate the gradient of the line. The gradient of the line is equal to the AL value.

Hope this helps.

I got it. I make and trial it. Finally its working. But as I don't have any inductance meter so I can't say what is the inductance. What inductance meter you use?

- - - Updated - - -

I got it. I make and trial it. Finally its working. But as I don't have any inductance meter so I can't say what is the inductance. What inductance meter you use?

Not open for further replies.

Part and Inventory Search

Welcome to