Network Stomper開発 Project 基板設計記[第2回(全5回)]

2019年11月12日 火曜日

「Network Stomper開発 Project 基板設計記[第2回(全5回)]」のイメージ

IIJは今年8月3日、4日に開催されたDIYのイベントMaker Faire Tokyo 2019に出展しました。展示テーマの一つ「音楽×IoT」の作品として、IPネットワーク経由でギターのエフェクタを操作する「Network Stomper(ネットワークストンパー)」を制作し、会場でギターの実演を行いました。

エフェクターを遠隔操作「ネットワーク・ストンパー」(Maker Faire Tokyo 2019)

このNetwork Stomperのコアになるハードウェア(制御ボード)は、IIJのエンジニアが一から開発しています。ハードウェアの開発は電源やノイズなど、ソフトウェアやネットワークの開発と異なるポイントに気をつけなければなりません。
実際に開発を担当したIIJ技術研究所の末永が、ハードウェア設計についてのレポートをまとめましたので、5回に分けて掲載します。

(編集部)

電源回路

全体像

今回の回路で電源を必要とするのは、ESP-WROOM-02、USBシリアル変換チップ FT231XS、リレーの3種類の負荷です。ソレノイドもありますが、これは消費電力が大きいので制御基板からの電源供給にはちょっと無理があるでしょう。ESP-WROOM-02は3.3V単電源で動作します。FT231XSは5V単電源または3.3V単電源で動作します。リレーは部品の選定次第で電源電圧を選べます。
一方で外部電源として利用できるのはUSB端子から供給される5Vと、006P電池から供給される9Vです。ESP-WROOM-02は3.3Vが必要ですので、3.3V電源が足りません。これは外部電源から電圧変換して生成するのが順当でしょう。
結果として、本機は9V、5V、3.3Vの3種類の電源をもつことになります。このうち、9Vと5Vはいつでも使えるとは限りません。電池が接続されていない場合は9V電源が使えませんし、USBが接続されていない場合は5V電源が使えません。この状態から3.3V電源を確保しようと思うと、

  1. 9Vから3.3Vの変換回路と、5Vから3.3Vの変換回路を用意する
  2. 9Vから5Vの変換回路と、5Vから3.3Vの変換回路を用意する
  3. 9Vから3.3Vの変換回路と、9Vから5Vの変換回路と、5Vから3.3Vの変換回路を用意する

という3つの選択肢があります。

1は3.3Vを得るための電圧変換が常に1回で済むため効率が良いという利点がありますが、電池駆動時は5V電源が利用できないという欠点があります。この場合、全ての回路を3.3V駆動で設計する必要があります。
2は常に5V電源を利用できるという利点がありますが、電池駆動の場合には電圧変換が9V→5V→3.3Vと2段階になるため効率が悪化するという欠点があります。この場合、一部の回路を5Vで設計できます。
3は電池駆動の効率を改善しつつ5V電源が常に利用できるという利点がありますが、部品点数が増え回路規模が大きくなる欠点があります。これは選択肢2の効率改善案と言えます。
できれば3といいたいところですが、電源回路は部品が大きめで基板上の面積を広くとりがちです。小型の部品もカタログには存在しますが、秋葉原で売っているとは限りません。装置はギタープレーヤーに馴染みのあるコンパクトエフェクタのサイズに収めたく、5cm x 10cm程度の基板サイズには収めたいところです。これは、ちょっと無理があるのではないかと判断しました。
1はシンプルですが、9Vからマイコンを安定して動かせるような3.3V電源を作り出すのは簡単ではありません。リニアレギュレータを利用すればノイズの少ない高品質な電源を作れるのですが、電位差が大きいと効率が極端に悪化します。9Vから3.3Vをリニアレギュレータだけで生成した場合、効率はたったの37%です。電力の6割以上が電源回路の排熱となってしまうのは流石に受け入れられません。9Vから3.3Vをスイッチングレギュレータで生成するのであれば効率は80%以上を確保できます。しかし、ノイズが大きめなのが難点です。ESP-WROOM-02を使うのは初めてということもあり、おそらく大丈夫だろうと思いつつも、安定して動く自信は持てませんでした。リニアレギュレータとスイッチングレギュレータを組み合わせるのであれば2とあまり変わりません。
消去法の結果として2を選びました。9Vから5Vを生成するスイッチングレギュレータと5Vから3.3Vを生成するリニアレギュレータを組み合わせます。リニアレギュレータの効率は66%です。スイッチングレギュレータの効率が80%だとすると、トータルの効率は52%となります。正直かなり悪い数字ですが、一応50%は超えそうです。5V電源が4V程度まで低下しても良いとした場合、リニアレギュレータの効率は82.5%まで改善します。9Vからの変換でもトータルで66%まで改善しますので、これであればUSB駆動でも電池駆動でも効率は変わらないと言えます。この場合、5V電源が常に使えるとは言えないので1の案に近くなりますが、低圧化も念頭におきつつ各負荷の電源をどうするか検討していきます。
リニアレギュレータは5Vから3.3Vという比較的落差の少ない条件で動作する必要があるのでLDO(Low DropOut regulator)と呼ばれる品種が必要です。以降ではリニアレギュレータではなく、LDOと記載します。

ESP-WROOM-02

まず、選択の余地がないESP-WROOM-02の電源からみてみます。通常はマイコンというとあまり電流は消費しないものですが、ESP-WROOM-02はWi-Fiを搭載しているため電流消費が多くなっています。Webを検索してみるとみなさん苦労されているようです。データシートには500mA以上の電流を供給できること、と書いてあります。また、平均的には80mA程度の電流が流れると書いてあります。電流の実測をされている先人たちのページをありがたく見てみると、350mAくらいは実際に流れるようです。
350mAという大きさも問題ではあるのですが、そのタイミングも問題です。常に350mAが流れるのであれば電源回路の制御は安定しやすいのですが、そうではありません。このような大電流が流れるのはWi-Fi関連の回路が動作する一瞬のみです。このように負荷が大きく変動する場合、電源回路の制御が追いつかない可能性がでてきます。対策としては大きなコンデンサを設置して電圧の安定を図る、制御が高速なLDOを選択する、の2点です。
実績のありそうな回路でみてみると、秋月電子の開発ボードに搭載されているLDOの新日本無線NJM2845は800mA供給可能な品種で、スイッチサイエンスの開発ボードに搭載されているLDOのトレックス・セミコンダクターXC6222は700mA供給可能な品種です。開発ボードの場合、周辺回路への電源供給もある程度こなせる必要があるので、200mAから300mA程度の余力を持たせるという設計なのかもしれません。このくらいの余裕があれば、みんな大好きLEDチカチカ回路やリレーカチカチ回路くらいは問題なく動きますね。負荷変動への対策については両者で大きくアプローチが異なっています。秋月電子の場合、大きなコンデンサを設置する代わりにLDOとしてはそれほど高速ではない品種を選んでいます。スイッチサイエンスは逆で、コンデンサの容量は最低限ですが、制御の高速な高速負荷過渡応答LDOを選んでいます。スイッチサイエンスのほうが今風の設計です。

FT231XS

次にUSBシリアルコンバータのFTDI社製FT231XSを考えます。このチップは5Vまたは3.3Vで動かせます。内部には5Vから3.3Vを作るLDOと、3.3Vから1.8Vを作るLDOが入っているようで、多少品質の悪い5V電源でも安定して動作するようです。USB電源をそのまま接続できる設計なのですね。3.3V出力については外部出力ピンが用意されています。これはI/O電圧の供給用(VCCIO)とされていますが、ちょっとした回路であれば周辺回路の電源まで全部まかなえてしまいます。といっても、FT231XSのLDOは最大で50mAまでしか流せませんので、ESP-WROOM-02の電源としては使えません。FT231XS専用の3.3V電源として使うことはできますが、I/Oピンを通じて基板上の3.3V電源と衝突するとわずかな電圧差により電流が逆流する可能性があります。丁寧に設計すれば良い話ではありますが、がんばってもさほど利益はなさそうなので今回は内蔵LDOは使わない方針です。I/O電源としては基板上の3.3Vを使います。
残るはFT231XSの主電源(VCC)をUSBの5Vから取るか、3.3Vから取るかという話になります。USBケーブルを抜いたときにFT231XSの電源を落としたいのであれば5Vからとったほうがよく、FT231XS周辺の回路をシンプルにしたいのであれば主電源もI/O電源も3.3Vに統一したほうがよさそうです。電池の消費を考えるとUSBケーブルが繋がっていないのであればFT231XSは電源が切れていてくれたほうがわずかながら電池の持ちが向上します。ただし、ケーブル未接続時にはFT231XSはサスペンド状態となり、消費電流は125uAに抑えられますので本当にわずかです。というとこで、今回は回路をシンプルにすることを優先してFT231XSの電源は3.3Vとしました。・・・が、やはり5Vにしておけばよかったと後悔していますので、次に作るとしたら5V電源に改修しようと思います。このへんの事情はUSBシリアル回路で解説します。

リレー駆動

リレーには電磁石で物理的にスイッチを動かす機械式リレーと、半導体間で光などを使って信号を伝達する半導体リレー(SSR: Solid State Relay)があります。今回は趣味的なこだわりから機械式リレーを使うことに決めました。
機械式リレーはスイッチを動かすためにやや大きめの電力を消費します。今回選定したHSIN DA製のリレーの場合、150mWを消費します。電流としては5V駆動の製品で30mA、3V駆動の製品で50mAという計算です。ESP-WROOM-02の平均電流が80mAで、FT231Xの平均電流が8mAですから、今回の負荷の中では大きい部類です。ESP-WROOM-02のGPIOの出力は最大で3.3V/12mAですから、リレーを直接駆動する力は全くありません。
電源としては5Vでも3.3Vでも設計できますが、

  • リレーは大きめの電力を扱うこともあり電源の効率の影響が大きくでる
  • ノイズを出しやすい素子なので、少しでもESP-WROOM-02やFT231XSから離しておきたい

という2点からLDOを経由しない5V駆動とすることにしました。これであればUSB電源の場合は損失なし、電池駆動であっても80%程度の効率でリレーに電力を供給できます。

部品選定

部品としては5V出力のスイッチングレギュレータと3.3V出力のLDOが必要となりました。DigikeyやRS コンポーネンツには選択肢が山ほどありますが、今回は秋葉原で買えることを条件としています。秋月電子とマルツ電波の在庫をみつつ、以下を選定しました。

  • スイッチングレギュレータ…MINMAX M78SAR033-0.5(秋月電子)
  • LDO…LINER TECHNOLOGY LT1963AEST-3.3(マルツ電波)

スイッチングレギュレータは500mA出力で余裕がありませんが、コイル等を一体化したモジュール製品、コンパクトで使いやすい、効率も良い、出力電圧の調整も効く、ということでM78SARを選択しました。5V出力なので5V品を買えば良いところではありますが、3.3V品だと入力電圧を低く設定でき、いろいろと調整の余地がありそうです。外付け抵抗で5Vに調整して使います。これを4Vに調整してリレーの駆動に問題が生じないのであれば(リレーの仕様上は生じないはず)、電池駆動時の電源効率を改善できるはずです。が、結局は時間の都合で細かな調整などしなかったので、2枚目を作るとしたら素直に5V品にします。基板を作り直すとしたら、1A出力だけど出力電圧が調整できないM78AR05-1を選択するか、別メーカも含めて再検討します。
LDOは出力に余裕があり、負荷過渡応答が高速なものとしては秋月電子で取り扱っているAnalog Devices ADP3338AKCZ-3.3(1A出力、300円)と、マルツ電波で取り扱っているLinear Technology LT1963AEST-3.3(1.5A出力、540円)が目にとまりました。Linear TechnologyはAnalog Devicesに買収されましたので、結局は同じ会社の製品です。LT1963AEST-3.3のほうが出力に余裕があり、高速負荷過渡応答が製品の特徴のトップにきているので、こちらを選択しました。ESP-WROOM-02と同じくらいの価格なのは問題ですが、まずは安定して動いてくれないことには展示会に間に合いません。スイッチングレギュレータが500mA出力ですので電池駆動のケースではバランスが悪いですが、USB給電(USB3.0)の場合は能力を発揮できます。LDOに余裕があると開発中のフラッシュメモリへの書き込みも安心して実行できますし、電池駆動で電流不足に陥った場合でもUSBモバイルバッテリーを使えば余裕をもって動かせるという保険にもなります。・・・ということを勘案してもやはり1.5Aは余裕持ちすぎですが、コストダウンは二の次ということで勘弁してください。

