Arduino 極速入門系列 - 光控燈(3) - 光敏電阻、與電阻分壓那些事


繼續是講解基礎原理,新手專用部分。這次講光敏電阻,和用電阻分壓。光電元器件有好幾種,其中測光相關的元器件,常見的有光敏三極管和光敏電阻,我們這次光控燈用光敏電阻。在我們光控燈里面,將會使用它搭建出分壓電路,給Arduino 的模擬引腳發送模擬量。新學的朋友們需要了解光敏電阻是什么回事,分壓又是怎樣做的,本篇就是講解這兩點。

光敏電阻

光敏電阻(photo-resistor / light-dependent resistor),是在特定波段照射下,阻值會減少的電阻。所謂特定波段,也包括了不可見的紅外線。分類就三種,紫外線電阻器、紅外線電阻器、和可見光電阻器。

最主要的參數有兩個跟我們這次是直接相關的:光電流和光照特性曲線。就是說,有光很亮時候阻值多少,和亮度變暗時候與阻值增大的一個關系曲線圖(注意這是曲線,不是線性關系的)。這個東西可以非常便宜,看完這篇有興趣的可以買點回來玩玩看,淘寶有一包不同型號的光敏賣的。型號之間的差異可以看下表。

image

上表可以看到上升下降時間,我實測時候,它的上升下降時間,感覺沒有上表說得那么接近,不太清楚它寫的是什么概念。環境由暗變光,可能就半秒內吧,瞬間阻值減少(書本上說是幾個毫秒)。環境由亮變暗,需要好幾秒鍾阻值才爬升完畢。這響應時間其實與光敏材質和光波波長有直接關系。

單單文字講解不夠直接,看圖。我們把萬用表調到電阻檔,連接好就開燈對准它照射,看看阻值:

IMG_20170102_222643

580歐阻值。我這個型號5516,標稱照度 10 lux 時候,阻值是 2-5K 歐姆。我是很難想象 10 lux 到底是多少。實測更直觀,直接用燈近距離照射,580 歐姆。

然后我再試試,關燈(捂住它也行吧…),再看看阻值(注意萬用表檔位):

IMG_20170102_222710

IMG_20170102_222726

IMG_20170102_222932

稍為遮擋、大幅度遮擋、和完全捂住時候,所讀到的阻值分別是 7.8K,16.15K 和 502K。

它其實等同於一個可調電阻器、電位器(用兩端作可調電阻用時候),只是它不是旋鈕或者滑動,它是依據光來調阻值,然后光的強弱與阻值的關系並非線性。

MV3MY$6F~)Q8Y1VDXT7UP56

要理解怎樣用它在電路里面,首先我們得簡單回顧一下電阻器怎樣用。

電阻分壓 - 新手專用

電阻器在電路里面主要有兩種用法:限流和設置電壓。限流我們在上一篇已經看過它怎樣用來限制流到 LED 的電流,按鈕那一篇里面也用它,限制了當按鈕按下時候從供電到地的電流(見下拉電阻部分)。這次我們看看它的設置電壓做法,分壓。

我們在 Multisim 仿真看看。用兩個電阻串聯,試試不同阻值的組合,在兩個電阻中間放置探針看看效果:

T4~BME}{D)~)JGU5YP(H3]3

電阻的電流限制作用我們已經談過。關於上圖的電流值如何計算,后面有機會再討論。這次我們集中看電壓。可以看到,不同的阻值組合,可以影響到兩個電阻中間位置的電壓,它把電壓的 5V,通過這方式對探針位置這個點,設置電壓值,這個叫做電阻分壓。分壓的公式如下,假設我們把探針那個點的電壓命名為 Vmes (mes 代表 Measurement,測量值):

左側第一個電路

Vmes = V1 x (R2 / (R1 + R2))

Vmes = 5V x (1000 / (1000+1000))

Vmes = 2.5V

中間的電路

Vmes = V2 x (R4 / (R3 + R4))

Vmes = 5V x (4000 / (1000+4000))

Vmes = 4V

右側電路

Vmes = V3 x (R6 / (R5 + R6))

Vmes = 5V x (4000 / (0+4000))

Vmes = 5V

公式就是一個比例計算,很好記。用傳統電流方向第二個電阻的阻值做分子,兩個電阻阻值加總做分母,乘以流進第一個電阻時候的電壓,就能計算得到 Vmes。

參考地端 - 新手專用

記得電壓是兩個點的電勢差。所以仿真里面我們需要設置一個參考點,告訴Multisim 那個位置的電壓就是零,0V,然后其他位置的測量值都是以此為依據。上面電路那地端符號是我放置的,與電池負極直接相連,為參考地。分壓得到的測量值就是與此地端之間的電勢差。

理解一下下圖,參考地放置位置不同的效果:

0L5)YMV1@U7B32]NRXL]420

可調電阻、電位器 - 新手專用

有了以上知識,我們繼續看看可調電阻是干嘛的。我們用 Multisim 仿真,選電位器 (Potentionmeter)。一般電位器是有三只腳,三端都接好的話,電壓輸出端直接就是分壓結果的了。這個以后,比如做搖桿時候再說明。

我們只接兩端作為可調電阻用(就是跟光敏電阻一樣作用),先理解一下以下三張圖:

[ZA(@VXPRRS%3[Q7VTO119R

2E@97(B1{CO]T(ZGUV8_BZ7

QHJJBO`][FFMRE{]IMJWE[X

用上面分壓公式可以計算到三個探針的值,不確定的請拿起紙筆自己算算,這個跟我們光控燈作品直接相關的。

利用以上分壓電路加上光敏,我們可以對探針那個位置的電壓進行測量,然后他的變化是跟隨着光亮度而變動。讀取電壓,等同於讀取光亮度了。

為何要這么麻煩,不買模塊直接插來用? - 新手專用

光敏電阻,市面上也有模塊賣,直接懟不好么,為何還要理解這些?

首先,模塊上面的結構其實也極度簡單,光敏加一個電阻,最多就再加電容做濾波,這完全可以自己做的。另外,電壓不同時候你需要不同的阻值組合,模塊你不能改動的,就算你不管直接用,也需要理解,你用了不同電壓,它輸出的模擬量范圍會是多少。最后,自己 DIY,簡單原理理解后,玩起來更有勁,不是么?

實際做法

以上都理解之后,到底我們要做什么?

首先第一個問題是亮度,10 LUX 亮不亮, 5 LUX 又該不該開燈,這些因人而異,是個人的感覺。第二個問題是,光敏的阻值與照射的亮度並非線性,而且在不同電壓時候曲線稍有不同,我們做光控燈也並非科研,我們會想用更簡單的辦法去處理這個問題。

辦法就是,把最終產品的燈,亮度分五級,找個辦法讓用戶可以調節光的敏感度。就是說,用光敏再串聯可調電阻:光亮度影響光敏阻值,用戶再可以用串聯了的可調電阻來調阻值,調節輸出的模擬量幅度。

總結

我們以上幾篇,已經理解了 LED 的供電應該怎么做,按鈕怎么做,在本篇也知道了環境亮度如何讀取。下一篇,我們用三極管,加上 PWM 的原理講解,控制 LED 的五段亮度。

歡迎加入我們的大家庭  點擊加入 Arduino 硬創聯盟,群號 8580606

參考

實用電子元器件與電路基礎 第三版

電子工業出版社,ISBN:9787121223785

模擬電子技術基礎 第五版

高等教育出版社,ISBN:9787040425055

電子元器件的選擇與應用

科學出版社,ISBN:9787030165060

電路基礎(英文版 第五版)

機械工業出版社,ISBN:9787111411840

Multisim 12.0 軟件

http://www.ni.com/multisim/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM