《超圖解Arduino互動設計入門》第9章介紹了運算放大器(OPA),以及採用運算放大器製作的麥克風(聲音)放大模組的電路和原理,第14章介紹了和運算放大器相近的電壓比較器,還有採用LM393比較器的紅外線循跡電路與原理。
本文將透過如下圖,採用光敏電阻和LM393元件的「光線感應模組」,補充說明LM393輸出端的「開集極」電路。若遮蓋光敏電阻,模組上的LED將會點亮;若用光線照射光敏電阻,LED將熄滅。模組上的藍色可變電阻用於調整感測準位。
我沒有買這個模組。它的電路其實相當於第9章介紹的小夜燈應用,只是它採用LM393電壓比較器來判斷是、否要點亮LED,省去用微控器來判斷。
底下是簡化的「光線感應模組」電路,相當於「自動感應小夜燈」。
底下是使用TinkerCAD電路模擬器組裝的測試電路,連接LED的限流電阻採用330Ω。
在LM393的非反相(+)與反相(-)腳,分別連接電壓表,觀察光敏電阻和可變電阻的分壓值,點擊光敏電阻可模擬受光量。
調整可變電阻或光敏電阻的受光程度後,從電壓表的量測結果可知,若「反相」端的電位大於「非反相」,LM393的輸出端將變成低電位,使得LED導通發光。
若「非反相」端的電位大於「反相」,LM393的輸出端將變成「浮接」或「高阻抗」狀態,所以LED不導通。
《超圖解Arduino互動設計入門》第14章有說明LM393的輸出端是開集極(open collector),所以需要連接上拉電阻。這個光敏電路沒有接上拉電阻,它的輸出如下圖左的A和B,當LM393內部的電晶體C, E腳導通時,LED將被點亮;若電晶體不導通,LM393的輸出將呈現浮接的高阻抗狀態,相當於線路不通,所以LED不亮。
假如要改成:LM393輸出低電位時關閉LED、輸出高電位點亮LED,可以把輸出端的LED電路改成上圖右的接法,電阻R充當「上拉電阻」和「限流電阻」。
補充說明,LM393比較器可以用LM741運算放大器取代,由於LM741的輸出不是開集極,輸出端可直接輸出高、低電位來驅動LED,像這樣:
最後,運算放大器或電壓比較器的輸出,可連接《超圖解Arduino互動設計入門》第18章說明的繼電器驅動電路,控制110V或220V的電燈開關,像這樣: