当前位置: 首页 > news >正文

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言:在我们的日常使用中,MOS就是个纯粹的电子开关,虽然MOS管也有放大作用,但是几乎用不到,只用它的开关作用,一般的电机驱动,开关电源,逆变器等大功率设备,全部使用MOS管作为电子开关,使用起来比较方便,简单粗暴,经常用到的只有N沟道的MOS管,并且也针对PMOS讲解,并对比三极管跟mos管的区别。

目录

NMOS管的基础认识

NMOS工作条件

NMOS的等效电路及驱动方法

PMOS的等效电路及驱动方法

三极管和mos管的区别

MOS管选型

MOS管封装

MOS容易忽视的参数-Cgs


NMOS管的基础认识

如下图所示,简单的电路图,如引脚输出HIGH电平时,NMOS就等效为闭合的开关。

以上就是最经典的用法,实现了io口,来控制功率器件,因此如下图所示,也就是栅极施加电压,即可导通。

NMOS工作条件

(导通条件):Ugs大于Ugs(th)阈值电压
性质:
1、MOS导通后,相当于开关闭合,压降几乎为0
2、虽然导通压降几乎为0,但是会有一个内阻RDSon
3、GS极之间是一个电容,只有电容充满电后MOS才会导通
4、一般的MOS管DS极之间会自带一个肖特基二极管,MOS由于自身结构会有一个寄生二极管,有的厂家生产时,会故意把这个二极管做大,增强MOS的性能
5、想要让MOS管截至(断开),只要取消掉G极电压即可,但是要注意,必须想办法给GS间那个电容放电! G :栅极 D :漏极 S  :源极 

与三极管不同,MOS管为电压型驱动方式,小电压控制大电压。

状态1: 单片机输出低电平,Q22截至,A点为高电平, 电流方向如图所示,Q20导通,Q23截至,B为高电平 MOS导通,电机转动。

状态2: 单片机输出高电平,Q22导通,A点为低电平, 电流方向如图所示,Q20截至,Q23导通,B为低电平 MOS关断,电机的自感电流流过D7。

NMOS的等效电路及驱动方法

可以看成是一个电压控制的电阻,电压就是GS两端的电压差,电阻就指的是DS之间的电阻了,这个电阻的大小呢,会随着gs的电压的变化而产生变化,但是值得注意的是,他们不是线性对应的关系,实际的关系如下所示:

上述的关系图,本质就是当当gs的电压小于一个特定值的时候,电阻基本就是无穷大的,你也可以看成开关断开嘛,断路,当电压值大于特定值的时候,电阻就无限趋近于0,也就是理解成开关闭合,至于说等于这个值的时候会怎么样,这个临界的电压值,我们称之为Vgsth,也就是打开nmos所需要的gs电压了,并且这是每一个nmos的固有属性,我们可以在nmos的数据手册里面找到它,显然Vgsth应该小于高电平的电压值,否则nmos当然也不会正常打开了,因此在你硬件选型的时候,你也需要注意这个点了。

PMOS的等效电路及驱动方法

如下为PMOS与NMOS的结构图如下:

因此PMOS跟NMOS的驱动能力也是相反的,如下图可见,值得注意的是两个mos管的位置。

因此一般对于灯泡、电机这种无源功率器件,我们可以用nmos,如果是有源例如芯片,我们可以用pmos来控制,如下所示:

三极管和mos管的区别

三极管和MOS管(场效应管)都是常见的电子元件,用于放大和开关电路,但它们在结构、工作原理、特性和应用方面有显著差异:

1. 结构与基本原理

  • 三极管:三极管是电流控制型器件,由发射极、基极和集电极组成。其工作原理是通过控制基极电流来调节发射极与集电极之间的电流。

  • MOS管:MOS管是电压控制型器件,通常分为N沟道和P沟道两种,主要由源极、漏极和栅极构成。它通过栅极电压来控制源极与漏极之间的电流,栅极与其他电极之间有氧化层隔离,基本没有直流电流流入。

2. 控制方式

  • 三极管:需要基极电流来控制集电极电流,因此输入端存在一定的电流损耗。

  • MOS管:用栅极电压控制,没有电流损耗(栅极电流极小),输入阻抗很高,非常适合高输入阻抗的电路应用。

