半导体热阻问题深度解析(Tc,Ta,Tj,Pc)

本文是将我以前的《有关热阻问题》的文章重新梳理,按更严密的逻辑来讲解。

晶体管(或半导体)的热阻与温度、功耗之间的关系为:

Ta=Tj-*P(Rjc+Rcs+Rsa)=Tj-P*Rja

下图是等效热路图:

公式中,Ta表示环境温度,Tj表示晶体管的结温, P表示功耗,Rjc表示结壳间的热阻,Rcs表示晶体管外壳与散热器间的热阻,Rsa表示散热器与环境间的热阻。Rja表示结与环境间的热阻。

当功率晶体管的散热片足够大而且接触足够良好时,壳温Tc=Ta,晶体管外壳与环境间的热阻Rca=Rcs+Rsa=0。此时 Ta=Tj-*P(Rjc+Rcs+Rsa)演化成公式Ta=Tc=Tj-P*Rjc。

厂家规格书一般会给出,最大允许功耗Pcm、Rjc及(或) Rja等参数。一般Pcm是指在Tc=25℃或Ta=25℃时的最大允许功耗。当使用温度大于25℃时,会有一个降额指标。

以ON公司的为例三级管2N5551举个实例:

2N5551规格书中给出壳温Tc=25℃时的最大允许功耗是1.5W,Rjc是83.3度/W。

代入公式Tc=Tj- P*Rjc有:25=Tj-1.5*83.3可以从中推出最大允许结温Tj为150度。一般芯片最大允许结温是确定的。

所以,2N5551的允许壳温与允许功耗之间的关系为:Tc=150-P*83.3。比如,假设管子的功耗为1W,那么,允许的壳温Tc=150-1*83.3=66.7度。

注意,此管子Tc =25℃时的最大允许功耗是1.5W,如果壳温高于25℃,功率就要降额使用。规格书中给出的降额为12mW/度(0.012W/度)。我们可以用公式来验证这个结论。假设壳温为Tc,那么,功率降额为0.012*(Tc-25)。则此时最大总功耗为1.5-0.012*(Tc-25)。把此时的条件代入公式Tc=Tj- P*Rjc得出:

Tc=150-(1.5-0.012*(Tc-25))*83.3,公式成立。

一般情况下没办法测Tj,可以经过测Tc的方法来估算Tj。公式变为:

Tj=Tc+P*Rjc

同样以2N5551为例。假设实际使用功率为1.2W,测得壳温为60℃,那么,Tj=60+1.2*83.3=159.96此时已经超出了管子的最高结温150度了!

按照降额0.012W/℃的原则,60℃时的降额为 (60-25)*0.012=0.42W,1.5-0.42=1.08W。也就是说,壳温60℃时功率必须小于1.08W,否则超出最高结温。

假设规格书没有给出Rjc的值,可以如此计算:Rjc=(Tj-Tc)/P,如果也没有给出Tj数据,那么一般硅管的Tj最大为150℃。同样以2N5551为例。知道25度时的功率为1.5W,假设Tj为150,那么代入上面的公式:Rjc= (150-25)/1.5=83.3℃/W,恰好等于规格书给出的实际热阻。

如果厂家没有给出25时的功率。那么可以自己加一定的功率加到使其壳温达到允许的最大壳温时(比如民品级的器件为70),再把数据代入:Rjc=(Tjmax-Tcmax)/P。有给Tj最好,没有时,一般硅管的Tj取150℃。

我还要作一下补充说明。

一、可以把半导体器件分为功率器件和小功率器件。

1、(大)功率器件的额定功率一般是指带散热器时的功率,散热器足够大时且散热良好时,可以认为其外壳到环境之间的热阻为0,所以理想状态时壳温即等于环境温度。功率器件由于采用了特殊的工艺,所以其最高允许结温有的可以达到175℃。但是为了保险起见,一律可以按150℃来计算。适用公式:Ta=Tc=Tj-P*Rjc。设计时,Tj最大值为150℃,Rjc已知,假设环境温度也确定,根据壳温即等于环境温度,那么此时允许的P也就随之确定。

2、小功率半导体器件,比如小功率晶体管,小功率IC,一般使用时是不带散热器的。所以这时就要考虑器件壳体到空气之间的热阻了。一般厂家规格书中会给出Rja,即结到环境之间的热阻。(Rja=Rjc+Rca)。

同样以三级管2N5551为例,其最大使用功率1.5W是在其壳温Tc =25℃时取得的。假设此时环境温度恰好是25℃,又要消耗1.5W的功率,还要保证壳温也是25℃,唯一的可能就是它得到足够良好的散热!但是一般像 2N5551这样TO-92封装的三极管,是不可能带散热器使用的。所以,不带散热器的小功率半导体器件要用到的公式是Ta=Tj-P*Rja。一般小功率半导体器件的厂家会在规格书中给出Rja这个参数。

2N5551的Rja厂家给的值是200℃/W。已知其最高结温是150℃,环境温度为25℃时,求允许的功耗,可以把上述数据代入 Ta=Tj-P*Rja,得:25=150-P*200,从而得到,P=0.625W。事实上,规格书中就是0.625W。因为2N5551不会加散热器使用,所以我们平常说的2N5551的功率是0.625W而不是1.5W!

还有要注意,SOT-23封装的晶体管其额定功率和Rja数据是在焊接到规定的焊盘(有一定的散热功能)上时测得的。

3、大功率晶体管的额定功率一般是指带散热器散热器足够大时且散热良好时的功率。有时应用中大功率晶体管不带散热器来使用,那么此时其最大功率如何求呢?

就以知名网站我爱方案网的投资者ON公司的BU406为例。BU406的额定功率为60W(Tc=25℃)。BU406的Rja为70℃/W,最大结温为150℃。由Ta= Tj-P*Rja变形为P=(Tj-Ta)/Rja,把上述数据代人此公式可得,P=(150-Ta)/70。比如环境温度为25℃时,其最大允许功耗为 P=(150-25)/70=1.786W。如果机器的最高使用温度为70℃,此时最大允许功耗为P=(150-70)/70=1.14W。可见,尽管BU406的额定功率为60W,但是如果不加散热片使用,其在常温下时的功率不过才1.786W!

4、由于半导体的额定功率都是在Tc=25℃或Ta=25℃的条件下得到的,超过25℃时,必须降额使用。而降额系数其实就是对应热阻的倒数。

比如说,BU406额定功率60W是在Tc=25℃条件下的,Rjc=2.08℃/W,那么其壳温降额系数Kc=1/Rjc=1/2.08=0.48W/℃。这个结果与厂家规格书中给出的数据正好相同。

又比如,2N5551在Tc=25℃时的额定功率为 0.625W,Rjc=83.3℃/W,其壳温降额系数Kc=1/83.3=0.012W/℃。2N5551另外一个条件是在Ta=25℃时的额定功率为1.5W,Rja=200℃/W,则其环境温度降额系数Ka=1/Rja=1/200=0.005W/℃。这些数据都和厂家资料符合。

也就是说,设计考虑半导体的功耗和温度间的关系时,即使厂家没给出降额系数,也可以根据热阻来得出其降额系数。即 Kc=1/Rjc 或Ka=1/Rja。

要特别说明,这里说的环境温度降额系数指的是最大额定功耗本身的降额,为了保证晶体管的可靠性,设计降额还需在环境温度降额系数的基础上再降额0.5至0.75左右!

5、另外分享一个从电子元件技术网上学来的窍门,其实一般规格书中的最大允许储存温度其实也是最大允许结温。最大允许操作温度其实也就是最大允许壳温。

最大允许储存温度时,功率P当然为0,所以公式变为Tcmax =Tjmax-0*Rjc,即Tcmax=Tjmax。是不是很神奇!

最大允许操作温度,一般民用级(商业级)为70度,工业级的为85度。普通产品用的都是民用级的器件,工业级的一般贵很多。

热路的计算,只要抓住这个原则就可以了:从芯片内部开始算起,任何两点间的温差,都等于器件的功率乘以这两点之间的热阻。这有点像欧姆定律。任何两点之间的压降,都等于电流,乘以这两点间的电阻。

