Welcome
Username or Email:

Password:


Missing Code




[ ]
[ ]
Online
  • Guests: 62
  • Members: 0
  • Newest Member: omjtest
  • Most ever online: 396
    Guests: 396, Members: 0 on 12 Jan : 12:51
Members Birthdays:
All today's birthdays', congrats!
Mathias (41)
slash128v6 (52)


Next birthdays
01/31 Mathias (41)
01/31 slash128v6 (52)
02/01 Barry (70)
Contact
If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.


Special Thanks To:
  • Aaron Holmes
  • Aaron Wheeler
  • Adam Horden
  • Alan Scrimgeour
  • Andre
  • Andrew Haynes
  • Anonymous000
  • asabase
  • Austin Weil
  • barney
  • Barry
  • Bert Hickman
  • Bill Kukowski
  • Blitzorn
  • Brandon Paradelas
  • Bruce Bowling
  • BubeeMike
  • Byong Park
  • Cesiumsponge
  • Chris F.
  • Chris Hooper
  • Corey Worthington
  • Derek Woodroffe
  • Dalus
  • Dan Strother
  • Daniel Davis
  • Daniel Uhrenholt
  • datasheetarchive
  • Dave Billington
  • Dave Marshall
  • David F.
  • Dennis Rogers
  • drelectrix
  • Dr. John Gudenas
  • Dr. Spark
  • E.TexasTesla
  • eastvoltresearch
  • Eirik Taylor
  • Erik Dyakov
  • Erlend^SE
  • Finn Hammer
  • Firebug24k
  • GalliumMan
  • Gary Peterson
  • George Slade
  • GhostNull
  • Gordon Mcknight
  • Graham Armitage
  • Grant
  • GreySoul
  • Henry H
  • IamSmooth
  • In memory of Leo Powning
  • Jacob Cash
  • James Howells
  • James Pawson
  • Jeff Greenfield
  • Jeff Thomas
  • Jesse Frost
  • Jim Mitchell
  • jlr134
  • Joe Mastroianni
  • John Forcina
  • John Oberg
  • John Willcutt
  • Jon Newcomb
  • klugesmith
  • Leslie Wright
  • Lutz Hoffman
  • Mads Barnkob
  • Martin King
  • Mats Karlsson
  • Matt Gibson
  • Matthew Guidry
  • mbd
  • Michael D'Angelo
  • Mikkel
  • mileswaldron
  • mister_rf
  • Neil Foster
  • Nick de Smith
  • Nick Soroka
  • nicklenorp
  • Nik
  • Norman Stanley
  • Patrick Coleman
  • Paul Brodie
  • Paul Jordan
  • Paul Montgomery
  • Ped
  • Peter Krogen
  • Peter Terren
  • PhilGood
  • Richard Feldman
  • Robert Bush
  • Royce Bailey
  • Scott Fusare
  • Scott Newman
  • smiffy
  • Stella
  • Steven Busic
  • Steve Conner
  • Steve Jones
  • Steve Ward
  • Sulaiman
  • Thomas Coyle
  • Thomas A. Wallace
  • Thomas W
  • Timo
  • Torch
  • Ulf Jonsson
  • vasil
  • Vaxian
  • vladi mazzilli
  • wastehl
  • Weston
  • William Kim
  • William N.
  • William Stehl
  • Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Forums
4hv.org :: Forums :: Tesla Coils
« Previous topic | Next topic »   

Power transistor thermal impedance simulation

1 2 
Move Thread LAN_403
Goodchild
Fri Apr 26 2013, 07:43PM Print
Goodchild Registered Member #2292 Joined: Fri Aug 14 2009, 05:33PM
Location: The Wild West AKA Arizona
Posts: 795
Hello everyone.

I thought I would bring this to the forum and let the minds of the hobby world take a crack at this problem. For a long time know I have not been content with the average method we hobbyist use to rate the max operating level of power transistors. (Test till failure sort of thing). As a result I have set out to create a better way to rate transistor in pulsed current applications, particularly Tesla coils.

My research lead me to find the awesome world of using SPICE to model the thermal characteristics of transistors, particularly the transient properties. Just a quick background for those that don't know.

A thermal circuit can be modeled as an electrical circuit in SPICE using some simple unit crossovers.

Power Dissipation = Current (1A = 1W)
Delta Temperature = Voltage (1V = 1C)
Thermal impedance and resistance (1ohm = 1 C/W) Just like with circuits, thermal impedance is frequency dependent while resistance is not.
Thermal Capacitance = Capacitance (1F = 1 J/W)


All the same equations from electronics apply, capacitive reactance, ohms law, RC networks, and so on....

So when modeling a transistor the use of a network of R and C is used. Typically a 3 or 4 stage RC type filter network. All the Resistors must sum up to the max thermal impedance specked in the datasheet. This value is for DC modeling only and ignores the thermal capacitance. The power input is a current source that simulates the input of dissipated power into the network. The output of the network is a voltage source that sets the ambient temp.


One such example is shown here. And yes I know this sim downs't have a model for the heatsink (also modeled as an RC), but it's just and example...
8683315297 C74a6144c8 Z

Lucky enough the datasheet for the APT45GP120B (modeled above) provides these thermal resistors and capacitors. However most parts do not have this information provided. However they do provide a curve that shows the overall impedance of the network vs time or frequency. This graph is called the transient thermal impedance response curve.

Here is an example:
Microsemi PowerMOSFETP1 Fig17

My goal is to basically extract points off of this graph and curve fit an impedance profile that matches it. Such that in a round about way I can get a 3 or 4 stage RC filter that accurately models the thermal behavior of the switch.

This is the stage I'm at now and I ask to see if anyone as any ideas on how the math for this would be done. We need a mathematically way to take a list of impedances at their corresponding frequencies (taken from the graph) and extract an RC filter model that matches it.

After this is done it will be a simple matter of using a spreadsheet to get the values.


I'm all ears wink
Back to top
Steve Conner
Fri Apr 26 2013, 10:31PM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Steve Ward, Jimmy Hynes and I all used a similar technique. I used a simplified "adiabatic" model, basically a single RC section calculated from the slope of the thermal impedance graph in the vicinity of the kinds of pulse lengths we use in DRSSTCs. I assumed the thermal loss through the R was slow compared with the rate of heat generation during the burst, so all the heat energy was "integrated" in the C. This simplified the problem enough to let me hand calculate it.