006P電池

回路設計ではありませんが、9V電源として想定している006P電池について少しふれておきます。この電池はギター界隈ではわりと見かけるものではあるのですが、あまり性能は良くありません。電圧が高いのは良いのですが、電流を流す能力も、容量も限られています。パナソニックの金色電池の6LR61Y(XJ)について見てみると、定電流連続放電特性のグラフは200mA強までしか測定されていません。200mAで放電していくと、30分ほどで7.2Vを下回るようです。この電池を基準に考えてみます。
今回の回路設計では、電源の効率は52%です。これは出力側の2倍程度の電力が006P電池から出力されなければならないことを意味します。ESP-WROOM-02が80mAを消費しているという条件では、3.3[V] * 88 [mA] = 264[mW]の電力が消費されます。電源の効率が52%だとすると、電池の出力は508[mW]です。電池が9Vを保っている状態で56[mA]、7Vまで電圧が低下した状態で73[mA]の電流が流れる計算です。終止電圧7[V]/出力73[mA]という想定で6LR61Y(XJ)の定電流連続放電のグラフを調べてみると、電池の持ちはおよそ3時間とわかります。実際にはWi-Fiの送信やリレーの駆動でより多くの電流が流れる、電圧が高いうちは電流が少なくて済む、7[V]以下でもレギュレータはまだ耐えられる、と色々な要因がありますから正確な稼働時間の予測は困難ですが、そう長くないのは間違いありません。
ライブで利用する場合、1時間に1回程度インターバルを取って電池交換をするのが良いと思われます・・・・いや、不便だよなぁ。ESP-WROOM-02をスリープ状態にできると飛躍的に寿命が伸びますが、今回は演奏に合わせてリアルタイムに反応してくれないと困りますのでスリープするタイミングがありません。外部電源を使うのが現実的ですね。
強い電池としては、ラジコンやドローン用の3セルリポバッテリーがあります。試みに検索してみると、11.1V/30C/3000mAhという品種が見つかりました。これは連続放電で90A(!)近い電流を取り出せ、56mAで50時間におよぶ稼働時間を達成できるという計算になります。フルパワー出力だと性能は下がると思いますが、これなら電池一本でソレノイドまで含めて余裕で全部駆動できちゃいそうです。大きさは13cm x 4.5cm x 2cmといったところです。ドローンをいじっていると電源設計の感覚が狂っちゃいますね。

スイッチングレギュレータ

下図がスイッチングレギュレータ周辺の回路の拡大です。

U2(M78SAR033-0.5, スイッチングレギュレータモジュール)がレギュレータ本体です。入力側には9V電池がつながります。入力コンデンサC5は入力リップル電圧やそこから生じるノイズを決めることになります。データシートには標準規格に適合するEMIフィルタの構成例が載っており、4.7uFのコンデンサとフェライトコアが並んでいます。ここに繋がるのは電池ですし、EMIなど気にするだけ無駄という基板ですが、お守り代わりに一つ付けておいたのがC5です。売り物であれば厳密に計算しないといけないところでしょうけど、これはかなり難しい話です。仕事で商品を作る場合、ハードウェアは外部の専門家にお任せすることになりますが、EMI関連の試験に関しては専門家でも苦労している印象があります。

ダイオードD1(RB160M-60TR, ショットキーバリアダイオード)はUSB電源から電流が逆流してくるのを防ぐために付けてあります。電圧降下Vfは0.5A流している状態で最大0.46Vです。Vfにより出力電圧は5Vを下回りますが、負荷はリレーのみで4V以上であれば動作しますし、LDOに必要な電位差は確保できていますので良しとします。むしろ動作に問題がないのであれば低いほうがLDOの効率が改善します。

C6は出力コンデンサですが、これはU2の出力リップル電圧の抑制という機能と5V電源がUSBと電池の間で切り替わるタイミングで5V電源を安定させるという機能があります。基本的に大きいほどありがたいようなものですが、U2は220uF以上の容量性負荷は扱えません。C5と同様にあまり根拠はないのですが、面積を取らないチップ積層セラミックコンデンサで、秋葉原で売っており、もっとも容量が大きいものということで22uFをつけることにしました。電源切替には耐えないかもしれませんが、切り替えながら使うものではないのでダメならあきらめます。

R24の5kΩ(部品の値表示は4.99kΩです)と、R2の1kΩはU2の出力電圧調整用の抵抗です。この状態で出力は5.1Vになります。わずかな違いで大きく電圧が変わってしまうため、ここは誤差の少ない金属皮膜抵抗を直列にしています。

Q3(IRLML6344TRPBF, Nch MOSFET)はUSB電源に5Vがかかっている際にU2の動作を止めるためのスイッチとなっています。Q3がONになると、U2のREMOTE ON/OFF端子がグランドレベルに落とされ、OFF状態となります。これにより電池の消耗を防ぐ仕組みです。Q3がOFFの場合、REMOTE ON/OFF端子は未接続状態となり、U2はON状態となります。Q3のゲートにはR28(100Ω)とR29(10kΩ)でUSBの電源電圧5Vを分圧した電圧がかかりますが、抵抗値の差が非常に大きいので実質的には5Vがそのままかかることになります。Q3のスレッショルド電圧Vgs(th)は最大で1.1Vですので、5Vをかければ確実にON状態とすることができます。

R28、R29を使わずにUSBの電源ラインを直接繋ぐだけでも多くの場合は動作します。ただし、USBが未接続の場合にノイズに弱くなるという問題があります。USBが接続されていない場合、USB端子までの配線は、Q3のゲートにアンテナを付けているような効果を生みます。このアンテナに外部から強いノイズが乗ってきてしまうと、Q3がノイズに敏感に反応してON/OFFを繰り返しU2の動作を不安定にしてしまう可能性があります。

R28を付けておくとQ3のゲート容量の充電速度を遅くしてスイッチング速度を低下させるという効果と、高周波ノイズが配線上に定在波を作ってしまうような場合にエネルギーを吸収して減衰させるという効果があります。スイッチング速度が遅ければ、ノイズへの反応も鈍くなります。スイッチング速度はQ3の仕様にあるゲート容量とR28の値から計算することができ、速度が問題になる場合はここから最適値を求めておく必要があります。今回はスイッチング速度を追求するわけではないので定番の値として、手元の部品在庫が豊富な100Ωを選んでいます。

R29はR28とは逆にゲート容量の放電に関わります。R29がないと放電経路がなくなってしまいますので、USBケーブルを抜いた際にQ3のゲートに電荷が溜まったままとなり、U2が起動されないという問題が生じます。ゲート容量はさほど高性能なコンデンサではありませんので、いつまでも溜まったままということはありませんが、安定動作のためには必要な抵抗です。こちらもスイッチング速度から値を計算する必要がありますが、今回はR28と同様に定番の値として10kΩを選んでいます。R28とR29は電源とグランドを繋いでいますが、R29が10kΩであれば電流は0.3mA以下ですので、あまり気にしなくても大丈夫そうです。

LDO

下図がLDO周辺回路の拡大です。

入力は先ほどのスイッチングレギュレータの出力と、USBの5V電源となります。D2(RB160M-30TR, ショットキーバリアダイオード)はスイッチングレギュレータからUSBへの電流の逆流を防ぐためのダイオードです。USBの電源電圧は規格上は4.75Vから5.25Vまでと5%の誤差が許されています。この下限の電圧が入力された場合、D2のVfを差し引くと4.29VがLDOへの入力電圧の下限となります。

LDOであるU4(LT1963AEST-3.3, LDO)のドロップアウト電圧は340mVですので、3.3Vを出力するためには3.64V以上の入力があれば動作します。1割程度の余裕をみても4Vあれば動作に問題はなさそうです。スイッチングレギュレータからの入力が4.64Vで、USBからの入力が4.29Vありますから入力電圧に問題はありません。

