ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

工业24V电源路径保护方案:eFuse+MCU软硬协同设计与实践

工业24V电源路径保护方案:eFuse+MCU软硬协同设计与实践 接了个活儿给一套24V工业设备控制板做电源路径保护。客户说得很直接以前用的是保险丝加TVS结果现场隔三差五烧板子不是过压把后级打穿就是负载短路时保险丝没断但PCB铜箔烧了。拆开看问题几乎都出在同一处——电源入口到DC-DC之间的那段路径上。市面上不是没有方案但要么太贵要么体积大要么无法远程诊断。最后我把方案定在TI的TPS259483AYWPR这颗eFuse上配合Microchip的PIC18F85J50做监控和策略管理做成了一套既能硬件级快速切断、又能软件层诊断复位的电源保护方案。这篇就把从选型、原理到实操踩坑的过程完整写出来包括原理图要点、PCB布局禁忌、MCU端的状态机设计以及我实测遇到的一堆坑给同样在折腾嵌入式电源保护的朋友做个参考。1. 为什么传统保险丝守不住工业电源路径很多刚接触电源设计的朋友会问电源入口加个保险丝不就行了我之前的项目也是这么干的直到连续烧了几块板子才意识到问题没那么简单。传统保险丝的核心参数是I²t熔断能量阈值和额定电流特性很直白电流超过一定值熔丝靠自身发热熔断。它最大的问题有三个。第一响应速度太慢尤其是在过压场景下保险丝几乎不起作用。比如24V系统里窜进来一个60V的浪涌保险丝不会断因为过压不一定伴随大电流但后级的DC-DC、MCU、传感器早就被打穿了。第二熔断时间和电流的非线性关系导致精度很差同一规格的保险丝在1.2倍额定电流下可能要几分钟才断这对微处理器供电来说是灾难。第三保险丝是一次性的现场维护必须人工更换而在工业设备里能够远程判断是不是保险丝断了、为什么断非常关键传统保险丝完全给不了这些信息。所以后来我把目光转向了电子保险丝eFuse方案。eFuse的本质是一颗集成了功率MOSFET、电流采样、限流比较器和各种保护逻辑的智能开关芯片。它等效于一个带大脑的高速开关能在微秒级时间内把电流限制在设定值或者在过压、过温、反向电流等异常情况下直接切断通路。而TPS259483AYWPR正是这类器件中比较有代表性的一颗工作电压范围宽适合工业24V系统关键是它的各项保护阈值都可以通过外部电阻配置这就是我选择它的核心理由——把硬件保护参数的控制权留在板子上而不是锁死在芯片内部。光有eFuse还不行。它硬件切断得快但切完之后呢是整个系统直接断电还是尝试恢复故障是谁触发的、什么时间总得有个交代。这时候就需要一颗MCU在系统层面做决策。PIC18F85J50是Microchip的8位MCU带12位ADC、多个定时器、丰富的GPIO和通信外设我拿它来做电压电流采样、故障状态判断、重试策略和对外通信上报。eFuse管快MCU管准两者分工配合电源路径才算是真正被保护起来。这套组合下来既保留了工业现场最看重的硬件级快速响应又获得了嵌入式系统最需要的软件可控性。下面我从TPS259483AYWPR的核心工作机制讲起把配置、监控、布局和实测逐个说透。2. TPS259483AYWPR的配置逻辑与关键参数计算2.1 先搞清楚这颗芯片在系统里扮演什么角色TPS259483AYWPR内部集成了一个低导通电阻的N沟道功率MOSFET以及用于限流、过压、欠压、过温检测的模拟比较器。正常工作时它就是一个低损耗的电子开关一旦输入侧出现超出设定范围的电压或者输出侧出现短路、过流它就会在极短时间内把MOSFET关断或者限流防止能量继续灌入后级电路。它放在电源路径上的位置一般是输入连接器之后、DC-DC和负载之前相当于整块板子的总闸。2.2 欠压和过压保护用两个电阻分压搞定工业24V系统中我习惯把允许范围设在22V到28V。低于22V说明电源掉电或者线路压降过大高于28V可能是稳压器故障或者错接高压这两种情况都应该让通路关断保护后级。TPS259483AYWPR的UVLO欠压锁定和OVLO过压锁定检测都是靠对输入电压进行电阻分压后与内部基准电压比较。设计公式为V_UVLO V_ref × (R_UP R_DOWN) / R_DOWN实际计算时我一般先固定下端电阻R_DOWN再反推上端电阻R_UP。比如内部基准V_ref按1.21V估算具体以数据手册为准设R_DOWN 10kΩ要实现22V欠压关断那么R_UP R_DOWN × (V_UVLO / V_ref - 1) 10k × (22 / 1.21 - 1) ≈ 171.9kΩ取标称值169kΩ或174kΩ都行最终精度靠1%电阻保证误差约1%左右对保护阈值来说足够了。OVLO的计算方式类似把分压点到内部比较器的上限阈值超过28V就关断。这里有个经验分压电阻阻值不要选太低否则分压臂本身的功耗在24V下也会有几毫瓦到几十毫瓦虽然不大但在低功耗设计中很碍眼但也不要选太高比如超过1MΩ太高了容易受PCB漏电流和噪声干扰阈值会飘。官方参考设计一般用几十k到几百k实际工程里我推荐上端用100k~300k下端10k~20k平衡功耗和抗干扰。2.3 限流保护ILIM电阻决定底线限流是eFuse最核心的功能。下端点ILIM引脚对地接一个电阻就能设定限流值。这类芯片的限流关系通常是I_LIM K_ILIM / R_ILIMK_ILIM由芯片内部决定具体数值要到数据手册的图表里查。举一个计算演示按某款芯片K_ILIM约等于1.2kΩ·A以TPS259483AYWPR手册真实曲线为准想做5A限流那么R_ILIM 1.2k / 5 240Ω实际设计时我还会把限流值留15%~20%的裕量。比如后级电路稳态最大电流是4A那么限流值设在5A左右比较合理防止正常波动时eFuse误动作。这个电阻对精度敏感必须用1%甚至0.5%精度的电阻走线要短否则限流点会偏。2.4 启动方式和浪涌控制工业控制板后端往往有大量电容直接上电瞬间会形成很大的充电电流。如果eFuse限流点设得比较低这个浪涌可能直接触发保护导致后面每次都启动失败。TPS259483AYWPR提供了输出斜率控制或者类似软启动的机制本质上是通过限制MOSFET的栅极充电速度让输出电压缓慢爬升把浪涌电流控制在设定阈值以内。我的做法给输出侧大电容比如100µF配一个较缓的启动斜率上电过程大概控制在1~2ms。这样既不会冲击输入电源也不会误触发限流。如果负载对启动时间有要求再根据实测波形调电容或配置电阻。2.5 故障指示和复位逻辑芯片的FLT故障输出引脚会在保护动作时拉低通知MCU我出事了。有些eFuse支持锁存模式触发保护后一直保持关断直到外部把EN拉低再拉高有些支持自动重试。TPS259483AYWPR这套配置里我选择让它进入锁存模式然后由PIC18F85J50控制EN引脚做复位。原因很实际如果是周期性过载自动重试可能会导致MOSFET反复开关热积累严重而由MCU控制重试我可以插入固定时间间隔、记录故障次数逻辑更清晰。3. PIC18F85J50在保护链路里的监控职责3.1 把反应快和管理细结合起来单纯一颗eFuse也能完成保护但保护完之后的处理比如重试几次、隔多久重试、要不要锁死报警eFuse自己的逻辑做不了太细。这就是我引入PIC18F85J50的原因。这颗8位MCU有12位ADC可以直接采输出电压和电流信号还有足够的GPIO去控制EN、读取FLT配合定时器和EEPROM能把一次次故障事件记录下来。整条链路的处理节奏是异常发生的头几十微秒由TPS259483AYWPR的硬件比较器直接关断或限流MCU根本来不及参与也不需要它参与等故障稳定了MCU通过FLT引脚的中断知道出事了再去查ADC数据、判断故障类型、决定复位策略。这样既保证了切断速度又让后续处理变得可控。3.2 监控哪些信号怎么接我通常会采集三路信号输出电压从eFuse输出端经过电阻分压进ADC分压比按24V输入设计成ADC输入不超过3.3V或5V取决于MCU供电电压。负载电流通过低边采样电阻加运放放大或者利用芯片自带的电流监视输出如果该型号提供。采样电阻要选低温漂合金电阻否则电流越大温漂带来的误差越明显。输入母线电压同样用分压电阻送到另一路ADC通道。这样MCU可以在FLT触发后判断是过压还是欠压导致的问题。ADC采样需要做软件均值或滑动滤波。工业现场噪声大电源线上尤其是带电机或继电器动作的板子上毛刺多得很单次采样完全没有参考价值我一般采16次取平均或者用滑动窗口去抖。3.3 故障状态机设计MCU端软件我设计成一个简单的状态机分四个状态RUN正常工作FLT为高ADC周期性采集电压电流一切正常。FAULTFLT引脚触发中断MCU进入该状态立即关闭外部负载使能并通过ADC检测当前输入输出电压值判断故障原因。RETRY延时一段时间比如1秒到5秒拉高EN尝试恢复如果恢复成功且一段时间内不再触发FLT回到RUN。LOCK连续N次重试都失败说明后级有实质性短路或损坏MCU不再自动重试保持关断并通过UART/RS485把故障码发给上位机点亮告警灯。关键点是每次进入FAULT状态都要把当时的采样数据、故障计数和时间戳写进EEPROM。这样设备返修时工程师通过串口就能拉出历史记录快速定位问题。这个功能客户尤其喜欢因为工业现场排查故障太难了有这个记录少跑好几趟现场。3.4 EN引脚控制与复位时序EN信号线上我会串联一个100Ω~1kΩ的电阻再接MCU的GPIO。上电瞬间MCU还没跑起来时EN必须保持低电平这就要用下拉电阻把EN锁定在关闭状态直到MCU初始化完毕后再主动拉高启动。否则MCU跑之前eFuse就通了负载提前上电时序就乱了。很多项目里MCU还没初始化GPIOI/O口是浮空或者高阻态EN飘来飘去输出乱跳。所以这个下拉电阻不能省是保证上电时序的基石。4. 硬件设计实操原理图、容量计算与PCB布局禁忌4.1 输入输出电容怎么选eFuse的输入侧要放一个至少10µF的陶瓷电容目的是维持输入母线的稳定防止热插拔或者线缆电阻引起母线电压瞬间跌落。输出侧电容大小则和负载特性有关我这里有100µF电解电容加几个µF陶瓷电容的组合。陶瓷电容要注意直流偏压特性很多X7R/C0G标称10µF在25V直流偏压下实际容量可能只剩30%~50%所以耐压等级选50V或100V留足余量同时尽量多并联几个小容量的。24V输入下我实际用了两颗22µF/100V的X7R并联作为输入电容输出侧用一颗47µF/100V电解加上两颗10µF/100V陶瓷这样兼顾了大容量和低ESR高频去耦。4.2 功率路径布局短、粗、少过孔PCB布局是这颗eFuse能不能稳定工作的关键。功率路径原则就是三个字短、粗、少。从输入连接器到TPS259483AYWPR的VIN脚再从VOUT脚到后级负载走线尽量短、加宽铺铜开窗。我习惯走2~3mm宽甚至整块铜皮路径上不要有过孔因为过孔既增加电阻又增加寄生电感大电流时压降明显。实测中同样限流5A的板子功率走线太细的版本满载时输出电压比输入低了几百毫伏发热还集中在走线上后来加宽铺铜后压降降到几十毫伏明显好转。ILIM引脚、UVLO/OVLO分压电阻这类信号电阻必须靠近芯片引脚放置中间不要拉长线。尤其是ILIM电阻它的引线电感会改变限流比较器看到的高频阻抗严重时会导致短路瞬间限流点抖动。我第一版因为把ILIM电阻放得离芯片远了1厘米结果短路测试时限流值跳变了约8%把电阻移到芯片旁边后问题消失。4.3 散热焊盘处理TPS259483AYWPR这类eFuse在大电流或高温环境下的热耗不可小觑。芯片底部的散热焊盘PowerPad必须焊接到PCB的铜皮上并通过过孔阵列连接到背面的大面积铜皮散热。过孔我一般打9~16个孔径0.3mm孔内镀铜均匀分布在散热焊盘区域内下面再接一层大面积地平面。注意这些过孔不要堵死否则回流焊时气体排不出来会造成虚焊。散热不好最直接的后果是限流点随温度漂移严重的直接热关断系统频繁掉电。4.4 MCU区域与功率区域的隔离PIC18F85J50属于模拟和数字混合设计它的AGND和功率地我做了物理分隔在MCU附近单点连接到主地。分压采样线的走线我采用开尔文连接方式采样走线直接从小信号分压电阻处引到MCU的ADC引脚不要经过功率电流流过的铜箔段避免把地弹和压降误差引到ADC输入上。这条经验帮我解决了一个很隐蔽的问题——MCU读到的输出电压总是比实测值高几十毫伏实际上就是采样走线串入了功率路径的压降。4.5 外围保护器件输入端我还会加一个TVS管方向是吸收差模浪涌。虽然eFuse本身有过压保护但它的响应速度是微秒级而ESD或雷击浪涌是纳秒级的TVS先把能量钳住给eFuse争取关断时间。保险丝要不要留我建议在输入的最前端还是保留一颗慢断保险丝作用是防eFuse自身击穿短路时把上游线缆烧掉属于最后一道物理防线。这些都是低成本器件加上去之后系统的鲁棒性提升明显。5. 实测验证与踩坑排查记录5.1 测试设备清单我不是那种画完板子就交差的风格电源保护这种东西必须实测到底。测试时我准备了可编程线性电源给输入供电同时观察电流波形、电子负载用来做稳态和动态拉载、四通道示波器重点观察输出端短路瞬间的电压电流波形、热像仪检查功率路径温升、以及一个自己做的短路测试夹子粗铜线加继电器用来模拟瞬间短接。5.2 上电浪涌波形验证把限流设定在5A并配置软启动后我用示波器同时抓输入电压、输出电压和输入电流。上电瞬间输出电压平滑爬升到24V输入电流峰值被限制在约4.2A没有超过限流值。如果把软启动配置去掉直接满速开启同样负载下输入电流峰值能冲到接近15A母线电压直接跌落2V多。这个对比充分说明了软启动在这类设计里不是可选项而是必须项。5.3 短路保护实测这是整个调试最有意思的部分。我设定限流5A输出端用继电器直接短路。示波器显示短路发生后约30µsFLT拉低输出电压同步被切断电流被限制在预设值附近没有出现大电流尖峰。电源路径上的MOSFET没有炸、PCB铜箔没有变色整套保护链路有效。但这里也有个意外短路瞬间继电器触点打火产生的电磁干扰居然把MCU的ADC采样值干扰跳变了。后来我在ADC输入引脚上加了一个100Ω串联电阻加1nF电容的低通滤波同时把采样值做中值滤波取5次采样排序取中间值干扰就被过滤掉了。这种毛刺在示波器上看不到但在ADC数据里非常烦人。5.4 ILIM走线问题限流点跳变之谜打样回来的第二版板子做短路测试时发现一个诡异现象电子负载拉载到4.8A就触发了保护但设计限流是5A。我用示波器去测ILIM引脚波形发现负载越大ILIM引脚上的高频噪声越明显。原因是ILIM电阻离芯片远了引线寄生电感与引脚/地之间的寄生电容形成了谐振导致限流比较器误判断。我把ILIM电阻移到芯片正下方并在电阻两端各放置一个100pF陶瓷电容后限流点回到了5.1A附近误差约2%符合预期。5.5 反复故障导致的芯片状态异常还有一次调试负载循环短路了几十次之后芯片彻底不工作了EN拉高也没有输出。查了一圈才发现我在配置里把故障模式设成了锁存模式反复触发之后芯片进入了某种需要断电才能复位的状态。后来我把EN脚的复位逻辑改成先拉低200ms再拉高并确保MCU复位时序里EN维持低电平足够长时间问题就再也没有出现。这也说明光看数据手册还不够必须在实际反复故障场景下验证复位时序的可靠性。5.6 温升与长期稳定性用热像仪做的满载温升测试显示在24V输入、4A稳态输出、环境温度25°C的条件下TPS259483AYWPR表面温度约72°C功率走线温度约50°C整体在可接受范围内。但把我一开始电源走线偏细的版本拿来对比芯片表面温度只有65°C走线却到了78°C——这可不是好消息因为MOSFET的热量还能通过散热焊盘散掉走线过热反而会加速PCB老化。所以我在最终版把电源走线全部加宽到3mm以上部分区域铺铜后再加开窗镀锡进一步降低走线电阻。6. 给正在做类似设计的人几个建议我用这套TPS259483AYWPR加PIC18F85J50的组合跑了三轮迭代板子总算稳定下来。总结几个除了原理图之外的隐性要点第一 datasheet给出的阈值计算只是起点最终限流值、过压点一定要结合你的实际负载特性做10%~20%的裕量调整。不要照抄参考设计尤其是工业24V系统现场的电压波动范围比你想象的大得多。第二 硬件保护参数能用电阻配置的就用电阻配置别指望纯软件去做限流。ADC采样周期是毫秒级而短路电流达到危险水平只需要微秒级软件根本拦不住eFuse的硬件比较器才是真正救命的角色。第三 故障记录功能一定要做哪怕只是把最近几次故障码存到EEPROM。现场工程师维护时有个故障历史相当于让他们拿着答案去修设备价值远超你多写那几百行代码的成本。第四 复位策略不要一上来就用自动无限重试。我踩过的坑就是自动重试模式下芯片反复开关导致散热来不及温度越拉越高周期越长最后设备间歇性掉电。改成MCU控制的有限重试之后逻辑清楚多了热问题也不再出现。这套方案的架构其实完全可以扩展把PIC18F85J50换成更主流的32位MCU把UART上报换成CAN或者EtherCAT监控思路完全不变。保护链路本身是个成熟的工程问题关键在于把硬件能力、软件策略和PCB工艺三者对齐。希望这篇记录能帮大家少走一些我走过的弯路。
返回列表