Alexa対応シーリングライトが欲しい
リモコンが無くなってしまったので、娘たちの寝室のシーリングライトは、壁のスイッチでON,OFFしています。しかしこれがとても面倒なようで、娘たちは寝る時にどちらが消すかで喧嘩になってしまいます。
そこで、Amazon EchoのAlexaを使って、声でシーリングライトをON、OFFできるようにして、この問題を解決しようと考えました。
すでに、アイリスオーヤマからAlexa対応のシーリングライトが販売されていますが、せっかくですので自作したいと思います。
ダイソーのLED蛍光灯でシーリングライトを作る
以前、普通の蛍光灯型のシーリングライトを、ダイソーのLED蛍光灯を使ってLEDシーリングライトに改造しました。
今回も、部屋に設置されている蛍光灯式の古いシーリングライトをベースに、ダイソーのLED蛍光灯でLED化したいと思います。
ESP32でAlexaの指示を受け取る
以前の実験で、ESP32をAmazon Echoと無線LANで接続するとこで、Alexaを使って、「アレクサ 電気をつけて」と声で指示するとLEDがONし、「アレクサ 電気を消して」と声で指示するとLEDをOFFすることができました。
また、「アレクサ 電気を暗くして」「アレクサ 電気を明るくして」と指示すると明るさの調節も可能なことがわかっています。
そこで、ON,OFF以外に、明るさの調節機能も取り入れたいと思います。
ダイソーのLED蛍光灯の明るさを調節する
ダイソーのLED蛍光灯の回路を調べた結果、抵抗値を変更することで、LEDの明るさを調節できることがわかりました。
実際に、ダイソーのLED蛍光灯で作った撮影用の照明を、ボリュームを使って明るさを調節できるように改造しました。
ダイソーのLED蛍光灯をESP32でON,OFF,調光する
これまでの実験で、
- ESP32でAlexaから照明のON,OFFなどの指示を受け付ける
- ダイソーのLED蛍光灯の明るさを調節する
の、それぞれ個別の機能は実現できました。
そこで、これらを組み合わせてAlexa対応調光機能付きシーリングライトを作っていきたいと思います。
ブロック図
上の図は、今回制作するAlexa対応シーリングライトのブロック図です。ESP32にはES32-DevKitCを使います。ESP32からLED蛍光灯のON,OFF(スイッチ部)と、調光の指示(調光部)を行います。
LED蛍光灯1灯では部屋の照明としての明るさが足りないので、2灯使うことにしました。
ESP32からスイッチ部や調光部への制御は、全て電気的に絶縁します。というのも、ESP32のGND電位と、LED蛍光灯のGND電位は、全く別々な電位となっているため、共通にしてしまうと過電流が流れておそらく燃えてしまいます。必ず絶縁とします。
LED蛍光灯のON,OFF(スイッチ部)
AC電源のON,OFFにはソリッドステートリレー(SSR)AQH2213を使います。このソリッドステートリレーは、光によって制御部とスイッチ部が絶縁された、半導体式の交流電源用のリレーです。制御するには、内蔵されたLEDをON,OFFするだけなので、普通のリレーよりも低電力で制御でき、マイコンで制御するには最適です。
また、AQH2213はAC電圧が0Vの時に、ONやOFFしてくれるゼロクロスという機能が入っています。0Vの時にON,OFFしてくれるので、ON,OFF時にノイズが出にくいというメリットがあります。
上の図のように、結線することで、リレーとして動作します。
抵抗値の計算
SSRに内蔵のLEDをESP32で光らせることで、SSRを制御します。ただし、ESP32の出力ピンとSSRのLEDを直接つないでしまうと、過電流が流れて壊れてしまいます。そのため出力ピンとSSRのLEDとの間に電流の制限抵抗を入れます。先程の結線図にあるRINです。この値を求めてます。
データシートより、LEDには20mA流せばよく、その時のLEDの電圧は1.3Vとあります。ESP32の出力ピンの電圧を3Vとすると、制限抵抗の抵抗値は、
RIN = ( 3V - 1.3V ) / 20mA = 85Ω
となります。入手しやすい値として、RIN = 82Ωとします。
調光の指示(調光部)
ダイソーのLED蛍光灯の回路は上記のようになっています。ICのCSピンにつながっている抵抗値を変えることで、LEDの電流が調節できます。ダイソーのLED蛍光灯の回路では、2.1Ωとなっており、この抵抗値を大きくすることでLEDの電流が下がり、光を暗くすることができます。
この抵抗をESP32から調整するために、以下の図のような回路に改造します。
抵抗とスイッチのセットを3つ並列に接続(S1,S2,S3)し、さらに抵抗を並列に接続します。抵抗値を図のようにします。このような回路にすることで、それぞれのスイッチをON,OFFすると、合成抵抗の値が16Ωから2Ωまで段階的に変化します。
抵抗に流れる電流は、シミュレーションによると37.5mAから37.5mAステップで300mAまで変化させられます。
以上のような仕組みで、ダイソーのLED蛍光灯を調光させます。
スイッチの設計
仕組みは決まったので、スイッチを設計します。マイコンからスイッチを制御する際には電気的に絶縁してある必要があります。そこで、フォトモスリレーを使うことにしました。
フォトモスリレーは、光で絶縁された半導体式のリレーです。先程のSSRは交流専用ですが、フォトモスリレーは直流もON,OFFできます。
フォトモスリレーの中でもON時の抵抗値が最大で0.5Ωと、とても小さいAQY221を使うことにしました。
制限抵抗の設計
フォトモスリレーに内蔵されたLEDをON,OFFすることで、スイッチを制御できますが、マイコンで制御するには、SSRの時と同様に電流の制限抵抗が必要です。
データシートより、動作LED電流の最大値は3mAなので、流す電流は余裕を見て5mAとします。LED電圧降下の最大値は1.5Vとあります。マイコンの出力ピンのON時の電圧と3Vとすると、制限抵抗Rは
R = ( 3V - 1.5V ) / 5mA = 300Ω
入手しやすい近い値として270Ωとします。
調光部の回路図
これまでのパラメータを回路図にしました。この回路をLED蛍光灯の回路に追加することで、マイコンによってLEDの電流を段階的に調節できるようになります。
回路の制作
ESP32-DevKitCとSSR、フォトモスリレー、抵抗だけなので、とてもシンプルな回路です。
LED蛍光灯のON,OFF(スイッチ部)の動作チェック
マイコンからの信号で、SSRがONして電圧が100Vになることがわかりました。LED蛍光灯をつないで光るかどうかテストします。
無事LED蛍光灯がON,OFFしました。スイッチ部は正常に動作しました。
LED蛍光灯の改造
ダイソーのLED蛍光灯を分解します。LEDの基板につながった茶色の基板を改造していきます。
この基板の裏にある2つの抵抗を外します。
これまであった抵抗のところに、調光部の回路を配線します。
それでは調光ができるかテストしてみましょう。
調光も無事に正常に動作しました。
回路の完成
2つのLED蛍光灯に配線し、電源に保護回路としてサージアブソーバを追加して、回路の完成です。
ハードウェアが完成したので、次回はソフトウェアを作っていきます。
2020.7.23 追加 つづきはこちら
追加終わり
コメント