分类目录归档:电子技术

PIR传感器相关知识

PIR传感器跟其他的传感器比起来可能要更加复杂(像光电池,避震器,湿度传感器),因为其中有许多影响传感器输入和输出的变量。我们会使用这个不错的图解来开始解释一个基本的传感器是如何工作的。

PIR传感器上有两个插槽,每个插槽由特殊的对红外信号敏感的材料做成。这里使用的镜头不会真的做这么多,所以我们可以看到两个插槽可以“看到”过去的一段距离。(基本上是传感器的敏感性)。当传感器没有工作时,两个传感器检测到同样数量周围环境,比如房间,墙壁或者室外辐射出来的的红外信号。当一个有温度的物体,比如一个人或只动物经过,物体一开始会挡住一半的传感器,这会在传感器两边产生微小的正向电势差。当有温度的物体离开传感器所能探测到的区域,传感器电势差就会发生反转,进而能够产生负向的电势差。这就是传感器检测到的脉冲变化。

1

PIR传感器

PIR传感器被封装在一个密封的金属盒中。在金属盒上有一个用能传递红外信号的材料做成(比较典型的是硅,因为红外线可以很容易就通过硅。)的窗口,用来保护传感器的感应部分。在窗口后面是两个平衡传感器。

2

3

你可以在上面的上面展示的图像中看到窗口的组成—两片传感材料。

4

这张图展示了传感器的内部结构,在里面有一个低噪音的结晶型场效应晶体管(一种晶体管),并将传感器的极高的阻抗缓冲到低成本的的芯片上(比如BIS0001)

透镜

PIR传感器是通用的,而且大部分的价格和灵敏度都不同。大部分的魔术都是通过光来实现的,这对于制造来说是个不错的主意:PIR传感器和电路是固定的,并且成本为几美元。而镜头只需几美分,同时很容易改变宽度,范围和感应模式。

在上图中,透镜只是一块塑料,但这意味着检测区域仅仅是两个矩形。通常我们想要一个更大的检测区域。为了做到这一点,我们使用了一个简单的镜头,比如相机里的那些镜头:他们把一个大的区域(如风景)浓缩成一个小的(在胶片上或CCD传感器上)。由于这些原因很快就会显现出来,我们想要使PIR镜头变得小巧而薄,并且可以从廉价的塑料中进行模塑,尽管它可能会增加变形。由于这个原因,传感器实际上是菲奈尔透镜:

5

菲勒透镜凝聚了光,为传感器提供了更大范围的红外线。

6

 

现在我们有了一个更大的范围。然而,请记住,我们实际上有两个传感器,更重要的是,我们不想要两个真正大的矩形区域,而是多个小区域的散射。所以我们要做的是把镜头分成多个部分,每个部分都是菲勒尔透镜。

7

在这里你可以看到多面部分

8

这一宏观的镜头在每个方面展示了不同的法伦镜头!

不同的面部和副透镜产生了一系列的检测区域,相互交错。这就是为什么镜头中心在上面的部分是“不一致的”——每一个都指向不同的PIR传感元件。

11

10

 

连接一个PIR传感器

11

大部分的PIR模块在两侧或者底部有一个3个引脚的接口。模块之间的输出引脚可能会有所不同,所以对于输出引脚要检查3次。位于接口右边的输出引脚经常是丝网印刷成的(至少我们的是)其中一个引脚会接地,另一个是信号输入,最后一个是接入电源。输入电压经常是3-5V的直流电压但有时会达到12V。在接地。有电源和两个开关连接的情况下有些大的模块没有直接输出,而是通过一个继电器进行操作。

一些继电器的输出是集电极,这说明该继电器需要一个上拉电阻。如果你的输出不可改变,请确保能够在信号引脚和电源引脚之间添加一个10K欧的上拉电阻。

当连接端口的间隔是0.1秒时,一个关于原型PIR传感器的简单方法就是将其连接到面包板上。一些PIR传感器上面已经有数据头了。来自adafruitde PIR有一个三引脚的便于连接导线的接线头。

12

我们的PIR传感器的红色线连接电源正极,黑线接负极,黄线是信号输出。要确保像上面展示的一样连接好线头。如果你反过来接,虽然不会损坏传感器,但是传感器不会工作。

 

测试一个PIR红外传感器

1

2

 

在当PIR传感器检测到人的动作,输出引脚就会上“升”到3.3V,然后点亮LED灯。

如果你手上有已经连好线的面包板,将电池接入之后,为了使PIR“稳定”下来,要先等待30到60秒。在这期间LED灯可能会闪烁。等到LED灯完全熄灭后,为了让灯再次亮起来,我们可以在传感器面前来回走动,挥手等等。

重触发

你手上的PIR传感器有两种选项。首先我们将会探索“重触发”选项。

当你使LED灯闪烁时,观察PIR传感器背面并确保跳线像下面展示的一样连接在L接口。

3

4

现在再次搭建好测试板电路,你可能会注意到当像上面一样连接好PIR传感器时,如果在LED灯面前移动,灯不会保持点亮,而是大约每一秒点亮和熄灭一次。这被叫做“非重触发”。

5

现在将跳线转接到H接口,如果你再次搭建好测试电路,你会注意到如果有物体移动时,灯会一直亮着。这被叫做“重触发”。

6

对于大多数的应用,“重触发”(跳线像上面展示的一样被接到H接口)模式一般会更好。

7

如果你需要将传感器连接到一些边缘触发的装置,你可能会选择将其调节至“非重触发”模式(跳线被连接到L接口)。

改变灵敏度

Adafruit PIR传感器在背部有一个调节灵敏度的微调筒。如果你的PIR传感器太灵敏或者太迟钝,你可以调整这个微调筒—顺时针调节会让传感器更加灵敏。

8

改变脉冲时间和超时时长

在PIR传感器上有两个“超时设定”。其中一个是“Tx”设定:传感器检测到动作后LED灯会点亮多久—由于有电位计,调整Adafruit PIR传感器将会变得很简单。

第二个是决定没检测到动作时LED灯会熄灭多久的“Ti”超时设定。这个设定可能没那么容易去改变,可如果你用电焊去操作,这将变得可行。

首先让我们再看下电路数据

Tx=输出引脚(V0)触发后保持高电平的时间。

Ti=在周期中,触发被抑制,仔细观察时间表。

Tx≈24576×R10×C6;  Ti≈24×R9×C7(参考原理图)

Adafruit PIR传感器,有一个标记着时间的调整电位器。这是一个被串联到一个10 k欧电阻器的1兆欧可调电阻器。同时C6的值为0.01Uf,所以

Tx=24576×(10K)×0.01uF=2.5秒(约等于)

如果Rtime电位器从顺时针方向转到1兆欧电阻,则

Tx=24576×(1010K)×0.01uF=250秒(约等于)

如果Rtime位于中间,那结果将会大概是120秒(2分钟),所以你可以尽可能的开足马力。比如说如果你想通过一个人的动作去打开一个风扇至少1分钟,将Rtime电位器调整至一圈的1/4位置。

对于较旧的或者其他PIR传感器

如果你拿到的是一个没有可调整的电位器的PIR传感器,你可以像这样找出调整电阻

9

判断R10和R9并不是很难,可惜这个PIR传感器时贴错标签的(似乎将R9和R17调换了位置),你可以通过查找BISSOO1数据表来查探引脚,然后找出分别是什么引脚—R10和引脚3连接,R9和引脚7连接,而区别电容会有点难,但是你可以通过“逆向工程”的方法并对传感器记录时间,从而得到解决。

例如;

Tx=24576*R10*C6= ~1.2秒

R10=4.7K,R10=10nF

同样

Ti=24*R9*C7=~1.2秒

R9=470K,R7=0.1Uf

你可以通过交换不同的电阻或电容来改变时间。

 

使用一个PIR传感器

将PIR传感器与微控制器连接起来非常简单。PIR是一个数字输出,所以你所需要做的就是侦听引脚来变成高电平(有检测到)或低电平(未检测到)。

很可能你会想要重新开始,所以一定要把跳线连接到H接口!用5V电压连接传感器并将其接地。然后将输出连接到数字针上。在本例中,我们将使用2引脚。

14

代码很简单,基本上就是跟踪输入2的输入是高还是低。它还会跟踪大头针的状态,这样当运动开始和停止时它就会打印出一条信息。、

  1. /*
  2. * PIR sensor tester
  3. */
  4. int ledPin = 13; // choose the pin for the LED
  5. int inputPin = 2; // choose the input pin (for PIR sensor)
  6. int pirState = LOW; // we start, assuming no motion detected
  7. int val = 0; // variable for reading the pin status
  8. void setup() {
  9. pinMode(ledPin, OUTPUT); // declare LED as output
  10. pinMode(inputPin, INPUT); // declare sensor as input
  11. Serial.begin(9600);
  12. }
  13. void loop(){
  14. val = digitalRead(inputPin); // read input value
  15. if (val == HIGH) { // check if the input is HIGH
  16. digitalWrite(ledPin, HIGH); // turn LED ON
  17. if (pirState == LOW) {
  18. // we have just turned on
  19. Serial.println(“Motion detected!”);
  20. // We only want to print on the output change, not state
  21. pirState = HIGH;
  22. }
  23. } else {
  24. digitalWrite(ledPin, LOW); // turn LED OFF
  25. if (pirState == HIGH){
  26. // we have just turned of
  27. Serial.println(“Motion ended!”);
  28. // We only want to print on the output change, not state
  29. pirState = LOW;
  30. }
  31. }
  32. }

不要忘记有些时候你不需要一个微控制器。一个PIR传感器可以连接到一个继电器(也许是一个晶体管缓冲区),而无需微管

创建你需要的Frizting元件

什么是Fritzing?

Fritzing Logo

Fritzing是一个强大的开源工具让任何一个人用于教学,分享和模仿他们的电子项目! 它允许你设计原理图,因此设计一个部件,然后可以添加到非常专业的接线图。 你甚至可以设计自己的PCB,并从你设计的文件制造。 在SparkFun,我们在教室中使用Fritzing,我们的连接指南,以及任何其他地方,我们需要展示如何将我们的电路板连接到其他硬件。

Fritzing Hookup Example

一个利用Frizting将INA169连接到Arduino的例子

Fritzing的令人敬畏的事情是,你可以为你的项目制作自己的Fritzing零件,并在社区中分享! 本教程将从头开始一步步介绍如何在Fritzing(新)零件编辑器中创建自定义Fritzing零件,

你是否需要做一个自定义的Fritzing零件?

Fritzing在软件安装的时候就带有大量的电子元件。 SparkFun还有一个Fritzing Github库,用于我们在Fritzing中尚未创建的零件。 在创建自己的零件之前,请仔细检查我们的零件是否在自带的元件库或者Github上已经有,或者如果另一个Fritzing用户已经在Fritzing论坛上创建了你所需要的零件。 如果零件已经创建,它将为你节省大量时间! 但是,如果你确定你需要的零件在Frizting里面还没有,请继续阅读!

建议阅读

本教程假设你已经熟悉Adobe Illustrator,Inscape或两者。 使用这些程序超出了本教程的范围。 如果你需要更多的信息,如何使用这些程序的eithwer,他们各自的网站有很多教程和指南,如何开始矢量图形。 如果失败,总是有Google。

这里是其他相关的教程,你阅读这个教程前可能想查看:

下载和安装

你需要下载和安装Frizting软件,并跟着教程来制作你自己的Frizting零件

请注意:如果你只需要做一个基本的IC,Frizting(新)部件编辑器让你轻松制作自定义IC,你不需要下载矢量图形编辑器。但你仍然可以往下阅读,因为本教程将在Frizting(新)零件编辑器中构建一个自定义的IC。

Fritzing

Frizting官网(可能需要科学上网)的下载页面,为你的操作系统下载最新的Frizting版本,找到你要将Fritzing安装在硬盘驱动器上的位置,然后在该位置解压缩Fritzing文件夹。

矢量图形编辑器

有很多不同类型的矢量图形编辑器。我们在SparkFun使用的矢量图形编辑器是Adobe Illustrator和Inkscape。选择你最熟悉和用起来最舒服的。如果你没有一个矢量图形编辑器,Inkscape是一个强大的开源软件选择,并且它是免费的。

Inkscape

Inkscape Logo

Inkscape下载页面,并为你的计算机下载相应的正式发行包。

Windows用户:双击可执行文件。 按照Inkscape设置向导。

Mac OS X用户:按照Inkscape网站上的最新说明进行操作。

Adobe Illustrator

Adobe Illustrator Logo

Adobe Illustrator不是免费的,但如果你已经有Adobe Creative Cloud,你可以下载它。 你还可以购买Illustrator每月会员资格。

请注意:我们与Adobe没有任何关系,只是宣传Illustrator,因为它是一个强大的软件,对在本教程中很有帮助。

Other Downloads其它需要下载的东西

Fritzing字体和模板

Fritzing使用OCR-A字体作为IC使用。 对于所有其他零件,你可以使用OCR-A和Droid Sans fonts字体。 Fritzing具有可在其网站上下载的字体和模板。 你将需要下载Fritzing的图形标准来遵循本教程。 转到他们的模板下载页面,并下载Fritzing的图形标准文件夹。 下载其zip文件后,你需要解压zip文件夹,并放置在计算机上你将要在计算机上安装字体的位置。

SparkFun Fritzing示例模板

本教程将引用很多SparkFun Fritzing示例模板。 如果你正在为SparkFun板制作Fritzing零件或想要一个起点,请从SparkFun Fritzing零件Github库中下载这组示例模板。 SparkFun Fritzing模板将具有本教程的示例,SparkFun T5403气压计SVG,要比较和处理的文件。

面包板视图

当Fritzing启动时,你将会进入欢迎界面,并且你将要转到面包板视图。

breadboard view

在面包板视图中你需要做两个重要的步骤,首先,创建你的面包板SVG,然后上传。 Fritzing更倾向于使用SVG格式,所以你的图像看起来很棒,当你放大和缩小! 其次,你需要改变连接器针脚。

请注意:如果你只制作一个基本的IC,你可以跳到本教程的编辑面包板视图部分。

Fritzing图形标准

在Fritzing网站上,有很多图形标准要遵循。 这是一个很好规范,因为遵循图形标准,你的零件可以匹配其他Fritzing零件。

模板

当你制作零件时,建议从模板开始。 有一个要引用的零件的图像,因此,当制作你的SVG文件时,该过程会更快。

提示:如果你在为EAGLE中设计的板制作自定义Fritzing零件,则可以下载ULP将板转换为SVG格式。 这样,你可以有一个准确的SVG的EAGLE板作为参考。 你可以在Cadsoft网站上找到EAGLE ULP。

现在是时候为你的面包板视图制作你的图形!

 

创建新元件

在本教程中,我们将会为SparkFun T5403气压计创建一个Frizting新零件。

T5403 Breakout Image

SparkFun T5403的EAGLE图

打开Fritzing应用程序。 你应该在程序顶部看到欢迎,面包板,示意图和PCB的选项卡。 单击面包板按钮以确保你目前在面包板视图中。

Breadboard Button

检查库中自带元件

如果你只是在Fritzing中更新一个板,首先检查是否有一个与你想要创建的Fritzing部分相接近或相关的零件。你可以在搜索栏中键入零件的名称。

Search for Part

搜索栏可以在零件窗口的顶部找到

你也可以在Fritzing的零件窗口的不同部分查看类似的零件。

Parts Window

寻找SparkFun火焰并点击可以看到一个巨大的SparkFun Fritzing零件库

从绘制IC开始

如果没有一个零件像你想要的,使用IC作为基础是一个好的开始。 单击零件窗口中的CORE选项卡。 向下滚动,直到看到IC。 在ICs部分下,单击并拖动IC图标到Breadboard窗口。

Core Tab

自定义IC很简单,因为Fritzing可以改变引脚和IC封装的数量

Dragging IC on breadboard window

更改IC的名称

 

查看右侧的“查看栏”中IC的属性。 将IC的名称更改为元件名。 然后,更改引脚部分中模块或元件的引脚数。 对于SparkFun T5403气压计,我们需要8个引脚。 你将在“面包板”视图中看到模块中IC更改后的名称。

Changing name

Fritzing(新)元件编辑器

右键单击面包板窗口中的IC,然后选择编辑(新元件编辑器)。Fritzing(新)元件编辑器弹出。

Go to Parts Editor

Fritzing(新)零件编辑器有6个主要部分,你需要在其中进行更改。那些是:

  • 面包板
  • 示意图
  • PCB
  • 图标
  • 元数据
  • 连接器

真的没有你需要遵循的命令。在做了几个不同的自定义部件后,你可能会最终在一个视图开始之前的其他工作。在本教程中,我们只是去一个个讲述教程。

作者注释:我发现,对于具有大量引脚的板,从连接器视图开始的板可以节省更多的时间,因为你可以在列表中更快地命名连接器引脚。

在继续之前,最好先保存为新零件。如果你需要在制作自定义部件时随时停止,你可以在将来再次使用。转到文件。然后,选择另存为新零件

Save as new Part

如果需要,你可以选择命名前缀


让我们继续面包板视图!

自定义面包板SVG

创建文件

打开矢量图形编辑器并创建一个新文件。文件的图像大小应与你的开发板的大小相同。SparkFun T5403气压计爆破尺寸为1“x 0.650”。你将要使用一个好的命名约定保存文件,因为在创建Fritzing部分时最终需要3个不同的svg文件。

Illustrator用户: 你可以通过转到文件 – >另存为,保存为SVG,然后点击保存保存。

