小型オシロスコープDSO Quadを使ってみる

「DSO Quad」という小型のオシロスコープを購入しました。


「DSO Quad」は、ホビーユースの、小型4チャネルデジタルストレージオシロスコープです。
私はこれまでオシロスコープを使ったことがありませんでしたので、今回、初めて使うことになります。

このような箱に入っています。

中はこのような感じです。

付属品は以下のとおりです。

  • 本体
  • 英文マニュアル
  • オシロスコーププローブ(x2)
  • デジタルプローブ(x2)
  • 六角レンチ

本体の電源を入れると、このような画面が表示されます。

Web上に、英文のマニュアルが掲載されています(こちら)。本体に付属しているマニュアルとは違うものです。

まずは、このWeb上のマニュアルに記載されている使用例(Example One : Measure simple signals)に従って、操作してみます。

  • ひとつめのプローブを「WAVE OUT」ソケットに挿入します。
  • もうひとつのプローブを「CH_B」ソケットに挿入します。
  • これらの2つのプローブをつなぎます。
  • Gフィールドで出力波形を「方形波」、Hフィールドで周波数を「20KHz」、Iフィールドでデューティサイクルを「50%」に設定します。
  • Cフィールドの上部でCH_Bについて「DC」を選択し、Cフィールドの下部で「2V」を選択します。
  • Fフィールドの上部で「AUTO」を選択し、Fフィールドの下部でサンプリング時間を「20uS」に調整します。
  • Jフィールドで「negative pulse widrh」を選択します。カーソルが黄色になっていることを確認します。
  • KフィールドのトリガレベルTHRを調整して、安定したトレースを表示します。こちらも黄色になっていることを確認します。

このような画面が表示されました。

なお、表示画面の構成は以下のようになっています(上記のマニュアルより)。

画面上部左に入力エリア(Aフィールド〜Fフィールド)、画面上部右に出力エリア(Gフィールド〜Iフィールド)、画面右部に測定エリア(Jフィールド〜Tフィールド)があります。

フィールド間の移動や各値の設定には、「Jump(▲)ボタン」、「Select(−・+)スイッチ」、「Navigate(<・>)スイッチ」を使います。

  • Jump(▲)ボタンを押すと、「入力エリア」⇔「測定エリア」の移動ができます。
  • Navigate(<・>)スイッチをスクロールすると、各エリア内でフィールドの移動ができます。なお、入力エリア内のフィールド移動では、出力エリアの「Gフィールド」まで移動できます。
  • Gフィールドに移動してから、Select(−・+)スイッチを押すと、出力エリア内を移動できます。
  • 各フィールドでSelect(−・+)スイッチをスクロールして、値を変更できます。

さて、それでは実際に、信号を測定してみたいと思います。

ずっと測りたかったのは、M5Stackの電源です。

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

M5Stackから、ジャンパー線で「3V3」と「G」を取り出し、プローブとつなぎます。
M5Stackに空のスケッチ(Arduino IDEで「新規ファイル」を選んだ時に開くもの)を書き込みます。

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

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

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

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

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



2020/3/1追記

M5Stackの電源ノイズが気になったので、もう少し調べてみることにしました。

M5Stackから、ジャンパー線で「3V3」と「G」の信号を取り出し、プローブとつなぎます。
M5Stackにスケッチを書き込んで、「3V3」-「G」間の電位差を測りました。

なお、電源はPCから給電しています。

空のスケッチ →22mV

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

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

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

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


次に、「5V」-「G」間についても、同様に調査しました。

空のスケッチ →12mV

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

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

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

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


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

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

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

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

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

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

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


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


このサイトで書いている、M5Stackシリーズ(M5Stack、M5StickCなど)に関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のM5Stackシリーズの記事にも興味のある方は「さとやまノート」をご覧ください。