电源自动切换初识

【前提:这里以一般的单片机产品为例,使用3.3V的供电系统,常见的USB供电、外接电源设配器供电和电池供电】

一、经典二极管切换电路

这是最简单的电源切换电路:二极管并联,理论上支持无数个电源切换,缺点是必然存在二极管的导通压降。为了降低压降一般选择肖特基二极管(最大0.3V压降)

1.1 工作原理:

两个或者多个电源,根据供电电压的高低自动选择,哪边的电压高用哪边

1.2 注意事项:

① 如果我们的系统是使用3.3V供电,而3.3V供电需要由输入电源5V(USB/外界适配器)经过LDO或DCDC电路降压得到,那时候使用哪种二极管都无所谓(不care压降),但需要留意用普通二极管(最大0.7V压降)时得选择低压差的LDO(超低压差可以达到100mV)

② 如果我们使用二极管切换电路做电池电源切换时,可能会存在一些问题:

电池电压有很多种,比如4.2V、4.35V、4.4V聚合物锂电池,2.0~3.65V磷酸铁锂电池,2.6~4.2V 钴酸锂离子电池等。这时候普通二极管的0.7V压降显然不可以,得选择肖特基二极管,即使这样,这个压降对于电池来说还是太浪费了。而且肖特基二极管的压降越低时,它的反向漏电流越大,这时候需要考虑到在电池端是否能够“忍受”这个反向电流的流入(大部分锂电池不能接受电流直接流入)

1.3 适用场景:

供电电源相近的场合,供电电源为外接适配器,USB等(暂时不考虑电池供电),是性价比最高的电路

二、经典MOS管切换电路

2.1 MOS管切换电路经典电路

5V电源和电池的场合,使用一个MOS管作为备用电源(电池)开关的经典电路:

使用这个电路有几点需要注意的地方:

①注意PMOS管方向,我们需要用PMOS管的体二极管来导通MOS管

②PMOS管的体二极管起到和二极管切换电路一样的作用,防止在有VUSB的时候,VUSB电压直接到了电池

③目前该电路只适用于VUSB≥VBat的情况,当VBat-VSO-VUSB>Vgsth时,Q1不管VUSB供没供电都会导通

2.2 工作原理:

当VUSB有电,PMOS管截止,即便有体二极管电流流过,但是因为VUSB会比 Vbat 电压高,PMOS的|Vgs|<Vgsth,所以PMOS体二极管截止,负载由 VUSB 供电; 当VUSB没电,|Vgs|>Vgsth,PMOS导通,负载由 VBat 供电

2.3 注意事项:能否无缝自动切换?

无缝自动切换指的是,在有 VUSB 和 电池同时供电的情况下,忽然去掉一个,负载能否保持正常工作而不复位或者出异常。实际上大多情况都是去掉 VUSB 后能否切换至电源供电而不出问题。

关于这个问题,其实是比较复杂的,决定能否无缝自动切换的因数有很多,一般在使用的时候都是根据自己的情况调整一些元器件使得能够实现无缝自动切换,这里说明一些可能影响能否无缝自动切换的因数:

MOS管参数

我们知道,MOS管有一个阈值电压,阈值电压越小,MOS管越容易导通。在MOS管选型的时候可以根据适当情况调整:

上图R2电阻

在上图中,MOS管的 G 极到 GND 有一个电阻R2, 这个R2的阻值越小,MOS管导通速度越快。 但需要注意的是,这个R2是一直在耗电的,如果太小,那么系统额外白白浪费的功耗就越多

Vout端滤波电容

实际上,Vout端如果有大一点的滤波电容,电容可以储存一定的能量,会使得无缝切换更加稳定

Vin端电容

Vin端的电容实际上就是 VUSB 入口处的电容,在上图中是没有的,当然这里提出来也是说明不建议加,因为加了VUSB的掉电更缓慢,导致 PMOS 导通时间加长。原理同上面Vout的滤波电容一样

负载功耗

负载功耗这个倒是我们无法改变的,但是他确实会影响自动切换,如果负载功耗太大,那么是有可能会导致系统复位的。 反正就是负载功耗越大,越容易在电源切换的时候出问题。 这时候一般来说,可以试着增加 Vout 端的滤波电容大小

MOS管并联一个肖特基二极管

肖特基二极管的正向导通压降约为0.3V,比MOS管的体二极管要小。在MOS管完全打开之前,VBAT通过肖特基二极管对VOUT进行供电,可以缓解VOUT电压下降过多的问题。这个方法非常实用,该电路与方法已经被申请了实用新型专利

三、经典电路变种

3.1 二极管经典电路变种

该变种是二极管切换电路的变种,比单纯的二极管切换电路略好(安全角度考虑),支持电源和电池切换

3.1.1 工作原理

这个电路理解起来很简单,原理也是|Vgs|>Vgsth时, PMOS管导通,和二极管经典电路一样存在D1和D2的导通压降

3.2 MOS管经典电路变种1

