1 实用光敏电阻—构建LDR光敏电阻电路实际操作指南-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实用光敏电阻—构建LDR光敏电阻电路实际操作指南

bigbangboom 来源:DevicePlus 作者:DevicePlus 2023-03-10 18:21 次阅读

这篇文章来源于DevicePlus.com英语网站的翻译稿。目录
1 实用光敏电阻
1.1 什么是LDR/光敏电阻?
1.2 您将要学习的内容

2 示例电路
2.1 vwin 黑暗缓解器
2.1.1 BOM
2.1.2 开始构建!
2.2 数字黑暗缓解器
2.2.1 BOM
2.2.2 开始构建!

1 实用光敏电阻
1.1 什么是光敏电阻(LDR)?

LDR依赖于光电导性,就本项目来说,光电导性可以概括光敏电阻受到光线照射时具有低电阻值,没有受到光线照射时具有高电阻值。
在这两个临界点之间,有很大的空间来感知LDR所受到的实际光照强度。我使用的型号在完全无光的条件下电阻仅为~500千欧,在强烈的中午阳光下为~100欧姆。LDR的特点是其本身的温度会影响环境的温度,这导致光敏电阻不适合用于高精度光测量,但是还是可以用于很多应用程序中。
此外,请注意光敏电阻对光线变化的响应时间为~10ms,这也许会成为您应用中的影响因素。
另一个值得注意的事情是,LDR在较暗的环境下具有很高的电阻值,这种情况下您无法用手握住它们进行准确测量。您自身身体的电阻值相当高,约为2-3 兆欧,如果您用一只手握住一个万用表探头,触摸一根导线,同时与另外一个导线上的探头有皮肤接触,LDR将与您的身体并联连接。如果LDR会从手中滑脱,请使用灵活的钳形夹具。
poYBAGPy01yAVHztAADu02BAu0U547.jpg
在示例电路部分,我将演示路灯驱动的原理(在集中控制出现之前),以及许多其他需要感知光照强度的系统。需要提前说明的一点是,在一个复杂电路中,LDR无法只依靠自身来发挥作用,经常需要使用分压器,以在驱动FET和读取光照强度(例如使用了Arduino)时提供更好的粒度。分压器由两个串联的电阻组成。在这两个电阻之间,我们会测量出一个有用的电压值。尝试测量R1和R2之间的点,其中R1是串联电路中的第一个电阻,R2是第二个电阻。使用以下公式:


  V_out = V_in * ( R2 / ( R1 + R2 ) )
For example:
  V_out = 5 * ( 330 / ( 1000 + 330 ) ) = 1.24V

电路图如下:
pYYBAGPy016AGI3nAAAkIO_-Kfc326.jpg
实际上,如果您向该分压器输入5V,并测量从R1(1000欧姆)和R2(330欧姆)之间的点到接地点之间的点位,您将在万用表上读到~1.24V。
更有趣的是,如果R1像LDR那样在不同光照条件下具有可变电阻,并且R2是一个10千欧的电位计,那么您可以对分压器的输出电压进行微调,从而使输出电压在FET栅极/BJT基极或微控制器ADC的耐受电压范围内,并将保持足够的分辨率来确定LDR上的光照强度。
这有时候非常有用,比如使用耐压为1V的ESP8266 ADC的时候。基于atmega328p的Arduinos耐压不超过5V,而基于atmega168的Arduinos耐压不超过3.3V。如果您想通过Arduino 读取一个12V的信号,请使用分压器。
请注意,分压器不适合用于负载,仅可用于信号控制和测量。过大的负载将会对分压器产生影响并使电阻升温,好的方法是使用稳压器或降压转换器来降压,从而为负载提供稳定的电压。
红外Raspberry Pi NoIR相机模块使用了一个简单的分压器电路。它仅在环境光照强度达到一定值时才会打开其红外LED。您需要一个P沟道MOSFET或PNP晶体管以一种尽可能简单的方式来使用它。
实际应用中,您只需要知道P沟道MOSFET或PNP晶体管在其栅极或基极为高电平时会关闭就可以了。高电平的电压值是可变的,但是在Arduinos上,通常施加5V或3V的电压就足以断开电路以及中断电子流动了。当拉至低电平时(0V),P沟道MOSFET或PNP晶体管会接通电路,电子可以流动。通常会需要使用一个上拉电阻来防止此类晶体管一直导通!

1.2 您将要学习的内容

在第2节中,您将学习如何构建模拟LDR电路以及数字LDR电路。2.1中的模拟LDR电路可以被构建为一个插件硬件模块,来对现有硬件的行为进行修改(将会是很小幅度的修改),并且可以很容易地驱动继电器或其他类似的部件,而2.2中的电路和代码可以用作您使用Arduino创建的任何类型电路的模板。后者仅可以通过一个分压器读取LDR,但是可以轻松实现扩展。一个广泛使用的电路是部署太阳能电池板之前使用的光记录器,您可以在其中构建一个带有microSD的电池供电Arduino,设置为在特定位置以及特定角度记录光照强度。
对于下面的电路,虽然P 沟道MOSFET使用起来会更简洁,但是我们会使用PNP晶体管。需要注意的是,在实际应用中,虽然MOSFET消耗的电流要少得多,而且开关取决于所提供的电压,而非电流,但是关键性的区别在于PNP会对流向其基极的电流作出响应。
这意味着必须始终有一个限流电阻与PNP基极串联,否则它将会被烧毁。在使用Arduino的情况下,具有5V的数字引脚输出,那么一个220欧姆的电阻就足够了(5V / 220R = ~23mA),或者,如果您想更保险一点的话,可以使用一个270欧姆的电阻(5V/270R = ~18mA)。通常,您只能从一个Arduino(atmega328p 以及atmega168)获取~20mA电流,虽然获取~40mA的情况也并不少见,但是这样会大大缩短电路板的寿命。建议不要这样做。
除了这些技术层面的特点,LDR电路还可以以低成本、易操作的方式部署在几乎所有电路中以控制其行为。在以下内容中,为了延长电池寿命,对新型LED灯(3个 LR44 1.5V电池、一个LED、一个电阻和一个开关)进行修改。可以通过电位计调节光敏度,同时LDR放置于面对窗户的位置。
poYBAGPy02KAaoCHAACtN-KDRug267.jpg
pYYBAGPy02SAerUlAACxDFj7aVY521.jpg
还可以使用LDR为太阳能电池板构建简单的导向系统,来使其能够尽可能垂直于太阳光线(电池板在90°的角度上可以产生最大功率)。
为了实现这一点,可以在单轴和双轴太阳能追踪机器人的交叉配置中使用两个或四个LDR。

请参阅此视频获取视觉速成课程。
这里确实需要一个带有ADC的微控制器,虽然它是从面板获取所有可用功率的可靠方法,但是代价是有时会需要几个步进电机微步。在其它时间,微控制器会处于休眠状态。可以试试能够在此类中等复杂的电路中实现电机完美控制的A4988电机驱动器

2 示例电路

当LDR受到~400nm至~600nm范围内的光照射时,它的电阻会大大降低,而在没有光照的情况下,它的电阻会变得非常高,我们甚至可以认为是不导电的。当然,它仍然是导电的,但是只能流通5V / 1000000R = 1uA的电流,也就是1兆欧电阻时是1微安。这个电流值太小了,以至于需要一个运算放大器才能对该电流加以利用。如果您不熟悉欧姆定律,请阅读本指南。
观察LED手电筒(非全光谱光源)光照下以及遮蔽该光照下的电阻差异。
pYYBAGPy02eARhdnAAE5xRT_1FA553.jpg
poYBAGPy02qAPancAAE3pyRj3t4756.jpg

2.1 模拟黑暗缓解器

poYBAGPy026AEngsAAH6F2pIjVI769.jpg
pYYBAGPy03KAehnkAAIGLDQJ4hg059.jpg
poYBAGPy03aASeKBAADme7YfnAs986.jpg

2.1.1 BOM

您将需要以下部件:

1x BC557 PNP 晶体管 https://www.newark.com/multicomp/bc557b/bipolar-bjt-single-transistor/dp/04X5933
4x ROHM SLR343BC4TT32 3mm LEDs https://www.avnet.com/shop/us/products/rohm/slr343bc4tt32-3074457345627700657?CMP=EMA_ECIA_inventoryfeed_VSE?aka_re=1
10 千欧电位计 https://www.newark.com/bourns/3296w-1-103lf/pot-trimmer-10k-25turn-10/dp/39K2049
4x 330欧姆电阻 https://www.newark.com/multicomp/mccfr0w4j0331a50/carbon-film-resistor-330-ohm-250mw/dp/58K5042
面包板 https://www.newark.com/multicomp/mcbb830/breadboard-solderless-abs/dp/99W1760
跳线 https://www.newark.com/adafruit/758/kit-contents/dp/88W2570
LDR https://www.newark.com/lprs/n5ac501085/ldr-5mohm-50mw-ng-series/dp/14J5050

2.1.2 开始构建!

如图所示,将所有部件连接起来。
四个ROHM SLR343BC4TT32 3mm LED使用LDR和电位计进行控制,电位计依次切换BC557 PNP晶体管。因为它不依赖于任何数字设备,所以具有小尺寸、易于实施的特点,您可以将其很轻松地安装在诸如您花园或车库的灯光系统这样的电路中。
将一个220欧姆电阻与BC557基极串联的电气原理是为了防止在10千欧电位计调低到接近0欧,而您的LDR具有超低电阻值时烧坏您的晶体管。这是可以省略的。当LDR的头部受到正常强度的光线照射时,LED会打开。
将电路连接到面包板上,将10千欧电位计调整到所需的灵敏度。把LDR暴露在不同强度的光照下,直到您满意为止。
请注意负载的位置。在NPN晶体管上,负载通常与集电极串联,而在N沟道MOSFET上,负载通常与漏极串联。PNP和N沟道MOSFET的这些极性是相反的,在上面的电路图中,负载在发射极一侧,集电极直接连接到了5V上。
在过去,这种电路用于路灯驱动,而现在也完全没有过时。也就是说,您可以将其用作继电器驱动电路,并且可以替换掉LED,使用5V继电器来启用更大的负载,例如交流电灯或者灭虫器。夏天的时候,会飞的咬人虫子会经常困扰你。可以使用这种灭虫器来对付它们:这就是完美的用于消灭蚊虫的“Hello World”电路!

2.2 数字黑暗缓解器

虽然上述电路是很有用的,但是您还是应该学习使用ADC(数模转换器)来读取光照强度。在本项目中,我们使用Arduino Uno或Nano。

2.2.1 BOM

您将会需要以下部件:

Arduino Uno 或 Arduino Nano https://store.arduino.cc/arduino-uno-rev3
https://store.arduino.cc/arduino-nano
10千欧电位计 https://www.newark.com/bourns/3296w-1-103lf/pot-trimmer-10k-25turn-10/dp/39K2049
LDR https://www.newark.com/lprs/n5ac501085/ldr-5mohm-50mw-ng-series/dp/14J5050
面包板 https://www.newark.com/multicomp/mcbb830/breadboard-solderless-abs/dp/99W1760
跳线 https://www.newark.com/adafruit/758/kit-contents/dp/88W2570

2.2.2 开始构建!

将10千欧电位计和LDR连接到您的Arduino Uno 或 Nano,形成一个分压器,方法如下:
poYBAGPy03mANg-rAAEtJ2taeNg411.jpg
然后,在此处下载最新的Arduino IDE,并按照适用于您系统的相关说明进行操作,在安装Arduino Desktop IDE下面的章节。
Arduino IDE不在本教程范围内,您只需要按下CTRL+U组合键进行上传,按下CTRL+SHIFT+M组合键查看串行输出即可。
请将以下内容粘贴到一个新草图中,并将其另存为LDR_analogRead.ino。然后上传草图,并打开您的串行监视器。


void setup( void ) {
   Serial.begin( 9600 ) ;
   // Declaring this an input is
   // only to keep
   // track of pin usage in setup().
   pinMode( A0, INPUT ) ;
}
void loop( void ) {
  delay( 100 ) ;
  //Serial.println( F( "[!] Looping" ) ) ;
}
void serialEvent( void ) {
  Serial.print(
    F( "[!] analogRead( A0 ) => " ) ) ;
  Serial.println( analogRead( A0 ) ) ;
  // Flush the Serial buffer ...
  while ( Serial.available() )
    Serial.read() ;
}

在串行监视器中,发送一些随机字符,对于每次“发送”,您都会看到类似以下内容的输出:


[!] analogRead( A0 ) => 607
[!] analogRead( A0 ) => 610
[!] analogRead( A0 ) => 604
[!] analogRead( A0 ) => 610
[!] analogRead( A0 ) => 597

我们在这里很少使用loop()函数,因为serialEvent()函数效率更高。只有在连接后按下一个键(任意键)才会有串口输出。这可以防止调试输出使您的Arduino工作停滞,因为除非您首先向Arduino发送一些数据,否则任何数据都不会通过串行端口输出。
在这个小程序中,Arduino将读取A0引脚上的电压,分辨率为10位,在0到1023范围内产生1024(2**10)个可能值。每一个值对应于一个0到5V之间的电压。每一步约为~0.0048V,因此读数为512时电压为~2.46V。
现在您已经学会了如何使用LDR,以及一些关于晶体管和Arduino的知识,尝试将光感测功能添加到现有的电路中,或者从头开始构建您自己的电路。
去尝试获取驾驭光明和黑暗的力量吧!

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 光敏电阻
    +关注

    关注

    4

    文章

    293

    浏览量

    48971
  • LDR
    LDR
    +关注

    关注

    0

    文章

    99

    浏览量

    7585
