ESP8266 ESP-01SにリレーとINA219で作るスマートUSBスイッチの試作

公開 | 更新 
図11.ESP-01Sを搭載した様子

microUSBコネクタ給電のRaspberry PiGL-iNet社製コンパクトルータへの給電制御・監視に、ESP8266 ESP-01S を積んだ市販の リレー モジュールを調べてみましたが、いずれも本来は家電の給電制御向けなことから、オーバースペック感は否めません。そこで今回、 INA219 を搭載しDC電力計測も可能な スマートUSBスイッチ を自作して、ESP Easyのダッシュボードページから操作出来るように組んでみます。

リレーの選定

リレーモジュールで普遍的に使われているリレーは、家電機器のスイッチングを想定していることから、10Aクラスが搭載されていて、今回のようなUSB給電程度では明らかにオーバースペック。そこで安価(RMB0.75送料別)で物理的にも一回り小さい3AリレーHK4101Fを使ってみることにしました(データシートはこちら)。

図01.10Aリレーと3Aリレーを比較

図01.10Aリレーと3Aリレーを比較

INA219モジュールの自作

TI社の直流電圧電流センサINA219を搭載したモジュールは、以前よりその基板の大きさがネックでした。そこでI2Cアドレスもデフォルト0x40固定とすることでチップ抵抗を廃止、Vccにパスコンのみ搭載するミニマル構成で、INA219AIDR素子単品(RMB2.20送料別)をSOP8→DIP8変換基板の上に実装してみました。シャント抵抗もこの基板上には実装せず、計測ポイント上に置くことで、出来る限り損失を小さくしようと言う狙いです。

INA219は市販のモジュール基板に搭載されているSOT-23パッケージ品と、今回使用するSOICパッケージ品では、ピンアサインが左右逆になっていることに注意が必要です(気づかず全く逆に繋いで通電させてしまい、当然動作しないのでしばらく悩みました)。

図02.INA219各パッケージ毎のピンアサイン

図02.INA219各パッケージ毎のピンアサイン

I2Cアドレスを決定するA1、A0ピンをいずれもGNDに落とすことで、I2Cアドレスをデフォルト0x40固定としています。

図03.INA219AIDR自作ミニマル基板レイアウト

図03.INA219AIDR自作ミニマル基板レイアウト

出来上がった基板(下図左)を市販モジュール品(同図右CJMCU版)と比較しても、その大きさの違いが判ると思います。

図04.INA219AIDR自作基板と市販モジュール

図04.INA219AIDR自作基板と市販モジュール

全体回路図

以前の記事で、ESP-01SにI2Cとは別に使用可能とした、GPIO1の信号でNチャンネルMOSFET AO3400Nを駆動させ、ドレイン〜ソース間が導通するとリレーのコイルに電流が流れ、リレーの可動接点を動かす仕組みにしています。

リレーのコイルには、逆起電力対策に1000V耐圧のダイオード1N4007を並列に接続します。ダイオード選定の目安には、こちらのオムロン社のFAQページを参考に、「回路電圧の10倍」を確保しました。

USBの5VラインをこのリレーのNC(Normally Close)接点で制御し、さらに100mΩのシャント抵抗を挿入して、その電位差からINA219が電圧電流を計測しようとするのが、この回路の目論見です。

図05.全体回路図

図05.全体回路図

ブレッドボード上に試作

回路図を元に、まずはブレッドボードに組んでみます。使用しているリレーの接点抵抗が公称100mΩ、さらに同じく100mΩのシャント抵抗が負荷に対して全て直列に繋がることになる為、実際にどの程度をこれらで損失してしまうか、それが最大の懸念事項です。

ブート初期に瞬間的に大きな電流を必要とする、NanoPi NEO2を負荷にしてみますが、結果はブート成功したりしなかったり。どうも廉価なブレッドボードと結線の接触不良により、ブートに満足な電流を得られない様子。INA219を電圧のみの測定としてシャント抵抗を抜いてみましたが、問題の解決には至りませんでした。

図06.ブレッドボード版と負荷のNanoPi NEO2

図06.ブレッドボード版と負荷のNanoPi NEO2

可変負荷LD35とUSBテスタUM25CをUSB出力段に繋ぎ、どの程度の電流を取り出せるか計測してみますが、少し負荷を加えただけでもみるみる電圧が下がり、評価試験どころではありませんでした。接続シーケンスは次の通り。

USB電源 → リレー → INA219シャント抵抗 → UM25Cテスタ → LD35負荷

図07.ブレッドボード版負荷試験の様子

図07.ブレッドボード版負荷試験の様子

ユニバーサル基板で試作

ブレッドボードでの試験では損失が大きかったものの、リレー操作やINA219の計測など、基本的な回路構成には問題の無いことが、確認出来ました。

続いて評価試験用に、ユニバーサル基板でのレイアウトを下図のように設計しました。INA219基板の搭載方法などは、実際に製作を進めながらデザインをFixさせた形です。また、USB5Vラインは太い導線を使って結線します。

図08.ユニバーサル基板レイアウト

図08.ユニバーサル基板レイアウト

図09.ユニバーサル基板に製作途中

図09.ユニバーサル基板に製作途中

INA219ミニ基板は、樹脂を抜いたピンヘッダ端子をL字に曲げ、立てた状態でユニバーサル基板へ搭載させ完成です。

図10.ユニバーサル基板結線完成

図10.ユニバーサル基板結線完成

図11.ESP-01Sを搭載した様子

図11.ESP-01Sを搭載した様子

今回はNanoPi NEO2を負荷として繋いでも安定してブートします。早速、先ほどのブレッドボードの時と同じ様に、可変負荷LD35とUSBテスタUM25CをUSB出力段に繋いで評価試験してみます。

図12.ユニバーサル基板試作負荷試験の様子

図12.ユニバーサル基板試作負荷試験の様子

可変負荷LD35の電流値を少しずつ上げながら、INA219(グラフ中の実丸)とUSBテスタUM25C(グラフ中の白抜き丸)の電圧電流値を測定した結果は、次のようになります。参考に併記したブレッドボードでの計測値(グラフ中の橙色)と比較しても、安定した結果が得られていることが判ります。尚、USBテスタUM25Cはその仕様上、電圧が4Vを切ると計測不能に陥ります。

図13.スマートUSBスイッチの電圧電流特性

図13.スマートUSBスイッチの電圧電流特性

ESP Easy ダッシュボード設計

ハードウェアに続いてソフトウェアは、前回作ったESP Easyのダッシュボード機能に、電流・電力の計測項目を追加します。ESP-01SのSPIFFS領域へアップロードしたのは、次の3つのスクリプトの他、前回作ったリレー状態を表す2つのアイコン画像です。

ファイルを全てアップロードしたらESP Easyを再起動し、ブラウザから次のURLを開くと、カスタマイズしたダッシュボードページを開くことが出来ます。

図14.ESP Easyカスタムダッシュボード

図14.ESP Easyカスタムダッシュボード

実は構想から半年以上費やしてしまいましたが、ようやく動く形が出来上がりました。今回ユニバーサル基板で製作した試作品は、あくまでも評価試験用と割り切って始めましたが、意外にもスティック形状は使い勝手が良く感じたので、このまま適当なケースを探してみようと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA