Buck Regulator Inductor Selection

Thread Starter

guitardenver

Joined Jan 24, 2009
31
Control Chip: http://aosmd.com/res/data_sheets/AOZ1280CI.pdf
Vin = 24V (26 max)
Vout = 9V
Iout Max = 1 A

I'm stuck on deciding what are acceptable inductor values. The Inductor Ripple Current should be about 30% of Iout Max. Using the equation in the datasheet for inductor ripple current on page 8 the inductor value should be about 13 uH. Also I calculated the ripple current when using an 8.2 uH, which is about 478 mA.

Most of the reference design for DC to DC buck regulators I seen all use a 4.7 uH inductor for regulators with similar switching frequencies. Such as this one here. It uses a ripple current of about 500mA for reference designs.
http://ww1.microchip.com/downloads/en/DeviceDoc/22285A.pdf

And many others also use a 4.7uH inductor. Even for my chip the test conditions had a 4.7 uH. What is so special about that specific value and can I choose any value? Does the 4.7uH inductor need to be there for control system stability of the chip? If I go with the calculations at 13uH the cost of the inductor is a little to high.

Main questions:
1)
Can I go with the 8.7 uH with an L_ripple of 478 mA and have a stable 9 V output? Using a 22uF output cap. +/- 1% output is more than enough accuracy for what i'm using it for.

2)
Also the thermal resistance is 220 C/W. And says nothing about how low I can get that with proper PCB layout. I found suggestions on PCB layouts but a well educated guess on the thermal resistance value would be nice.



To help with calculations I wrote a simple python script that will calculate all this and what the junction temperature will be. Here it is. If you find any mistakes let me know.

Code:
import math




Vout = 9.0
Vin = 24.0
Vinmax = 26.0
Ioutmax = 1
Fsw = 1500000       # Switching Freq. Hz
DutyCycleMax = .87  #87% switching duty cycle max.
Efficiency = .85    #Minimum Efficiency of the controller chip = 85% at Vin 24V and Vout is 9V
Max_Inductor_RippleCurrent = .30    #30% of Ioutmax

Cout_uf = 22        #uF
ESRco = .015        #ohms

Inductor_Chosen_uH = 8.2    #uH
Inductor_ohms = .055        #ohms

Diode_Vfw = 1.0             #Shottky foward voltage max

ThermalResistance_ja = 60   #C/W    This is highly dependent on PCB layout.
Ambient_TempMax = 50        #Deg C
Junction_temp_Max = 150     #Deg C

Cout = Cout_uf * .000001
Inductor_Chosen = Inductor_Chosen_uH * .000001
Inductor = 0.0


#Inductor ripple current. Should be about 30% of Ioutmax
def delta_IL(Ioutmax_l):
    return float(Ioutmax_l) * Max_Inductor_RippleCurrent

#Calculates Inductor ripple current from a pre-selected inductor value
def ripp_cur(L):
    return (Vout/(Fsw * float(L))) * (1.0 - (Vout/Vinmax))


#Calculates the minimum inductor value that should be used with ideal ripple current
def Calc_L(Vout_l,Vin_l):
    return (float(Vout_l)*(1-(float(Vout_l)/float(Vin_l))))/(delta_IL(Ioutmax)*Fsw)

#Calculates the Peak Current through the inductor
def IL_Peak(Iout_l ,delta_IL):
    return float(Iout_l) + (delta_IL/2)

#Calculates what R1 should be when you pick a value for R2
def R1(Vout_l,R2_l ):
    return ((float(Vout_l)/.8) - 1) * float(R2_l)

#Calculates how much the output voltage fluctuates
def ChangeVout(delta_IL, Cout_l, ESRco = 0.005):
    return (delta_IL * (float(ESRco) + (1/(8.0*1500000.0*float(Cout_l)))))

#Calculates the power dissipated by the inductor
def Inductor_Power(Iout_l,Rind_l):
    return float(Iout_l * Iout_l) * float(Rind_l) * 1.1

#Calculates the power dissipated by the diode
def Diode_Power():
    return Ioutmax * (1 - DutyCycleMax) * Diode_Vfw


#Calculates the RMS current of the output capacitor
def Ico_RMS(delta_IL):
    return (delta_IL/math.sqrt(12))

#Calculates the total power loss of the entire system. Not just the controller chip.
#Ptot = Pin - Pout
def Ptotal_loss():
    return ((Vout * Ioutmax)/Efficiency - (Vout * Ioutmax))

#Calculates the jucntion temperature of the controller chip.
def Tj_calc(Power):
    return (float(Power) * float(ThermalResistance_ja)) + Ambient_TempMax




Inductor_Ripple_I = ripp_cur(Inductor_Chosen)

Max_Inductor_I = IL_Peak(Ioutmax,Inductor_Ripple_I)

Inductor = Calc_L(Vout,Vinmax)

Change_inoutput_V = ChangeVout(Inductor_Ripple_I,Cout, ESRco)

Power_Inductor = Inductor_Power(Ioutmax,Inductor_ohms)

Power_Diode = Diode_Power()

Power_Total_Loss = Ptotal_loss()

Power_Chip_Loss = Power_Total_Loss - Power_Inductor

Juction_temp = Tj_calc(Power_Chip_Loss)

print 'Ideal Inductor Value: {} uH\n'.format(Inductor / 0.000001)

print 'All values below are calculated with inductor value chosen, not ideal\n'

print 'Inductor value Chosen: {} uH\n'.format(Inductor_Chosen_uH)

print 'Max Inductor Current: {} Amps\n'.format(Max_Inductor_I)

print 'Inductor Ripple Current {} Amps\n'.format(Inductor_Ripple_I)

print 'Inductor Power Loss: {} Watts\n'.format(Power_Inductor)

print 'Diode Power Loss: {} Watts\n'.format(Power_Diode)

print 'Power dissipation of control chip: {} Watts\n'.format(Power_Chip_Loss)

print 'Control Chip Junction Temperature at Iout_Max: {} Deg. C  (Max = {})\n'.format(Juction_temp,Junction_temp_Max)

print 'Change in output Voltage: +/- {} Volts\n'.format(Change_inoutput_V)
The output of this code is:
##################################################################
Ideal Inductor Value: 13.0769230769 uH

All values below are calculated with inductor value chosen, not ideal

Inductor value Chosen: 8.2 uH

Max Inductor Current: 1.2392120075 Amps

Inductor Ripple Current 0.478424015009 Amps

Inductor Power Loss: 0.0605 Watts

Diode Power Loss: 0.13 Watts

Power dissipation of control chip: 1.52773529412 Watts

Control Chip Junction Temperature at Iout_Max: 141.664117647 Deg. C (Max = 150)

Change in output Voltage: +/- 0.00898857240321 Volts
####################################################################

For more information here are the components I plan to use so far. All in reference to the schematic in the datasheet for the control chip.

R1 = 73.2k
R2 = 7.15K
C1 = 10uF
C2 = 22uF http://www.digikey.com/product-detail/en/CL31A226MOCLNNC/1276-2728-1-ND/3890814

C3 = 10nF

L = 8.2 uF http://www.digikey.com/product-detail/en/SRN6045-8R2Y/SRN6045-8R2YCT-ND/2756163

D1 = http://www.digikey.com/product-detail/en/SD101CWS-TP/SD101CWSTPMSCT-ND/717419
 
Last edited:

ronv

Joined Nov 12, 2008
3,770
I'm not sure it matters much. It's a trade off of inductor cost I think. As you said a smaller inductor will see higher currents so must be rated for a little higher saturation current and wastes some power in the IC. I'm not sure there is much you can do with the pcb to cool the sot-23. Maybe a little extra copper on Vin, out and ground pins.
 

JDT

Joined Feb 12, 2009
657
Your python code looks good. Mostly, the inductor value is not that important. Most controllers are monitoring the inductor (or switching transistor) current, therefore the smaller the inductance the faster the switcher will operate. Higher frequencies mean the board layout and speed of diodes and transistors and ESR of capacitors becomes more important. Most manufacturers data-sheets are keen to show how physically small a circuit can be built above all else - something which is often a disadvantage for home experimenters.

