Raspberry Piを使った制御入門①
今回は、センサー関連の記事をお休みしてRaspberry Pi(以下、Raspi)を使った電源制御の話をします。IoTでデータを集められるようになったら、データを活用してなにか自動化したいと思いますよね。Raspiから電源やスイッチが制御出来たらいろいろな自動化ができるようになります。今回はその入口の話です。
ちなみにUECS Piユーザー用にアルスプラウト株式会社からは、「Arsprout DIYキット制御ノード」が発売されています。このキットは、Unipi technology社製のUnipiという拡張ボードを使っています。これらを購入すればよいのですが、それなりの値段はしますし、自分にピッタリ合ったものが欲しい、中身を理解して自作したいという方はご一読ください。
アルスプラウト株式会社 DIYキット https://www.arsprout.co.jp/products/diy-kit-body/
Unipi 1.1 https://www.unipi.technology/unipi-1-1-p36
自作した制御ボード
制御ボードのニーズ
Raspberry PiのGPIOピン(汎用周辺入出力と訳せばいいでしょうか)を使っていろいろな機器の制御ができます。例えば温度センサーを使って温度が高くなりすぎたらファンの電源を入れるとか、朝になったらカーテンを開けるモーターを動かすとかです。音声認識をして制御することもできるかもしれません。
しかしRaspiのGPIOは3.3Vであり、電流も制限されます。基本的にオンオフの情報を伝えるのが目的で、直接モーターを動かすなどの目的には使用できません。
例えばスマート農業の世界では、
- CO2を供給を制御する → 電磁バルブをDC24Vで開閉する
- 潅水ポンプを制御する → AC100V電源をオンオフする
などです。
制御する物に合わせて別の電源を与える必要があり、それとGPIOを仲介する仕掛けが必要になります。
基本的な仕組み
今回自作した冒頭写真の基本的な仕組み(1系統分)は下記の図のようになります。GPIOのオンオフは電気的には3.3Vの電圧がかかった状態がオン、0Vの状態がオフです。これを東芝のフォトリレーTLP222Aを介してJ2コネクタから供給された電源を制御します。SW1は手動制御でオン/オフ/GPIOからの自動制御を切り替えるトグルスイッチです。GPIOに3.3Vの電圧がかかってフォトリレー内部のLEDが光ってるときにJ2からの電流が流れる仕組みです。R1はGPIOの電流を小さくするためのものです。TLP222Aの発行側の推奨電流は最低5mAになってますのでもっと大きな抵抗でよいと思います。(動作が確認できれば470Ω程度にしてもいい) RaspiはGPIO当たり最大16mA、合計で50mA以下という仕様がある(*1)ので小さくした方が多く系統の制御ができるわけです。
(*1)正式なドキュメントを探したけれど見つかりませんでした。でもネットで複数の記事があるので正しいと思います。安全のためには6~7割で設計したほうがいいですね。
自作したボードの基本回路
下がGPIO配線、赤LEDはGPIOがONになっているときに点灯
上が外部電源の配線、緑のLEDはフォトリレー経由で電源がオンになっているときに点灯
黄色と白のジャンパー線の下にTLP222Aが隠れている
汎用のリレーモジュール
ネットで販売されているリレーモジュールは、GPIOからの電圧でMOSFET(回路図のTR1)を経由して5Vの電源をミニチュアリレーに与えてオンオフする仕組みです。(MOSFETの代わりにフォトリレーを使用しているものもあります)2段階になっているので5Vの電源(*2)と目的の装置を動かす電源が必要になります。リレーの定格は10A 250VACとなってますが、このボードに100V電灯線をつなぐのは安全のためにやめた方がいいと思います。(もともと電気工事士の資格が必要な世界なので) 直流で小型のLED照明やDCモーターを動かすものでしょう。
このような汎用リレーモジュールはネットで安価に販売されていますので、これらを利用する選択肢もあります。Arduino用と書かれたものの方が数も多く安いですね。ArudinoのGPIOの電圧は5VでRaspiの3.3Vと異なります。3.3VでMOSFETやフォトリレーをオンオフできる回路になっていればRaspiでも使えます。残念ながら仕様とか回路図とかが提供されていないものが多くて、買う時にはよく確認する必要があります。(あるいはダメもとで買って試してみるか)
(*2)Raspiの5Vピンからの電源供給は700mAから1000mAとのことです。ミニチュアリレー1つにつき90mA程度ですので間に合うように思えます。しかしRaspiのCPU本体、USB装置、WiFiなど合計して2.5Aでまかなわないといけません。Raspi3では"Low voltage warning”のメッセージがでるというネット記事があります。私もよく見かけます。やはり別電源で供給したほうが安心です。
自作ボードの設計
汎用のリレーモジュールを使わずに自作に挑戦したのは次のような理由です。
- 外側の配線を簡略化したい。ピンヘッダや端子台の接続が不安。簡単にロックできるものにしたい。
- 電源も汎用のACDCアダプターが使えるようにしたい。
- 制御用の手動スイッチを取り付けたい。
また自作ボードで駆動させるものは、CO2供給制御や潅水制御のために電磁バルブ(ソレノイドバルブ)を想定しました。汎用の電磁バルブは直流12Vとか24Vで駆動します。24Vタイプの方が標準のようでネットでの値段も安いようです。
ソレノイドバルブの例 SMC小型直動2ポートソレノイドバルブ VDW シリーズ
なので24Vの電源をフォトリレーで直接オンオフできるように簡素化しました。(汎用リレーモジュールはフォトリレーかMOSFETをオンオフしてミニチュアリレーを駆動させる)
また、手動制御できるように手動オン/オフ/自動のスイッチを付け、電磁バルブ向けの電線もネジ式のターミナルとRJ-11の電話線用のコネクタを実装できるようにしました。電話線の方が配線が楽で、接続も簡単にできるためです。
Raspiとの接続コネクタはロックできるものにしています。(*3) DC電源は汎用のACDCアダプタが接続できるDCジャックにしています。写真のように必要な機能を1枚のボードに収めることができました。
(*3)写真はJSTのNHコネクタです。コネクタについては別の機会に紹介したいと思います。
次回は、制御ボードの設計についてもう少し詳しく書く予定です。
*「UECS Pi」はアルスプラウト株式会社が提供する汎用DIY環境制御ソフトウェアです。https://www.arsprout.co.jp/products/others/uecs-pi/
*「UECS」は農業用のセンサー機器や制御機器用の通信・動作の共通仕様です。UECS研究会が公開しています。https://www.uecs.jp/outline/outline-index
関連リンク:EzITコンサルティング www.ezitc.dev
コメント
コメントを投稿