65.9K
CodeProject 正在变化。 阅读更多。
Home

创客实用电子学(第 5 部分)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (9投票s)

2019 年 4 月 9 日

CPOL

14分钟阅读

viewsIcon

12221

使用晶体管作为开关。

引言

这是一个正在进行的系列文章,涵盖基础电子原理,目的是通过使用常用组件(最终包括各种 Arduino 板)来构建可用设备。

背景

您可以在 CodeProject 上阅读之前的章节。

这是本章可能需要用到的一些物品清单:

自动化是我们的目标

我们学习所有关于电和电子知识的根本原因,就是为了能够自动化某些事情。

不要想着编程,要想着自动化

许多从事计算机和电子设备工作的人会想到对计算机或设备进行编程。这常常会导致一种以技术为中心思维方式,因为我们沉迷于计算机语言和编程的技术细节。突然之间,焦点从最终产品(解决方案、产品、用户想要的东西)转移到了构建产品的技术细节上。

因此,我喜欢稍微换一种思维方式,思考自动化计算机和设备。

仅仅是思维上的一个简单转变,我相信您将能更专注于最终目标。毕竟,我们所做的一切都是为了自动化某个任务。

Microsoft Office:自动化

即使是 Microsoft Office 应用程序也是关于自动化的。

MS Word 是一种自动化输入文档的方式,而以前这些文档需要用打字机手动完成。您可能会想,文字处理器怎么会是自动化呢?好吧,稍微转移一下您的思维,您就会明白。一旦您将文档输入 Word,您可以打印多次而无需重新输入。当然,在打字机上,您需要每次都重新打一遍。

此外,您可以在 Word 中执行一些操作,允许您生成带有特定详细信息的信函,例如收件人的地址。过去,这些信函中的每一份都必须单独打字。

Microsoft Excel 就是对过去的老式会计分类账的自动化。过去,如果您顶部的数字错了,您需要重新计算所有后续数字。当然,现在如果您更改电子表格顶部的单元格中的值,表格中所有依赖的值都会自动更新。这就是自动化。

电子游戏是自动化

即使是电子游戏也是自动化的。电子游戏可以自动化 NPC(非玩家角色),所以即使您一个人玩,也有对手可以玩。过去,您可能需要掷骰子并在棋盘上物理移动对手。现在,这一切都由计算机为您完成。当然,计算机还会自动重绘角色,让角色动起来,让您相信它们在屏幕上移动。实际上,它们被绘制、擦除,然后在屏幕上的另一个位置重新绘制。这就是自动化。

物联网也是自动化

大多数物联网也是关于自动化的。例如,如果我们构建一个简单的设备,它会在一定时间间隔内收集房间温度并将其写入 SD 卡,那么我们就是在自动化可以用温度计和纸笔完成的工作。我们可以坐在房间里,每五分钟检查一次温度计,并将其记在笔记本上。

自动化开关

电子学中最基本、也可能是最常被自动化的东西就是开关。能够自动开启或关闭某物,或响应其他事件,是您需要做的最常见的事情之一。

想象一下,如果您可以通过手机上的应用程序按下按钮,而墙上的灯开关就会被打开/关闭。这并不直接可行,因为手机应用程序无法操作物理(机械)事物。然而,正如我们将看到的,我们可以用另一种类型的设备替换物理开关,并实际执行类似的操作。

我注意到我的车库门是连接到一个瞬时开关的,我将一个电子继电器(磁性开关)添加到系统中,可以通过蓝牙从手机控制它,并使其能够通过手机打开我的车库门。

一旦您了解了更多基础知识,您就能做出令人惊叹的事情。

我们需要一个电子开关

但是,我们需要一个可以充当电子开关的东西。一种可以由电的存在或缺失来开启或关闭的东西。我所暗示的,是史上最伟大的发明之一,也是使计算机和自动化成为可能的关键。那就是晶体管。

晶体管工作原理概述

这并不是一个关于晶体管如何工作的确切解释。要真正理解晶体管的工作原理,您需要了解物理学、化学、原子结构等。这是一个关于晶体管作为组件如何工作的解释。这确实是您构建电路所需了解的一切。当然,如果您愿意,可以进一步深入学习。

双极结型晶体管 (BJT)

我们将在这里讨论的晶体管是双极结型晶体管(BJT)。这仅仅意味着有两个极,它们是由用于构建晶体管的两种材料创建的。这两种材料是 N 型(负型)和 P 型(正型)。是的,背后有更多的物理学和科学原理,但对我们来说,您只需要了解这些。

BJT 晶体管有两种类型:

  1. NPN
  2. PNP

这些名称与它们的材料类型有关。

基本上,它要么是两个 N 型材料层之间夹着一个 P 型材料。

BJT 有三个引脚或腿。这是两种类型(NPN、PNP)引脚与材料连接方式的两个框图。

或者,它是两个 P 型材料层之间夹着一个 N 型材料。

这仅是顺带提及,以便您了解不同材料类型会影响电子在晶体管中的流动方式。

BJT 晶体管有 3 个引脚

一个晶体管有三个引脚(腿)。每个引脚都有一个名称:

  1. Base
  2. 收集器
  3. 发射极

这是一张 NPN 晶体管的照片。您可以看到正面有一个平面(背面是弧形的),上面印有指示晶体管型号的文字。

当您查看数据手册时,您将能够根据晶体管平面朝向的位置来确定哪个引脚是哪个。在连接电路时,您需要这些信息。

它看起来会像下面这样:

这是 NPN 晶体管在电路图中的符号。

这是一张 PNP 晶体管的照片。您无法仅凭外观判断您拥有的是哪种晶体管(NPN 或 PNP),因为它们看起来完全一样。

这是 PNP 在电路图中的符号。

这两种类型的晶体管也有另一种包装,看起来像一个锡罐。您可能会在一些电路中看到它们。

电路图细节

当您第一次看到电路图时,PNP 的箭头指向发射极内部可能会让您感到奇怪。您可能会觉得发射极应该总是朝外。但是,这同样与电子流动有关,所以这只是您需要记住的一点,以便通过查看电路图来判断您的电路需要 NPN 还是 PNP 类型。

不指向内部 = NPN

另外,记住哪种电路图是哪种类型的一个方法是记住 NPN 的电路图,只需记住一个简单的小短语:NPN 意为“**N**ot **P**ointing i**N**”(不指向内部)。这是一个简单的方法,可以记住 NPN 的电路图的箭头是指向晶体管中心外部的。反之,如果是 PNP,那么箭头总是指向中心内部。

专注于 NPN

不过,目前我们只关注 NPN 类型,以避免混淆两种不同类型的用法。

最后,这是晶体管在电路中如何充当开关的示例。

晶体管如何充当开关的解释

存在电压作用于 `基极`(引脚)时,电流将会在 `集电极` 和 `发射极` 之间流动(开启)。当然,这意味着当 `基极` 上没有电压时,`集电极` 和 `发射极` 之间就不会有电流流动(关闭)。这就是一个电子开关。

让我们通过构建一个非常简单的电路来实际演示一下。

BJT - 双电路思维

当我们考虑使用双极结型晶体管(BJT)的电路时,将其视为两个电路会很有帮助。

电路的两个部分

我们可以将其视为控制电路或输入电路,它由一个电压源、基极和发射极组成。电路的这部分看起来会像下面这样:

在这里,我们有一个 700 毫伏(0.7V)的电源,电池的正极连接到基极,发射极连接到电池的负极(或地)。我选择 700mV 是因为这是我们可以施加到基极引脚的最大电压(根据数据手册)。在这种情况下,我还添加了一个(常开)按钮开关,这样当我们按下按钮时,就可以将 700mV 应用到基极。

当然,在现实生活中,我们不容易获得 700mV 的电源(尽管使用测试电源可能会得到)。在大多数情况下,如我们所学,我们使用的是 1.5V 电池,需要对其进行调整以供我们使用。但是,如果我们向此电路施加超过 700mV 的电压,可能会损坏晶体管。

对于我们的电路,我们将使用一个电池为电路的两个部分供电,因此我们将使用一个 5V 电源(4 节 AA x 1.3V NiMH 镍氢电池 = 5.2V)。

然而,由于我们不能将完整的 5V 应用到晶体管的基极引脚,我们将实现一个分压器(两个并联的电阻)来降低施加到基极引脚的电压。

我们的控制电路将如下所示:

您可以看到,我们仍然有从电池正极端子到基极引脚再到发射极接地线的完整电路。但我们也添加了两个电阻。R1(1000 欧姆)看起来正常,因为它与电路的其余部分串联。R2(10,000 欧姆)看起来可能有些奇怪,因为它直接连接在正极和地之间。两个电阻连接的交点创建了我们的分压器。大部分 5V 电压将压降在较大的电阻上。

计算电压降值

要计算 R1 的电压,我们使用以下公式:

VOUT= VIN * (R1 / (R1 + R2))

在我们的例子中,计算 R1:

VOUT = 5 * (1,000 / (10,000 + 1,000)
	VOUT = 5 * (1,000 / 11,000)
	0.45V (450mV) = 5 * 0.090

当然,我们知道整个电路的总电压降必须等于总施加电压(5V),所以我们可以减去 0.45V,得到 10K 电阻上的电压降:4.55V。

然而,我们也可以使用原始公式计算 10K 电阻上的电压降来检查我们的计算。

VOUT = VIN * (R2 / (R1 + R2))
VOUT = 5 * (10,000 / 11,000)
4.5V = 5 * 0.900

它包含一点舍入误差,但我们可以看到 `4.5V + 0.45V = 4.95V`。

控制电路

这就是我们的控制电路。这意味着当按下按钮时,电压将施加到基极引脚,这将打开输出电路。

输出电路

我们的输出电路将点亮一个 LED。

这是完整的输出电路,尚未添加控制电路。

您可以看到这是一个点亮 LED 的简单电路。

我们像之前一样计算我们想要的流过 LED 的电流:

5V - 1.7V (LED drop) = 3.3V
3.3V / 30mA = 110 Ohms

我们向下取整,选择一个 100 欧姆的电阻并将其放入电路中。

您可以看到,我们构建了一个使用集电极到发射极的完整回路。

这仅仅意味着我们将 100 欧姆电阻连接到晶体管的集电极引脚,并连接到电源的正极。我们从发射极接到地线,以形成一个通过晶体管的完整电路。

LED 未点亮

如果我们按照图示连接之前的电路,LED 将不会点亮。这是因为晶体管充当开关,并且由于基极引脚上没有电压,晶体管不允许电流从集电极流向发射极,电路处于关闭状态。

添加我们的控制电路

现在我们需要添加我们的控制电路,以便看到整个电路正常工作。

现在,当我们按下按钮(SW1)时,电压将施加到 `基极` 引脚,这将允许电流在 `集电极` 和 `发射极` 引脚之间流动,LED 将点亮。

自动化在哪里?

如果您想知道这与我们之前使用手动开关的电路有什么不同,那么您的想法是正确的。我们仍然在按按钮。然而,本电路中的按钮只是用于让我们对新的晶体管组件进行简单的首次实验。

用微控制器替换电源和按钮

现在,想象一下,如果我们用一个微控制器引脚替换 5V 电源和开关。换句话说,想象一下,当某个事件发生时,我们让一个微控制器引脚提供 5V 电压。

我们可能会构建一个如下所示的电路(请记住这只是一个模拟图):

在这个新电路中,Arduino 将监测温度(从连接到 P5 的温度传感器读取)。

如果温度达到 78 度或更高,它将打开 Arduino 的引脚 10(任意选择)。这将使该引脚设置为高电平(在 Arduino 上为 5V)。这反过来会将电压施加到晶体管的基极引脚,从而激活次级电路,点亮 LED,就像我们在上一个电路中按下按钮时一样。

自动化成功

这个新电路是完全自动化的。它现在由 Arduino 控制,该 Arduino 从温度传感器读取房间温度。这是所有自动化电路的基础,所以现在您就明白了如何做几乎所有事情的秘密。

您现在可以使用这种简单的方法触发(自动化)几乎任何活动。

粗略示例,供您思考

这里有许多细节,例如如何编写 Arduino 代码,如何确保在温度波动时 LED 保持点亮一段时间,以及其他各种事项。当然,这有点牵强,因为如果您已经有了 Arduino,那么您就不一定需要输出电路和额外的晶体管来完成这项工作了。同样,这是一个粗略的示例,旨在让您思考晶体管如何充当开关以及我们如何通过自动化激活它们。

接下来:使用晶体管创建闪烁的 LED

现在您已经了解了晶体管如何充当开关并可以被自动化,让我们用几个简单的组件(2 个晶体管、2 个电容器、4 个电阻和 2 个 LED)构建一个闪烁两个 LED 的电路。

我们还将学习一些关于电容器在直流电路中如何工作的知识。

下次再进行。

历史

  • 2019 年 4 月 9 日:首次发布
© . All rights reserved.