It always surprises me that often the inductor is often the component where most of the losses occur. Especially with high frequency operation. Hard to calculate because the losses are in the core itself, not copper. I have bought some off-the-shelf DC-DC converters where the inductor runs so hot (at full rated load) that I had to stop using them.
 

Thread Starter

guitardenver

Joined Jan 24, 2009
31
Looks like I will go with the 8.2 uH.

I do have a big concern about the heat of the chip. The thermal resistance is 220 C/W. The output of the code above was with a 60 C/W resistance. With 220 the code output is this:

############################################################################
Ideal Inductor Value: 13.0769230769 uH

All values below are calculated with inductor value chosen, not ideal

Inductor value Chosen: 8.2 uH

Max Inductor Current: 1.2392120075 Amps

Inductor Ripple Current 0.478424015009 Amps

Inductor Power Loss: 0.0605 Watts

Diode Power Loss: 0.13 Watts

Power dissipation of control chip: 1.52773529412 Watts

Control Chip Junction Temperature at Iout_Max: 386.101764706 Deg. C (Max = 150)

Change in output Voltage: +/- 0.00898857240321 Volts
############################################################################


With a 220 C/W resistance I will only be able to put max 280 mA of output current. Even then that is operating too close the the max junction temperature of 150 C.

Can you guys take a look at my calculation for the power and junction temperature?

Ptot = Pin - Pout

Pout = Pin * Efficiency
so..

Pin = Pout/Efficiency

Ptot = (Vout * Iout)/Efficiency - (Vout * Iout)
Ptot = (9 * 1)/.85 - (9 * 1) Assuming 85% efficiency minimum
Ptot = 1.588 W

Pchip = Ptot - Pinductor

Pinductor = I_inductor^2 * R_inductor * 1.1 1.1 is there according to the datasheet
= 1.239^2 * .055 * 1.1
= .0928W

Pchip = 1.588 - .0928 = 1.495 W



Now for the junction temperature
Tj = (Pchip * thermal_resistance) + Tamb

Tj = (1.495* 220) + 50 lets say 50 C max ambient temperature
Tj = 378.9 deg C !!!

That is obviously unacceptable. Are the calculations correct? If so I need to get the thermal resistance to about 60 C/W. Or find another controller chip.
 

Thread Starter

guitardenver

Joined Jan 24, 2009
31
I might have to go with this chip instead. It's the same chip but the package is different. It has an exposed pad for heat dissipation. Says you can get 55 C/W with proper PCB. So 60 C/W seams reachable with this package. Also 10 cents more for the chip it will be worth it.
http://aosmd.com/res/data_sheets/AOZ1281DI.pdf


Side note. Is it just me or in the datasheet is the Ptotal_loss equation wrong?
 

ronv

Joined Nov 12, 2008
3,770
I think it is poorly done to. But, I don't think the power in the ic is so high. Most of it's losses are in the FET itself which they put at 240 mohms. So I make it to be around .37 watt or 131C. There will be some more due to switching so it's pretty toasty.
You did forget the diode loss I think.
 

Thread Starter

guitardenver

Joined Jan 24, 2009
31
I did forget the diode loss. Which is .13 watts. Could you elaborate on the FET losses? The FET is inside the IC. So the IC package has to dissipate all the power right? What is the correct way to calculate the power the chip has to dissipate?
 

ronv

Joined Nov 12, 2008
3,770
Let's try this:
Pout=9watts.
From the graph (guestimate) 93% (24 to 9 volts)
Power lost .63 watts.
- diode .13, - ind. .09. .41 total - pretty close to just the I^2R drop in the FET.
Temperature 140 or so.
 

Thread Starter

guitardenver

Joined Jan 24, 2009
31
I agree with those calculations. I did it the same way but I just guestimated a different efficiency of 85% minimum. A small change in efficiency has a big impact. I guess the big question here is how efficient is my design. I would think I can't really accurately answer that without taking measurements on the final board. Either way, with 93% I will still need to make sure the PCB dissipates as much heat as possible. Since the Rdson is calculated at 25 C ambient temperature, since we are assuming max 50 C, the Rdson will go down as the temperature goes up. Which will improve the efficiency.

Thanks for the help and brainstorming with me. I think I am comfortable enough to go ahead and start the building and PCB process. If you think of anything else let me know.
 
Top