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

三极管在数字电路中的应用

一、认识三极管

三极管拥有3个引脚,分别对应3个级:基极(Base)、发射极Emitter)、集电极(Collector),如下图所示;下图横向左侧的是基极,带箭头的那个引脚就是发射极,另一个就是集电极

箭头从发射极指向基极的三极管是PNP型三极管,也就是箭头指向内部的三极管;

箭头从基极指向发射极的三极管就是NPN型三极管,也就是箭头指向外部的三极管;

 

二、三极管的工作状态 

三极管有饱和截止放大 3 种工作状态,放大主要用于模拟电路,用于电路放大,有点复杂,在单片机这种数字电路的应用就没必要深究了,不然搞不明白容易走火入魔。数字电路主要使用到三极管的开关特性,即饱和状态截止状态

三、三极管是如何工作的

三极管使用的关键在于基极B发射极E之间的电压情况,对于 PNP 型三极管,发射极E电压高于基极B电压0.7V以上,发射极E集电极C之间就可以导通,也就是说,起控制作用的是基极B发射极E之间的电压差,被控制的是发射极E集电极C是否导通。同理,对于NPN 型三极管,基极B端比发射极E端高0.7V以上,就可以使发射极E集电极C导通

四、三极管的用法

1、电压导通法:

如上图所示,

通过单片机引脚P2_0与三极管配合一起来控制LED19的亮灭;

三极管Q13的基极通过电阻10k的电阻R33,连接至单片机 IO 引脚P2_0;

发射极E直接接5V的电源;

集电极C接LED19和一个1k的限流电阻R34,并最终连接到电源负极GND

如果单片机 引脚P2_0输出高电平1,也就是输出5V的电压,三极管Q13基极B发射极E都是5V,此时不会产生任何压降,

发射极E集电极C之间不会导通,发光二极管LED19是无法点亮。

当单片机 P2_0引脚输出低电平0,也就是0V,由于此时发射极E依然是5V集电极B发射极E之间产生压差,发射极E集电极C被导通。

三极管集电极B发射极E之间,其自身会产生0.7V左右压降,

此时电阻R33上承受的电压为 5V - 0.7V = 4.3V

三极管发射极E集电极C之间,其自带的0.2V压降可以忽略不计,而后面的发光二极管LED19回产生一定的压降,不同的发光二极管是不一样的,比如某个发光二极管的压降是2V,此时限流电阻R34上的压降应为 5V - 2V = 3V

LED中流过的电流与R34上流过的电流是一样的,可以这样算 3V/1000Ω = 0.003A = 3mA,可以满足LED34的工作电流并且正常点亮。

2、电流控制法:

三极管有截止放大饱和三种状态,其中截止是指集电极B发射极E之间不导通,这里枝讨论导通的情况;

要想让三极管处于饱和状态必须要满足一个条件:集电极B的电流必须大于发射极E集电极C之间的电流值除以三极管放大倍数

常用三极管放大倍数约为100,比如下面的一款三极管放大倍数是120到400之间,我们计算还是按100的放大倍数来计算。

接下来计算一下R33的阻值。

发射极E集电极C之间的电流为3mA,那么基极B的电流最小就是3mA / 100 = 30uA。由于基极电阻承受的电压为4.3V,那么基极电阻最大取值应为 4.3V / 30uA ≈ 143千欧,电阻取值只需要比这个值更小即可,但是也不能太小,否则电流通过电流过大会烧坏单片机或三极管。

STC单片机的引脚的理论最大输入电流在25mA左右,实际最好不要超过10mA,那么基极的R33电阻取值必须大于4.3V / 10mA ≈ 430Ω,即R33的阻值应该介于430欧14.3千欧之间,所以选择10千欧是可以的。

http://www.lryc.cn/news/251657.html

相关文章:

  • java后端自学错误总结
  • CLion安装与配置教程
  • 初识主力投资者
  • vue项目报错及解决npm run build:prod打包错误
  • Go连接mysql数据库
  • ⭐ Unity 里让 Shader 动画在 Scene 面板被持续刷新
  • 面试--各种场景问题总结
  • solidity实现ERC721代币标准发布NFT
  • Failed building wheel for opencv-python which use PEP 517
  • HTML5 的全局属性 hidden 和 display:none 的关系
  • CCKS2023-面向上市公司主营业务的实体链接评测-亚军方案
  • 关于我离破500粉丝感受
  • 锁表的原因及解决办法
  • Kettle 安装配置
  • Webgis学习总结
  • 【开源】基于Vue+SpringBoot的音乐平台
  • 20、Resnet 为什么这么重要
  • Git Bash环境下用perl脚本获取uuid值
  • linux安装部署redis
  • Redis 数据结构详解
  • 03-IDEA集成Git,初始化本地库,添加远程仓库,提交,拉取,推送,分支的快捷操作
  • Python---格式化输出与%百分号----涉及转义符 \ 反斜杠的使用
  • 大华技术GIS开发工程师24届秋招三场面试Offer面经
  • 前端三大MV*模式:MVC、mvvm、mvp模式介绍
  • 分享一些Git的常用命令
  • C语言第四十二弹---使用多种方法实现字符串左旋转
  • REST-Assured--JAVA REST服务自动化测试的Swiss Army Knife
  • docker中的网络不通问题
  • Android 12.0 修改Android系统的通知自动成组的数量
  • Debian12配置ssh服务器