前段时间开发了一个产品,由单片机控制对负载供电,满负载时基准电流为800毫安,程序提供不同的供电模式,具体是由单片机输出一个PWM信号控制MOS管,从而按要求调整工作电流。我们知道MOS管导通时内阻非常小,我们所用的型号约为0.1欧姆的样子,这样正常工作时上面最大压降非常小,只有800毫安*0.1欧姆=0.08伏,上面的功率损耗为0.064瓦,对于电源控制来说是一种效果不错的器件。
虽然MOS管导通内阻非常小,但所流过的电流也有最大限制,如果电流过大,比如外接负载短路,同样会被烧毁。短路都是非正常工作状态,本来一开始我们并没有对产品进行短路保护考虑,在调试中一次意外让我们把开始考虑增加短路保护。当时装好一块新板,控制信号测试都已经正常,想看看接上负载的情况,当时图方便直接将负载的两条线用手按接在板上,结果一动导致这两点短路,“啪”的一声脆响,一团火花后是青烟袅袅,MOS管烧了。
通常短路保护都是使用保险丝,只要电流一大,保险丝就自动熔断。用保险丝的方法虽然简单,但需要增加成本,另外保险丝熔断需要一段时间,电流过大时就有可能出现保险丝还没熔断,器件已经被烧毁的情况。让我们先来看一下器件烧毁的原因,可以肯定是流过器件的电流过大,内部所发的热量无法及时传递出去,从而导致温度急剧升高,最后被烧毁。
注意这里我说的是电流过大,并不是说电压过高,这么说是想强调有时候虽然电压很高,但这个电压并不能产生持续的大电流,比如人身上的静电很容易就高达几千伏,这么高的电压并不能烧毁任何器件。究其原因就是人身上的静电虽然高,但可以通过接地的导体迅速释放掉,不能形成持续的大电流,放电过程释放的能量并不大,这个能量不足以烧毁器件。到这里我想大家应该明白了,器件的烧毁唯一的条件就是足够的能量释放在它上面,器件不能通过热传递将这些能量转移出去,温度急剧升高而烧毁。
既然可以用能量的观点来解释烧毁,那如果短路的时间非常短,虽然流过的电流很大,但时间更短,是不是就不会烧毁器件了呢?理论上分析这种想法是对的,只要我们能够检测出短路,而且一短路就能切断电源,器件就应该不会被烧毁。
因为产品所用的单片机有多余的ADC口,于是我们用多余的ADC口来检测电流,做法是在负载与地之间串联一个0.22欧姆的小电阻,用ADC检测这个电阻对地的电压。正常工作的满负载电流为800毫安,在这个电阻上的压降为800毫安*0.22欧姆=0.176伏,如果ADC口检测到的电压达到这个值的三倍,我们就认为短路发生,立即将MOS管的输出关断,每10毫秒检测一次该电压,发现电压超标就关断MOS管100毫秒。测试结果证明前面的假设正确,加上这样的处理后输出无论怎样短路,都不会烧毁MOS管,而且一旦短路消除可以迅速恢复输出。
说明:需要另外加一个电阻进行电流检测是我们用NMOS来控制电源输出,NMOS的导通内阻比PMOS要小,通常是接在负载的正端,如果直接利用NMOS管的内阻来检测电流会比较麻烦,用另外一个小电阻串接在负载的负端到地会更简便,只是效率会略有下降。