A 4 stage RC filter has a Laplace transform that is basically just a 4th order polynomial. You can take s=j*omega to make it a polynomial in the frequency domain. The time scale on the thermal impedance plot can be redrawn as a frequency scale, then you can use the polynomial curve fit in Excel to fit your polynomial to some points extracted from the plot. Back solve to get the values of R and C (or just type the polynomial into one of LTSpice's "Laplace" blocks)

Some things to think about:
The IGBT maker's applications department might have done this already and might give you the time constants for the model if you asked.

Heat flows by diffusion, which technically needs an infinite number of RC sections to model it. You may never get a reasonably sized polynomial to fit exactly.
Back to top
Uspring
Sat Apr 27 2013, 03:10PM
Uspring Registered Member #3988 Joined: Thu Jul 07 2011, 03:25PM
Location:
Posts: 711
Steve Conner wrote:
A 4 stage RC filter has a Laplace transform that is basically just a 4th order polynomial. You can take s=j*omega to make it a polynomial in the frequency domain. The time scale on the thermal impedance plot can be redrawn as a frequency scale, then you can use the polynomial curve fit in Excel to fit your polynomial to some points extracted from the plot. Back solve to get the values of R and C (or just type the polynomial into one of LTSpice's "Laplace" blocks)
Maybe I haven't got this right, but low duty cycle square signals aren't sine waves.

I'd think about this in the time domain. Consider T(t) to be the temperature response of the die to a delta function like input power. T would jump up to some value and then monotonously drop to ambient. The temperature response to a single square pulse of power would be the convolution of the pulse with the T function. The max temperature would be proportional to the integral of T(t) from zero to pulse width, i.e. right after the end of the pulse.
This max temperature can be directly read off the single pulse diagram Eric has posted. It is just the reciprocal of the transient thermal impedance for single pulses.
So basically T(t) is the time derivative of the reciprocal transient impedance. T(t) allows you to compute the temperature response to any kind of input power shapes by convolving it with the input power. If you'd want to get a circuit, I'd follow Steves procedure, i.e. transform T(t) into the frequency domain and then fit a polynomial to it...

Back to top
Steve Conner
Sat Apr 27 2013, 05:28PM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Let's get this straight, are you saying the "single pulse" line is the integral of the impulse response? (the step response in other words) The log axis for pulse length had me confused, I thought it was already transformed into the frequency domain. If the data is in the time domain, the Laplace trick won't work.
Back to top
Goodchild
Sat Apr 27 2013, 05:44PM
Goodchild Registered Member #2292 Joined: Fri Aug 14 2009, 05:33PM
Location: The Wild West AKA Arizona
Posts: 795
It is indeed in the time domain, wonder if would be proper to convert it to the frequency domain first. seem to be an easier way to manipulate data when it's in the frequency domain.
Back to top
Steve Conner
Sun Apr 28 2013, 08:50AM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Uspring, help! smile Each point on the "single pulse" graph is the response to a square pulse of a given length. Does it follow from that that the whole graph is the step response? Then it could just be differentiated to get the impulse response and then Fourier transformed to get the frequency response.

An alternative approach would be to eyeball the graph and guess the three time constants, then use Spice to produce a graph in the same format, compare and tweak by trial and error. You could do worse than to start with the model you got from APT. The limitations of semiconductor physics probably mean that devices with similar die sizes will have similar transient thermal impedances.

Finally, how accurate does the model need to be? I think the reliability will slowly degrade and the odds of failure slowly go up as you push it harder. There won't be any single point where the system goes from "rock solid" to "sketchy". IGBT dice don't instantly explode when they reach 150 degrees. The limit is actually set for long-term integrity of the plastic package. Some metal-cased transistors are rated up to 200 degrees.

Douglas Self and Bob Cordell have both used this method extensively to investigate thermal compensation in hi-fi amps. Might be worth looking at their work, though I don't think they did much work on extracting the parameters. It seemed like they just pestered Motorola/On Semi for the data.
Back to top
Uspring
Sun Apr 28 2013, 11:36AM
Uspring Registered Member #3988 Joined: Thu Jul 07 2011, 03:25PM
Location:
Posts: 711
Steve Conner wrote:
Each point on the "single pulse" graph is the response to a square pulse of a given length. Does it follow from that that the whole graph is the step response? Then it could just be differentiated to get the impulse response and then Fourier transformed to get the frequency response.
In this particular case, yes. Not generally. It doesn't make any difference if you sample the temperature at some time t after the start of a step pulse or right at the end of a pulse of length t. The graph describes the max temperature at any time after a pulse. In our case, that happens to be exactly at then end of a pulse.

I made an error in my previous post. Forget about the word reciprocal. It should be proportional. I got thermal resistance and conductivity confused.
Back to top
Steve Conner
Sun Apr 28 2013, 01:51PM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Thanks! smile You said "not generally", I guess the condition is that the transfer function can have only real poles? With complex poles, the temperature could overshoot and reach its true maximum value some time after the heat input had stopped. As Douglas Self pointed out, the thermal model can only have real poles, there is no thermal equivalent of an "inductor".

If we were to try Fourier transforming the data to get a frequency response... Do you have any thoughts on how the periodicity assumption might apply?

Edit: I think it would just be a case of padding the impulse response with zeros and doing a FFT.
Back to top
Uspring
Sun Apr 28 2013, 04:03PM
Uspring Registered Member #3988 Joined: Thu Jul 07 2011, 03:25PM
Location:
Posts: 711
Steve Conner wrote:
I guess the condition is that the transfer function can have only real poles?
Dunno about the poles, a sufficient and probably also a necessary condition is, that the impulse response only drops.
I think it is easier to calculate the impulse response and then do the integration for a given power dissipation curve in Excel instead of going through the FT and fitting the result to a polynomial. The only problem is, that you should use varying integration steps, i.e. highly grained initially. Otherwise you'd need huge columns in your spreadsheet in order to get any accuracy.

Happy birthday smile
Back to top
Goodchild
Mon Apr 29 2013, 12:12AM
Goodchild Registered Member #2292 Joined: Fri Aug 14 2009, 05:33PM
Location: The Wild West AKA Arizona
Posts: 795
Wow you guys obviously got the math down... But let me see if I got the basic idea.

The area under the graph is basically the RC constant? So integrating it should give the values for R and C?
Back to top
1 2 

Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob

Go to:

Powered by e107 Forum System
 
Legal Information
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.