真实案例分享:MOS管电源开关电路,遇到上电冲击电流超标
做硬件,堆经验。
分享一个案例:MOS管电源开关电路,遇到上电冲击电流超标,怎么解决的呢?
下面是正文部分。
—— 正文 ——
最近有一颗用了挺久的MOSFET发了停产通知,供应链部门找到我们研发部门,说供应商推荐了另外一型号的作为兼容替代,需要研发部门分析一下。我粗略扫了一下规格书,Vds,Id,Vgs(th)这些主要参数没太大区别,反正现有的应用远没达到器件的极限,所以直接替换是没啥问题的。本以为这事就这样结了,不过为了给今年校招进来的新同事锻炼的机会,部门经理还是分配了做详细兼容替代分析的任务给新同事A君。
结果过了两天A君突然找到我:蒋工,这个替代的MOS管在你的新项目上替代不了。
我:???不会吧,这不是15A的MOS管么,我这平均电流才不到6A,峰值电流也不超过8A,怎么会用不了?虽然替代的MOS管导通电阻增加了几个毫欧,我算了下耗散功率也没增加太多,不应该有问题的。
A君:不是,其他参数都没问题,最大脉冲电流超标了,替代的MOS管这项指标只有40A,之前那个是80A,你这个新项目测出来有60A。
我:不可能,这电路用了很久了,一直都没出过问题,新项目虽然功耗增加了一些,但不可能有那么大脉冲电流,因为板上的大电容总容量又没增加多少,你是不是测错了?
A君:那你过来看看。
啪~~~~~我的脸…
不就是MOS管开关电路嘛,So easy,闭着眼睛也能设计出来。这里用的是PMOS,所以只要把栅极上拉到源极,再通过一个开关控制把栅极拉到地,这样开关导通的时候MOS管也导通,完美。

然后就有了下面这个测试结果:黄色迹线是漏极电流,紫色是漏极电压,蓝色是源极电压,绿色是开关使能,橘色用漏极电压乘以漏极电流得到功率。是的我没有看错,开关导通的瞬间漏极电流最大能到60A!这次替代的MOS管最大脉冲电流是40A,这样看来这个设计确实不安全。
可我还是不服气,这个电路以前也用过,也详细测过不可能出现这么大的脉冲电流,虽然新项目在MOS管后面增加了一些电容,但电容总容量实际没增加太多,即使上电瞬间充电也不太可能产生这么大电流才对,一定是什么地方出错了。

新项目的功耗增加了大概30%,电源树结构与之前的也有不小的区别,不过设计时并没有增大板级的大型储能电容容值,而是放了更多容量稍小但性能更好的MLCC(多层瓷片电容)到个负载电源附近以获得更好的效果。
难道是多加进来的这些MLCC在捣鬼?先仿真验证一下看看。
因为电容的ESL常常造成仿真结果出现震荡,所以这里电容只用了ESR,元件参数并不是实际的值,不过足够说明问题了。当电容有一端没有明确接到某个电压的时候,如果不人为设定一下初始电压,往往会造成仿真结果错误,这里在C3上并了一个R5就是出于这种考虑。为了模拟冲击电流造成的电源波动,这里还对总电源和电源线进行了简单建模。

仿真结果可以看到上电瞬间冲击电流有22A左右,还算在可控的范围内。

现在把万恶的MLCC加上再试试,相比于470uF的电解电容,MLCC只有22uF,然后…60A的冲击电流,增加了近3倍?!电容量增加还不到1/10,冲击电流增加了那么多倍,这样翻车,我认还不行么。


如果不使用MLCC而只是增大电解电容的容量,就增加到2200uF吧,翻了4倍多呢,结果脉冲电流最大值才24A,只是整个充电过程变长了。

这就是电容ESR捣鬼导致的,使用ESR较大的电解电容时,ESR限制住了流经电容的最大电流,所以冲击电流并不会太大;而ESR非常小的MLCC,在电源接通的瞬间近乎直接断路到地,所以会出现巨大的冲击电流。
我这次算是败给了直觉,直觉认为电容量决定了冲击电流,而实际上ESR才主导冲击电流的最大值,电容量更多的是决定充电的总能量(或者说电流与时间的乘积)。
元凶找到了,现在的问题是如何整改,最简单的整改方法就是给MOS管加缓启动电路。缓启动电路以前也没少用,不过这次设计偷懒,直觉又觉得不会出问题,所以就没加上去,结果翻车了。
MOS管缓启动电路的思路非常简单,充分利用MOS管的线性区,不让MOS管突然从截至跳到饱和就行了,也就是要给Vgs缓慢变化而不是突变,这样MOS管在上电过程中相当于一个可变的电阻,可以温柔地给负载电容充电而不是一口气吃一个胖子。
电容两端电压不能突变,所以在MOS管的栅极和源极之间跨接一个电容,栅极通过电阻或者恒流源缓慢对电容放电而不是简单粗暴开关接短接到地,这样就能让Vgs缓慢变化了。

仿真结果还不错,冲击电流从60A降到了不到15A,完全不用担心MOS管罢工。虽然缓启动增加了上电延时,不过对于总开关来说没有太严格的上电时序要求,也不算什么大问题。

不过没完,这个缓启动电路还会带来另一个比较大的问题就是掉电延时,而且比上电延时要严重的多(这应该很容易想明白)。好在我这里是总开关,所以掉电延时也不是什么严重的问题,不过如果是用MOS管做严格的上下电时序控制,这就是个很严重的问题了。对时序控制要求高的场合,还是用专门的负载开关去处理吧,分立MOS开关搞起来就太折腾了。
当然这套简单的缓启动电路缺点还有不少,实际使用中还得根据实际情况进行调整,电路还会更复杂(比如在栅源间跨接二极管解决源极电源突然掉电又恢复时,电路锁定在之前状态的问题),这里就不再展开了。
实际电路中加入缓启动电路再测试,和预期的一样有很大改善。

—— The End ——
本文转自知乎|蒋宇辰,点击“阅读原文”可访问原文。
1、作者使用的仿真软件是LTspice。
2、电容的ESR对电路的影响,这个案例可以让大家有真切感受。
3、文中对“MOS管缓启动(又叫软启动)电路”没有进行详细分析,强烈建议阅读文章 精准电流走向分析,带软开启功能的MOS管电源开关电路!
4:精准电流走向分析,带软开启功能的MOS管电源开关电路!
5:非常经典的余电快速泄放电路,你学会了吗?
6:灰常实用的一键开关机电路,各位大佬进来mark一下?
7:最初的电路把mos管G极直接拉到地,GS有-11V以上,应该要一个分压电阻吧,不然容易损坏mos管
8:虽然低ESR电容对脉冲有非常好的吸收能力,但上电的瞬间本质上也是脉冲,而我们又希望ESR对这个过程失效,ESR:搞不懂你们人类。
9:en脚接高频pwm是否也是一个方法?
10:LTspice仿真软件可以共享一下下载链接吗,还有怎么用示波器测试MOS管漏极电流啊
PS:电流环或者通过串联一个小电阻测电压的方式吧
11:加了缓启动如果mos输出短接那不是很容易在线性区炸管?不是要快开快关吗?
PS:时间很短的
12:脉冲电流是通过什么工具测出来的呢,也是示波器吗
PS 示波器