C7とC11の0.1uFのコンデンサは高周波ノイズを捨てるためのパスコンです。記号が間違っていますが、積層セラミックコンデンサを使っています。U4のデータシートには入出力に10uFのコンデンサがあれば安定動作すると記載されています。特にパスコンの指定はないのですが、リニアレギュレータは稀に発振が問題になることがある素子ですので保険として入れています。

入力側にはスイッチングレギュレータの回路図に出てきたC6(22uF)が接続されています。C6は積層セラミックコンデンサですので、DCバイアスで実効容量は少なめになりますが、10uFは確保できそうです。USB電源の場合は良いとして、電源がスイッチングレギュレータの場合、C6は出力コンデンサとも言えるため、これだけで十分なのかの判断は困難です。正確に計算する方法も分からないので、作ってから波形を見て考える方針とします。

出力側のC12はU4のデータシートによれば10uFが必要な箇所です。U4は高速負荷過渡応答LDOですので、大きなコンデンサは不要なはずです。が、Webを検索するとたくさん出てくるESP-WROOM-02の電源問題をみていると不安になるので、一応100uFの電解コンデンサをバルクコンデンサとして載せられるようにしてあります。

現在のところ、C11に10uF、C12に100uFを付けてあります。時間に余裕があればC12を外して試してみたいところです。C11を外すと、出力側が電解コンデンサのみとなってしまい、これだとU4が安定して動作しません。データシートではセラミックコンデンサを使うように指示されています。

D3(RB160M-30TR, ショットキーバリアダイオード)は電源を切った際に、C11やC12などの出力側コンデンサの電圧がU4の出力端子にかかって入出力の電位差が逆転するのを防ぐためのダイオードです。U4は保護機能が充実した品種なので不要かとも思いますが、念のために付けています。電源を切った際にコンデンサに溜まっていた電力は、コンデンサ自身の内部抵抗(ESR)とD3の電圧降下で大部分が消費されます。C12のESRの測定はしていませんが、データシートでは-25℃で4Ωということなので、2Ω〜3Ω程度はありそうです。放電電流はD3の定格である1Aは超えないのではないかと思われます。D3はサージ電流には30Aまで耐えますし、厳密な計算はしていませんが、壊れることはないでしょう。

3.3V電源の波形(USB電源の場合)

下図に3.3Vの立ち上がり波形を示します。横軸は1目盛200msです。電源投入直後にESP-WROOM-02が大電流を要求して電源電圧が下がりやすいというレポートが散見されるのでドキドキしながら計測しましたが、耐えているように見えます。一応、オシロの立ち下がりトリガを仕掛けたりもしましたが、トリガはかかりませんでした。

下図は時間軸を50msにして計り直したものですがあまり変わりません。

電源OFF時の波形も載せておきます。バルクコンデンサの放電があるため、やや緩やかな下がり方をしていることがわかります。3.3V電源に対して3.28Vの立ち下がりトリガという挑戦的なトリガ設定ですが、電源OFFまでトリガはかかりませんでした。さすがLinear Technology製1.5A出力LDOですね。

9V電源の波形(006P電池の場合)

以下は9V電池を接続した際の3.3Vラインの波形です。USBとあまり変わりません。

電池を外した場合も同様です。

スイッチングレギュレータの出力とLDOの出力を比較すると下図のようになりました。上がLDO、下がスイッチングレギュレータです。横軸は1msにしています。スイッチングレギュレータのほうがゆっくり立ち上がりますが、LDOは早い段階で安定しています。

さて、厳しい条件ですが、9V電池で動いているボードにUSBを接続して電源を切り替えた場合の動きは以下のようになりました。

黄色はLDOの3.3V出力、紫はスイッチングレギュレータの出力、水色はLDOへの5V入力です。5V入力ラインが切り替わり、微妙に電位が上昇すると同時にスイッチングレギュレータがOFFになり緩やかに電圧が低下していきます。スイッチングレギュレータがOFFの間、LDOの細かなノイズが目立ちます(よく見るとノイズは切り替わり以前から存在しています)。100msに一回観測されていますから周波数は10Hzというところです。スイッチング周波数よりもかなり遅いですが、なんでしょうね?測定環境由来の外来ノイズかもしれません。LDOの出力は安定しており、電源の切り替わりの様子はわかりません。あとからUSBを繋ぐ分には、ESP-WROOM-02にはリセットがかからず継続して動作してくれそうです。これなら動作がおかしなときにはUSBをつないでデバッグできそうです。

逆にUSBと9V電池を両方接続している状態から、USBを抜いた場合の波形は以下のようになります。

黄色はLDOの3.3V出力、紫はスイッチングレギュレータの出力、水色はLDOへの5V入力です。USBの電源を喪失してからスイッチングレギュレータが立ち上がるまでLDOの3.3V出力は維持できず、1.68Vまで電圧が低下しています。時間は約5msです。確認していませんが、おそらくリセットがかかっているでしょう。100uFのバルクコンデンサでも足りていないということなので、これをコンデンサで救うのはかなり難しそうです。スイッチングレギュレータは220uFまでの容量性負荷しか扱えません。もともと自由に抜き差しして動くという要件は設定していませんが、USBを抜くとリセットがかかるという点は運用上注意が必要かもしれません。

USB電源が使える状態で、スイッチングレギュレータの出力をOFFにしなければこの問題は生じませんが、それだとUSBをつないでいるのに電池がどんどん消費されることになりかねません。現状で仕方ないか、というところです(9V電源としてACアダプタを想定しているのであればACアダプタ優先でも良いのですが)。一応、スイッチングレギュレータの出力をUSBよりも十分に低くできればON状態でも電流は出力されないでしょうから、電力消費はある程度は抑えられます。電源の変更に対応するとしたら、このへんが落とし所かと思います。

ここから電流を見ていきます。オシロスコープには電流を測定するための電流プローブというものもありますが、使いどころが少ないわりにお高いので手元にはありません。代わりに1Ωの抵抗を電池と直接につなぎ、この抵抗の電圧降下を測定しました。ここで1mVの電圧降下が観測されれば1mAの電流が流れているのであろう、という原理です。利用した電池はGP200という006P型のニッケル水素電池で、内部抵抗は3Ωから4Ω程度あるようです。1Ωの抵抗を繋ぐのは影響が大きいのですが、換算が簡単だという怠惰な理由と、これ以上小さな抵抗で微小な電圧降下を観測するとなるとオシロスコープの分解能が足りなくなりそうだという現実的な理由で1Ωを利用しました。電流検出用の抵抗はシャント抵抗と呼ばれ、mΩオーダの製品がたくさんあります。本来はこうした抵抗と測定用のアンプ回路(またはアンプ内蔵のアクティブプローブ)を使い、測定対象への影響を軽減すべきところでしょう。

測定回路は上のようになっています。制御ボード全体を電池駆動として接地されていない状態にし、オシロスコープのグランドをシャント抵抗の直後にとっています。チャンネル1をシャント抵抗の手前、チャンネル3を制御ボードのグランドとしています。差動プローブや絶縁オシロスコープなどの機材を使うと、もっと素直な測定回路も組めるかもしれませんが、高価な機材ですので仕事でない限りは使う機会はないでしょう。細かいですが、チャンネルが1と2ではなく1と3になっているのは、手元のオシロスコープがADCを2系統搭載していて、1/2および3/4でADCを共用しているためです。1と3で測定すると各チャンネルに1つのADCを割り当てることが可能です(共用するとサンプリングレートが半分になります)。

まずは電源投入時の波形をみてみます。

黄色がチャンネル1で電流を表します。横軸が1目盛50ms、縦軸は100mV(=100mA)での測定です。起動直後に電源周りのコンデンサへの突入電流が流れて測定範囲を振り切っています。100ms程度経過した時点で200mAを少し超えるくらいの電流が10msから20msくらい流れています。無線回路のキャリブレーションでしょうか。その後は80mA前後で落ち着きますが、時折200mA超えのスパイクが見えます。

