どうも、なかしー(@nakac_work)です。
僕は組み込みエンジニアとして、自動車や家電製品のマイコンにプログラミングをする仕事をしています。
電子工作をするためにオシロスコープを買ったけど、こんな悩みありませんか?
- 周期や振幅の測定方法が分からない
- プローブを回路にどうやって繋げばいいか分からない
- オシロスコープの操作方法が分からない
オシロスコープは電子工作で、時間によって電圧が変化する信号を調べるときに役立ちます。例えば、通信波形の測定や発信回路の出力などを測定する時です。
通信波形を観察したり、周期や振幅の測定ができるように「オシロスコープの使い方」について紹介します。
- オシロスコープとは
- オシロスコープの使い方
- Arduinoの出力信号をオシロスコ―プで測定する
ちなみに、僕が使っているのはこのオシロスコープです!
格安だけど電子工作でよく使う機能はしっかりと搭載されています。はじめてのオシロスコープとして最適です。
オシロスコープとは
「そもそも、オシロスコープって何?」とか「マルチメーターと何が違うの?」と思っている方もいると思います。
こんな違いがあります。
- マルチメーターは一定の電圧
- オシロスコープは一定の電圧と時間によって電圧が変化する信号
時間によって電圧が変化する信号と言えば、
- マイコンとIC間のデータのやりとりを確認したいとき
- マイクの入力電圧をオペアンプで増幅した電圧を測定したいとき
などがあります。
特にマイコンでI2C通信・SPI通信・UART通信が上手くいかない時はオシロスコープで信号を確認しながらプログラムを修正した方が早かったりもします。
オシロスコープはグラフで電圧を確認できるので、電圧を出力しているか確認したいときにも大活躍します。
オシロスコープをこれから購入しようと思っている方は次のスペックを比較すると良いと思います。
- 周波数:観察できる周波数【数値が高いほど良い】
- 電圧:オシロスコープで測定できる最大の電圧【100V以上あればOK】
- プローブのCH数:同時に波形を測定できる数【多いほど良い】
CH(チャネル)
僕が使っているawonのSDS1022のスペックは
- 周波数:20MHz
- 電圧:400V
- プローブのCH数:2
電子工作レベルならこれだけあれば十分だと思います。
オシロスコープの使い方
では、ここからは本題の「オシロスコープの使い方」について紹介します。
もしかすると、お使いのオシロスコープによっては操作方法が違う可能性があるのでご了承ください。
オシロスコープの使い方を次の4つに分けて紹介します。
- 目盛りの読み方
- 一定の電圧を測定する方法
- 一定周期で電圧が変化する波形の取り方
- 不定期に電圧が変化する波形の取り方
目盛りの読み方
1目盛りの大きさはオシロスコープの設定で変わります。
横軸が時間を、縦軸が電圧を表します。
1目盛りの大きさは画面の左下に書かれいています。
例えば、この場合だと
横軸はM:200μsで縦軸は5.00Vです。
ちょっと見にくいですけど、この信号の周期は立下りから次の立下りまで5目盛りなので、200μs/目盛り × 5目盛り = 1000μs = 1msecということが分かります。
電圧は5Vです。
一定の電圧を測定する方法
電源電圧のように一定の電圧を測定するなら場合は
- 回路の電源をOFF
- プローブを測定したい場所に、ミノムシクリップをGNDに接続
- 回路の電源をON
- 電圧レンジを回して調整
プローブを回路に繋ぐ前に必ず回路の電源をOFFにしましょう。
特にICを測るときは、プローブの先端がICの他の足に触れてショートすることも考えられます。
電圧レンジはつまみを回して調整できます。
一定周期で電圧が変化する波形の取り方
PWM制御の波形のように一定周期ごとに電圧が変化する波形を取りたい場合は
- 回路の電源をOFF
- プローブを測定したい場所に、ミノムシクリップをGNDに接続
- 回路の電源をON
- 電圧レンジの調整
- 時間レンジの調整
- トリガーの調整
時間レンジも電圧レンジと同じようにつまみを回して調整すればOKです。
トリガーとは「電圧が立ち上がるところ、もしくは立ち下がるところを基準に電圧を測定する機能」です。
このトリガーを設定しないとPWM制御の波形を測定したときに、周期やパルス幅の観察ができません。
トリガーは時間軸と電圧軸のどのポイントを基準とするか、立ち上がりか立下りのどちらで検出するか設定します。
そうすることで、周期やパルス幅を測定することができます。
不定期に電圧が変化する波形の取り方
スイッチを押したときに通信を行うようなマイコン回路のように不定期に電圧が変化する場合は、シングルモードにすればOKです。
シングルモードは、トリガーで設定した内容と一致する電圧が取れるまで待ち続けます。
オシロスコープで波形を測定してみる
Arduinoにこんなプログラムを書きこんでオシロスコープで波形を観察してみましょう。
long randam_data = 0;
void setup() {
analogWrite(3,1);
analogWrite(5,255 / 2);
pinMode(7, OUTPUT);
}
void loop() {
randam_data = random(1, 100);
digitalWrite(7, HIGH);
delayMicroseconds(randam_data);
randam_data = random(1, 100);
digitalWrite(7, LOW);
delayMicroseconds(randam_data);
}
接続するのは、3ピンと5ピンと7ピンです。
測定した結果はこんな感じです。
3ピンの測定波形
5ピンの測定波形
7ピンの測定波形
3ピンと5ピンはPWM制御で一定周期で0Vと5Vが切り替わっています。
7ピンは0Vと5Vが不定期に切り替わるので、シングルモードもしくはRun/Stopを使う必要があります。
オシロスコープの使い方|まとめ
この記事では「オシロスコープの使い方」について紹介しました。
- オシロスコープは時間によって電圧が変化する信号を測定するのが得意
- オシロスコープは電圧・時間レンジとトリガーを調整する
- 測定個所に合わせて調整する必要がある
安くで買えるオシロスコープはこちら
もう一つ電子工作でよく使う「マルチメーター」の使い方もまとめています。
使い方を知らない人やまだ持ってない人はこちらの記事も必見です!
電子工作の人気記事
>>ラズベリーパイで実現できることを紹介【マイコンの域を超えた】