※ 当ページには【広告/PR】を含む場合があります。
2020/09/21
[Node.js x MQTT] ラスパイをMQTTクライアントにしてリモートからGPIOを制御する
古くなって壊れた扇風機などは探せば結構家庭に眠っているものです。大抵の場合、ローターなど欠損したり、電気回路の一部が壊れたりしただけの些細な故障でも捨てられてしまうケースがほどんどだろうと思います。市販の扇風機は割と単純な構造なものが多く、直そうと思えばそれほど難しくはありません。故障して捨てれられるくらいなら、ラズパイのPWM制御の遊び道具としてリユースさせてみようというのが今回の記事の内容です。
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps 故障品の大まかな仕様
使えなくなった状態で家の押し入れに眠っていた扇風機・フィフティ社FA-312Rというものを引っ張り出して来ました。もし手元にないのであれば、リサイクルショップでもジャンク品で試せるかもしれません。フロントパネルから察するに、以下の仕様があるものと推測されます。
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps 故障箇所と修繕作業
故障とはいっても、モノによって軽度の故障から重度の故障まで症状は様々です。修復できるかできないかはその時々の状況にもよりますが、とりあえず故障箇所を一つ一つ潰していきます。分解点検
まずは分解の工程からです。設計図や組立図などは当然ないので、後で元の状態に組めるように意識しながら、メモや写真などを残しつつ分解作業を行います。今回の掘り出し品はローターと軸との嵌合付近が大きく破損しています。こうなると再利用不可ですので、一からローターの作り直しになります。なんとか寸法を測って、うまく3dプリンターで後日大体ローターを作成するくらいしか思い付きませんが、ローターの作成は後で追々考えるとして先に進みます。底カバーを開けると制御基板が見えています。基板を取り出すと、これでもかというほどシンプルなアナログ回路になっています。基板を点検すると断線があって、その箇所を半田で修復した後、モーターが回転しましたので、大工事をしなくても動きそうです。腐食していたLEDもありましたが、動作には影響を与えないため、除去して基板を清掃しておきます。基板についている4連のタクトスイッチがあり、これを押すことで切り替えの信号をファンコントローラICに送っているようです。今回は故障とはいってもアッサリ修復できてしまったので、基板の大工事までには至らずラッキーでした。さて、今回はラズパイによるスイッチング操作もさせてみたいので、出来るだけそのままの基板の状態でタクトスイッチからラズパイのGPIO側に接続する配線を延長するようにしてみます。基板の背面のタクトスイッチ側から半田付けしたワイヤーを伸ばしてみて、ここから信号を取ります。半田付けをする場合には、うっかりショートなどに気をつけながら、端子をつけましょう。
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps 追加の回路
言わずもがな、扇風機の動作自体は非常に単純で、ボタンを押すたびにシグナルが切り替わり、その状態が内部のICに保持される仕組みです。今回製作するラズパイを割り込ませる場合の扇風機の回路への接続構想図を以下に示します。扇風機の基板側は単純なアナログ回路構造になっているため、ラズパイ側の保護機能が一切ありません。下手をするとモーター側からのノイズ電流程度でも、ラズパイを一発昇天させるほどの電流がリークしてくる恐れがありますので、フォトカプラ「 SODIAL(R) フォトカプラ 10個 など」を介したスイッチングを利用しています。ファンコントローラーIC
ほとんどの扇風機は専用のファンコントローラーICという部品が組み込んであり、これが全ての制御を行ってる構造になっているようです。中を開けて基板を見ると、どうやらSAMHOP製のSM3015A(18PIN)と描かれています。データシートを入手してピン配置を確認すると以下のようになっています。ICの内部構成が以下のようになっているようです。このファンコントローラーICが今回はバリバリ正常動作しているので、今回は本来ラズパイを使うほどではないのですが、お遊び程度ということで各信号入力ピンを利用してスイッチングを行いたいと思います。! 727*511*6
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps ラズパイによるコントローラ化
ラズパイで外部の電子基板上の回路を制御するには、GPIOとよばれるインターフェースを接続し、なんらかのプログラムを作成して、それをラズパイ上で走らせるようにします。とりあえず今回はざっくりとコントローラー化の概要だけ説明します。GPIOピンとラズパイピンの対応図
今回のラズパイのGPIOピンは以下のような対応で利用します。どのGPIOピンを使っても良いのですが、GPIO2とGPIO3は内部で1.8kΩ相当の抵抗でプルアップされているので、出力電圧が1.7V前後しか出てきません。今回は特に出力電圧を気にする回路ではないので気にせず使っていますが、3.3V相当の出力が欲しい場合には問題が生じますので回路設計をきちんと行って確認する必要があります。制御用ソースコード
ソースコード及びソースコードの説明については、後日コーディング例を特集記事を別に公開予定しています。とはいえ特に難しいプログラムではなく、該当の4つのGPIOをON/OFFするだけですので、この記事内での紹介は省きます。
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps 実験
回路の組み立て及びソースコードの準備が完了したらさっそくプログラムを実行してみます。先ほど扇風機の基板のタクトスイッチに直接配線したラインを外に伸ばし、ブレッドボードを挟んでラズパイのGPIOに接続します。このラズパイには既にWi-Fi越しで各GPIOを操作できるようにしています。ローターは着けていないので、モーターが停止状態だと判別がつくように赤いテープを目印に貼り付けています。この停止の状態で、離れたパソコン上から電源をオンする指令を送ると……当然ですがモーターが回転を始めます。他の機能も一通りスイッチング出来ているようです。最近は結構見かけるようになった、操作ボタンもリモコンもないスマホアプリからWi-Fiを繋いで起動するタイプのスマート扇風機がありますが、ラズパイがあればお手軽に(?)昔の扇風機を、「 Smartmi スマート扇風機3 」などのようなオリジナルのスマート扇風機にできるかも知れません。
ラズベリーパイ4B 4GB 技適対応品 LABISTS Raspberry4 4B-32GB オールインワンセット TP-Link WiFi 無線LAN 中継器 11ac AC750 433+300Mbps まとめ
今回は古びて使わなくなった扇風機をラズパイを利用してWi-Fiネットワーク越しに操作するようにちょっとした改造を加えてみました。ついこの間までとても暑かった日が続いていたのですが、ここ数日は秋の涼しさを感じる頃合いになってきました。もはや扇風機もお役御免となったようで、まだローターの方の修復も終わってないのですが、とりあえず来年の夏に向けて気長に完成させてみようかと思います。参考サイト
ラズパイ電子工作~PWM制御を用いた簡易扇風機~