スパイク部分を一つだけ拾って拡大すると上図のようになっています。この場合、125us程度200mA弱の電流が流れています。いかにも何かのスイッチが入ったような感じですね。無線用のパワーアンプ回路だと思われます。時間は処理内容によって長くなったり短くなったりするはずです。無線LANで巨大なパケットを送る場合にはより長くなるでしょう。

もう少し長い時間でみたものです。横軸を1目盛200msにしています。200msから300ms経過後には起動処理が終わっているようです。ソフトウェアはアクセスポイント動作となっており、定期的にビーコンを送るなどの処理が実行されています。アクセスポイントとして動作している場合、省電力化は困難ですが、それでもかなりがんばっているように見受けられます。

さらに長い時間で測定したものが上図です。横軸が1目盛1秒になっています。そしてサンプリグを複数回実行してヒートマップ風の表示をさせました。ほとんどの時間帯は赤色のラインの中におさまり、時折紫色の領域になっていることもある、という見方をします。チャンネル1には上の方に緑色のラインが見えます。赤がアイドル状態、無線の処理中が緑、というのが基本動作で、稀に上下にはみ出すこともある(もしくは測定値にノイズがのっている)、ということでしょう。この波形から代表値を測定すると以下のようになりました。

最高で300mAまで電流が流れるときがあり、平均だと72mA程度が流れているとわかります。事前の概算では電池の電圧が7Vの場合に73mAで3時間の駆動と見積もりましたが、概ね一致していそうです。緑色のラインはTopとして検出されており、240mVと判定されています。赤色のラインはBaseで68mVです。

チャンネル3の電源電圧も同様にみてみると、平均6.4V、最低5.84V、最高6.56Vとなりました。ちょっと電池はへたり気味だったかもしれませんね。測定に利用したGP200は定格200mAhですので、73mAを流していたら3時間もちません。いろいろと測定しているうちにかなり電力を浪費してしまったのでしょう。

両者の平均を掛け合わせて平均消費電力の概算を考えてみると、6.4V x 73mAで467mWです。うーん、平均的にはスマホと同程度、画面を消して待ち受けになっているスマホよりもかなり多いという感じでしょうか・・・・。ピーク電力は高出力のLTEとは比較にならない低さだとは思いますが、あまり省エネとは言えませんね。電源効率が52%ですので、ESP-WROOM-02自体は約半分の243mWの電力消費です。これ自体は優秀な値ですが、電源が甘すぎました。

電源を9Vに変更した場合は以下のようになりました(計測時間が少し短かったので疎になっていますが、基本的には同じ測定です)。電源は12VのACアダプタの出力をリニアレギュレータで9Vに落としています。

電源電圧が高いので平均で55mA、通常時(Base)が52mA、無線動作時(Top)が176mAと電流値は減少しています。事前の概算では、電池の電圧が9Vのときに56mAとしていましたので、こちらも概ね予想通りとなりました。電源電圧が高くなると電流値が減っていくのはスイッチングレギュレータの効果です。これがリニアレギュレータだと、電源電圧を高くしてもレギュレータが熱くなるだけで電流値は減りません。

第3回に続く…)

引用文献

  • Espressif Inc. (2015年8月1日). ESP8266EX Datasheet v4.4.
  • Espressif Inc. (2016年1月). ESP8266 System Description v1.4.
  • Espressif Inc. (2017年5月). ESP8266 Technical Reference v1.3.
  • Espressif Inc. (2018年3月). ESP-WROOM-02 Datasheet v2.6. 21.
  • Espressif Inc. (2018年12月). ESP8266 Hardware Degisn Guidelines v2.4.
  • Espressif Inc. (2018年12月13日). ESP8266 Pin List.
  • Espressif Inc. (2018年11月). ESP8266EX Datasheet v6.0.
  • Phillips Semiconductors. (2000年1月). I2Cバス仕様書 v2.1.
  • Pull up resistors. (2015年9月9日). 参照先: ESP8266 Developer Zone: https://bbs.espressif.com/viewtopic.php?t=1079#p4097

末永 洋樹

2019年11月12日 火曜日

2003年の入社以来SEILシリーズのファームウェア開発に取り組んでいましたが、最近は子会社のIIJ-IIでエッジコンピューティングを中心として次世代技術の動きを追っています。

Related
関連記事