收藏 人收藏

    评论

    相关推荐

    用光敏电阻(LDR)晶体管的光控开关电路

    用光敏电阻(LDR)的光控开关电路
    发表于 08-15 14:09 2276次阅读
    采<b class='flag-5'>用光敏电阻</b>(<b class='flag-5'>LDR</b>)晶体管的光控开关<b class='flag-5'>电路</b>

    光敏电阻开关电路

    光敏电阻开关电路:利用功率MOS场效应晶体管可以作功率开关,开关的敏感元件可以采用光敏电阻LDR
    发表于 10-15 14:56 1w次阅读
    <b class='flag-5'>光敏电阻</b>开关<b class='flag-5'>电路</b>

    用光敏电阻参数

    用光敏电阻参数  规格 型号
    发表于 11-28 10:47 4854次阅读

    光敏电阻的特性和光敏电阻的应用

    光敏电阻
    发表于 08-13 18:33 198次下载

    用光敏电阻的规格参数

    用光敏电阻的规格参数: 规格
    发表于 08-10 09:06 3419次阅读

    光敏电阻的性质和应用

    光敏电阻,顾名思义,它的阻值是随着光照的强、弱变化而变化一种电阻光敏电阻是一种采用半导体材料制作、利用光电效应工作的光电元件。它在光线的作用下其阻值往往变小,这种现象称为光导效应,因
    发表于 01-24 18:09 8656次阅读
    <b class='flag-5'>光敏电阻</b>的性质和应用

    光敏电阻详细介绍_光敏电阻规格型号

    光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光敏电阻器都制成薄片结构,以便吸收更多的光能。光敏电阻规格型号详细如下所述
    发表于 01-26 11:42 2.5w次阅读

    用光敏电阻的规格参数,Photosensitive resistor

    用光敏电阻的规格参数,Photosensitive resistor 关键字:光敏电阻,元件选择 规格
    的头像 发表于 09-20 18:53 1660次阅读

    光敏电阻的种类

    光敏电阻器按制作材料不同,可分为多晶光敏电阻器和单晶光敏电阻器两大类。按材料名称还可分为硫化镉( CdS)、硒化镉(CdSe)、硫化铅(PbS)、硒化铅(PbSe)、锑化铟( InSb)光敏电
    的头像 发表于 07-10 14:08 1.1w次阅读

    如何进行光敏电阻的照度特性测试及应用光敏电阻设计自动照明灯电路

    用QJ23 型直流单电桥测量光敏电阻的照度特性,实验结果与理论分析基本符合,并应用光敏电阻设计了自动照明灯电路
    发表于 10-17 14:24 17次下载
    如何进行<b class='flag-5'>光敏电阻</b>的照度特性测试及应<b class='flag-5'>用光敏电阻</b>设计自动照明灯<b class='flag-5'>电路</b>

    光敏电阻的分类_光敏电阻首要特性

    按半导体资料分:本征型光敏电阻、掺杂型光敏电阻。后者功用安稳,特性较好,故如今大都选用它。
    的头像 发表于 03-22 16:28 1.1w次阅读

    如何使用光敏电阻

    德赢Vwin官网 网站提供《如何使用光敏电阻.zip》资料免费下载
    发表于 10-28 15:49 6次下载
    如何使<b class='flag-5'>用光敏电阻</b>

    使用光敏电阻(LDR)

    德赢Vwin官网 网站提供《使用光敏电阻(LDR).zip》资料免费下载
    发表于 01-30 16:32 4次下载
    使<b class='flag-5'>用光敏电阻</b>(<b class='flag-5'>LDR</b>)

    用光耦代替光敏电阻

    光敏电阻的阻值在没有光的时候最大。光照强度升高,光敏电阻的阻值降低。
    的头像 发表于 03-23 17:04 1769次阅读

    如何选择光敏电阻型号 光敏电阻5506与5516的区别

    不同型号的光敏电阻在不同波长范围内的光照响应特性可能会有差异,了解所需的光照响应波长范围,并选择对应的光敏电阻型号。
    的头像 发表于 01-30 15:17 8475次阅读