由于MOS管经典电路一直存在二极管导通压降,因此可以用一个MOS管代D1,电路变成下面这样:

3.2.1工作原理:

typec口用来接入电源5V(5V/2A),当typec电源插入时,5V首先经过Q13的内置二极管进入后级,此时Q13G极接地(USB_GND接到typec的1脚,利用typec头的特性1脚和12脚相通并且接地)从而Q13导通,VOUT电压接近5V。Q12由于G极有5V电压从而截止,电池通过Q12内部二极管进入后级,又因为A点电压有5V,所以电池不处于工作状态。typec电源去除时(插头拔出),Q13的G极悬空从而截止,Q12的G极继而为0V,Q12导通,VOUT电压接近电池电压。这种电路与直接串接二极管D1相比能减少能量损耗

3.2.2 注意事项:

该电路优点:相对于于经典电路没有D1的导通压降

②在做电源切换为电池时,需要将电源插头拔出,否则Q12的源极将会被拉到USB_GND,同时电池通过Q12的MOS体二极管进行供电,此时Q12不一定能导通,压降相当大

③同样只适用于VUSB≥VBAT+的情况

3.3 MOS管经典电路变种2

3.3.1 工作原理:

Vin1 是主电源,Vin2 是备用电源

理论:当 Vin1 和 Vin2 都有电的时候会使用Vin1,只要有 Vin1 ,Q1导通使得 Q2 的G极接地,然后Q2也导通,Q3的 G极连接 VIn1,S极基本也是Vin1(比Vin1小一点点,几十mV),所以Q3截止,Vout 来自 Vin1。没有Vin1时,Q3的G极被弱下拉至GND,此时Q3导通,Q1和Q2关闭,Vout 来自 Vin2

3.3.2 注意事项:

①该电路未被验证,存在实际问题:当把VIN1去掉时另一个电源VIN2通过Q3给到VOUT,由于适配器拔掉的时候,上面的MOS有一定的放电时间,即Q2已经导通,会造成VOUT反馈电压回到VIN1,这段时间电池的电压就过去了,会持续给电源输电,同时造成Q1和Q2持续导通,此时Q3的G极和S极压差极小(寄生二极管压降)导致Q3无法导通,Vin2只能通过体二极管工作,有烧Q3和Vin1电源的风险

②R1当Vin1供电时一直有电流,处于发热状态,Vin1能源被浪费了

③只使用于Vin1>Vin2的场合,当Vin2-VQ3OS-Vin1>Vgsth时,Q3会导通,同时Q2也会导通,会导致电源短路

3.4 MOS管经典电路变种3

该电路为MOS管经典电路变种2的改进,增加一个NMOS避免3.3.2注意事项②

四、电源切换芯片

对于某些特除的场合,也可以使用电源切换芯片,电源切换芯片相对来说基本无压降,但是相对来说,电源切换芯片的成本太高了,比如 LTC441x 系列

五、废话时间

1.目前看很多电源切换电路其MOS管都是工作在“半开状态”,这样子是否会对MOS管寿命/温升有明显影响?

2.参考触屏迷你电子负载 - 嘉立创EDA开源硬件平台 (oshwhub.com)电源切换电路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++基础 -36- 模板之模板函数

模板函数格式 template <class T> void allexchange(T a,T b) {T c;c*a;*a*b;*bc; }模板函数可以增强函数的通用性 举例说明&#xff0c;使用一个模板函数实现了两个的函数的功能 #include "iostream"using namespace std;void myexchangeint(int* a,int* …

linux作业管理_jobs

4.2 作业管理 是指控制当前正在运行的进程的行为&#xff0c;也称为进程控制。 是shell的一个特性&#xff0c;使用户能在多个独立进程间进行切换。 例如&#xff0c;用户可以挂起一个正在运行的进程&#xff0c;稍后再恢复其运行。当用户使用vim编辑一个文本文件&#xff0c…

java TrueLicense实现 实现License授权许可和验证

文章目录 简述License 生成License 客户端部署 简述 可用于项目交付项目部署到甲方以及包括代码防止泄露&#xff0c;经常会出现公司内部代码被已离职人员在下家公司使用&#xff0c;底层代码的封装增加license部分&#xff0c;杜绝这块的问题。定期更换license文件可进行续期…

python scipy.spatial.distance.pdist学习详记——(待完善)

1.Python scipy.spatial.distance.pdist用法及代码示例

分享81个节日PPT,总有一款适合您

分享81个节日PPT&#xff0c;总有一款适合您 81个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1V0feg5pZ8C1Szycy40CrUw?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

二分类问题中评估模型的示例及释义:召准率、召回率等

1、评估参数定义 1.1、召准率&#xff08;Precision&#xff09; 召准率是衡量模型预测正类标签时的准确度的指标。它计算的是模型预测的正类中真正为正类的比例。换句话说&#xff0c;召准率表示在所有预测为正类的实例中&#xff0c;正确识别为正类的实例所占的比例。 其中…

SQLserver通过字符串中间截取然后分组

当我们存的数据是json的时候可以全部取出在模糊查询但是有多个重复数据的时候就没办法准确的模糊出来这个时候我们就需要用的字符串截取 --创建函数create FUNCTION [dbo].[Fmax] (str varchar(50),start VARCHAR(50),length VARCHAR(50)) RETURNS varchar(max) AS BEGINDEC…

Spring MVC学习随笔-文件下载和上传(配置文件上传解析器multipartResolver)

学习视频&#xff1a;孙哥说SpringMVC&#xff1a;结合Thymeleaf&#xff0c;重塑你的MVC世界&#xff01;&#xff5c;前所未有的Web开发探索之旅 学习视频&#xff1a;【编程不良人】继spring之后快速入门springmvc,面对SpringMVC不用慌 六、SpringMVC 文件上传下载 6.1 文件…

【最通用版FPGA 实现 SPI 驱动】

最近研究了一下SPI协议的FPGA实现&#xff0c;发现网上很多大佬分享的方法都是针对某一特定的flash芯片或者某一传感器芯片来设计电路结构的。所以想根据SPI&#xff08;Serial Peripheral Interface&#xff09;的基本通讯协议实现一个通用版的SPI Master驱动。SPI在嵌入式领域…

同源策略与跨域

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 不论个人练习还是实际开…

HR看好的字符函数和字符串处理函数!!!

本篇会加入个人的所谓‘鱼式疯言’❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言,而是理解过并总结出来通俗易懂的大白话,我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的&#xff0c;可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 前言 在本篇…

mybatis整合(手动添加jar包方式)

操作步骤 创建数据库 建立user表 放入数据 1、创建javaweb工程并添加Jar包 用到的jar包 junit 用于测试 mybatis框架&#xff1a;mybatis-3.5.9.jar mysql数据库&#xff1a;mysql-connector-java-8.0.28.jar 2、添加MyBatis核心配置文件 <?xml version"1.0"…

Leetcode刷题详解——乘积为正数的最长子数组长度

1. 题目链接&#xff1a;1567. 乘积为正数的最长子数组长度 2. 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你求出乘积为正数的最长子数组的长度。 一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。 请你返回乘积为正数的最长子数组长度。 示…

什么是结构化数据?哪些OCR软件可将图片文字转为结构化数据?

结构化数据是指按照一定的数据模型组织和存储的数据&#xff0c;具有明确的数据类型和数据关系&#xff0c;并且可通过计算机程序进行处理和分析。这种数据通常存储在定义明确的模式中&#xff0c;例如数据库&#xff0c;采用表格的形式存储&#xff0c;每个数据项都有特定的字…

Mover Creator 用户界面

1 “开始”对话框 首次打开 Mover Creator 时&#xff0c;出现的第一个页面是“开始”对话框&#xff0c;如下所示。从这里开始&#xff0c;用户可以选择开始设计飞机、武器或发动机。在上述每种情况下&#xff0c;用户都可以创建新模型或编辑现有模型。 1.1 新建模型 如果用…

Apache Doris 详细教程(二)

5、doris的查询语法 5.1、doris查询语法整体结构 SELECT [ALL | DISTINCT | DISTINCTROW ] -- 对查询字段的结果是否需要去重&#xff0c;还是全部保留等参数 select_expr [, select_expr ...] -- select的查询字段 [FROM table_references [PARTITION…

94基于matlab的蚁群算法 (ACO) 对付的图像边缘检测问题

基于matlab的蚁群算法 (ACO) 对付的图像边缘检测问题。提出基于蚁群算法的边缘检测方法是能够建立一个信息素矩阵表示提出了一种在图像每个像素位置的边缘信息根据大量的蚂蚁的运动有哪些派去在图像上移动。此外&#xff0c;运动这些蚂蚁是由图像的局部变化驱动强度值。数据可更…

U1编译概述

文章目录 基本概念定义一些概念 编译流程词法分析语法分析语义分析、生成中间代码中间代码 代码优化生成目标程序五个阶段中都需要做的两件事符号表管理出错处理 总结 其他概念多层中间表示和遍&#xff08;PASS&#xff09;三端模式课程概述 基本概念 定义 用高级语言编制的…

【Java 基础】18 I/O流

文章目录 1.基本概念2.字节流3.字符流4.标准输入输出5.最佳实践 I/O流&#xff08;Input/Output 流&#xff09;是计算机程序中不可或缺的一部分&#xff0c; 往大了说所有的操作都是IO。Java 提供了强大而灵活的 I/O 框架&#xff0c;支持各种数据的 读取和 写入操作。 1.基…

45 - 多线程性能优化常见问题

1、使用系统命令查看上下文切换 上下文切换常见的监测工具 1.1、Linux 命令行工具之 vmstat 命令 vmstat 是一款指定采样周期和次数的功能性监测工具&#xff0c;我们可以使用它监控进程上下文切换的情况。 vmstat 1 3 命令行代表每秒收集一次性能指标&#xff0c;总共获取 …