3. 驱动电压与电流

  • 三极管:一般需要0.6V左右的基极-发射极电压(V_BE)来导通。驱动电流相对较大,驱动能力较强。

  • MOS管:一般需要较高的栅极-源极电压(V_GS)来开启,对于N沟道常用10V或更高的电压,逻辑电平的MOS管可以使用5V或3.3V来开启。

4. 开关速度

  • 三极管:开关速度较慢,特别是在高频应用中,开关损耗较大。

  • MOS管:开关速度较快,尤其适合高速开关应用,因此常用于数字电路、功率电子电路中。

5. 功率和效率

  • 三极管:在大功率应用中,开关效率较低,容易发热。

  • MOS管:导通电阻低,效率较高,适合大电流、大功率应用,且散热相对较好。

6. 应用

  • 三极管:常用于低功率信号放大、音频放大、信号处理等场合,如音响和小功率电源等。

  • MOS管:常用于开关电源、电动机控制、高频变换等功率电子电路,尤其在功率放大、数字电路、驱动电路中应用广泛。

MOS管选型

参数: DS间耐压、Id(最大工作电流)、RDS(on)(内阻)、Qgs(栅极电荷)、体二极管压降,电流,反向恢复时间。

 

MOS管封装

贴片:SOT-23 < SOT-89 < TO-252 < TO-263 < QFN
直插:TO-92 < TO-126 < TO-220 < TO-247
长成集成电路芯片模样的:SOP-8、SOIC-8

MOS容易忽视的参数-Cgs

Cgs就是g跟s之间的寄生电容了,如下所示:

这个Cgs会影响nmos的打开速度,因为加载到gate端的电压,首先要给这个电容充电,这就导致了gs的电压,并不能一下子就到达给定的值,现象也就是下述的图像了,因此这个对高速PWM波是致命的,如果当pwm接近这个爬升波形时,此时就会失真。

相关文章:

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言&#xff1a;在我们的日常使用中&#xff0c;MOS就是个纯粹的电子开关&#xff0c;虽然MOS管也有放大作用&#xff0c;但是几乎用不到&#xff0c;只用它的开关作用&#xff0c;一般的电机驱动&#xff0c;开关电源&#xff0c;逆变器等大功率设备&#xff0c;全部使用MOS管…...

Centos 9 安装 PostgreSQL 16 并支持远程访问

仅列出核心操作&#xff0c;可以解决使用过程中遇到的访问问题。 1 安装 使用dnf源安装 sudo dnf module -y install postgresql:16 2 配置文件夹权限 使用root权限操作 sudo chown postgres:postgres /var/lib/pgsql/datasudo chmod -R 0750 /var/lib/pgsql/data 3 初…...

Dubbo源码解析(三)

一、Dubbo整合Spring启动流程 Dubbo的使用可以不依赖Spring&#xff0c;但是生产环境中Dubbo都是整合到Spring中一起使用&#xff0c;所以本章就解析Dubbo整合Spring的启动流程 一、传统的xml解析方式 一、Dubbo配置解析流程 在Java 中&#xff0c;一切皆对象。在JDK 中使用…...

HarmonyOS Next星河版笔记--界面开发(5)

1.字符串 1.1.字符串拼接 作用&#xff1a;把两个或多个字符串&#xff0c;拼成一个字符串。&#xff08;通常是用来拼接字符串和变量&#xff09; hello world > helloworld 加好作用&#xff1a;拼接 let name:string 小明 console.log(简介信息,名字是 name) …...

Spring Boot3 实战案例合集上线了

Spring Boot3实战案例合集...

在Ubuntu 24.04 LTS上安装飞桨PaddleX

前面我们介绍了《在Windows用远程桌面访问Ubuntu 24.04.1 LTS》本文接着介绍安装飞桨PaddleX。 PaddleX 3.0 是基于飞桨框架构建的一站式全流程开发工具&#xff0c;它集成了众多开箱即用的预训练模型&#xff0c;可以实现模型从训练到推理的全流程开发&#xff0c;支持国内外多…...

Homebrew 命令大全

Homebrew 是 macOS 和 Linux 系统上的一个流行的包管理器&#xff0c;它可以帮助用户轻松地安装、更新和管理软件包。以下是一些常用的 Homebrew 命令&#xff1a; 安装 Homebrew 如果你还没有安装 Homebrew&#xff0c;可以使用以下命令在 macOS 上进行安装&#xff1a; /b…...