相关文章:
真实案例分享:MOS管电源开关电路,遇到上电冲击电流超标
做硬件,堆经验。 分享一个案例:MOS管电源开关电路,遇到上电冲击电流超标,怎么解决的呢? 下面是正文部分。 —— 正文 —— 最近有一颗用了挺久的MOSFET发了停产通知,供应链部门找到我们研发部门,…...
LCR 164. 破解闯关密码
解题思路: 贪心 class Solution {public String crackPassword(int[] password) {String[] strs new String[password.length];for(int i 0; i < password.length; i)strs[i] String.valueOf(password[i]);Arrays.sort(strs, (x, y) -> (x y).compareTo(…...
【鸿蒙 HarmonyOS 4.0】常用组件:List/Grid/Tabs
一、背景 列表页面:List组件和Grid组件; 页签切换:Tabs组件; 二、列表页面 在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“…...
打造经典游戏:HTML5与CSS3实现俄罗斯方块
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
什么是系统工程(字幕)48
0 00:00:00,760 --> 00:00:03,550 那这里我们要说一下 1 00:00:04,050 --> 00:00:06,163 你看,刚才我们这里 2 00:00:06,163 --> 00:00:06,740 3 00:00:07,440 --> 00:00:13,460 这个我们把它说成,打开这个,关闭这个 4 00:00:…...
Jenkins发送邮件、定时执行、持续部署
集成Allure报告只需要配置构建后操作即可。但如果是web自动化,或是用HTMLTestRunner生成报告,构建后操作要选择Publish HTML reports,而构建中还要添加Execute system Groovy script插件,内容: System.setProperty(&q…...
Mysql的Cardinality值
什么是Cardinality值? Cardinality值是Mysql做索引优化时一个非常关键的值,优化器会根据这个值来判断是否使用这个索引,它表示索引中唯一值的数目估计值,该值应该尽可能接近1,如果非常小,则用户需要考虑是否…...
数据结构 - 栈和队列
本篇博客将介绍栈和队列的定义以及实现。 1.栈的定义 栈是一种特殊的线性表,只允许在固定的一端进行插入和删除数据,插入数据的一端叫做栈顶,另一端叫做栈底。栈中的数据遵守后进先出的原则 LIFO (Last In First Out)。 插入数据的操作称为压…...
C++:模版进阶 | Priority_queue的模拟实现
创作不易,感谢三连支持 一、非类型模版参数 模板参数分类为类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数&…...
【刷题记录】详谈设计循环队列
下题目为个人的刷题记录,在本节博客中我将详细谈论设计循环队列的思路,并给出代码,有需要借鉴即可。 题目:LINK 循环队列是线性表吗?或者说循环队列是线性结构吗? 对于这个问题,我们来看一下线…...
人工智能|机器学习——k-近邻算法(KNN分类算法)
1.简介 k-最近邻算法,也称为 kNN 或 k-NN,是一种非参数、有监督的学习分类器,它使用邻近度对单个数据点的分组进行分类或预测。虽然它可以用于回归问题,但它通常用作分类算法,假设可以在彼此附近找到相似点。 对于分类…...
乐得瑞 1C to 2C快充线:引领充电数据线新潮流,高效快充解决接口难题
随着科技的不断进步,数据线的接口种类也日渐繁多,但在早些时候,三合一和二合一的数据线因其独特的设计而备受欢迎。这类数据线通常采用USB-A口作为输入端,并集成了Micro USB、Lightning以及USB-C三种接口,满足了当时市…...
O2OA(翱途)开发平台如何在流程表单中使用基于Vue的ElementUI组件?
本文主要介绍如何在O2OA中进行审批流程表单或者工作流表单设计,O2OA主要采用拖拽可视化开发的方式完成流程表单的设计和配置,不需要过多的代码编写,业务人员可以直接进行修改操作。 在流程表单设计界面,可以在左边的工具栏找到Ele…...
0 OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程
开源鸿蒙NEXT星河版内核嵌入式编程 作者将狼才鲸创建日期2024-03-08 CSDN文章阅读地址Gitee文章下载地址 一、前景提要 2024年1月18日,华为放出HarmonyOS NEXT 鸿蒙星河版开发者预览版本(不是HarmonyOS NEXT版,是HarmonyOS NEXT星河版&…...
Vue | 基于 vue-admin-template 项目的跨域问题解决方法
目录 一、现存问题 二、解决方法 2.1 修改的第一个地方 2.2 修改的第二个地方 2.3 修改的第三个地方 自存 一、现存问题 报错截图如下: 二、解决方法 2.1 修改的第一个地方 在 .env.development 文件中: # base api # VUE_APP_BASE_API /d…...
mutex 和 channel 哪一个工作效率更高?
关于Rust中mutex和channel哪一个工作效率更高的问题,实际上并没有一个绝对的答案,因为效率的高低取决于具体的使用场景和需求。 互斥锁(mutex)主要用于保护共享资源,确保一次只有一个线程可以访问它。当需要多个线程同…...
Elasticsearch 通过索引阻塞实现数据保护深入解析
Elasticsearch 是一种强大的搜索和分析引擎,被广泛用于各种应用中,以其强大的全文搜索能力而著称。 不过,在日常管理 Elasticsearch 时,我们经常需要对索引进行保护,以防止数据被意外修改或删除,特别是在进…...
备考银行科技岗刷题笔记(持续更新版)
银行考试计算机部分复习 IEEE 802.11的帧格式 1.1 IEEE 802.11是什么? 802.11是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。目前在802.11的基础上开发出了802.11a、802.11b、802.11g、802.11n、802.11ac。并且为了保证802.11更…...
代码随想录算法训练营第五十五天|583. 两个字符串的删除操作、72. 编辑距离。
583. 两个字符串的删除操作 题目链接:两个字符串的删除操作 题目描述: 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 解题思路: 1、确定dp数组&#x…...
Softmax 回归 + 损失函数 + 图片分类数据集【动手学深度学习v2】李沐动手学深度学习课程笔记
目录 Softmax回归 损失函数 图片分类数据集 Softmax回归从零开始实现 Softmax回归简洁实现 Softmax回归 回归和分类的区别 回归问题举例上节课的预测房价问题,分类问题就是对样本进行分类 回归和分类的具体区别 假设真实的类别为第i个类别(值为1&#x…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
6.计算机网络核心知识点精要手册
计算机网络核心知识点精要手册 1.协议基础篇 网络协议三要素 语法:数据与控制信息的结构或格式,如同语言中的语法规则语义:控制信息的具体含义和响应方式,规定通信双方"说什么"同步:事件执行的顺序与时序…...