不过要注意,热量在传导过程中,任何介质,以及任何介质之间,都有热阻的存在,当然热阻小时可以忽略。比如散热器面积足够大时,其与环境温度接近,这时就可以认为热阻为0。如果器件本身的热量就造成了周围环境温度上升,说明其散热片(有散热片的话)或外壳与环境之间的热阻比较大!这时,最简单的方法就是直接用Tc=Tj-P*Rjc来计算。其中Tc为壳温,Rjc为结壳之间的热阻。如果你Tc换成散热片(有散热片的话)表面温度,那么公式中的热阻还必须是结壳之间的加上壳与散热器之间的在加散热器本身的热阻!另外,如果你的温度点是以环境来取点,那么,想想这中间包含了还有哪些热路吧。比如,散热片与测试腔体内空气之间的热阻,腔体内空气与腔体外空气间的热阻。这样就比较难算了

半导体热阻问题深度解析(Tc,Ta,Tj,Pc)的更多相关文章

  1. (转载)(收藏)OceanBase深度解析

    一.OceanBase不需要高可靠服务器和高端存储 OceanBase是关系型数据库,包含内核+OceanBase云平台(OCP).与传统关系型数据库相比,最大的不同点, 是OceanBase是分布式 ...

  2. Go netpoll I/O 多路复用构建原生网络模型之源码深度解析

    导言 Go 基于 I/O multiplexing 和 goroutine 构建了一个简洁而高性能的原生网络模型(基于 Go 的I/O 多路复用 netpoll),提供了 goroutine-per- ...

  3. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  4. 第37课 深度解析QMap与QHash

    1. QMap深度解析 (1)QMap是一个以升序键顺序存储键值对的数据结构 ①QMap原型为 class QMap<K, T>模板 ②QMap中的键值对根据Key进行了排序 ③QMap中 ...

  5. Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN

    http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...

  6. Kafka深度解析

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅 ...

  7. java内存分配和String类型的深度解析

    [尊重原创文章出自:http://my.oschina.net/xiaohui249/blog/170013] 摘要 从整体上介绍java内存的概念.构成以及分配机制,在此基础上深度解析java中的S ...

  8. Unity加载模块深度解析(Shader)

    作者:张鑫链接:https://zhuanlan.zhihu.com/p/21949663来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 接上一篇 加载模块深度解析(二 ...

  9. Unity加载模块深度解析(网格篇)

    在上一篇 加载模块深度解析(一)中,我们重点讨论了纹理资源的加载性能.这次,我们再来为你揭开其他主流资源的加载效率. 这是侑虎科技第53篇原创文章,欢迎转发分享,未经作者授权请勿转载.同时如果您有任何 ...

随机推荐

  1. 微信小程序css画三角形内有文字

    <view class="productStatus"> <span> <em>已上架</em> </span> < ...

  2. python 数据结构中的链表操作

    链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结点都包含了可以链接起来的地址信息,所以用一个变量就 ...

  3. 【代码笔记】iOS-给密码进行加密

    一,工程图. 二,代码. #import "ViewController.h" #import "Base64CodeByteFunc.h" @interfac ...

  4. git使用相关记录

    上传github操作记录:https://blog.csdn.net/pql925/article/details/72772660 git提交仓库相关:https://blog.csdn.net/M ...

  5. 各类无次数限制的免费API接口整理

    各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...

  6. ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  7. jQuery事件和JSON点语法

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  8. PDO添加数据的预处理语句

    1.添加页面<h1>添加数据</h1><form action="chuli.php" method="post"> < ...

  9. vs2015 停 在 update kb2999226 一直不动

    查找原因是因为装微软补丁,官网找到该补丁安装 Update for Windows 7 for x64-based Systems (KB2999226) https://www.microsoft. ...

  10. Android--PullToRefreshListView的onRefreshComplete()不起作用的问题

    今天用到了网上开源的下拉刷新组件PullToRefreshListView的第三方下拉刷新的ListView 我们发现 有时候我们当使用它的onRefreshComplete()方法是,我们下拉出来的 ...