I’ve been designing some heatsinks for the open-source charge controller project. The circuit contains a diode and a MOSFET, which could potentially have up to 20A flowing through them. In this case they will get hot and will eventually fail. I need to ensure that they will be kept within their specific working parameters by keeping them cool. This is done with a big lump of metal, usually called a heatsink.
In this post I’ll go through my design calculations to design a heatsink for an example system.
The lifetime of all semiconductor devices is inversely proportional to their operating temperature. For reliable operation and long component lifetime, it is vital to ensure adequate removal of heat from the device. Within a switching device, there are two main losses: resistive and switching. Both will increase the temperature of the switching device. The resistive element is an I2R loss due to the current through the device and its ‘on’ resistance. Heat is also generated each time the device is switched, due to its IV characteristic. This loss is proportional to the switching frequency.
There are a couple of very good application reports available which also show this process, I would suggest reading both:
- Texas Instruments “Understanding Thermal Dissipation and Design of a Heatsink”
- Electus Distribution “Heatsink Basics”
The heat generated within a device must be transferred through many layers for dispersal to ambient. This diagram shows the heat transfer paths and the equations to calculate the transfer rate:
This diagram is taken from my PhD report.
The input current, voltage and the switching frequency are used to calculate the power dissipation requirements.
The heat transfer paths within the device can be obtained from the component data sheets. If the device must be insulated from the heatsink then an additional layer is introduced. Careful attention must be paid to the implementation of any applied insulation. Mylar insulators with a silicone heat-transfer compound or special silicone insulators can be used. The silicone heat-transfer compound must not be applied too thickly or it will add to the heat transfer resistance. Finally, the heatsink must be correctly sized for the required power dissipation. The temperature of the junction, Tj, must be kept as low as possible as it will affect the component lifetime. The data sheet specifies a maximum junction temperature of 150 ºC but a value of 100ºC was used in the calculations to allow some headroom.
Heatsink design example
In this example I have the following components which need to be cooled:
They have up to 20A flowing through them.
We first need to calculate how much power is being dissipated in each device.
Diode power dissipation
The diode power dissipation is due to the current flowing through the device and the forward voltage drop. To minimise the forward voltage drop I am using a Schottky Rectifier diode, which will have a lower forward voltage drop than other diode types.
According to the data sheet for this device the forward voltage drop is: 0.51V at 20A.
This equates to a power loss of 0.51V x 20A = 10.2W. (Note that at 12V DC, the total power transfer would be 12V x 20A = 240W, with these losses 4.2% of the total power generated).
MOSFET on power dissipation
MOSFETs dissipate power due to I2R when they are on. I have chosen a MOSFET with a low value on resistance, which is, according to the datasheet: 14.8milliOhms.
This equates to a power loss of 20A2 x 0.0148ohms = 5.92W. (Note that at 12V DC, this would be 12V x 20A = 240W, 2.5% of the total power generated).
MOSFET switching power dissipation
MOSFETs dissipate power as they move through the non-linear region of their VI characteristic. That means that each time they are switched on or off then they will dissipate some power. The amount of power dissipated will depend upon the switching frequency. More information on this topic can be found at:
From the Maxim application note we find that an approximation for calculating the switching losses (PDSWITCHING ) (it is approximate as the actual value depends on lots of factors) is:
PDSWITCHING = (CRSS × VIN² × fSW × ILOAD) / IGATE
where CRSS is the MOSFET’s reverse-transfer capacitance (a data sheet parameter), fSW is the switching frequency, and IGATE is the MOSFET gate-driver’s sink/source current at the MOSFET’s turn-on threshold (the VGS of the gate-charge curve’s flat portion).
From the datasheet we find that the CRSS = 95pF.
We use an approximate value for IGATE = 0.5 A from the Vgs of 5V at switch on (Vgs at switch on is found as the flat portion of the Vgs to Gate-Charge curve on the MOSFET datasheet). The gate current (IGATE) is taken from the gate drive circuitry that you have. I used a gate driver that can supply 500mA (0.5A). A typical microcontroller output pin can supply 20mA (not recommended!), so would take longer to switch the MOSFET fully on and the switching losses would be higher.
From out design parameters we know that the PWM switching frequency is 400Hz (from the Arduino output), ILOAD = 20A, VIN = 12V or 24V.
Hence the power dissipation due to switching is 0.0002W at 12V and 0.0008W at 24V. These are VERY small values. If the switching frequency is increased then these switching losses would become a much bigger proportion of the power loss. Or I have done the maths incorrectly.
So the total maximum power dissipation, Pd, is 10.2W + 5.92W + 0.0002W = 16.12W.
We will be using the equation: Tj = Pd (Rjc +Rcs + Rsa) +Ta, where Ta = 25C, Tj = 100C and the values of Rjc and Rcs come from the device data sheets.
We need to perform this calculation for the two different devices, the diode and the MOSFET, but with only one junction from the heatsink to the ambient, as we will be putting both devices onto the same heatsink.
The equation becomes:
Tj = PD Diode (Rjc +Rcs) + PD MOSFET (Rjc +Rcs) + (PD Diode +PD MOSFET) Rsa +Ta
We are trying to find the value Rsa which can be used to specify the heatsink.
From the data sheets we can find that, for the diode: Rjc = 1.5 C/W and for the MOSFET: Rjc = 1 C/W.
The value of Rcs depends upon the mounting method. For a T0-220 package:
- If mounted directly Rcs = 1-1.3C/W
- If mounted with heatsink compound Rcs = 0.5-0.8 C/W
- If mounted with mica insulator and heatsink compound Rcs = 0.8-1.4 C/W
In the design I am working on, the case for the diode and the case for the MOSFET are at exactly the same potential, so it does not matter if they are electrically connected. I will be using heatsink compound, so the value of Rcs = 0.5-0.8 C/W, we will use the worst case which is Rcs = 0.8 C/W.
We now have everything we need to calculate the value of Rsa which can be used to specify the heatsink.
100 = 10.2(1.5 +0.8) + 5.92(1 +0.8) + (16.12) Rsa + 25
40.884 = (16.12) Rsa
For 100C max junction temperature: Rsa = 2.54 C/W
I re-did these calculations for a junction temperature of 150C, which is also OK for these devices:
150 = 23.46 + 10.65 + (16.12) Rsa + 25
90.89 = (16.12) Rsa
For 150C max junction temperature: Rsa = 5.63 C/W
Now we know the minimum Rsa value for our heatsink for two different temperatures. Any heatsink with a thermal resistance value lower than this will be suitable.
Heatsinks are quite expensive and heavy. I need it to work reliably, but there will not be many times the unit is operating at 20A. Hence I will design for a value of 5.63 C/W or lower. This should reduce the size and cost of the heatsink required.
Heatsink final decision
When looking for heatsinks we need to look for a heatsink with a thermal resistance lower than our design value. this will ensure it can dissipate the required amount of heat.
In this case I am designing for 5.63 C/W. All heatsinks have a C/W (sometimes a K/W, but the same thing) rating. This can be used to decide which to choose.
Searching on a number of websites (typically RS, Farnell, CPC and Rapid) I found two from Farnell which I will test out and design the unit around: