M5Stackでできること 〜M5Stackの電源ノイズを測定する(1)

スポンサーリンク
お役立ち情報

「DSO Quad」という小型のオシロスコープを購入しました(「DSO Quad」の購入レビューは こちら)。


早速、以前から調べたかった信号を測定してみます。

調査するのは、M5Stackの電源です。
外付けセンサをつけた時など、たまに挙動がおかしい時があり、電源が不安定なのではないかと疑っています。

M5Stack Basic V2.7(Yahoo!ショッピング)

M5Stackから、ジャンパー線で「3V3」と「G」を取り出し、「DSO Quad」のプローブとつなぎ、電源-グランド間の電位差を測定します。

調査結果1 〜スケッチによる電源ノイズの変化

空のスケッチ

M5Stackに空のスケッチ(Arduino IDEで「新規ファイル」を選んだ時に開くもの)を書き込みます。

オシロスコープで測ると、以下のとおり、電源はそれなりに安定しています。

「M5.begin」を追加

次に、このスケッチの先頭に「#include 」を、setup内に「M5.begin();」だけを追加して、M5Stackに書き込みます。

オシロスコープで測ると、以下のとおり、電源は先ほどに比べて大きくゆれています。

「M5.begin();」は、M5Stackを使う限りは、どんなスケッチでもまず間違いなく使うものですが、これにより、電源が不安定になっているようです。

ちなみに、「5V」-「G」間を測ったところ、「M5.begin();」があっても、それなりに安定していました。

調査結果2 〜電源ノイズの詳細調査

M5Stackの電源ノイズが気になったので、もう少し調べてみることにしました。
「3V3」-「G」間の電源ノイズを測定します。電源はPCから給電しています。

空のスケッチ →22mV

setupに「M5.begin();」を追加 →114mV

setupにてLCDに文字列表示を追加 →118mV

setupにてWi-Fi接続の処理を追加 →118mV

setupに「M5.begin();」を追加することによって、ノイズが大幅に増大しました。


次に、「5V」-「G」間についても、同様に調査しました。
なお、電源はPCから供給しています。

空のスケッチ →12mV

setupに「M5.begin();」を追加 →10mV

setupにてLCDに文字列表示を追加 →10mV

setupにてWi-Fi接続の処理を追加 →26mV

setupにてWi-Fi接続の処理を追加することによって、以下のようなスパイクノイズも発生するようになりました。

調査結果3 〜電源供給の違いによる5V系電源ノイズの調査

上記はPCから給電したときの結果ですが、5V電源については、電源供給方法の違いによっても差がでると思われるので、上記と同じ、Wi-Fi接続の処理を追加したスケッチで、供給電源だけを変更して測定しました。

内蔵バッテリーで駆動 →46mV、スパイクノイズなし

ACアダプターで駆動 →78mV、スパイクノイズなし

電源供給方法の違いによって、電源ノイズは全く異なる形状になりました。

2台のM5Stackで調査しましたが、概ね同じ結果になりました。

私がM5Stackを使う時には、ほとんどの場合はWi-Fi接続を使っているので、5V、3V3ともに、結構大きなノイズが発生していることになります。
外付けセンサをつなぐ場合は、あまり電源電圧に敏感な使い方はしないよう、注意しなければいけなさそうです。

M5Stack Basic V2.7(Yahoo!ショッピング)

 

なお、私がM5Stack、M5StickCの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


ごく基本的なところから、かなり複雑なスケッチや、ネットワーク接続など、比較的高度なものまで、つまづかずに読み進めていけるような構成になっており、大変わかりやすい本です。