[踩坑]电源设计没算功耗,LDO差点烧了

最近我在一个项目上就犯了错,这个项目其实难度不大,但是我确实也没动脑。事情是这样的,该电路板需要多个电源给外设进行供电,有24V,12V,5V,还有3.3V。输入电源是24V/3A的适配器供电,进入电路板后我首先用了24V转12V的buck电路,第二级则是直接使用LDO将12V转为5V,第三级则是把5V转为3.3V,同样也是使用了LDO。

问题就出现在这个12V转5V的LDO电路上,在电路板实际测试过程中,我发现该LDO严重发热,上一板明明很正常来的。我测试了一下温升,发现温度从28℃到78℃仅用了3分钟。我有点慌了,这是不是会把电路板给烧了,它就放在DC-DC电路旁,DC-DC用了铝电解电容,之前看了书说的,每上升10℃,电解电容寿命就按照某个公式减半。这个设计很失败啊,但是我得先找到原因。

当然,其实只要稍微思考一下就会发现,5V的负载太大,流过的电流大,然后12V和5V压差本身也不小,这样一乘,热损耗肯定就大。很自然的,我发现了原因,之前的电路板是没有带显示屏,这次的电路板带显示屏,而且还是5V供电,规格书上写亮屏时0.8W,息屏也要0.5W,而目前设置是工作在常亮的。这样一算,电流就有160mA了,看起来不大,但是乘以压差7V,热损耗有1.12W,怪不得发热这么严重。

现在最彻底的方法就是改电路板了,但是目前的项目进度不允许我这么做了。所以我得先看看妥协的方法,首先确认这个LDO这样工作,会不会先把自己干坏了。我于是查了它的规格书,一看最大连续功耗1.25W,那已经非常极限了,而且我刚刚算的才只是串口屏的功耗,再加上下一级LDO的输入电流,蜂鸣器,还有一些上拉电路可能不行了。接下来我又看到热阻是80℃/W,然后工作温度是从-45-125℃。现在我得重新核算一下这个LDO的输出电流才行。首先是占大头的串口屏,刚刚算过电流是160mA;然后是下一级LDO的输入电流,5V转3.3V的LDO主要给单片机和MAX3232芯片供电,不过这里MAX3232只有在调试时使用到了,我的串口屏实际使用TTL的电平,这里工作时只有静态电流300uA,我就忽略不计了。而单片机使用的是STM32F407VET6,看了规格书如果很详细的去计算的话还是比较麻烦的,这里根据表格估算电流为35mA。这样算起来流经12V转5V的LDO总电流约200mA,算得的热损功耗为1.4W,已经超出了规格书的连续总耗散功率1.25W了。 但是实测该电路长时间工作没有损坏,看样子热量很大一部分被分摊到电路板的铜箔上了,现在也只能在LDO上加个散热块先将就用着了,后面改板时再更新。

所以,问题的根源就在于一开始设计电源电路时没有预先计算好MCU和外设需要的电流以及功耗,导致了这种致命错误。事实上,我在第一板设计时是直接把其他电路上的电源电路搬过来,当时只考虑了我的DC-DC电路的参数,其他的就没有多想,到了这一板加了一个串口屏,我同样没有思考想当然的加进电路里,结果LDO的压差大时低效率的缺点就显现出来了。如果我能在开始设计电路时就考虑好外设需要的电流和功耗,在设计电源树时就可以合理选择使用DC-DC或者是LDO了。