对于此示例,面包板SVG命名为:SFE_T5403_Barometer_Breakout_breadboard.svg

使用模板作为参考

要比较不同的图层和组,你可以打开Fritzing BreadboardViewGraphic_Template.svg文件,该文件位于先前下载的Fritzing Fonts and Template文件夹中。你还可以从SparkFun Fritzing Parts Github仓库打开示例SparkFun T5403晴雨表分线板SVG模板文件。

你可以看到示例模板如何保持图层的组织。对于SparkFun T5403气压计,有一个“面包板”组。在面包板组内,它将具有一组部件,铜层,丝印组和板路径。

制作你的自定义面包板图形的提示

你现在可以创建自定义零件的面包板图形。这里有一些有用的提示!

遵循Fritzing图形标准

Here are some main color standards for Breadboard images:

这里是面包板图像的一些主要颜色标准:

为了符合Fritzing图形标准,你将要使铜触点成为铜/镀锡颜色。

Copper Green

HEX: 9A916C, RGB: 154 145 108

如果你的板上有任何部件的引脚,使用的颜色是灰色的。

Leg Grey

HEX: 8C8C8C, RGB: 140 140 140

SparkFun红色是:HEX:E62C2E,RGB:230 44 46

把事情简单化

Fritzing的伟大之处在于,你可以使你的板子变得简单或你想要的结果。由于SparkFun总是试图使我们的产品更好的修订和有很多的板,更容易和更快的我们不包括某些细节,如痕迹或每个组件,在我们的板子上。如果电路板有新的变化,如电阻值的变化,我们不必在Fritzing部分进入和更改该电阻。更多地关注重要的组件,如IC,可能这是个更好的方式来投入你的时间。它仍然会看起来不错,但工作量少!

使用已经存在的组件

如果你需要在板上的使用已经在Fritzing有的SMD LED,请继续使用它!这将节省你的时间,并保持所有的Fritzing部分具有相同的标准。如果你创建一个自定义的板子,其他人可以使用的组件,你可以在Fritzing网站上分享,让其他人也可以使用!确保在你正在使用的矢量图形编辑器中组织好组件图形,因此在以后的的板子上使用时很容易找到这些部件。

铜组中的名称连接器引脚

Naming your connectors will be a huge time saver. For the SparkFun T5403 Barometer Breakout example, under the copper group, each connector is named connector#pad.

命名你的连接器将是一个巨大的节省时间。对于SparkFun T5403气压计示例,在铜组下,每个连接器命名为连接器#垫。

Copper Layers

示例在Illustrator中。如果你使用Inkscape,你仍然需要确保连接器已正确命名。

使用ORC-A或Droid Sans字体。

坚持Fritzing字体保持所有Fritzing部分看起来一样。建议标准字体大小为5pt。然而,有时候,你不会有空间更小的板。你最好不要低于3pt,因为它开始变得更难看到,而不放大。在Fritzing的网站,他们提到使用黑色作为字体颜色。无论你的丝印颜色往往看起来更好。对于这个例子,我们使用白色,因为这是分线板的丝印颜色,它更容易阅读红色背景。

创建复合路径以制作板开口

Illustrator用户:在PCB的大小中创建路径。对于SparkFun T5403气压计,你可以使用矩形工具制作1“x 0.650”的矩形。然后,在你的板子有开口的路径。例如,你可以使用椭圆形工具,在矩形工具下,制作完整的圆形,其中有支座和连接器针脚的开口。选择所有的开孔层和底部PCB层。

Select All

确保选择底部PCB层

接下来转到Object-> Compound Path-> Make。你现在应该有一个复合的路径,你将能够看到通过Fritzing的开口。

Final Breadboard Image

最终面包板图形

保存

确保在创建自定义板后再次另存为SVG!现在,你可以继续编辑面包板视图。

面包板视图 – 零件编辑器

加载图像

创建自定义面包板图像后,你将需要在Fritzing(新)零件编辑器中加载面包板SVG。首先,返回到Fritzing(新)零件编辑器,然后单击面包板按钮进入面包板视图。转到文件 – >加载图像的视图。

Load graphic

接下来,你将选择刚刚创建的面包板SVG,然后单击打开。图形现在应该在Fritzing(新)零件编辑器中。

连接器

在Fritzing应用程序中,你可以使用彩色线连接不同的Fritzing零件,以显示零件如何连接。为了使Fritzing知道板或部件上的连接器引脚,你需要告诉Fritzing这些连接器在哪里。

连接器引脚的名称和说明

对于面包板视图,连接器窗口将位于Fritzing(新)零件编辑器的右侧。选择一个引脚以更改引脚的名称并添加描述。

Select Pin

选择任何连接器针脚进行编辑

Change Connector Pin Name

选择连接器针脚的图形

单击连接器针脚名称右侧的选择图形按钮。然后,单击连接器针脚的图形。这将设置锚点。锚点是电线连接到该连接器的位置。默认情况下,终点将显示在所选图形的中间。如果要移动终点,你可以单击终点并按住以移动。你也可以通过在连接器窗口中单击“中心”,“W”,“N”,“S”或“E”来更改终端点。

Example Terminal Placement

你可以看到更改终端点时导线位置的差异

更改连接器类型

在“连接器”窗口中更改连接器的类型。你可以选择公头,母头或焊盘。对于SparkFun T5403气压计,所有连接器针脚都是母头。

Set Connector Type

在下图中,你可以看到将连接器类型设置为公头和母头之间的差异。

Different Connector Type

顶板的连接器类型设置为公头。底板的连接器类型正确设置为母头。

对所有连接器针脚重复此操作

名称,选择适当的图形,并更改所有连接器引脚的连接器类型。你还可以在“连接器”窗口中设置“内部连接”。

原理图

自定义原理图SVG

回到Illustrator,Inkscape或你正在使用的矢量图形编辑器。在下载的字体和模板文件夹中打开Fritzing的SchematicViewGraphic_Template.svg。你还可以从SparkFun Fritzing零件Github仓库打开示例SparkFun T5403气压计原理图SVG模板文件。

当编辑原理图以匹配电路板时,你需要确保显示每个连接器引脚。你将需要更改引脚标签以匹配连接器引脚名称。根据你的部件,你可能需要调整模板原理图的大小。确保主零件符号正方形和外销的边缘之间有0.1“的空间。

Schematic Example

确保删除0.1“维度帮助程序框,因此它不会显示在最终的Fritzing原理图图形中

保存SVG

你需要确保保存为一个新的SVG。记住要有一个命名约定,很容易说明为Fritzing部分创建的其他SVG文件之间的区别。

在零件编辑器中编辑原理图视图

加载SVG

返回零件编辑器,点击原理图按钮进入原理图视图。转到文件 – >加载图像的视图。接下来,你将选择刚刚创建的原理图SVG,然后单击打开。零件现在应该在Fritzing(新)零件编辑器中。

设置连接器引脚

如果你看看右侧的连接器窗口,你会注意到你的引脚名称已经存在。当你更改连接器引脚的名称和描述时,在面包板,原理图,PCB或连接器视图中,零件编辑器将自动更改其他视图的连接器引脚名称和描述。此外,连接器类型(公头,母头或焊盘)将仍然相同。

就像在面包板视图中所做的那样,你仍然需要为每个引脚选择一个图形。点击“选择图形”按钮,并为该引脚选择适当的图形。对于示意图视图,你将要更改终端点,因此连接线在最远点连接。

最简单的方法是确保连接器引脚的图形仍然被选中,并更改连接器窗口中的终端点。对于GND图形,通过单击“S”将终点移动到南端。

Terminal Point

对所有连接器重复此操作

在更新所有连接器针脚后,你可以继续在PCB视图中编辑。

PCB视图

制作自定义PCB SVG

回到Illustrator,Inkscape或你正在使用的矢量图形编辑器。当制作自定义PCB SVG时,你需要的主要图像组是铜(其将具有所有连接器焊盘)和丝印。

创建PCB图形

你可以在创建PCB SVG,修改自定义面包板SVG或在下载的字体和模板文件夹中编辑Fritzing的PCBViewGraphic_Template.svg时重新启动。对于此示例,修改了自定义面包板SVG,并将该文件另存为一个名为SFE_T5403_Barometer_Breakout_PCB.svg的新SVG。

确保有两个铜组

设置图层时,请确保有两个铜组。所有连接器层都应在铜组中。当你这样做时,Fritzing将知道该组件在PCB的两侧都有铜连接器。

Example of PCB Layers

有两个铜组的Illustrator示例

确保连接器引脚的间距准确

重要的是让PCB连接器引脚与你的电路板精确匹配,并在引脚之间留出适当的间距。Fritzing提供PCB Fab服务。如果你或其他Fritzing用户想要使用你的自定义部件使用该服务,你将需要确保你的PCB视图是准确的。

图形标准

代替连接器引脚是铜/镀锡绿色,PCB视图连接器引脚是“铜”颜色:

Copper Color

Hex: F7BD13 RGB: 247 189 19

自定义面包板SVG的主要变化是主要的组是铜和丝网印刷。丝网仍然是白色的。

Final PCB Graphic

最终PCB图形

在零件编辑器中编辑PCB视图

返回零件编辑器,点击PCB按钮进入PCB视图。转到文件 – >加载图像的视图。接下来,你将选择刚创建的PCB SVG,然后单击打开。零件现在应该在Fritzing(新)零件编辑器中。

更新连接器引脚

为每个连接器针脚选择适当的图形,就像在面包板和示意图视图中所做的那样。

图标视图

重复使用过去的图形

转到Fritzing(新)零件编辑器,然后单击图标按钮进入图标视图。关于Icon视图的一个伟大的事情是,你可以重用你的面包板,原理图或PCB SVG的图标图像,所以没有必要做一个新的图像!所有你需要做的是去文件,并选择你想要重用的图像。对于SparkFun T5403气压计,Icon视图重新使用面包板图像。面包板图像应显示。

Reuse Past Graphic

伟大的斯科特!你现在完成了图标视图!

元数据

转到元数据视图

转到零件编辑器,然后单击元数据按钮进入元数据视图。元数据是你将添加关于你的部件的所有重要信息的地方!

元数据视图中的不同部分

标题:很自然的。这将是你的部分的名称。

日期:在Fritzing中锁定日期条目。日期应显示你创建零件的日期。如果你稍后在道路上更新部件,日期将更改为上次更新的当前日期。

作者:你会想把你的名字在这里,所以,如果你与Fritzing社区分享你的一部分,他们知道谁是谁的部分。

说明:说明应包括对电路板重要的任何事项,例如工作电压。

标签:标签显示在示意图视图中,可以更容易地识别你选择的部件。对于SparkFun T5403气压计突破,标签将更改为零件。原因是,因为Part相当小,SparkFun T5403气压计名称已经在原理图图形本身。它取决于你想要标记你的部分!

URL:考虑张贴零件的网址,这样任何人都可以获得有关零件的更多信息。

家庭:如果你有一个部分有不同的颜色,芯片包等,你会希望他们在同一个家庭。例如,如果你有一个通孔LED有不同的颜色,同一个LED的所有不同的颜色将在同一个家庭。

变体:创建全新零件时,你要确保变体是1.当你以后进行修订时,如果变体2在同一系列中,则会将下一个修订版本更改为变体2。

属性:一个放置重要细节(如零件号,针脚间距等)的地方。

标签:使用可以找到更容易和最好描述你的部分尽可能少的单词的标签。

Metadata

觉得信息有点缺乏?你可以稍后再更新此内容,当你掌握了更多信息

连接器视图

转到连接器视图

转到零件编辑器,然后单击连接器按钮进入连接器视图。在“连接器”视图中,你可以执行以下操作:

  • 更改连接器数量
  • 设置连接器类型
  • 将连接器针脚设置为通孔或SMD
  • 名称连接器引脚
  • 添加连接器引脚描述

Connectors view

你不需要更改“连接器”视图中的任何内容,因为你已经填写了其他视图中的所有信息。如果你需要做任何最后一分钟的变化,现在你可以。请记住,如果你更改此处的连接器数量,则需要返回并更新面包板,原理图和PCB视图。

保存

 

现在你可以保存你的部分!转到文件>保存

继续导出部件!

导出新零件

Fritzing应用程序中的质量检查

现在是时候在主Fritzing应用程序中检出你的新Fritzing部分。当你在Fritzing(新)零件编辑器中保存为新零件时,零件将自动显示在Fritzing主应用程序中的MINE选项卡的My Parts标签下。

在导出新的自定义零件之前,你需要检查每个视图是否看起来不错。确保你在主Fritzing应用程序,而不是Fritzing(新)零件编辑器。通过单击顶部的面包板按钮,转到面包板视图。在零件窗口中,在右侧,确保你在MINE选项卡。你应该看到你的新部分。在面包板视图上单击并拖动板。

MINE Tab

仔细检查引脚是否命名正确,并且工作正常。在原理图和PCB视图中执行相同操作。一旦进行了质量检查,就可以导出零件。

导出零件

右键单击我的零件窗口中新零件的图标,然后选择导出零件。保存你的Fritzing部分。

Export Part

恭喜你,你做了自己的Fritzing零件!

更多信息和资源

贡献Fritzing

现在你已经完成了你的任务,你可以连接其他Fritzing零件。你可以在Fritzing网站上分享你的部分或项目教程。还有更多的方法来帮助Fritzing社区!查看Fritzing Support Us页面,了解更多支持Fritzing的方法。

大批量的Fritzing零件?

如果你是使用EAGLE的开发人员或投入大量时间来制作Fritzing零件的开发人员,Fritzing团队已经开放了一个工具包,从EAGLE .brd文件制作SVG文件。强烈建议你检查是否正在创建批处理的SVG板文件准备Fritzing。他们在Fritzing Google代码页上有源代码


cc

原始文章采用CC BY-SA 4.0,您可以自由地:

  • 演绎 — 修改、转换或以本作品为基础进行创作
  • 在任何用途下,甚至商业目的。
  • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

原始文章及相关素材链接:

https://learn.sparkfun.com/tutorials/make-your-own-fritzing-parts

关于步进电机的一切

什么是步进电机?

components_IMG_4838.jpg

步进电机是以不连续的步进移动的直流电机。 他们有多个线圈组织在称为“相”的组里。通过依次给每相励磁,电机将旋转, 每次一步。

通过计算机控制的步进,可以实现非常精确的定位和/或速度控制。因此,步进电机是许多精密运动控制应用的首选电机。

步进电机有许多不同的尺寸和样式和电气特性。 本指南详细说明你应该如何选择正确的电机。

4相单极电机

维基共享资源

步进电机的优点

▪  可用于定位场合 – 由于步进机以精确的可重复步骤移动,它们在卓越应用中需要精确定位,如3D打印机,CNC,相机平台和X,Y 绘图仪。一些磁盘驱动器还使用步进电机来定位读/写头。

▪ 精确的速度控制 – 精确的移动增量也允许对过程自动化和机器人的旋转速度进行出色的控制。

▪低速时能保持大扭矩 – 正常的直流电机在低速时不具有很大的扭矩。一个步进电机在低速时具有最大转矩,因此它们是一个对于需要低速度,高精度应用不错的选择。

components_IMG_4796_crop.jpg

步进电机的局限性

▪ 低效率 – 与直流电机不同,步进电机电流消耗独立于负载。.当他们空载时,他们得到的电流最多。正因如此,它们常常运行发热。

▪ 有限的高速扭矩 -一般来说,步进电机在高速时比低速具有较小的转矩 。一些步进器被优化以获得更好的高速性能 ,是它们需要与适当的驱动程序配对以实现该性能 。

▪ 没有反馈 – 与伺服电机不同,大多数步进器没有积分反馈位置。虽然可以实现运行“开环”的高精度。限位开关或通常为了安全和/或建立参考位置需要“本部”检测器。

步进电机类型

有各种各样的步进电机类型,其中一些需要非常专业的驱动程序。为了我们的目的,我们将重点介绍可用普通驱动器驱动的步进电机。它们是:永磁式或混合式步进电机,两相双极或四相单极

components_IMG_4810_crop.jpg

电机尺寸

首先要考虑的事情之一是电机必须做的工作。正如你所期望的,更大电机能够提供更多的功率。步进电机的尺寸范围从比花生较小到大如NEMA 57的怪物。

大多数电机具有额定转矩。这是你需要看看决定电机是否有足够的力矩做你想要的。

NEMA 17是用于3D打印机和小型数控铣床的常用尺寸。更小的电机找到应用于许多仿生机械上。较大的NEMA框架在CNC机床和工业应用中是常见的。

NEMA数字定义了用于安装电机的标准面板尺寸。他们不定义电机的其他特性。两个不同的NEMA 17电机可能有完全不同的电气或机械规格,并且不一定可互换。

components_IMG_4799.jpg

步骤计数

接下来要考虑的是您需要的定位分辨率。每步的步数转速范围为4至400。常用的步数为24,48和200。

分辨率通常表示为每步的度数。 1.8°电机与200步/转电机相同。

高分辨率的牺牲是速度和扭矩。高步进电机比相同尺寸下的RPM低于最大值。与这些类似尺寸的低速计数电机相比,转动这些电机所需的更高的步进速度导致更低的转矩。

components_IMG_4797.jpg

齿轮

实现高定位分辨率的另一种方法是使用齿轮传动。 一个32:1齿轮系应用于 8步/转电机的输出将产生512步电机。

齿轮系还将增加电动机的扭矩。 一些微小的齿轮步进器是能够产生令人印象深刻的扭矩。 但是权衡当然是速度。 齿轮式步进电机通常受到限制去低转速应用。

components_1253-01.jpg

轴样式

另一个要考虑的是如何电机将与驱动系统的其余部分接口。电机有多种轴类型

▪圆形或“D”轴:这些有多种标准直径,还有许多滑轮,齿轮和轴耦合器来配合设计。 “D”轴有一个扁平侧以帮助防止滑动。当涉及运用高扭矩时,这些轴形是我们能用到的

▪齿轮轴:一些轴具有磨入其中的齿轮齿。这些通常设计成与模块化齿轮系匹配丝杠轴

▪丝杠轴: 带有丝杠轴的电机用于构建直线执行器。这些的微型版本可以在许多磁盘驱动器中作为磁头定位器。

components_IMG_4814.jpg

接线

步进电机接线有许多变化。为了我们的目的,我们将专注于可以使用常用驱动程序驱动的步进器。这些是连接为2相双极或4相单极的永磁或混合步进电机。

components_IMG_4837.jpg

线圈和相位

步进电机可以具有任何数量的线圈。但是这些被以称为“相”的组连接。一相中的所有线圈被一起激发。

components_winding_types_2.png

单极与双极

单极 驱动器,总是以相同的方式给相位通电。 一个领导,“共同”领导,将总是负数。 另一个引线将始终为正。 可以实现单极驱动器 与简单的晶体管电路。 缺点是只有较低的扭矩 可以一次对一半线圈通电。

双极 驱动器使用H桥电路实际上反转通过相的电流。通过使极性交替地对相进行通电,可以使所有线圈工作以转动电动机

电机具有2组线圈。 4相单极电机具有4.两相双极电机将具有4个电线 – 每相2个。一些电机带有灵活的接线,允许您将电机作为双极或单极运行。

5-Wire Motor

This style is common in smaller unipolar motors. All of the common coil wires are tied together internally abd brought out as a 5th wire. This motor can only be driven as a unipolar motor.

6-Wire Motor

This motor only joins the common wires of 2 paired phases. These two wires can be joined to create a 5-wire unipolar motor.

Or you just can ignore them and treat it like a bipolar motor!

8-Wire Motor

The 8-wire unipolar is the most versatile motor of all. It can be driven in several ways:

  • 4-phase unipolar – All the common wires are connected together – just like a 5-wire motor.
  • 2-phase series bipolar – The phases are connected in series – just like a 6-wire motor.
  • 2-phase parallel bipolar– The phases are connected in parallel. This results in half the resistance and inductance – but requires twice the current to drive. The advantage of this wiring is higher torque and top speed.

components_IMG_4796_crop.jpg

 

驱动步进电机

Step in time, step in time
Come on, mateys, step in time
Step in time
Step in time, step in time
Step in time, step in time
Never need a reason, never need a rhyme
We step in time, we step in time

“Step In Time”
Robert B. Sherman and Richard M. Sherman

components_IMG_4805.jpg

驱动步进电机比驱动普通有刷直流电机复杂一些。步进电机需要步进控制器以及时地对相进行通电以使电机转向

components_IMG_4817_cropped.jpg

简单单极驱动器

最简单的驱动器类型可以用少量晶体管构建。 这些按顺序简单地接通和断开,以使相位通电并使电动机步机进。 单极驱动器的构建相对便宜,但只能使用单极电机。 在Arduino官网有一个很好的教程教你如何使用。

components_H-Bridge.jpg

简单的双H桥驱动器

驱动双极电机需要两个完整的H桥,因此它可以反转到相的电流。H桥可能很难从头开始构建。但是有很多H桥芯片可以简化任务。

L293D是最受欢迎和最经济的芯片之一。这些可以在大多数第一代Motor Shield的核心中发现,包括令人难以置信的流行的V1 Adafruit Motor Shield。

在Adafruit学习中有一个关于使用裸L293D和Arduino系统的优秀教程:

components_1438-00.jpg

Adafruit Motor Shield V2

Adafruit Motor Shield V2是基于L293D的基本控制器的一大进步。 V2 shield u使用两个TB6612 MOSFET驱动器 。与L293D相比,TB6612提供两倍的电流容量和更低的电压下降,来更有效地驱动你的步进电机。

有2个驱动器芯片和4个完整的H桥,每个shield可以驱动多达两个步进电机。驱动器芯片通过专用的PWM驱动器芯片与I2C接口连接。 这释放了很多 的GPIO引脚用于其他用途,并使屏蔽层也可堆叠。你最多可以叠加32个用2个IO引脚来控制64个电机!

此驱动程序的完整细节可以在学习系统中找到。

components_IMG_4840_crop.jpg

高级CNC控制器

gShield和TinyG CNC控制器板使您更接近工业级步进器的性能。这些电路板具有恒流“斩波器”驱动器,可以调节,来为电机提供最大的扭矩和速度。

TinyG CNC具有板载G代码解释器和4个电机输出,使其成为适用于中小型4轴CNC机床的完整嵌入式解决方案。

正如您所期望的,这些高级的高性能主板比较复杂,适合有经验的用户使用。

这些板及其操作的详细信息可以在TinyG WikiSynthetos Forums中找到。

 

选择合适的驱动代码驱动步进电机

components_IMG_4842_crop.jpg

现在我们来到最重要的部分:确保您的电机和驱动程序兼容。

不匹配的电机和驱动器可能会导致令人失望的性能。 或更糟:损坏电机和/或控制器。

如果你的选择不明智,你可能会遇到这个家伙:

components_691-00.jpg

了解驱动程序规格

驱动程序规范中的两个最重要的参数是:

▪ 电压 – 驱动器可以提供给电机的最大电压。

▪ 持续电流 – 驱动器可以提供给电机的最大电流。

额定的“峰值”电流不适用于步进电机。 始终遵循“持续”电流的额定值。

了解电机规格

您还需要知道电机的电气规格。 有2个关键参数:

▪ 每相的电流 – 这是电机绕组可以处理而不过热的最大电流。

▪ 每相电阻 – 这是每相的电阻

A通常表示额定电压。它通常从上面的两个参数计算,但不总是。 最好根据上述参数使用欧姆定律计算它。

components_Ohm.png

遵守定律!

步进电机的相是电感器,因此它们会抵抗电流的快速变化。 但是在每个步骤结束时或者当电机不运动时,它们表现得像纯电阻负载,并且会遵守欧姆定律.。

静止也就是步进电机吸收最大电流时。 所以欧姆定律可以让我们使用电机规格来计算驱动器的电流要求。

电压=电流x电阻

或者

电流=电压/电阻

这些公式应严格应用于所有“恒压”步进控制器。 这包括来自Adafruit的V1和V2 Motor Shields,以及几乎所有其它基于L293D的控制器。

但是一些电机具有非常低的线圈电阻。严格遵循这些公式,驱动电压将小于5v,性能会不好。这种类型的电机与恒压驱动器不匹配。这些步进器需要更专门的控制器。

违背定律?

这不可能违背欧姆定律。如果你尝试,你将必须被回答蓝烟怪物。 然而,这里还有一些其他规律在起作用。 洛伦兹,法拉第和欧姆定律的专业知识可以帮助您提高电机的性能。

步进线圈在被通电时产生磁场。 根据法拉第定律,变化的磁场在线圈中感应出电流。 根据洛伦兹定律,该电流将在产生电场的电流的相反方向上。 该反向电流被称为“反向电动势”或“反向电动势”。

这个反电动势增加了线圈的“阻抗”或有效电阻。 所以欧姆定律仍然适用 – 但这是对这个阻抗,而不是简单的相电阻。 该阻抗限制每个步骤开始时流过线圈的电流。

components_IMG_4840.jpg

斩波传动

斩波器“恒定电流”驱动通过以更高的电压驱动电机来补偿反电动势。 使用斩波器驱动几倍步进电机的额定电压的是不寻常的。

为了在这些较高的电压下保持安全,斩波器驱动器还监测输送到电动机的电流,并在它超过预设电平之前“斩断”它。

通过在更高的电压处开始,斩波器驱动器能够在步骤开始时向线圈输送更多的电流,增加可用转矩。 除了以较慢的速度增加扭矩之外,它还允许更高的最高速度。

选择斩波器驱动器并为特定电机配置它需要很好地了解电机和控制器。

常问问题

这个电机能和我的shield一起工作吗?

您需要知道电机规格以及控制器规格。 获取该信息后,请检查“将驱动程序与步进器匹配”页面,查看它们是否兼容。

这是一个NEMA 17,所以它应该工作,对吧?

NEMA框架尺寸标准仅定义安装面板的尺寸。 要确定它是否兼容,您需要知道电机的电气规格。

如果没有电机规格怎么办?

参见Jason的反向工程步进电机电线引脚。 这将告诉你相电阻。 对于相电流,您可以基于类似设计的电机和类似的相电阻进行估计。

当有疑问时,一般最好安全地使用较低的电流!

我的项目需要什么尺寸的电机?

大多数电机具有扭矩规格 – 通常为英寸/盎司或牛顿/厘米。 一英寸/盎司意味着电动机可以从轴的中心在一英寸处施加一盎司的力。 例如,它可以使用2“直径滑轮保持1盎司。

在计算项目所需的扭矩时,请确保允许加速所需和克服摩擦的额外扭矩。 将质量块从静止位置提升所需的扭矩要比将其简单地拿着更大。

.如果你的项目需要大扭矩和不高速度,考虑一个齿轮步进。

如何将我的电机连接到Motor Shield?

对于从Adafruit购买的电机,产品说明中列出了接线说明。

对于其他电机,如果可以,请检查电机规格表。

如果你没有规格表,检查Jason反向工程步进电机电线引脚

这个电源可以与我的电机工作吗?

首先确保它不超过电机或控制器的额定电压。通常可以在较低的电压下运行电机,但是你将获得较小的扭矩。

接下来,检查电流额定值。大多数步进模式一次为两相通电,因此电流额定值应至少为电机每相电流的两倍。

*这适用于恒压驱动器。 对于斩波驱动控制器,请检查控制器的说明。

components_IMG_4810_crop.jpg

资源

网上有很多优秀的有关步进电机的信息。 这里有一些我们最喜欢的链接:

Wikipedia Stepper Motor Page

RepRap Stepper Motor Page

Jones on Stepper Motors

Jason on reverse engineering the stepper wire pinouts

components_IMG_4838.jpg

 

 


本文由翻译美国开源硬件厂商Adafruit(阿达水果公司)的相关教程翻译,原始教程由Bill Earl编写,为便于理解和方便读者学习使用,我们已去函与原作者沟通关于本教程翻译中文并发布的相关使用权限,部分内容为适应国内使用场景稍有删改或整合,以上翻译内容仅用于学习交流分享,不得用于盈利等商业用途。

原始文章及相关素材链接:

https://learn.adafruit.com/all-about-stepper-motors/what-is-a-stepper-motor

	

串行外围设备接口(SPI)

简介

串行外围设备接口 (SPI) 是一种总线系统,一般用在MCU与小型外设之间,使他们以串行通信。外围设备包括位移寄存器、 传感器和SD卡等。 它一般使用分别独立的时钟线、数据线以及从机通信选择线。

普通串行端口有什么问题?

一般只含RX(接收)线和TX(传送)线的串行端口,我们会称它作异步串口。因为该类串口无法很精确地保证数据在通讯两端实现同步传收。这是由于计算机系统的一切操作都由标准时间源信号驱动(计算机的晶振源),则如果两个系统的标准时间系统由稍微偏差,它们之间的通讯就会出问题。

为了解决这个问题,异步串口通讯系统在每一帧数据里额外增加了起始位和结束位,以保证接收端对每一帧的数据完整接收。另外,在通信两端,都必须设同样的通讯速率(如9600波特率)。起始位和结束为的设定下,保证了即使帧与帧之间的时间间隔有稍微不一,也能实现正常通讯。

Asynchronous serial waveform

(另外,如上图所示,所发送的“11001010” 实际上不等于0x53,因为在串口通讯中一般会首先从数据的最低位开始发送,因此最左端的实际是数据的最低位。所以低半字节实际是0011 = 0x3,高半字节是0101 = 0x5。)

异步通讯纵然好,但它在每帧数据的起始位与结束位上浪费太多信息空间,并且对通讯端的硬件要求较高。另外,当你发现在你的项目中,通讯端之间的传输速率不一,那么传输的数据必然会严重失真。这是因为异步通信里,接收端只能在特定的时间点里对数据线进行采样(如上图虚线处)。否则,接收端会采集到错误的数据。

一个同步的解决方案

SPI 的工作原理有一点不同。它是一种“同步”的数据总线系统,这意味着它额外的增加了一个通讯线共享时钟源,以实现传输同步。这时钟源是一种震荡信号,用来告知接收端对数据线的正确采样时间点。这有可能是时钟信号的上升沿(电平由低到高)或下降沿(电平由高到低);这可以在硬件的数据手册查询。接收端一检测到时钟线的电平变化,就会对数据线进行采样一,以获得一位新的数据(如下图虚线处)。由于每一位数对应着据时钟越变信号,数据就不需要用很精准的速率传输,不过传输端还是会以最高速传输。(我们接着会讨论选择适合的时钟沿以及传输每一位数据的速度。)

alt text

SPI这么受欢迎的原因之一是它对接收端的硬件要求不高,一个位移寄存器就能实现接收。它比使用UART(全双工异步串口通信端)的硬件更简单和便宜。

如何接收数据

你可能会想,这听起来这么棒的通信系统是怎样把数据发送到另一端的呢?这原理就稍微有点复杂。

在SPI,只有一个端口发生时钟源信号(时钟源端一般简写为CLK、SCK),发送时间源信号的硬件叫主机,另一端则叫从机。在一个SPI通信系统里,只有一个主机(一般是MCU),从机则会有多个。

当数据从主机传到从机时,该数据传输线称MOSI(“Master Out / Slave In”),从机传发送数据到主机由另外一条数据线负责,叫MISO(“Master In / Slave Out”),以上两个过程中,主机产生时钟脉冲信号,对应每一位的数据传输,从机则按照时钟脉冲信号,把每一位数据按次序存储或输出。

alt text

由于主机一直操控时钟线,因此它会预先知道从机将会返回多少位数据。以上特点与异步串口通信很不一样,它的接收端接收来自发送端的数据时间上是相对随机的。在SPI通讯中,信息是以特殊的数据格式和协议来传输。例如,MCU对传感器发出“读数据”的指令,传感器一般会按通信协议返回两位字节数据。(如果,你想要一个完整原始的数据,你可以先让传感器先返回一或两个字节声明该原始数据的长度,然后再传输原始数据。)

注意SPI是“全双工”总线系统(拥有分别独立的发送线和接收线)因此,在实际情况下,你可以同时实现数据的发送和接收(例如,实现发送要求对一个传感器读数据的命令,同时接收另外一个传感器回传的数据)。硬件的数据手册会告诉你这是可行的。

从机通讯选择 (SS)

这是SPI总线系统里最后一个你需要关注的线,它叫SS(Slave Select)。这根线是用来激活主机所需通讯的从机。

alt text

SS在空闲时为高电平,即断开从机与主机之间的SPI通讯。(即所说的低电平有效断你会经常在能使断看到类似的应用。)在数据传输之前,要拉低所需通讯从机的SS端。当你不与该从机通讯,则将它的SS端拉高。这相当于一个位移寄存器里的锁存端。

多从机工作

要是有两个或以上从机连在同一根SPI总线系统上:

  1. 一般来说每一个从机都要独立分配一个SS线I。当要与指定的从机通讯时,你将对应的SS端拉低,其它从机的则保持高电平(你不会想同时让两个从机被激活,否则这两个从机就会同时在MISO端与主机通讯,造成数据的相互干扰失真)。每一个从机对应一条独立的SS线。如果你的主机输出口不够,可以用译码器扩展。alt text
  2. 在另一方面,若是要环形传输数据,一个从机的MISO连到下一个从机的MOSI。则要把所有的从机激活通讯。只要数据传输完成,就要把对应的SS端拉高,以防多个从机同时激活。这类结构经常用在位移寄存器和可寻址LED硬件里。

 

 

alt text

注意在这设计里,当数据流从一个从机到另一个,至到任意一个,你将需要传输足够多的数据来推动这个数据流。同样,要注意你传出去的第一分数据是留给最后一个从机的。

这类型的设计通常用在单一输出的情况下,就如LED模块,工作时它并不会返回任何的数据。这样情况你便可以省去MISO端。另外,要是有数据返回,你可以选择环形总线结构来返回数据(上图蓝线所示)如果你选择这类结构。当你接收端来自从机1的数据时,则说明它的数据已经流过所有的从机。所以,为了接收到你所需的数据,你要传输足够多的接收命令。

SPI的程序

许多的MCU已经内置了SPI的硬设,来应对所需高速传输数据的所有要求。而且,对你们来说,按SPI的通讯协议配置相应的I/O口去传输数据是十分简单的。(一个很好的例子在维基百科的SPI。)

如果你想在一个Arduino实现SPI与其他硬件通讯,这有两种方法:

  1. 你可以用shiftIn()shiftOut() 指令。这是基于软件的指令,你可以用任何的引脚作为输出,但这样传输速度会比较慢。
  2. 或者你可以用SPI Library,是集成到MCU的SPI模块。它比指令方法快多了,但它只能按特定的引脚输出。

在通讯之前,你要设置一些相关选项。这些设置必须要和你所通讯的外设相匹配;查阅它们的资料手册,看通讯时需要什么配置要求。

  • 在通讯时可以先发送最高有效位(MSB)或最低有效位(LSB)。在Arduino的SPI库里,这由 setBitOrder() 函数控制。
  • 从机会在时钟脉冲信号上升沿或下降沿读取数据。另外,要注意时钟线在空闲时时高电平还是低电平。在Arduino的SPI库里,这由 setDataMode() 函数控制。
  • SPI可以高速传输数据(几兆每秒),这对于一些外设来说太快了。为了适应这些设备,你可以调节传输速度。在Arduino的SPI库里,这由setClockDivider() 函数来实现,它会将主机的输出时钟频率(对于大多Ardunio是16MHz)分频(8MHz (/2)到125kHz (/128)之间。
  • 如果你用SPI库,你只能用它所指定提供的SCK, MOSI and MISO 引脚。另外,还有一条指定的SS端(对于SPI硬件模块来说,必须至少有一根SS端),不过你也要分配其他的端口作SS端,分别控制每一个从机。
  • 在旧版的Arduino,你需要额外写程序控制相应SS端,让其在通讯前拉低,在通讯结束时拉高。在新版的Ardunio,如Due 可以自动控制每一个SS端,详情见 Due SPI documentation page

更多相关资源

提示和技巧由于

  • 由于SPI传输的是高速信号,它只能进行短距离通讯(仅几英尺)。如果你要远距离通讯,则要降低时钟脉冲频率,并加专用的驱动芯片
  • 如果SPI的传输情况不符合你的预期设想,用逻辑分析仪去排误是一个不错的选择。智能分析仪如Saleae USB Logic Analyzer,可以译码并显示和记录所测量的数据。

alt text

SPI的优点:

  • 它比异步串口通讯要快
  • 就收器的硬件要求较低,如位移寄存器er
  • 支持多从机通讯

 SPI的缺点:

  • 相比其他通讯方案,它需要的信号线较多I
  • 要制定通讯协议(你不可以随意发一堆数据)T
  • 只能有主机控制所有的通讯(从机之间不能直接通讯)
  • 它需要额外分配SS线对应每一个从机,如果多众多从机,这将是个大问题。

扩展阅读

查阅  SPI的维基百科, 那有很多关于SPI的信息以及一些同步串口通讯的资料。

这篇博客 展现了更多关于基于嵌入式硬件建立SPI通讯的正确方法,示例是用 Arduino

许多SparkFunA的产品支持SPI通讯。如 Bar Graph Breakout kit

其他通讯方案:

现在你是SPI的支持者之一了,以下有一些其他教程来练习你的新技能:

 


cc

原始文章采用CC BY-SA 4.0,您可以自由地:

  • 演绎 — 修改、转换或以本作品为基础进行创作
  • 在任何用途下,甚至商业目的。
  • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

原始文章及相关素材链接:

https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi?_ga=1.36860256.1133118399.1488205103

WS2812模块接线教程

序言

WS2812是一种集成了电流控制芯片的低功耗的RGB三色灯。我们特别钟爱这款简单的组合LED。它已经在很多款商品中得到应用,包括下面这个的WS2812 Breakout板。

而 LilyPad Pixel 也是这样一类电路板,但是它的LED则是位于一个紫色的圆环之内。这种做法使它有利于缝合在衣物或者其他纺织物,那么就可以很方便的嵌入一个智能纺织物的项目中。

最后,WS2812还是各种LED灯带的灵魂所在,这种灯带有以下四种规格:密封的5m,密封的1m,裸露的5m,裸露的1m。

让WS2812真正独特的是它的控制方式。嵌入在LED里面的IC通过一种独一无二的单总线接口和外界进行通讯。有了已经写好的驱动库,使得我们可以很容易去控制它。加上他们可以级联,也就是我们可以通过将一个LED的信号输出端连接至另外一个LED,以此类推,创造出数以百计的LED组成的灯带。要是你连接的LED足够多,那么你就可以作出很棒的动画了!

在这个教程里,我们将会带你熟悉一下WS2812的工作方式。首先,我们先说明一下上面提到的几块板子是的连接方式,也就是LilyPad或者LED灯带。然后我们先把教程放一边,把Arduino的代码了解了解。

材料准备

显然,你先需要一个WS2812的板子或者灯带。LED连得越多就越好玩!在例子里我们会把5块板子连接在一起用,不过这并不妨碍你把例程很方便地应用于到其他的项目。

在我们开始展示例程给你们看之前,你还需要一个微型处理器。使用它我们才能给LED发送0/1的控制信号。我们用的板子是 Arduino Uno,但是一些其他的Arduino板子也是可以的。而且你也可以把例程的代码移植到你喜欢的微处理器上。

现在,你还需要把LED板和Arduino板进行连接。你可以用洞洞板,也可以用杜邦线直接连接它们,随你喜欢。

工具

为了我们的电路板足够稳定,你还需要把所要用到的引脚都焊接好。那意味着你至少一把电烙铁和一些焊锡。你可以点击我们的“如何焊接”教程去学习焊接如果你是第一次焊接的话。

建议阅读

这些板子都不难使用。如果你之前有用过任何的Arduino板,那你应该能很快上手WS2812了。如果你还没搞懂什么是Arduino,或者你还不熟悉下面的这些东西,那你应该考虑阅读一下这些教程。

W2812 上视图

WS2812比我们乍一看以为的复杂的多,它看起来像一个普通的5050-sized(5x5mm)LED,但实际上远不止这么简单,它里面是有一个电流控制集成电路的。如果你仔细看的话,你会看到那些藏在里面的微小的芯片, 芯片上还有几根金丝连接到LED上。

非常细腻的WS2812的内部细节

这款LED本身很像普通的RGB(红、绿、黄)LED。每一种颜色的亮度可以通过脉宽调制,,,实现256级的分级控制。这意味着它能通过组合RGB的亮度,实现16,777,216(2563)种颜色。所以你可以调制出任何的颜色,无论是白色到黑色(关闭RGB),还是到橙色到红褐色。

电路板的引出脚

这款电路板安置有一颗多彩LED在板上,并且留出了几个引脚用于控制LED。

下面我们来介绍一下四个独立的引脚:

5V-这个引脚需要由一个5V-7V的直流电源接入。电压过高(7V)的话会烧毁LED,电压太低(5V)的话则会造成亮度过低,甚至造成LED不工作。

GND-公共引脚,接地,即接电源的负极。

DI-微控制器(或者是另外一个WS2812)的数据从这个引脚传入LED。

DO-数据从这里输出给下一级的WS2812,如果这个WS2812是最后一级,则可直接悬空此引脚。

数据传输接口

注意:

以下的介绍很简单,甚至对你理解这块板子如何使用也没有太大的作用.(那应该是库应该做的,对吧?!)之所以我还是要谈及,是因为这个接口实在是太特别了。

这个用于微处理器和WS2812数据传输的接口很奇怪。它只有一条线,但是却不像已有的标准,如UART串行接口。这个接口的时序很特别。只有逻辑0和逻辑1,而逻辑0或1各有它们自己对应的脉冲宽度。

逻辑0和逻辑1的时序图

在一个低电平的复位脉冲(至少维持50us)后,这些数据以24位二进制数–每种颜色8位二进制数,被按顺序地发送出去.

一串24位二进制数–每种颜色8位二进制数。先是绿色,然后是红色,最后是蓝色。

某种特定的颜色(RGB之一)的值越大,则这种颜色的亮度越大。如果每种颜色(RGB)都被设置为0,则LED被关闭。如果每种颜色都被设置为最大,即255,那么LED会显示为它能显示的最亮的白色。

综上所述,这个接口的时序是非常的特别的。为了让这些灯亮起来,你需要一个能发出精确时间脉冲的处理器,例如Arduino;而树莓派或者pcDuino是不能发出精确时间脉冲的。如果有一位数据的脉冲周期短于1ms,则可能会造成LED发出深紫色的光而不是你要的纯紫色。

硬件连接

这种LED最棒的地方就在于它们很容易连在一起。微控制器的的一个引脚就可以控制起整个灯带。在下面这个例子里,我们将会连接5个LED以做示范,而你可以连接十倍数目甚至更多的LED,都是可以的。

焊接/缝制/接线

组装电路的第一步就是要实现控制板和LED的可靠连接。你需要焊接所有的接头或者直接接线。又或者把你的LilyPad Pixel板用电线缝起来,或者用线把LED串起来,连成一条灯带。

如果你打算把LED和面包板或者其他定型的板连接起来,那么用杜邦线是最好的选择。

面包板上连接在一起的WS2812板。藏在下方的白线是用于连接上级的DO和下级的DI的。

如果你打算做一条大的灯带,你可能需要把接口焊接在一起

通过连接DI和DO将WS2812板连成链状(不要忘了供电)。

选择一个直流电源

WS2812需要大约5V才能工作。它可以在4V到7V的范围内工作,但是5V的电源可以直接在很多的板子上引用过来。例如Arduino上的5V电源,就是一个很好的LED电源。

同时,你也要考虑到你的灯带需要多少的电流去驱动。一般来说,一个亮度全开的LED,他的板子需要至少60mA(每个通道20mA)。如果你把10块LED板连到一起,那么你最好找一个600mA的电源。是的!如果你串了很多个这些LED,那就要确保你的电源能提供上这些电流。如果你最后决定你要用一个外部电源,那你要确保你的电源地和Arduino的地有连到一起。

连接Arduino

Arduino的连接是想当容易的。你可以用Arduino上的5V和GND给LED板供电。然后你仅需要挑出一个空闲的I/O口用来控制LED。那么在例程里我们是用了pin 4口。要连接很多LED板的话,只需要把信号输出口和下一级的信号输入口连接。同时,要确保每块板子都有被供电。

保护你的WS2812

除了上述的连接,我们推荐添加以下的步骤以确保你的WS2812工作更加稳定。

加一个大的电解电容

在WS2812连接电源前,在电源和地之间并联一个大电容。它的容值在100uF到1000uF间最好。

这个电容可以让你的电源输出更加平滑。WS2812的负载电流的变化范围很广,当电流上下变化时,它可以补偿电源的电流变化,保证电源的稳定输出。这个电容的作用相当于一个电源储备库,在电源充足的时候把能量储存起来。

另外,尝试把这个电容尽量靠近你的WS2812。

串联一个电阻在信号线中间

Arduino的输出口和WS2812的输入口间串联一个小电阻将会有助于保护输出口。阻值的话在220到470欧比较合适。

尽量把电阻放得离WS2812更近一些。

不要把线接的过长!

导线其实是没办法完美地导电的。很多时候导线是会造成一定的压降的,特别是当它们很长的时候。为了保证电源的有效供应,电源和Arduino、WS2812间的连线要尽可能的短以保证压降最小。

添加固件

为了我们的例程,我们最好先使用 Adafruit’s fantastic NeoPixel库。

点击这里下载例程,还有Adafruit’s fantastic NeoPixel库。这个库在 Adafruit NeoPixel文件夹里,例程是在WS2812_Breakout_Example文件夹里。

你需要先装好这个库。点击这里,可以看如何安装Arduino的库。

库装好了之后,打开WS2812_Breakout_Example.ino。在你下载代码前,先确认你已经调整过了宏定义PIN和LED_COUNT了。PIN定义了哪个引脚和第一块pixel板连接,LED_COUNT定义了一共有多少LED要驱动。接着,让我们下载代码然后玩起来吧!

NeoPixel的库

设置

在使用库之前,有几行代码需要你设置一下。首先,在最一开始那里的代码,有个结构体,你可能希望它是一个全局变量。

COPY CODE

#define PIN 4

#define LED_COUNT 8

 

// Create an instance of the Adafruit_NeoPixel class called “leds”.

// That’ll be what we refer to from here on…

Adafruit_NeoPixel leds = Adafruit_NeoPixel(LED_COUNT, PIN, NEO_GRB + NEO_KHZ800);

PIN和LED——COUNT参数也需要设置一下,PIN定义了哪个引脚和第一块pixel板连接,LED_COUNT定义了一共有多少LED要驱动。

剩下的设置就是在setup()函数前的leds.begin()函数。

点亮一颗LED

用Adafruit NeoPixel库点亮一颗LED只需要两个步骤。第一步,你必须按要求用leds.setPixelColor(position, color) 函数设置它的颜色。函数里的颜色参数可以是任意的24位RGB值,或者是3各颜色用3个独立的字节。例如:

COPY CODE

leds.setPixelColor(4, 0xFF00FF);    // Set fourth LED to full red, no green, full blue

leds.setPixelColor(4, 0xFF, 0x00, 0xFF)  // Also set fourth LED to full red, no green, full blue

设置好了一个LED的颜色后,不代表它就会开始工作。为了让它真正工作,你需要调用函数callleds.show()。注意,调用这个函数会让所有的LED以设置好的颜色工作。

Setting a pixel’s color does not equate to that pixel actually turning on though. For that, you need to callleds.show(). Note that when this function is called any LED that was previously set will turn on.

代码的其他部分

在你已经掌握如何使用NeoPixel库后,剩下的代码都是在控制LED的颜色的。在这个例程里还有一些有趣的功能,例如实现彩虹灯等。希望你可以利用它们去做一些更有创造力的动画。

在WS2812_Definitions.h这个头文件里,还定义了一些标准颜色的列表。里面有从黑色到白色的所有颜色。

祝你玩得开心!


cc

原始文章采用CC BY-SA 4.0,您可以自由地:

  • 演绎 — 修改、转换或以本作品为基础进行创作
  • 在任何用途下,甚至商业目的。
  • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

原始文章及相关素材链接:

https://learn.sparkfun.com/tutorials/ws2812-breakout-hookup-guide?_ga=1.266035463.946766378.1445226389

串联和并联电路

串联电路和并联电路

简单的电路(只有几个元件)通常很适合让新手入门。但是,当有新的元件加进来时,事情就不那么简单了。电流是怎么流动的?电压在干什么?可以将这些简化而令人更容易明白吗?恐怕不能。

在这片文章,我们首先会讨论串联电路和并联电路,电路中只有最基础的元件——电阻和电池——来呈现两种电路的不同之处。当你将不同的元件(比如电容器和电感器)结合在串联或并联电路中时,我们会探索一下串联或并联不同的结果。

本文章的内容

  • 串联电路和并联电路是什么样子的?
  • 在两种电路中,元件会如何运作。
  • 在两种电路中,电源电压会对耗能元件有什么影响。

建议阅读

在继续阅读本教程前,建议你阅读以下文章:

串联电路

节点和电流

在我们深入学习本章节之前,我们要提一下什么是节点。这并不是什么有趣的东西,就是连接的两个元件之间的线路。

Node example schematic

四种不同颜色的节点

了解这个,我们学习串并联电路的不同之处就完成一半了。我们还要理解电流是怎么流过电路的。电流从电压高的地方流向电压低的地方。电流会找尽办法流向电压最低的地方(也就是地端)。以上面的电路作为一个例子,这里表明了电流如何从电源正极流向电源负极:

Example of current flow through circuit

电流(用蓝色,橙色,粉色的线表示)在电路中流动。不同的电流用不同的颜色表示。

注意有些节点(就像R1和R2之间的)的电流在进来和出去后都是一样的。在其他节点(特别是R2,R3,R4这三路)干路电流被分成不同的两部分。这就是串并联电路不同的关键。

串联电路的定义

如果两个元件在同一线路上,并且流经它们的电流是同一路电流,那么就说这两个元件串联。这里是三个串联电阻的电路:

Schematic: Three resistors in series

在此电路中,电流只能有一条路线。从电源正极开始,电流首先流过R1。然后直接流过R2,然后R3,最终回到电源的负极。这里只有一条路径让电路流过。这些元件是串联的。

并联电路

并联电路的定义

如果元件之间有不同的节点,它们就是并联的。这里是三个并联电阻的例子:

Schematic: Three resistors in parallel

电流中电源正极出发,然后分别流过R1,R2和R3。将R1和电源连起来的节点也和其他电阻相连。其它电阻也类似地连接在一起。并最终和电源负极相连。这种情况下的电阻的就是并联。

串联电路中的电流处处相等,并联电路中的元件两端的电压相等。

串联和并联同时工作

以下是串联和并联共存的电路。电流从电源正极出来,首先经过R1,然后被分流,经支线流过R2和R3,最后又回到干线上,最终流回电源负极。

Schematic: Series and Parallel Resistors

在这个例子里,R2和R3并联,R1和R2,R3组成的并联电路串联。

计算串联电路中的等效电阻

这里有一些对你来说特别有用的信息。当我们在串联或并联电路中这样放置电阻,我们可以改变流过它们的电流的大小。例如,如果我们有一个10V的电源,一个10kΩ的电阻。依据欧姆定律我们得到1mA的电流。

Schematic: Single Resistor in series with battery

如果在电流中在加一个10kΩ的电阻,还是原来的电源,我们就使电流减少了一半,因为电阻变成原来的两倍了。

Schematic: Two series resistors in series with a battery

换一句话,我们的电路只有一条路径可以让电流流过,我们只不过是使电流流通的条件变得更艰难了。有多艰难呢?10kΩ+10kΩ=20kΩ。这就是我们计算串联电路电阻的方法——直接将它们相加

为了让这个方程更直观:电阻的数量是N——N是任意的值——电阻总值就是每一电阻相加。

Schematic snippet: N resistors in series

Equation: Rtot = R1+R2+...+R(N-1)+RN

计算并联电路中的等效电阻

串联电路中的电阻是怎样的呢?这回稍微复杂一点,但不会太多。回顾一下我们刚才10V电源和10kΩ电阻的例子,这一次我们增加一个10kΩ的电阻和原来的电阻并联。现在电流有两条路径可以走了。因为电压是不变的,在欧姆定律中,第一个电阻的电流仍然是1mA,那么同样的第二只电阻的电流也是1mA,我们就可以得到干路中的电流是2mA。这意味我们使电路中的电阻减半了。

Schematic: Two parallel resistors in parallel with a battery

我们可以很简便得得出10kΩ||10kΩ=5kΩ(||代表并联),但是电阻中不会只有两个电阻的。遇到更多的电阻怎么办呢?

求任意数量并联电阻总阻值的公式是:

1/Rtot = 1/R1 + 1/R2 + ... + 1/R(N-1) + 1/RN

If reciprocals aren’t your thing, we can also use a method called “product over sum” 如果你不喜欢倒数,我们还有一个方法——积除以和,当然是只有两个电阻的时候可以用这个公式:

R1||R2 = R1*R2/(R1+R2)

通过计算R1||R2的总电阻,我们可以将这条方程扩展到多个电阻的情况。但是用倒数相加的方法可能效率更高。

实验时间——第一部分

你需要的器材:

我们做一个简单的实验以验证我们对于串并联电路的理论。

首先,我们将几个10kΩ的电阻串联起来。参照下图,在面包板插一个10kΩ的电阻,并用万用表测量阻值。是的,我们已经知道之前电阻的阻值是10kΩ,但是确保严谨我们还是要测量一下电阻。当我们看到电表的指针稳定下来后,将另一个电阻接在面包板上,并确保和第一个电阻电气相连,然后用万用表测量两个电阻的总阻值。万用表的值大约是20kΩ。

你可能注意到你测量的电阻的阻值和你预想的值并不完全一样。电阻的实际阻值是有一个误差范围的,会与标明的阻值误差几个百分点。因此你可能读到9.99kΩ或10.1kΩ。只要这个读数和正确的数值接近就好,一切都会顺利工作。

Multimeter Fritzing Diagram

Experiment Time – Part 2

现在我们来处理并联电路的情况。如下图左下角那样安置两个电阻,确保它们的引脚是电气相连的。在用万用表测量它们的总阻值之前,你可以先计算一下它们的总阻值(提示:结果是5kΩ)。如果你测到的是接近5kΩ的值,这是好的。如果不是,检查一下连接有没有问题。

Experiment: Measure parallel resistors with a multimeter

分别用3个、4个、5个电阻重复实验。测量到的值分别是3.3kΩ,2.5kΩ和2kΩ。一切事情都按照计划进行吗?如果不是,检查一下连接是否出错。

串、并联电路电阻第一规则

有许多情况需要我们连接多个电阻。例如,你可能想要建立一个特殊的参考电压,你一定需要一系列的电阻,而且这些电阻的值也会比较特殊。既然我们电阻的阻值精度够高,我们就可以用多个不同阻值的电阻组合成我们需要的阻值。

提示1:并联电路中的等价电阻。

并联电路中的N个阻值(R)相同的电阻,那么总的电阻就是R/N。比如说我们需要一个2.5kΩ的电阻,但我们只有10kΩ的电阻。将四个这样的电阻串联起来,我们就会得到2.5kΩ的电阻。

Four 10kΩ Resistors in parallel can be used to create a 2.5kΩ one!

贴士2:精确度(tolerance)

确定你需要的精确度。例如,如果你需要3.2kΩ的电阻,你可以并联3个10kΩ的电阻。你得到的是3.3kΩ的电阻,和你预想中的阻值误差了4%。但是,如果你需要误差小于4%,你可以测量那些“10kΩ”的电阻,挑选测量值小于10kΩ的电阻并联在一起,你就可以得到更接近3.2kΩ的阻值了。理论上,如果我们的10kΩ电阻误差不超过1%,我们只能得到3.3kΩ的阻值。但是一些成品误差会大一些,需要我们耐心点找它出来。

贴士3:串、并联电路的功率

串、并联电路中的电路同样会有功率。比如说有一个100Ω,功率是2W,但我们只有1kΩ,0.25W电阻。你可以将十个1kΩ的电阻并联起来得到100Ω的阻值,总功率是10*0.25W,也就是2.5W。

但我们并联阻值不相同的电阻时,我们要更小心地处理总电压和总功率的值。

贴士4:并串联电路中的不同电阻

并联电路的总阻值一定会小于阻值最小那个电阻。

贴士5:并联电路中能量的损耗。

如果并联电路中的电压值不相同,那么支路中的电能损耗是不一样的,因为电流并不相同。用前面的例子(1kΩ||10kΩ),我们会发现1kΩ电阻的电流是10kΩ电阻电流的10倍。欧姆定律告诉我们功率=电压*电流,就可以推导出1kΩ电阻电功率是10kΩ电阻电功率的10倍。

最后,当我们处理电阻值不同的并联电路时,我们要时常想起贴士4贴士5.如果电阻值是相同的,贴士1和贴士3就变得很好用了。

串联电路和并联电路中的电容

将电容联合起来就像将电阻联合起来……只不过结果刚好相反。为什么会这样呢?

电容器是两块分开但是间隔非常近的导体板,它的主要功能是容纳一定量的电荷。电容器的容值越大,它越能容纳更多的电荷。如果增加导体的面积,电容值会变大,因为容纳电荷的物理面积变大了。如果导体板的距离变大了,电容值就会减小,因为距离使它们之间的场强减弱了。

我们将两个10uF的电容串联在一起,并假设它们都充满电了并准备放电。

Capacitors in series

记住在串联电路中电流只有一条路可以走。也就是说在下面的电容放出的电量和在顶部放出的电量是相等的。因此电容器的总容量并没有增加。

事实上,情况会更糟糕。通过串联电容器,我们只不过是将导体板隔离得更远了。我们得到的不是20uF,或者甚至是10uF。而只是5uF。这个结论的得出和我们计算并联电路的电阻一样,同样都是用“乘除以积”的方法。

Capacitors in series schematic/equation

这看起来似乎没有串联电容的用武之地。但是应该指出,我们得到的是多倍的电压。就像电池一样,我们将电容器串联起来就使电压增加了。

并联电路中的电容相加就像将串联电路中的电阻相加:直接将各部分的值加起来就可以了。为什么是这样呢?将电容器并联起来就像将电容器导体板的面积增加了。更大的面积意味着更大的电容。

Capacitors in parallel schematic/equation

实验时间——第三部分

你会需要:

让我们看看实际中一些串联和并联的电容器。这一部分比电阻那一部分稍微麻烦一点,因为电容器的容量不能直接用万用表测量出来。

让我们首先看看从0开始慢慢增加电容器两端的电压会怎样。如果电容器的电阻为0,电流就会很大。电容器会一直放电,直达它的电压和供应电压相等。

如果电容器的电阻为零,那么放电的速度非常快,电流很大,而充电的速度也会很快(微秒级甚至更少)。在这个实验中,我们想看看一个电容器是怎样充满电的。我们将使用一个10kΩ的电阻,将充电的速度减慢下来,使我们能够比较容易的观察现象。但是首先我们要谈谈什么是RC时间常量。

Tau = R*C

上面的公式是是说一个时间常量的长度(单位:秒)等于电阻(单位:欧姆)乘以电容(单位:法拉)。简单吗?我们将在下一页阐释这个公式。

实验时间——第三部分(继续……)

在本实验的第一部分,我们会用10kΩ的电阻和一个100uF(即0.0001F)的电容.这两者相乘得出一秒的时间常量:

Tau = 10kOhm * 100uF = 1 second

通过一个10kΩ的电阻为100uF的电容器充电,我们可以预测在一个时间常量内(也就是1秒),电容器的电压上升到了供应电压的63%。在5个时间常量后,电容器的电压是供应电压的99%,这是符合以下的曲线的:

Capacitor charge time graph

既然我们已经知道这个规律,我们将要将电路是图案联系起来(请确保不要搞错电容器的两极。)

Fritzing diagram, power off, cap in series with resistor, battery

用万用表测电池包的输出电压。输出电压测量值应该在4.5V附近(如果是新
电池,电压会稍微大一点)。现在连接电路,要注意在和面包板连接前把电
源开关打到OFF位置。同时,红线和黑线不要接错了。你可以用鳄鱼夹将被
测电容和万用表探头连接起来(你可以将线头拉长一点,使连接变得容易)

只要我们对电路的连接满意了,就可以将电池包的开关打到ON。在五秒钟后
,万用表的读数应该和电源的电压接近,这意味着公式是正确的。现在把开
关关了。万用表的读数并没有变化。这是因为电流已经无路可走了,电容器
不会放电,这是一种开路的情况。为了给电容器放电,你可以用10kΩ的电阻
与之并联。在5秒后,电表读数将接近0。

实验时间——第三部分(再继续……)

在本实验的第一部分,我们会用10kΩ的电阻和一个100uF(即0.0001F)的电容.这两者相乘得出一秒的时间常量

C = 100uF*100uF/(100uF+100uF) = 50uF

时间常量会是怎样的呢?

Tau = 0.5 seconds

Experiment 3.2 fritzing diagram

记住这些结果,增加一个电容器,与第一个串联(如上图),确保电表的值
是0V。将滑动开关滑到“ON”。电压表的读数从0变成电源电压值是不是用了原
来一半稍微多的时间呢?这是因为电容器比原来多了一
倍。总的电容值变小了,所以将它充满电需要更少的时间。我们建议用第三
个电容器来证明这一点。

现在我们尝试并联电容器,记住我们说过这就像将电阻串联。于是我们得到
的总容量就是200uF。时间常量就变成:

Tau = 2 seconds

这就意味着如果我们用4.5V的电压给电容器充电,我们大约需要10秒。

Frizing diagram: caps in parallel

为了证明这一点,我们用原先10kΩ和100uF串联的电路,并在这实验中参考
第一个实验那张图。我们已经知道充满电容器需要5秒。现在增加第二个电
容器与之并联。请确保电表的读数是0V(如果不是,就用一个10kΩ的电容器
放电),然后将电池开关打到“ON”。充电时间会久一点,不是吗?我们将电
容器的容量扩大了,当然需要更多时间将它充满电。你可以自己证明它,用
第三个100uF的电容器,并观察它充电的时间。

串联和并联电感器

串联和并联电感器

在电路中串联电感器的情况是很罕见的,但并非没有听说过。我们可以这样
做完成特殊任务。

简而言之,它们就像电阻那样,就是说如果串联,它们的值简单相加,如果
并联,就用“乘积除以和”的值。棘手的部分是,如果它们靠得太近,就会或
多或少产生互相干扰的磁场。为此,只用一个电感比用两个或更多要好,
虽然大部分电感器都包装成可以阻碍磁场。

在任何情况下,说它们像电阻那 样增加是恰当的。关于电感器的更多内容超出了本教程的范围。

资源与深入学习

现在你已经熟悉了串并联电路,为什么不搜索一下这些文章呢?

  • Voltage Dividers (电压驱动器)- 最基础的一种循环电路就是电压驱动器。这是一个建立在本教 程概念之上的电路。
  • What is an Arduino?(什么是Arduino?) -现在你肚子里已经有了电路的基础知识,你可以直接学习 最受欢迎的一种微控制器开发平台:Arduino
  • Switch Basics(开关基础) – 我们在本教程里已经谈论了一些电路基础知识,但还不包括这一 种。开关是每种电路都必需包含的部件。在这篇教程里学习关开关的所有 内容吧。
  • Sewing with Conductive Thread(缝合导电线) – 电路不是只有能在面包上拉电线. E纺织品使用导电线将电灯 缝如衣服或其他纺织物。

    cc

    原始文章采用CC BY-SA 4.0,您可以自由地:

    • 演绎 — 修改、转换或以本作品为基础进行创作
    • 在任何用途下,甚至商业目的。
    • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

    本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

    原始文章及相关素材链接:

    https://www.sparkfun.com/search/results?term=DC+AC

电阻

简介

电阻是最常见的电路元件。在每个电路中它们是至关重要的一部分。在我们喜爱的欧姆定律中,电阻是主角。

resistors

在电阻这一部分,我们涉及以下内容:

  • 什么是电阻?
  • 电阻的单位
  • 电阻的符号
  • 串联、并联电路中的电阻
  • 电阻的不同种类
  • 解读颜色编码
  • 解读表面安装式电阻
  • 电阻应用举例

相关阅读

本文章中一些概念是建立在重要的电学知识上的。在继续阅读本文章之前,建议阅读(起码要浏览)以下文章:


电阻基础

电阻是拥有电抵抗力的电路元件。电阻能够限制流过电路中的电流。

它们是消极的元件,因为它们只能消耗能量(不能产生)。电阻通常在运算放大器、位控制器和其他集成电路中充当活跃的一部分。通常电阻被用来限流、分压上拉IO口

电阻单位

电阻抵抗电流的能力用欧姆来表示。欧姆的符号是希腊字母Ω。1Ω的定义是电阻两端的电压为1V时,流过电阻的电流是1A的阻值。

电阻抵抗电流的能力用欧姆来表示。欧姆的符号是希腊字母Ω。1Ω的定义是电阻两端的电压为1V时,流过电阻的电流是1A的阻值。
SI单位制中,更大或更小的欧姆值可以加上前缀千、兆、吉,这样使比较大的值更容易阅读。像千欧(KΩ)和兆欧(MΩ)是非常常见的电阻单位,百万欧(mΩ)是比较少见的单位。例如,4700Ω和4.7KΩ是相等的,5600000Ω可以写成5600KΩ或5.6MΩ。

符号

所有电阻都是有两极的,电阻的两端都要连接在电路中。电阻的符号有以下两种形式:

Resistor schematic symbols

两种常见的电阻符号。R1是美国式的1KΩ电阻,R2是国际式的47KΩ电阻。

电阻的两端是波浪线(或矩形)伸展出来的线。这两端要和电路的其余部分相连。

电阻的符号通常会由阻值和名字强调出来。以欧姆为单位的阻值,对于估测并实际建造电路是至关重要的。电阻的名字通常由字母R和紧跟着的数字组成。电路中每一个电阻的名字都必须独一无二。举个例子,这里是555定时器电路中的一些电阻:

Example schematic with resistors - a 555 timer

在这个电路中,电阻扮演了设置555定时器输出频率的重要角色。另一个电阻(R3)限制了流过LED的电流大小。


电阻类型

电阻有各种各样的形状和大小。它们可能是穿孔安装或表面安装。穿孔安装通常被缩写成PTH(plated through-hole),表面安装通常被缩写成SMD/SMT(surface-mount technology or device)。

终端和安装

PTH电阻具有长而柔软的引脚,可以插进面包板或手工焊接到测试板或PCB板上。有时候你不想焊接又薄又小的SMD电阻,这些PTH电阻对于使用面包板或其他测试板就显得特别有用了。PTH电阻的引脚又细又长,这就意味着它们比起SMD电阻要更多存储空间。比较普遍的PTH电阻采用轴式包装。电阻的大小和它的功率相关。一个常见的0.5瓦特的电阻长9.2mm,而0.25的电阻长6.3mm。

1/4 and 1/2 watt resistors

一个0.5瓦特的电阻(上)和0.25瓦特的电阻(下)

SMT电阻外形是薄而黑的矩形,两端是更小的铮亮的银色导体边缘。这些电阻一般被安装在PCB板的顶部,与其他元件焊接在一起。因为这些电阻太小了,通常要用机器把它们放在热箱里进行熔焊,并固定在特定的地方。

SMD resistor on a quarter

一个0603外形的330Ω电阻

SMD电阻有标准的大小:通常是0805(0.8mm长,0.5mm宽),0603或0402.它们有利于生产大量的电路板,而且特别节省空间。虽然它们在焊接时需要熟练而精确的焊接技术。

电阻的组成

电阻可以是各种各样的材料。最普遍流行的电阻通常用碳、金属或金属氧化物制成。在这些电阻里,一个薄薄的导体片被绝缘材料弯弯曲曲地包裹着。大多数穿孔式安装的电阻是由碳片或金属片组成的。

Peeled away view of carbon-film resistors

看一看碳片电阻的内容。电阻的阻值(从上到下):27Ω,330Ω,3.3MΩ。在电阻里其他PTH电阻会用超薄的金属片制造。这些电阻通常贵一些。一些高端产品,例如大范围的温度计会选择使用这些电阻。

SMT电阻既有薄的也有厚的。厚的一类通常便宜些但阻值没有薄的那么精确。在两种电阻类型中,一片小小的具有阻值的金属合金被夹在陶瓷基架上,最外层由玻璃或环氧树脂覆盖,然后与两端的导体边连接。

电阻封装种类

电阻有许多特殊的封装类别。有些电阻由四到五个内置电阻排成阵列封装而成,外头引出每个电阻的引脚。在这些阵列的电阻可能共同使用同一个引脚,或者被设置成分压器。

Resistor Network

5个330Ω的电阻阵列,每个电阻的一端都连接在一起。
电阻的阻值不一定是恒定不变的。变阻器的电阻就是可变的,这是一种可以将阻值在一定范围内调整的电阻。和变阻器相似的有电位计。两个电阻在内部串联起来,中间的接头可以调节出适合分压器。这些可变电阻通常用于调节输入电压,比如音量旋钮。

A smattering of potentiometers

一些零散的电位计。


解读颜色带

虽然阻值并没有在电阻上直接标明,但是电阻会用标记来表示阻值。PTH电阻有颜色编码系统,SMD有自己的值标记系统。

解码颜色带

穿孔式安装的轴式电阻通常使用颜色带系统来表示阻值。大多数这类电阻组会有四条环带。

Resistors showing their stripes

前面两条带表示电阻值的两位最重要的数字。第三条带是数字的权重,使这两位数以十的倍数变化。

最后的环带表示电阻的阻值误差范围。误差范围表明了表明的阻值的浮动范围。没有一个电阻是完美的,不同的制作工艺使电阻有不同的精确度。例如,一个误差范围是5%的1KΩ电阻,它的实际阻值在0.95KΩ到1.05KΩ之间。

你怎样分辨那一条环带排在第一呢?最后要说的是,公差带通常很明显地与表示阻值的环带隔离,它通常是金色或银色的。

这里是一张颜色-阻值对应表:

颜色 数值 倍率 倍数 误差范围
黑色 0 100 1
褐色 1 101 10
红色 2 102 100
橙色 3 103 1,000
黄色 4 104 10000
绿色 5 105 100,000
蓝色 6 106 1,000,000
紫色 7 107 10,000,000
灰色 8 108 100,000,000
白色 9 109 1,000,000,000
金色 ±5%
银色 ±10%

这是一个有四条颜色带的4.7kΩ的电阻:

Close-up of a 4.7kOhm resistor

W在解读电阻的颜色带时,最好查阅一张颜色编码表。在前两条颜色带中,找到颜色对应的数字。4.7kΩ的有黄色和紫色的颜色带,分别对应数字4和7。第三条颜色带是红色的,表明47要乘十的二次方,也就是4700!

如果你尝试记住颜色编码表,口诀可能对你有帮助。这里有一个口诀,可以帮助你记住电阻阻值颜色编码。以下是好用的一个,将黑色和褐色的拼写区分开来了:

Big brown rabbits often yield great big vocal groans when gingerly snapped.”

如果你记得“ROY G.BIV”,去掉了靛青色(可怜的靛青色,总会被人遗忘)将黑色和褐色添加在前面,灰色、白色在后面,这就就是典型的彩虹颜色顺序。

颜色代码计算

如果你有一定的数学能力或拿着一部计算器,可以尝试计算一下

 

Band 1 Band 2 Band 3 Band 4
Value 1 (MSV) Value 2 Weight Tolerance

Resistance:

1,000 Ω ±5%

解读SMT电阻阻值

像0603或0805这样的SMT电阻,有它们独特的表示电阻的方式。这里有一些常见的表示阻值的方式。通常有三到四个符号——数字或字母,被打印在电阻上面。
如果你看到的三个符号都是数值,你很可能看到的是以E24方式标记的电阻。这种标记方法和PTH电阻的颜色编码法有几分类似。前两个数字代表了电阻最重要的两个基数,最后一个数字代表的十的次方数。

Examples of E-24 marked SMD resistors

在上面的例图中,电阻上标志着104,105,205,751和754.104标志100kΩ,105表示1MΩ,205表示2MΩ,751表示750Ω,754表示750kΩ。

另一种编码方式是E96,这是一种最隐晦的方式。E96有三个符号,包括在前面的两个数字和一个在后面的字母。前面的两个数字告诉你电阻值的三位数字,这张查阅表对应了并不那么明显的数字关系。

CODE VALUE CODE VALUE CODE VALUE CODE VALUE CODE VALUE CODE VALUE
01 100 17 147 33 215 49 316 65 464 81 681
02 102 18 150 34 221 50 324 66 475 82 698
03 105 19 154 35 226 51 332 67 487 83 715
04 107 20 158 36 232 52 340 68 499 84 732
05 110 21 162 37 237 53 348 69 511 85 750
06 113 22 165 38 243 54 357 70 523 86 768
07 115 23 169 39 249 55 365 71 536 87 787
08 118 24 174 40 255 56 374 72 549 88 806
09 121 25 178 41 261 57 383 73 562 89 825
10 124 26 182 42 267 58 392 74 576 90 845
11 127 27 187 43 274 59 402 75 590 91 866
12 130 28 191 44 280 60 412 76 604 92 887
13 133 29 196 45 287 61 422 77 619 93 909
14 137 30 200 46 294 62 432 78 634 94 931
15 140 31 205 47 301 63 442 79 649 95 953
16 143 32 210 48 309 64 453 80 665 96 976

后面的字母表示倍数关系,在这张表有匹配值

LETTER MULTIPLIER LETTER MULTIPLIER LETTER MULTIPLIER
Z 0.001 A 1 D 1000
Y or R 0.01 B or H 10 E 10000
X or S 0.1 C 100 F 100000

Resistors marked with E-96 codes

因此01C电阻就是10KΩ,01B就是1kΩ,01D就是100kΩ。这些比较容易计算,但其他就不一定了。85A是750Ω,30C实际上是20kΩ.


功率

电阻功率是一个比较隐藏的值。然而这个值是重要的,当我们选择电阻类型时更是如此。

功率是能量形式转换的速率,它的单位是瓦特(W)。例如一个电灯泡能将电能转换成光能。但是一个电阻只能将电能转换成热能。在电路中,热能不是一个友善的小伙伴。太多热量会导致冒烟,然后是火星,然后是火焰!

每一个电阻都有其最大功率。为了不让电阻变得太热,将电阻的实际功率限制在最大范围之内显得尤其重要。电阻的单位是瓦特,电阻的功率通常在0.125W到1W之间。功率大于1W的电阻通常是耗能电阻,它们的能力主要表现为消耗电能。

找到电阻的功率

一个电阻的功率通常可以根据包装外形大小来推断。标准的穿孔式电阻功率通常为0.25W或0.5W。一些耗能电阻会直接将功率值标在电阻上。

Some examples of power resistors

一个耗能电阻在爆炸之前能够消耗许多能量。从右上角到左下角,电阻的功率依次是:25W,5W和3W,阻值分别是2Ω,3Ω,0.1Ω和22Ω。比较小的耗能电阻通常用来感应电流。

表面安装型电阻的功率通常可以通过外形大小来判断。0420和0603的电阻通常是1/16W,0805是1/10W。

计算电阻的功率

功率通常表示成电压和电流的乘积。但是,通过应用欧姆定律,我们也可以用电阻的阻值来计算功率。如果我们知道经过过电阻的电流大小,我们可以这样计算功率

P=I^2*R

或者,我们知道电阻两端的电压值,我们可以这样计算功率:

P=V^2/R


串联、并联电路中的电阻

电阻总是在串联或并联电路中成群结队地出现。在混联电路中的电阻产生的总阻值可以用一个或两个公式计算出来。为了方便了解电阻的总阻值是如何组成的,你需要设计一些特殊的阻值。

串联电阻

串联电路中的电阻阻值之和是各部分电阻阻值的简单相加。

Schematic of resistors in series

Equation for adding resistors in series

串联电路中的N个电阻。总阻值是所有电阻阻值之和

举个例子:如果你想要12.33KΩ的电阻,找到12kΩ和330Ω的电阻,将它们串联起来就可以了。

并联电阻

计算并联电阻中的阻值大小并不是一件容易的事情。并联电路中的N个电阻的总阻值的倒数是所有电阻阻值的倒数之和。

Schematic of resistors in parallel

Equation for adding resistors in parallel

并联电路中的N个电阻。为了计算总阻值,将每一部分阻值取倒数,将它们加起来,然后再将和倒过来,就是总阻值。

阻值的倒数实际上叫传导系数,所以可以更简洁地说:并联电路的传导系数是每一部分电阻传导系数之和。

如果只有两个电阻在并联电路中,总阻值可以用这样的等式计算:

Equation for calculating two resistors in parallel

例如,两个10kΩ的并联电阻的总阻值是5KΩ。

可以用一个符号表示两个并联的电阻:||。如果R1和R2并联,可以记作R1||R2。

电阻网络

为了教授学生计算总阻值,电学老师总是喜欢让学生计算那个疯狂的U型电路的阻值。

一个乏味的求电阻网络总阻值的问题可能是这样的:从A端到B端电路的总阻值是多少?

An example of a resistor network

为了解决这个问题,我们从电路后面的弯道开始,慢慢地简化A到B端的电路。在这里R7,R8,R9是串联在一起的,可以将阻值相加。这三个电阻和R6并联,所以这四个电阻可以记作R6||(R7+R8+R9),得到新的电路图:

Resistor network simplified

现在右边的四个电阻又可以继续简化。R4,R5以及R6-R9联合电阻是串联的,可以相加。现在又可以得到新的电路图:

Resistor network further simplified

现在AB端只有三个串联的电阻。将它们相加起来,那么电路中的总电阻就是:R1+R2+R3 || (R4+R5+R6 || (R7+R8+R9)).


应用举例

电阻出现在每个电路中。这里有几个深度依赖电阻的电路例子。

LED电流限制

在接通电源时,为了确保LED不会爆炸,电阻就显得非常重要。通过将电阻和LED串联,流过两个元件的电路会限制在一个安全的范围内。

Current limiting resistor schematic

当寻找合适的电阻时,可以参考LED的两个电气特性:工作电压和极大电流。工作电压是让LED正常发光的电压。它的范围(通常是1.7V和3.4V)取决于LED的颜色。普通LED的极大电流电流通常是20mA。连续流过LED的电流应该等于或小于极大电流。

只要你掌握了这两个数值,你就能利用以下等式计算限流电阻阻值:

Current limiting resistor = (Vs-Vf)/If

Vs是电源电压:通常是电池的工作电压。VF 和IF是led的工作电压以及点亮它需要的电流。

举个例子,你有一个9V的电池。如果LED是红色的,它的工作电压可能是1.8V。如果你想将电流限制在10mA,用一个720Ω的串联电阻。

Current limiting example equation R=(9-1.8)/.010

分压器

分压器是一种能够将电压值变小的电路。只要使用两个串联电阻,输出的电压是输入电压的分数。

这里有一个分压器电路:

Voltage divider circuit

串联的两个电阻R1和R2,电源电压是Vin,从Vout到地的电压值可以这样计算:

Voltage divider equation

串联的两个电阻R1和R2,电源电压是Vin,从Vout到地的电压值可以这样计算:

分压器对于电阻式传感器非常有用, 比如 photocells(光电池), flex sensors(柔性传感器), and force-sensitive resistors(力敏电阻). 分压器的一半是传感器,另一半是恒阻值电阻。两个元件之间的输出电压可以用微控制器上的模数转换器来阅读。

A photocell and resistor make a light sensor

电阻R1和光电管组成一个分压器,产生可变的输出电压。

上拉电阻

当你需要设置微控制器的输入引脚为宜特定状态时,可以使用上拉电阻。电阻的一端与单片机的引脚相连。另一端与高电压相连(5V或3.3V)。

没有上拉电阻,微控制器的输入就悬浮了。不能保证浮空的引脚是高电平或低电平。

上拉电阻通常被用在按钮或开关的接口。上拉电阻可以使输入引脚的状态在开始时处于某一确定值。当开关断开时,它可以保护电路以免短路。

A resistor pulling up a button input

在上面的电路中。当开关断开,微控制器通过电阻与5V电源相连。当开关闭合,输入引脚直接与地相连。

一个上拉电阻不需要有什么特殊的。但是它的阻值必须能让5V的电源不要耗费太多电压。通常阻值是10kΩ就可以了。


资源和深入学习

现在你是电阻方面的小小专家,探索更多的电学基础概念怎样呢?电阻并不是我们在电学中唯一使用的元件,它们还有:

或者你想更深入地了解电阻的应用

  • Voltage Dividers(分压器)
  • Pull-up Resistors(上拉电阻)

    cc

    原始文章采用CC BY-SA 4.0,您可以自由地:

    • 演绎 — 修改、转换或以本作品为基础进行创作
    • 在任何用途下,甚至商业目的。
    • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

    本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

    原始文章及相关素材链接:

    https://www.sparkfun.com/search/results?term=DC+AC

电容器

简介

电容是有两个终端的电子元件。连同电阻、电感器,这三者是我们使用的最基础的耗能元件。你很难找到一个没有电容器的电路。

Capacitor variety hour

让电容特殊的是它的储电能力。它们像一个充电电池。电容在电路中拥有各种各样至关重要的应用。一般的应用包括储存能量,电压滤波,以及复杂信号的滤波。

本教程内容

在本文章中,我们会探讨有关电容器的话题,包括:

  • 如何制造一个电容
  • 电容器如何工作
  • 电容的单位
  • 电容的种类
  • 如何分辨电容
  • 串联、并联电路中的电容总和
  • 电容器的应用

建议阅读

本文章的一些概念建立在一些重要的电学概念基础之上。在你继续阅读本文章之前,建议阅读(至少浏览)以下相关文章:


符号和单位

电路符号

有两个表示电容器的符号。它们通常有两端,这两端要与电路中的其他部分连接。一种符号是两根较粗且不弯曲的平行直线。两条平行直线靠得很近但不接触。这实际上已经说明了如何制造一个电容器,但是描述起来很难,画图更直截了当:

Capacitor circuit symbols

(1)和(2)是标准的电容器电路符号。(3)是电容器应用在电压调控电路中的例子。

有曲线的符号(图2)表示电容器是有极性 的。本文章中的大部分电容器都用这种符号表示。

每个电容符号都要有一个名字,比如C1,C2等,以及一个值。这个值是指电容器的电容大小。也就是电容是多少法拉。(电容单位是法拉(F))

电容单位

不是所有电容器的电容值都一样的。每个电容器都拥有自己的电容值。电容值是指一个电容器能储存多少电量的能力,电容值越大,储电能力越强。电容的标准单位是法拉,可以简写成F。

1F是非常大的电容值,即使是0.001F(1mF)也是一个巨大的电容值。通常你看到的电容单位是pF(10-12)到mF(10-6)。

 

名称 符号 量级 与法拉相比
皮法 pF 10-12 0.000000000001 F
纳法 nF 10-9 0.000000001 F
微法 µF 10-6 0.000001 F
毫法 mF 10-3 0.001 F
千法 kF 103 1000 F

当你遇到法拉甚至是千法拉级的电容时,你遇到的是一种特殊的超级电容。


电容理论

接下来的部分不一定要初学者全部明白,直到文章后面,这一步分都是比较复杂的。我们建议阅读《如何制造一个电容器》这一章节,如果其他内容让你感到头痛,你可以忽略它们。

如何制造一个电容器

电容的符号实际上已经暗示了它是如何制造的。两块平行金属板之间有一个叫电介质的绝缘材料。两块金属板间隔非常近,但是中间的绝缘电解质保证它们不会互相接触。

Internal capacitor view

标准的电容器夹层:两块金属板被一块绝缘电介质分隔

电解质可以是各种各样的材料:纸,玻璃,橡胶,陶瓷,塑料或者是其他能让电流流过的材料。

两片材料是导体金属:铝,钽,银,或其他金属。两片金属都连着导线,两条线最终和电路的其他元件相连。

电容器的电容值——具有多少法拉——取决于它是如何制造的。更大的电容值意味着更大的电容器。两金属片之间重叠的部分越多,电容器的电容值越大,而金属片之间的距离越,电容值则越小。电解质也对电容有影响。电容可以用以下公式来计算:

C=er*A/(4*pi*d)

εr 是电解质的 介电常数(一个由电解质材料决定的常数), A是两块金属片的重叠面积,d是金属片之间的距离。

电容器如何工作

电荷的流动就是电流,电流使电灯点亮,使风扇转动,使任何电器能工作。当电流通到电容器时,它们不能穿越两块金属板,因为它们中间的电解质是绝缘的。电子——带负电的粒子——充满了其中一块金属板,这块板也就带满了负电。带负电的金属板将另一块金属板上等量的负电荷排斥走了,使另一块带正电。

Charged Cap Drawing

带正电和带负电的金属板互相吸引,因为异号电荷互相吸引。但因为中间的电解质,它们无法结合在一起,而电荷也会一直保持在金属片中。金属片上稳定的电荷创造了电场,影响了电势能和电压。当电容器的电量增长起来,电容器就像电池那样储存了电能。

充电和放电

充电就是使电容的两片金属板分别带上正电和负电。电容器能够保持电场——保留电量——因为每一片金属板都带上正电或负电,而它们永不接触。

在一定程度上,电容的电量已经多到不足以容纳更多的电荷了。其中一片金属板已经有足够的电子,这些电子会排斥任何想加入进来的电子。这就是电容器的储电能力,以法拉衡量,这告诉你一个电容器能带的最大电量是多少。

如果电路通路了,会使电量找到通向另一金属片的路径,使电容器的电量中和,这就是放电

例如,在下面的电路中,一个电池组可以用来在电容器两端产生电势。这会使电容器两金属板上带上等量异号的电量,知道电容器不能容纳更多的电荷。一个和电容串联的LED和电容形成通路,电容器中储存的能量可以用来点亮LED。

capacitor charge/discharge example

计算电量,电压,电流

一个电容器的电容——有多少法拉——告诉你它们储存多少的电量。一个电容器的储存的电量取决于电容器两端的电压。电量,电容,电压的关系可以用以下方程来描述:

Q=CV

电容器的电量Q是电容值和电压V的乘积

电容器的电容值是一个已知常量。因此我们可以调成电压大小来增加或减小电容器的电量。更大的电压就有更多的电量,较小的电压电量就比较少。这个方程提供我们定义法拉的好方法。1F就是在1V电压的情况下容纳1C电量的能力。

计算电流

我们要深入探索电量、电压、电容的关系式,找到电容和电压是如何影响电流的,因为电流是电荷的流动速度。电容中电压和电流的关系的主要内容是:电容器的电流取决于电压增加或减少的速率。如果电容两端的电压迅速增加,就会产生带正号的电流。电压改变的速率小,电流也随之变小。如果电容器的电压稳定不变,就不会有电流。

(这条方程有点丑,因为有微分在里面。如果觉得困难,可以跳过这部分)这个方程是:

i=Cdv/dt

dV/dt这部分是电压对时间的导数,这等价于:在这一瞬间电压增加或减少的速率。如果电压是稳定的,那么导数的结果就是0,也就是电流也是0.这就是为什么两端带有稳定直流电压的电容器不能产生电流。


电容器的种类

电容器有不同的种类,每种都有其特点让它在电路的应用中不可代替。

在选择一个电容器时,可以参考这些特性:

  • 大小 – 通常指物理体积的大小和电容值的大小。电容器成为电路中最大的元件是很正常的。虽然它们可以非常小,但是更多的是比较大的电容器。
  • 最大电压 – 每个电容器的两端电压都有一个最大值。一些电容器可能是1.5V,其他可能是100V.超过最大电压可能会摧毁电容器。
  • 漏电 – 电容器不是完美的。每一个电容器都会有微弱的电荷流过电解质。这就是漏电。漏电现象是电容器的电能慢慢地跑光。
  • 自带电阻(ESR) – 通常指物理体积的大小和电容值的大小。电容器成为电路中最大的元件是很正常的。虽然它们可以非常小,但是更多的是比较大的电容器。
  • 公差 – 电容器的电容值不可能是精确的预想中的数字。每个电容器的电容值都会和名义上的值有差别,差别的多少取决于电容器的种类。实际的电容值与预想值之间会有1%到20%的偏差。

陶瓷电容

陶瓷电容是最常见的一种电容。它的名字来自于电解质的材料。

陶瓷电容通常在物理体积和电容值上都比较小。你很难找到一个大于10uF的陶瓷电容。一个表面安装型陶瓷电容通常封装成0402(0.4mm*0.2mm),0603(0.6mm*0.3mm)或0805.穿孔安装式陶瓷电容通常看起来像小小电灯泡,两端都有一条金属线引申出来。

Ceramic Capacitors

两个穿孔安装式电容器。一个22pF(左)一个0.1uF(右)。中间的是0603表面安装型0.1uF电容。

C和其它比较受欢迎的电容器相比,陶瓷电容式一个接近理想的电容(自带电阻和漏电都比较小),但是它们比较小的电容值可能是一个缺点。它们通常也是最不昂贵的一种选择。这些电容器同样适用于高频耦合和去耦。

铝电解电容和电解钽电容

电解式电容的好处在于它的体积通常比较小。如果你想找一个1uF到1mF之间的电容,最好去找电解电容。它们能适应比较大的电压,因为它们的最大电压值比较高。

电解铝电容是电容家族中最受欢迎的一员。它通常看起来像罐子,底部有两条导线。

Electrolytic caps

即可穿孔安装又可表面安装的电容。每一个都有阴极引脚。

很不幸运,电解电容通常是有极性的。它们有一个正极引脚——阳极,一个负极引脚——阴极。当在电容两端加上电压时,电容器阳极的电位一定要比阴极的电位高。电容器的阴极通常有一个“-”号标记符。阳极的引脚通常比阴极引脚长。如果将电容器反接在电路中(电位差相反),电容器就永久废掉了。一个爆炸后的电解电容看起来像经历了短路。

这些电容也因为漏电而臭名昭著——电流(nA级别)从一极流向另一极。这使电解电容在储存电能上不是那么理想。

超级电容

如果你想找一储存电能的电容器,超级电容是一个很好的选择。这些电容被独特地制造成具有法拉级别的电容值。

Supercapacitor

一个1F的超级电容器。超高的电容值,但是只能承受最大2.5V电压。这也是有极性的。

虽然超级电容能储存大量的电量,但是它不能承受太大的电压。一个10F的超级电容只能承受2.5V以内的电压。超过这个值就会摧毁它。超级电容通常串联在电路中,这样就可以适应一个比较大的电压(与之串联的元件承担了部分电压)。

超级电容的主要应用是充电和放电,就像它的竞争对手电池。虽然超级电容不能储存比同样大小电池多的电量,但是它放电速度更快,寿命更长。

其他内容

80%的电容器都是电解电容和陶瓷电容,超级电容只占2%。另一种比较流行的电容是薄膜电容,它的特点是自带电阻非常小,在有大电流时优点非常明显。

另外还有许多不太常见的电容器。可变电容器的容量有一个可调整的范围,这使它成为调谐电路中可变电阻的替选品。两根金属导线和PCB板之间可以形成电容器,因为它们中间被绝缘电解质隔离者。莱顿瓶(畜电器)——一个被导体填满包围的玻璃瓶——是电容器家族的老大。最后,磁通电容器(电感器和电容器的奇怪组合)是至关重要的。


串联和联电路中的电容器

就像电阻, 多个电容器可以在电路中串联或并联组成一个统一的电容器。然而,总电容的计算恰好和总电阻的计算想反。

并联电容

并联电路中电容器的总容量等于各电容容量之和。这和串联电阻的情况类似。

Capacitors in parallel add

例如,如果你有三个电容器,10uF,1uF和0.1uF,并联在电路中总容量就是11.1uF(10+1+0.1)。

串联电路中的电容器

就像将并联电路中的电阻加起来那样痛苦,串联电路中电容的相加也是那么难啃。N个串联电阻的总容量的倒数是各部分电阻容量的倒数之和。

Capacitors in series are the inverse of the sum of their inverses

如果电路中只有两个电容器,你可以用“积除以和”的方法去计算总容量:

Equation for 2 capacitors in series Ctot=C1*C2/(C1+C2)


应用举例

电容器应用范围很广泛。举几个例子:

退耦电容

你在大多数电路看到的电容都是用来退耦的。退耦电容用于高频消振,消除高频信号中的躁波。它们可以除去电源的电压波动,避免损坏脆弱的集成电路芯片。

退耦电容可以作为集成电路芯片的内置电源(就像电脑内部的不断续电源)。如果外置电源的电压突然下降,一个退耦电容可以提供补偿电压。它们通常被叫做旁路电容,可以在一定时间内充当电源。

退耦电容两端电压是5.5V或3.3V。用两个不同容量甚至是不同类型的电容器充当旁路电源并非罕见,因为一些电容器在滤除某个特定频率的躁波比较有优势。

Decoupling capacitor schematic

在这幅图中,三个退耦电容用于减少积分器供应电源电压的躁波。两个0.1uF的陶瓷电和一个10uF的钽电解电容被用于退耦。

这看起来像电源和地之间短路了,只有高频信号才能经过电容器通往地端。直流信号会直接传送到IC。另一个它们被叫做旁路电容的原因是高频信号绕过了芯片,直接从电容器通向地端。

当我们连接一个退耦电容时,它们通常尽量和芯片靠得近一些。离得越远,它们的效果越差。

ADXL345 breakout decoupling caps

图中是一个物理电路。小小的黑色集成芯片旁边有两个0.1uF的电容器和一个10uF的钽电解电容(高的,长方形的电容器)。

一个好的集成芯片,至少会有一个退耦电容。通常0.1uF是好的选择,1uF或10uF也可以。它们很便宜,可以保证芯片不会被突然过大的电压损坏。

电源滤波

二极管整流器 可以将交流电压转换成直流电压。但是一个单独的二极管没有办法将交流电转换成直流电,它需要电容器的帮助。将一个电容器并联到桥式整流器中,整流器的信号本来是这样:

Rectification pre-Cap

信号会被转换成这样:

Rectification post-cap

电容会抵抗电压的突然变化。当整流器的电压增加时,滤波电容会被充电。当整流器的电压有非常大的下降趋势时,电容器会慢慢放电,为电路提供能量。在整流器电压信号开始再次上升之前,电容器最好不要完全放电。这种电压的增减变化在一秒之内会发生许多次。

Power supply circuit

一个交流到直流的转换电路。滤波电容C1至关重要,因为它时电路的直流信号变得光滑。

如果你将交-直转换电路剖解,你一定可以至少找到一个大型的电容器。下图是9V的直流电压调整器的拆解图。看一看里面的每个电容器:

alt text

电容器的数量比你想象的要多。这里有四个看起来来像小罐子的电解电容,容量在47uF到1000uF之间。那个大的、长方形的黄色电容器是一个高电压的聚丙烯薄膜电容器,容量是0.1uF。蓝色圆盘状和绿色的小小那只都是陶瓷电容。

储电和供电

如果一个电容器储存了电能,那么很明显它的其中一个用途就是供电,就像电池那样。但问题是和电池相比,电容器的能量密度比较小,和相同大小的化学电池相比,它们储存的电量少一点(但也只是一点而已!)。

电容器的一个好处是它们寿命比电池的长,这使它们成为一种环境友好的选择。电容器还有一个本领,它的放电速度绝对比电池快,有时需要一些短促的但是爆发力强的能量时就需要它们了。照相机的闪光灯的电能就是来自电容器的(电容器的电能来自电池)。

电池还是电容?

电池 电容器
容量
能量密度
充、放电速度
寿命

 

信号滤波

滤波电容能将一定频段内的信号从总信号中去除。当只需要高频信号时,它可以将低频信号去除掉。它就像高频信号俱乐部的保镖。

滤波信号可以被用在各种信号接收设备中。收音机会利用电容器将不需要的频率去除。

另一个电容器的应用例子是扩音器里的分频电路,也就是将声音信号分成许多不同频段。一个串联的电容器会滤掉低频信号,剩下的高频信号就会到达这一对扩音器。在低通滤波电路里,高频信号会被并联电容器滤掉。

Crossover schematic

一个简单音箱分频电路。电容器阻拦了低频信号,电感器阻拦了高频信号。每一个扬声器都能接收到对应的信号。

降级

When working with capacitors, it’s important to design your circuits with capacitors that have a much higher tolerance than the potentially highest voltage spike in your system.

如果要使用电容器,电容器要有一个比电压最大值要大得多的耐受度。
这里有一个SparkFun的工程师Shawn的优秀视频,是关于当你降低电容器级别并使电压过大时,你的电容器会发生什么。你可以在这里了解更多本实验的内容。


资源和深入学习

现在是不是感觉自己像一个电容器专家呢。想持续学习电学基础知识?如果你已经准备好了,可以尝试阅读关于以下电子部件的文章:

你可能对以下文章感兴趣:

  • Battery Technologies(电池技术)
  • How to Power a Project(如何供电)
  • Electric Power(电能)

    cc

    原始文章采用CC BY-SA 4.0,您可以自由地:

    • 演绎 — 修改、转换或以本作品为基础进行创作
    • 在任何用途下,甚至商业目的。
    • 只要你遵守许可协议条款,许可人就无法收回你的这些权利。

    本文由翻译美国开源硬件厂商Sparkfun(火花快乐)的相关教程翻译,原始教程采用同样的CC BY-SA 4.0协议,为便于理解和方便读者学习使用,部分内容为适应国内使用场景稍有删改或整合,这些行为都是协议允许并鼓励的。

    原始文章及相关素材链接:

    https://www.sparkfun.com/search/results?term=DC+AC

如何使用面包板

简介

在学习如何搭建电路时,面包板是最基础的零件之一。在这篇教程,你将能学到一些关于面包板的知识:为什么什么它们叫面包板以及如何使用面包板。

A Breadboard

建议阅读

在学习面包板之前,你可能想要探索以下教程和概念:


历史

在上世纪60年代以前,如果你想搭建一个电路,你很有可能会用一种叫做绕线连接(wire-wrap)的技术。绕线连接是将金属导线环绕在导体柱的过程,被环绕的导体柱插在一块穿洞板上。就像你看到的下图,这种方法很快会变得复杂起来。虽然这种方法在今天仍然使用,但是已经有一种让电路测试更容易的方法————面包板。

wire-wrap circuit

绕线连接电路(图片来自维基百科用户Wilinaut)

名字的含义

当你在头脑里想象面包板这个词时,你的脑海里可能会浮现一大块木板,木板上有一块新鲜的烘焙面包。你的想象力不会偏离太远。

A literal breadboard

放在面包板上的面包

那么为什么这块用来建立电路的电子原件叫面包板呢?在很多年以前,电子产品又大又笨重,人们会收集他们老妈的面包板、少量的钉子和按钉,开始在板子上连接导线,为他们自己创建一个电路平台。

Circuit built on literal breadboard

一块“原汁原味”的面包板上的电路 (来自 mischka 的 literal breadboard tutorial)

从那以后,电子部件变小了很多,我们也想出更好的连接电路的方法,这让全世界妈妈们都很高兴,因为她们终于能拿回自己的面包板了。然而,我们无法摆脱这令人困惑的名字。技术上,这些依然是面包板,只不过它们是更加时尚的免焊面包板。


为什么我们使用面包板?

我们所说的电路面包板通常是指免焊面包板。这些都是制作临时电路和测试原型的最好元件,他们是绝对不需要焊接的。

测试原型,一种通过创建初始模型来测试想法的过程,而这个模型由其他形式开发或复制,这是面包板最广泛的用途。如果你不确定一个电路在给定参数的设置下会如何反应,建立一个测试原型去检测它是最好的。

对于那些电子电路的入门者,面包板是一个很好的开始。面包板的优美之处在于,它能同时容纳最简单和最复杂的电路。正如你会在文章的后面看到的那样,如果你的电路不能被当前的面包板所容纳,你能够拼接其他板子来适应所有大小和复杂度不同的电路。

另外一个普遍的用途是测试新模块,比如集成电路(ICs)。当你尝试掌握某个模块如何工作并且需要多次重新布线,你肯定不想每次都焊接电路接口。

正如所提及的,你不总是想建立一个永久电路。当尝试复制一个客户遇到的问题时,SparkFun的技术支持团队通常会用面包板去建立、测试以及分析电路。他们连接客户拥有的那部分电路,一旦他们建立起电路并发现问题,他们将每一部分拆开,放在一旁,为做一些故障排除做准备。

A circuit built on a solderless breadboard

一个建立在免焊面包板上的电路


解剖面包板

面包板主要特征

面包板主要特征(图片内容:接线柱,双列直插式封装支持,电源轨,终端带)

探索面包板如何工作的最好方法是将它解体,看看它里面是什么。使用一个小型面包板更容易看清楚它们是如何工作的的。

终端带

这里有一块面包板,它后面的黏贴纸被撕去了。你可以看到很多在底部的平行金属条。

SparkFun Mini Breadboard

一块SparkFun的迷你面包板正面(左)以及拆除了黏合板的背面(右)

金属条的顶部有一个小夹子。这些夹子能将一条导线或某个部件的引脚固定在塑料洞上,使它们放置在适当的位置上。

Clip

从面包板移除出来的导体金属条。

一旦插入,这个部件就和该行的其它地方电气相连。这是因为金属条是可导的,能够让电流通过金属条的任何地点。

你应该注意到这个金属条上只有五个夹子。对于大多数面包板来说这是典型的设置。因此,你最多能有五个部件连接在面包板的同一行上。每一行有十个洞,但是为什么你只能够连接最多五个部件呢?你一定同时注意到互相平行的行被一个在面包板中间的凹槽隔离了。这条沟壑将一行分了开来,使它们断开。待会我们会讨论这样设置的目的,但是现在,你只需要知道每一边的行并不与对方相连,让你只能在每一边上使用五个部件。

LED in Breadboard

一个插进面包板的发光二极管。请注意,二极管的两只引脚分别处于分隔带的两边。这阻止了二极管的短路连接。

电源轨

我们已经了解过面包板如何建立连接,接下来我们看一个更大、更典型的面包板。在平行的行的两侧,面包板通常有电源轨,它们处于面包板的两侧。

Front and back, medium breadboard with power rails exposed

一个中型面包板,它后面的黏合板被移除了,呈现处电源轨。

这些金属电源轨与垂直的金属条区别开来,但是它们是贯通的。在建立电路时,你应当在许多地方需要电源。电源轨让你在需要时随时可以提供电源。为了标识正极或负极,它们通常被标上红色的“+”和蓝色的“-”。

有一点非常重要:每一侧的电源轨是不相连的。因此,如果你想两侧使用同一个电源,你需要用一些跳线连接两侧。记住,标志只是一种参考。没有规则规定你只能将电源正极插进“+”轨将负极插入“-”轨,虽然这是让所有事情保持次序的良好方法。

Jumper wires connecting both sides of the power rails

两条用于连接两侧电源轨的跳线,总是正极轨和正极轨相连,负极轨和负极轨相连。

双列直插式封装(DIP)支持

先前我们提及了将面包板分成两侧的塑料带。这条塑料带有一个非常重要的目的。许多集成电路,通常指ICs或简单的芯片,被特定地制造成能够配合面包板。为了尽量减少它们在面包板上占据的空间,它们使用双列直插式封装形式(DIP)。

alt text

两个DIP集成电路,LM358(上),一个非常普遍的运算放大器,以及更加流行的ATmega328微控制器(下)

行和列

你应该注意到面包板上大多数的行和列都标有数字或字母。除了指导你建立电路,这些标志别无它用。电路很快就建立起来了,但是只要有任何一个引脚连接错误,就能使整个电路出错或不工作。如果你知道行号,你就能很轻易地将引脚接在正确的位置,这比起目测法优越太多了。

使用说明手册也很有用,比如包含在SparkFun创意包里的册子。许多书籍和向导都有帮助你建立电路的电路图解。请记住,你所建立的电路不一定要和书本上的一模一样。事实上,就连看起来相似也不需要。只要电路能够正确连接,你能按照你喜欢的方式建立电路。

接线柱

一些面包板的平台上连接着接线柱。这些接线柱允许你连接所有类型的电源到你的面包板上。在接下来的章节,我们会详细讲述这一内容。

其他特点

在建立电路时,你并没有被限制在一个面包板上。一些电路会需要更大的空间。大多数面包板的侧边会有凸起的方块和凹进去的槽,甚至有一些在板的顶部和底部。这些特点允许你连接更多的面包板载一起,以形成不限制大小的测试板面。

Four SparkFun mini breadboards connected togethe

四个SparkFun迷你面包板拼接在一起。

一些面包板的背面会有黏合板,让不同的板子能够连接在一起。如果您想将面包板连接到机箱或其他工程机箱的内部,这些功能将派上用场。

*一些更大的面包板通常会将面包板的电源轨的一半与另一半隔开。这对于你为电路提供不同的电压(比如3.3V或5V)是很方便的。 然而,如果你不知道电源轨是否被隔离,在构建电路时很容易出问题。用万用表来检测电源轨的连续性是一个不错的主意。

为面包板提供电源

当你需要为你的面包板提供电源时,有以下几种选择。

借用其他电源

如果你正在使用一个Arduino开发板,那么你可以轻易地从板子的母头得到电源。Arduino有多个电源和地引脚,你可以将它们和面包板的电源轨或其他行相连。

Sharing power with an Arduino

Arduino上的地引脚与迷你面包板上的某行相连。现在,与这一行连接的任何引脚等价于与地相连。

Arduino通常通过USB线与电脑连接或用一个外部电源得到电源。

接线柱

正如在前面所提到的,一些面包板具有接线柱,能够连接外部电源。

要使用接线柱的第一步是利用跳线将它们和面包板连接。虽然看起来接线柱和面包板连接了,但是其实并没有。正如我们所了解的,面包板是规范化生产的,所以接线柱也应该没什么不同。

接下来,我们要用导线将接线柱和面包板连接起来。为此,将接线柱拧开,直到你能完全看到柱子上的穿孔,将金属线放在孔中,拧紧接线柱。

Conneting wire to the binding posts

通常地,你只需要从接线柱连接一根电源线和地线。如果你需要使用内部电源,你可以选择第三个柱子。

现在,你的接线柱已经和面包板连接了,但是还没有电源。你可以用几种方法将电送到接线柱,从而给面包板上电。

工作台电源

许多电子实验室具备能够提供范围很广的电压的工作台电源。使用香蕉接头能将电从供应处送到接线柱。

A breadboard being powered through the binding posts from banana cables

香蕉线与接线柱连接,为面包板供电。

另外,你还可以使用鳄鱼夹,IC挂钩,或其他有香蕉接头的电线将你的面包板和几个不同的电源相连接。

A breadboard being powered through the binding posts with a barrel jack

两根导线焊接在一个接口上。如果你的面包板没有接线柱,你可以直接将接口的两根导线连到面包板上。

面包板电源

其他为你的面包板供电的方法是面包板电源。SparkFun提供一些模块,让你能够直接地为面包板提供电源。一些能够让你使用USB从电脑将电送到面包板。大多数模块都能自动调整电压以适应你的电路要求,这让你有一个比较宽的电压选择范围。

A SparkFun USB Breadboard Power Supply

一SparkFun的USB电源电源模块,能使面包板连接上3.3V到5V的电源。


构建第一个面包板电路

现在,我们已经知道了面包板的内部结构以及如何提供电源。接下来我们要干什么呢?我们将要建立一个简单的电路。

需要的物资

这里有一个本电路的部分物资清单。如果你有其他电路元件,你可以尝试自由地改动电路。记住,并不是只有唯一的一种方式建立给定的电路。大部分都有许多不同的方法去建立同一个电路。

此物料清单是假定你没有任何的工具和元件并且想要数量可观的物资。举个例子,你可能只需要一个发光二极管,但是我们列出了20个的数量。你可能不需要那么多数量,但是你可能会一直玩这个电路,当你需要的时候会特别方便。如果你不想要那么多数量的物资,你可以检查产品页底部一个叫“相关产品”的部分,然后你就能找到最少需要的数量。还有,面包板电源没有线头,如果你知道怎样焊接并有工具,你自己焊接线头吧。如果没有,就请在物料清单加上焊接好的接线头。

建立电路

Picture of Circuit

一个简单的电路,包括一个按钮,一个发光二极管,一个电阻。用两种方式建立。

你看到的红色的面包板电源,为面包板提供了5V的电源,而本身与9V的电源连接。

电路设计:

  • 一根导线将5V的电源轨与正极连接,发光二极管的阳脚与电源轨连接。
  • LED的阴极与330欧姆的电阻连接。
  • 电阻与一个按钮连接。
  • 按钮与地端相连,当按下按钮,电路为通路,有电流产生,LED发光。

电路示意图

在另一篇导文理我们介绍了如何阅读电路示意图。然而对于建立电路来说这是非常重要的,我们在这里也会稍微提及如何阅读电路示意图。

电路示意图是一种能够让全世界的人明白并建立电路的通用图解。每一种电路元件都有独一无二的电路符号。这些符号组成大量的电路图。你能徒手将它们画出来。如果你想深入地了解电子电路的建立,学习如何阅读电路图是非常重要的一步。

在这里,我们有一张关于上述电路的电路图。图中箭头上方指明这是5V的电源,然后线路连接到LED(一个三角形和一根线,并发射出箭头)。LED然后连接到了电阻,紧接着是开关,也就是按钮。最后按钮与地相连(底下平行的直线)。

Schematic

这看起来像一个有趣的画电路图的方法,但是即使是这样基础过程也是人们探索几十年的结果。电路图使不同国家、不同语言的人能建立任何一个人建立的电路。如前面说提到的,你可以有不同的方法建立一个电路,但是某些元件的连接是唯一确定的。从这个电路图中发散你的思维,你可以建立一个完全不一样的电路。

熟能生巧

最后一点要告诉你的知识是,你有无数的资源和方法建立一个电路而完全不适用面包板。一个非常普遍的方法就是使用SparkFun的 Fritzing。Fritzing是一个让你能在虚拟面包板上建立电路的开放平台。它能为你建立的电路提供所有的电路图。在这里我们能看到用Fritzing建立的同样的电路。

Fritzing Diagram

绿色的线表示处于不同行和列上的元件是相连的。


购买电路板

一个极好的开始是购买一块面包板作为工具包的一部分。 SparkFun的发明者工具包 包含所有能让你完成16种不同的路的材料/我们同时列举了一些少量的基础的不同大小的面包板,可能对你的项目有作用。

我们的推荐


资源和深入学习

希望你能较好地理解什么事面包板以及它如何工作。现在真正有趣的事情开始了。我们准备用面包板建立测试电路。这里有一些对你有帮助的教程,是关于一些电子元件和建立电路的知识的。

你可能感兴趣的文章:

如果你想提升你的电路能力,可以都这些文章:

集成电路

简介

集成电路是现代电子科学的重要基础。它们是绝大部分电路的心脏和大脑。它们是你能在大部分板子上找到的普遍存在的黑色芯片。除非是你另类疯狂的模拟电路鬼才,否则你最好在你的电路项目上准备至少一块集成电路,因此从内到外理解集成电路是非常重要的。

Example of ICs on a PCB

集成电路就是小块的黑色芯片,它们完全嵌入了电路中。

一个集成电路是多种电路元件的集合,通常包括电阻、晶体管、电容器等等,这些元件连接在一起为了完成共同的目的。它们具有各种各样的形式:单电路逻辑门、运算放大器、555定时器、电压控制器、舵机控制器、微控制器、微处理器、FPGA(现场可编程门阵列),诸如此类。

本导文所涉及的:

  • 集成电路的制造
  • 常用IC封装
  • 识别IC芯片
  • IC芯片的基本用途

建议阅读

集成电路的里面

当我们思考集成电路时,我们对这块小小的黑色芯片是什么产生了疑问。那么在这微型黑盒子里到底有什么呢?

Internal view of an IC

将芯片的顶部移除后,看到的集成电路的内容。

集成电路真正的“血肉”是布局复杂的半导体晶片、铜线以及其他金属,这些金属内部连接到晶体管、电阻或其他电路元件。这些晶元的切片和结合形式叫做裸片

Overview of internal IC

集成电路裸片概览

集成电路本来就很细小,组成它的半导体晶元以及铜线的布置是更加的细微。电路元件之间的连接是复杂精细的。下图是上面提及的裸片的一个镜头:

Microscopic view of an IC

一个集成芯片里面是尽可能小的电路形式,但也因为太小了而不能通过焊接来连接电路。为了让我们连接集成电路的工作变得简单,我们封装了裸片。封装集成电路就是让微小精妙的裸片放进我们熟悉的芯片里。

IC封装

所谓包装就是将集成电路裸片封装好并将它的功能线路伸展出来,这样我们就能更容易地连接它。管芯上的每个外部连接通过一小段导线连接到封装上的焊盘或引脚。引脚是芯片上导出来的电线,和电路中的其他部分连接。这对我们来说是至关重要的,因为它们是接下来要与电路中其余元件和电线相连的。
封装形式有许多种,每一种都有独特的风格、装配模式、引脚数量。

Package variety chart

两极标志和引脚序号

所有集成芯片都是具有两极的,所有引脚的位置和功能都是独一无二的。这意味着芯片的包装必须能用一些方法将不同芯片区别开来。大多数芯片用一个凹槽(Notch)或一个点(Dot)来表明哪个引脚是第一引脚。(有些两者都用,有些只用其中一者)

Package with notch/dot labeled

一旦你知道哪个是第一引脚,那么其余的引脚你按着逆时针的顺序就能给它们编号了。

DIP pin numbering

安装方式

一个检查封装类型的方法是知道芯片如何装配在电路板。所有封装大致可以分为两种装配形式:PTH(through-hole,打孔安装技术)或SMT(surface-mount,表面安装技术)。PTH封装的芯片通常大一点,而且比较容易操作。它们被设计成一侧卡在主板上,另一侧与主板焊接相连。SMT封装的芯片有大有小。它们全被设置成安放在主板的一侧,然后与主板表面焊接。SMD封装的芯片引脚会被引出,引出的引脚与芯片边沿垂直,或者在芯片的底部排成阵列。采用这种装配技术的芯片一点都不利于手工操作。它们通常需要在安装过程采用一些特别工具。

DIP(双列直插式封装)

DIP,“dual in-line package”的的缩写,在你最常遇见的采用打孔安装技术的芯片中,DIP是比较普遍的封装形式。这些长方形的黑色塑料芯片在两边引出了两行垂直的引脚。

DIP package example

28引脚的ATmega328是最流行的DIP封装的微控制器之一(感谢Arduino!)

DIP芯片上的每一个引脚都间隔2.54mm,这是标准而完美的间隔,可以很方便地安装面包板或其他测试板上。DIP芯片的复杂度取决于引脚的数量,引脚数量从4到64都有。

DIP芯片两行之间的宽度恰好让它横跨面板板的中间隔离带。每一只引脚都分配到了面包板的一行,并且可以保证的是引脚两两之间并不会短路。

DIP chips on a breadboard.

(箭头指向面包板的凹槽)

DIP芯片除了可以在面包板中使用,它们一样可以焊接PCB上。他们被插进板子的一侧,另一侧焊接在板子上。有时候,除了直接将芯片焊接在电路板上,将芯片插在插座上也是一个不错的主意。使用插座让DIP芯片易于安装和移除。

alt text

标准的DIP插座(上),零插拔力插座(ZIF)(下)

SMD或SMT封装

如今有花样繁多的SMD封装类型。为了能使用一个SMD封装的芯片,你需要有一个为此芯片定制的印刷电路板(PCB)。PCB具有铜焊接的匹配图案。

Small-Outline (SOP)

小外形封装集成电路(SOIC)是DIP这种采用SMT技术的表亲。你将DIP芯片的引脚全部弯曲,并将它们缩小,就能得到SOIC。用稳定的手和敏锐的眼睛,这些封装是手工焊接中最简单的SMD部件之一。SOIC的引脚两两间隔1.27mm。

SSOP(shrink small-outline package,缩小型SOP)
SOIC的更小的版本。另外还有相似封装的芯片,包括TSOP(薄小外形封装)和TSSOP(微薄小外形封装)。

Example of SSOP mounted, quarter added for size-comparison

一个16通道的多路复用器,被封装成24引脚的SSOP。装配在板子的中间。(旁边的硬币用来对比大小)。

许多面向单任务的芯片都采用SOIC或SSOP形式,比如MAX232或多路复用器。

塑料方形扁平式封装(Quad Flat Package,QFP)

QFP在芯片的四个边沿上都引出引脚。QFP芯片一般每边都有8个引脚(共32个),有时会达到超过300个引脚。QFP的引脚间隔0.4mm到1mm。QFP其它更小的变形包括TQFP(thin QFP)、VQFP(very thin QFP)和LQFP(low-profile QFP)。

TQFP example package

TQFP封装的ATmega32U4芯片,共有44引脚,每边11个。

如果你将QFP芯片的引脚磨掉,你就会得到一个看起来像QFN(quad-flat no-leads,无引脚方形扁平式封装)的芯片。QFN芯片的连接靠那些芯片底部边沿暴露的薄薄的金属片。有时候它们暴露在芯片的底部和侧面,一些芯片仅仅在底部有这些金属片。

Example of QFN package

QFN封装的MPU-6050 IMU传感器,在底部的边缘有24个引脚。

Thin (TQFN), very thin (VQFN), and micro-lead (MLF) packages are smaller variations of the standard QFN package. There are even dual no-lead (DFN) and thin-dual no-lead (TDFN) packages, which have pins on just two of the sides.

TQFN、VQFN、MLF是标准QFN的小型分支。甚至还有DFN和TDFN,这些封装形式在底部只有两行有引脚。
许多微处理器、传感器以及其他现代集成电路都采用QFP和QFN的封装形式。受欢迎的ATmega328微处理器通常采用TQFP和QFN封装形式,而像MPU-6050这样的加速度计/陀螺仪采用更微小的QFN封装形式。

BGA(Ball Grid Array,球栅栏阵列封装)

真正高级的集成电路芯片都是采用BGA封装的。这种封装技术复杂精细到令人难以相信,焊珠在芯片底部排成二维网格阵列。有时候这些焊珠直接和裸片连接。

Example of BGA package

BGA封装技术通常被用于高级微处理器,就像pcDuino或Raspberry Pi。

如果你能够手工焊接一个BGA芯片,你大可以自认为是个老练的焊接师。通常,将BGA芯片装配在PCB板上需要一些自动化的程序。

常用集成电路芯片

集成电路在电学里非常流行,很难全方位讲解。下面是一些你在电子教育中会遇到的常见的集成电路芯片。

逻辑门,定时器,反转电阻等等

逻辑门,作为集成电路芯片的基石,通常本身就能封装成集成电路。一个封装好的逻辑门集成电路芯片通常含有一些门,比如这个四输入与门:

Logic gate pinout

逻辑门在集成电路里可以自由连接,形成定时器、计数器、锁存器、反转电阻、以及其他基础的逻辑电路。大多数这种简单的电路都以DIP、SOIC或SSOP封装。

微控制器,微处理器,FPGA等等

微控制器、微处理器以及FPGA(Fied Programmable Gate Array,现场可编程门阵列)等等这些将成千上万甚至上亿的晶体管封装在一个芯片里的,都是集成电路。这些组件在功能性、复杂度以及大小上都有宽广的范围。从一个8位的微控制器(例如Arduino上的ATmega328)到复杂的在你电脑里组织活动的64位多核微处理器,都是集成电路芯片。

这些组件通常是一个电路里最大的集成电路。简单的微控制器从DIP到QFN封装的都有,引脚数量也在8到一百多之间。随着这些组件变得越来越复杂,封装技术也愈加复杂了。FPGA以及复杂的微处理器至多有上千个引脚,通常采用更高级的QFN、LGA或BGA封装技术。

传感器

现代数字传感器,就如温度传感器、加速度计以及陀螺仪控制器都封装成了集成电路。

这些集成电路芯片通常比微控制器小,至于在电路板上拥有3到20个引脚数量的此类芯片已经是稀有物,而现代化的部件通常爱用QFP、QFN甚至是BGA封装形式。

资源与深入学习

集成电路就是将每一个电路都集中起来。现在你已经熟悉了集成电路芯片,为什么不涉猎以下这些相关概念的文章呢:

  • PCB基础 -无论如何集成电路芯片都要连接到一个电路中。通常,我们会将集成电路焊接到PCB板上。仔细阅读这篇文章,你会了解大到更多关于这种绿色的小小的电路板。
  • 串口通信, SPI接口, 和 I2C – 所有这三者都是集成电路芯片之间的通信协议。

你也可以搜索这些技术文章。这些都是入门级电子爱好者应该学习的有用的技术
如何焊接-除非你在面包板上使用芯片,否则你很可能需要焊接它们。

  • 如何焊接 – 除非你在面包板上使用芯片,否则你很可能需要焊接它们。
  • 设计PCB板-如果你非常熟悉PCB板,为什么不尝试制造一个。这篇文章解释了如何使用一个免费的软件Eagle设计一个PCB板。
  • 设计PCB封装 – 本教程将引导您使用Eagle CAD为IC设计PCB封装的步骤。