プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

100均常夜灯の改造

100円で買った(ダイソー)照度センサーで点灯する常夜灯があるのだが、
朝も昼も夜もほぼ常時点灯になっていた。

これを感度調整して、適切に消点灯させたい。

f:id:s51517765:20161225173525j:plain

カバーをあけてみると思いのほか部品が多い。
f:id:s51517765:20161225173446j:plain

f:id:s51517765:20161225173556j:plain

100VACからLEDの点灯の2VDCを得ることが一番の目的で、照度センサ(CDS)でトランジスタを制御し、ON/OFFとなるようにしているようだ。

f:id:s51517765:20161225173612j:plain

f:id:s51517765:20161225173603j:plain

すでに先人が分解した記録がるのでこれを参考に、回路を推定した。
本当はプリント基板を解読すれば解るのだが、2面(両面)基板のため、素人には解読が難しかった。
sites.google.com

推定回路が↓のような感じではないかと
f:id:s51517765:20161225182218p:plain

オレンジで囲んだ部分が、突入電流回避回路。
交流であり、しかも100Vであり、LEDにとっては大きな電圧なので、コンデンサを入れることでこれを軽減できる。
抵抗は実測していないが、引用先よりこれぐらいの大きさかと。

赤で囲んだ部分がブリッジダイオードといって、交流からLED点灯用の直流を得る回路である。
ダイオードは決まった向きにしか電流を流さないことから、整流回路ともいう。

AC電源なので、電源端子は+と-が入れ替わる。
プラスはまあいいとしても、マイナスがくると困る。
なので、マイナスのときは回路を入れ替えて電流を欲しい向きに誘導してやるようなイメージである。

たとえば、回路図の上側の電源端子が+であるときは、上側端子 → D1 → LED → D2 →下側端子という風に流れる。
一方、回路図の下側が +であるときは、 下側端子 → D4 → LED → D3 → 上側端子という風に流れる。
ダイオードは反対極性の電流にたいしては絶縁のように振舞う)

そして、CDSをつかったON/Off回路は、CDSは明るいとき抵抗が低く暗いとき抵抗が高い。
これが逆の特性を持っていれば、LEDに直列につないだ単純な回路でOn/Offが実現できるのだが、現実は不幸にも逆だ。

そこで、LEDをNPNトランジスタで駆動することを考える。
NPNのベース電圧をCDSとR1で分圧し、CDSの抵抗が高くなる(暗くなる)とベースがhighになってLEDを駆動すればよい。

f:id:s51517765:20161225184600j:plain
CDSに光を当てながらテスターで抵抗を測り、また、LEDのOn/offと光の強さを観測すると、大体40kΩ以上となったときLEDが点灯することを突き止めた。
しかしながら、通常使用している環境ではCDSはつねに40kΩ以上であった。
つまりグラフでいうと、CDSの青線において、40kΩを境にした右上の領域しか実現しないのである。

CDSはこの40kΩ以上であるが、合成抵抗で40kΩの前後を動くようにしてやればよい。
そこで、回路図の水色のように100kΩの抵抗をCDSに並列に接続すると、合成抵抗は赤線のようになる。
カバーをあけた状態ではんだ付けができるので、↓のようにつけた。
f:id:s51517765:20161225185446j:plain

このようにすると、CDSは40kΩ以上なのだが、合成抵抗が40kΩの前後を動くようになる。
並列の合成抵抗の計算は (A * B) / (A+ B)Ωであるので
(CDS * 100k) / (CDS + 100k)Ω として、CDSの抵抗に対しプロットした。
 
ちなみに、青色LEDが煌々と煌くのもいまいちなので、黄色LEDに変えた。

完成。