Docker+Django项目部署-从Linux+Windows实战

一、概述 1. 什么是Docker Docker 是一个开源的应用容器引擎&#xff0c;支持在win、mac、Linux系统上进行安装。可以帮助我们在一台电脑上创建出多个隔离的环境&#xff0c;比传统的虚拟机极大的节省资源 。 为什么要创建隔离的环境&#xff1f; 假设你先在有一个centos7.…...

前端 JS 实用操作总结

目录 1、重构解构 1、数组解构 2、对象解构 3、...展开 2、箭头函数 1、简写 2、this指向 3、没有arguments 4、普通函数this的指向 3、数组实用方法 1、map和filter 2、find 3、reduce 1、重构解构 1、数组解构 const arr ["唐僧", "孙悟空&quo…...

11.15 机器学习-集成学习方法-随机森林

# 机器学习中有一种大类叫**集成学习**&#xff08;Ensemble Learning&#xff09;&#xff0c;集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话&#xff1a; # 三个臭皮匠&#xff0c…...

【SQL】E-R模型(实体-联系模型)

目录 一、介绍 1、实体集 定义和性质 属性 E-R图表示 2. 联系集 定义和性质 属性 E-R图表示 一、介绍 实体-联系数据模型&#xff08;E-R数据模型&#xff09;被开发来方便数据库的设计&#xff0c;它是通过允许定义代表数据库全局逻辑结构的企业模式&#xf…...

C/C++静态库引用过程中出现符号未定义的处理方式

问题背景&#xff1a; 在接入新库&#xff08;静态库&#xff09;时遇到了符号未定义问题&#xff0c;并发现改变静态库的链接顺序可以解决问题。 问题根源&#xff1a; 静态库是由 .o 文件拼接而成的&#xff0c;链接静态库时&#xff0c;链接器以 .o 文件为单位进行处理。链接…...

『VUE』27. 透传属性与inheritAttrs(详细图文注释)

目录 什么是透传属性&#xff08;Forwarding Attributes&#xff09;使用条件唯一根节点禁用透传属性继承总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 什么是透传属性&#xff08;Forwarding Attributes&#xff09; 在 V…...

借助Excel实现Word表格快速排序

实例需求&#xff1a;Word中的表格如下图所示&#xff0c;为了强化记忆&#xff0c;希望能够将表格内容随机排序&#xff0c;表格第一列仍然按照顺序编号&#xff0c;即编号不跟随表格行内容调整。 乱序之后的效果如下图所示&#xff08;每次运行代码的结果都不一定相同&#x…...

数据结构 ——— 层序遍历链式二叉树

目录 链式二叉树示意图​编辑 何为层序遍历 手搓一个链式二叉树 实现层序遍历链式二叉树 链式二叉树示意图 何为层序遍历 和前中后序遍历不同&#xff0c;前中后序遍历链式二叉树需要利用递归才能遍历 而层序遍历是非递归的形式&#xff0c;如上图&#xff1a;层序遍历的…...

使用 Prompt API 与您的对象聊天

tl;dr&#xff1a;GET、PUT、PROMPT。现在&#xff0c;可以使用新的 PromptObject API 仅使用自然语言对存储在 MinIO 上的对象进行总结、交谈和提问。在本文中&#xff0c;我们将探讨这个新 API 的一些用例以及代码示例。 赋予动机&#xff1a; 对象存储和 S3 API 的无处不在…...

SpringBoot整合Mybatis-Plus实践汇总

相关依赖 MyBatis-Plus涉及的依赖主要是Mybatis-start、和分页插件的依赖&#xff0c;不考虑使用额外分页插件的前提下&#xff0c;只需要mybatis-plus-boot-starter一个依赖即可与SpringBoot集成&#xff1a; <!--Mybatis-plugs--><dependency><groupId>co…...

基于Spring Boot的在线性格测试系统设计与实现(源码+定制+开发)智能性格测试与用户个性分析平台、在线心理测评系统的开发、性格测试与个性数据管理系统

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…...

Python实现人脸识别算法并封装为类库

引言 人脸识别技术在现代社会中应用广泛&#xff0c;从安全监控到智能门锁&#xff0c;再到社交媒体中的照片标记功能&#xff0c;都离不开这项技术。本文将详细介绍如何使用Python实现基本的人脸识别算法&#xff0c;并将其封装为一个类库&#xff0c;以便在多个项目中复用。…...

uniapp小程序分享使用canvas自定义绘制 vue3

使用混入结合canvas做小程序的分享 在混入里面定义一个全局共享的分享样式&#xff0c;在遇到特殊页面需要单独处理 utils/share.js import { ref } from vue; export default {onShow() {// 创建时设置统一页面的默认值uni.$mpShare {title: 分享的标题,path: /pages/home/…...

SpringCloud核心组件(四)

文章目录 NacosNacos 配置中心1.起源2.基本概念ProfileData IDGroup 3.基础配置a. bootstrap.ymlb. application.ymlc. nacos 中的配置 DataIDd.测试读取配置中心配置内容 4.配置隔离a.命名空间b.DataIDc.bootstrap.ymld.service 隔离 5.配置拆分a.配置拆分策略b.DataID 配置c.…...

如何把本地docker 镜像下载用到centos系统中呢?

如果需要将镜像下载到本地或在 CentOS 系统上使用该镜像&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 拉取镜像 如果想将镜像从 Docker Hub 或其他镜像仓库下载到本地&#xff0c;可以使用 docker pull 命令。 如果使用的是本地构建的镜像&#xff08;如 isc:v1.0.0&…...

Godot的开发框架应当是什么样子的?

目录 前言 全局协程还是实例协程&#xff1f; 存档&#xff01; 全局管理类&#xff1f; UI框架&#xff1f; Godot中的异步&#xff08;多线程&#xff09;加载 Godot中的ScriptableObject 游戏流程思考 结语 前言 这是一篇杂谈&#xff0c;主要内容是对我…...

GitHub新手入门 - 从创建仓库到协作管理

GitHub新手入门 - 从创建仓库到协作管理 GitHub 是开发者的社交平台&#xff0c;同时也是代码托管的强大工具。无论是个人项目、开源协作&#xff0c;还是团队开发&#xff0c;GitHub 都能让你轻松管理代码、版本控制和团队协作。今天&#xff0c;我们将从基础开始&#xff0c…...

作业25 深度搜索3

作业&#xff1a; #include <iostream> using namespace std; bool b[100][100]{0}; char map[100][100]{0}; int dx[4]{0,1,0,-1}; int dy[4]{1,0,-1,0}; int n,m; int sx,sy,ex,ey; int mink2147483647; void dfs(int,int,int); int main(){cin>>n>>m;for(…...

ubuntu20.04 colmap 安装2024.11最新

很多教程都很落后了&#xff0c;需要下载压缩包解压编译的很麻烦 现在就只需要apt install就可以了 apt更新 sudo apt update && sudo apt-get upgrade安装依赖 #安装依赖 sudo apt-get install git cmake ninja-build build-essential libboost-program-options-de…...

WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇

WebRTC视频 01 - 视频采集整体架构 WebRTC视频 02 - 视频采集类 VideoCaptureModule [WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇]&#xff08;本文&#xff09; WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇 WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇 一、前…...

python os.path.basename(获取路径中的文件名部分) 详解

os.path.basename 是 Python 的 os 模块中的一个函数&#xff0c;用于获取路径中的文件名部分。它会去掉路径中的目录部分&#xff0c;只返回最后的文件名或目录名。 以下是 os.path.basename 的详细解释和使用示例&#xff1a; 语法 os.path.basename(path) 参数 path&…...

《FreeRTOS任务基础知识以及任务创建相关函数》

目录 1.FreeRTOS多任务系统与传统单片机单任务系统的区别 2.FreeRTOS中的任务&#xff08;Task&#xff09;介绍 2.1 任务特性 2.2 FreeRTOS中的任务状态 2.3 FreeRTOS中的任务优先级 2.4 在任务函数中退出 2.5 任务控制块和任务堆栈 2.5.1 任务控制块 2.5.2 任务堆栈…...

036集——查询CAD图元属性字段信息:窗体显示(CAD—C#二次开发入门)

提取CAD图元所有属性字段&#xff0c;通过窗体显示&#xff0c;效果如下&#xff1a;&#xff08;curve改为entity&#xff09; 代码如下&#xff1a; public void 属性查询() {List<Curve> ents Z.db.SelectEntities<Curve>();if (ents is null ||ents.Cou…...