【電気・電子】オシロでRaspberry PiのPWM信号を観察してみました(観察編)

電気・電子

 緊急手術と2週間の入院、自宅療養でずいぶん時間が経ってしまいました。
 術後の経過は良く、入院中は退屈なこともあって、ノートPC、Raspberry Pi一式、オシロスコープまで持ち込んで続きのPWM信号の観察をしようとしました。しかし、WiFi環境が異なるためRaspberry Piにログインすることができず、あえなく考えは撃沈してしました。

 退屈しのぎに入院中ずっと着けていた心電図モニターに興味を持ち、心電図モニターの回路をいろいろ調べてみました。調べてみると計装アンプ1個、数個の抵抗器とコンデンサーの簡単な回路でできることがわかりました。ただし、気を付けないといけないのは、人体に電極をつけるので感電しないように保護回路を設けるなどの対策が必要ということでした。またの機会に心電図モニターを作成したいと思います。

 さて、PWM信号の観察をしたいと思います。

オシロスコープのプローブ校正

 オシロスコープを使って波形を測定する前に必ずプローブの校正を行います。プローブは測定する波形が最初に入ってくる入口です。その入口がいい加減な入口だと測定する波形がいい加減な波形になってオシロスコープに表示されてしまいます。

 プローブは単に波形を伝える電線ではなく、プローブヘッドに電子回路が備わっています。また、測定する波形に対してプローブによる影響を小さくするように極めて細い電線で作られています。そのため、プローブの扱いや保管に際して、ケーブルが折れ曲がらないようにする必要があります。

 オシロスコープの右下に校正波形出力端子とグランド端子があります。この端子は、1KHzの矩形波形を出力しています。この矩形波形をプローブで受けて、その波形がオシロスコープに1KHzの矩形波形として表示されるかを確認します。歪んだ波形が表示される場合、プローブを補正して正常な矩形波形になるように調整します。

 プローブのグランドリードのワニ口クリップでグランド端子を挟んで繋げます。プローブのフックチップからフックを出して校正波形出力端子の輪っかに引っ掛けて繋ぎます。

 プローブを端子に繋げた直後の波形です。でたらめな波形になっています。でたらめな波形ではないですが、オシロスコープとしては認識できていない波形として表示されています。

 オシロスコープの右上にある「AUTO」ボタンを押下します。AUTOによって、オシロスコープが波形を認識して適切に表示しようとします。

 こんな感じで綺麗な矩形波形が表示されます。出荷時にプローブが校正されているので特に調整する必要はありません。ただし、プローブの校正は測定する際の儀式と思って必ず行うようにします。
 もし、波形が歪んでいる場合は、プローブに付属の調整ツールを使って、プローブの調整ボリュームを回して補正します。

 オシロスコープの波形の縦軸は電圧を表し、横軸は時間を表します。また、画面には波形の他にいくつかの数字が表示されています。①の500mVは、チャンネル1の縦軸1マスの電圧を表します。②の200μsは横軸の1マスの時間を表します。③の1.50Vはトリガーレベル値を表します。トリガーレベルラベルが画面の右端中央にオレンジ色の「<T」で表示されているもので、その値がトリガーレベル値になります。波形の底辺から3マス目にトリガーレベルラベルがあるので、500mV×3(マス)=1500mV=1.5Vと求められます。

 矩形波形の周波数を画面から読み取ってみます。
1周期は、横軸で5マスです。1周期の時間は、200μs×5(マス)=1000μs=1msです。つまり、0.001s(1000分の1秒)になります。周波数は、1/周期(Hz)で表されます。したがって、周波数f=1/0.001=1000Hz=1KHzということになります。

 矩形波形のピーク電圧Vp-pを画面から読み取ってみます。
波形の最小と最大の間の縦軸のマス目を読み取ると6マスです。ピーク電圧Vp-pは500mV×6(マス)=3000mV=3Vとなります。

 ここでデジタルオシロスコープの強みの発揮です。オシロスコープの左端にはファンクションキーがあります。MENUボタンで縦軸用、横軸用のファンクションを切り替えられます。また、△▽キーで各軸用のファンクションキーのページを切り替えられます。
 ファンクションキーの機能が画面の左端に表示されるので、何の機能かが分かります。
このファンクションキーを使えば、先ほどの読み取った周波数やピーク電圧を確認することができます。

 例えば、上から2つ目のファンクションキーの「Freq」を押すと、画面下に周波数としてFreq=1.00KHzと表示されます。同様にピーク電圧Vppは3.10V、デューティサイクル値50.00%なども表示することができます。

PWM信号の観察

 オシロスコープの初歩的な使い方もわかったので、いよいよPWM信号を観察したいと思います。

PWM信号については、以下の投稿をご覧ください。

 Raspberry PiでRGB LEDを点灯させたときのPWM信号を見てみたいと思います。
 Raspberry Piのブレッドボードの回路からLEDの赤色のピンとGNDピンにプローブを繋げます。

 ブレッドボードのLED 赤色ピンの横からジャンパーケーブル(赤)をプローブのフックチップ用に、GNDピンの横からジャンパーケーブル(黒)をプローブのグランドリード用に付けました。それぞれをプローブに繋げた状態です。

 次にRaspberry Pi上でRGB LEDの点灯させるPythonプログラムを実行したところです。赤枠部分のR={0.00, 31.37, 62.75, 94.12 }がLEDの赤色のデューティ比(%)を表しています。
これらデューティ比の信号を出力しているときのPWM波形をオシロスコープでキャプチャしました。

 デューティ比:0.00%時です。オシロスコープ上は+Duty=*****です。これは、周期がないため測定できない結果であり、特に問題ありません。

 デューティ比:31.37%時です。オシロスコープ上は+Duty=33.27%、ピーク電圧Vpp=4.88Vになっています。デューティ比は誤差範囲(※)と考えられますが、Raspberry PiのGPIO出力電圧は3.3Vですが、Vppは4.88Vになっています。
※の誤差と言っても、Raspberry Pi側の実行誤差なのか、オシロスコープの測定誤差なのかは、これだけでは特定できません。

 波形をよく見ると、パルスの立ち上がり時の飛び出し(オーバーシュート)があります。また、パルスの立ち下がりの飛び出し(アンダーシュート)があります。このオーバーシュートとアンダーシュートの差が4.88V(1マスが1.00V)になっているために表示されていると考えられます。

 実際、観測したい波形の電圧は、Vampというパラメータで確認することができます。Vampのファンクションキーを押すと、画面下にAmpl=3.06Vと表示されます。これが波形のベースとトップの間の電圧値になります。GPIOでは3.3Vですが実際には3.06V程度の値になっていることがわかりました。

 同様にデューティ比:62.75%時です。オシロスコープ上は+Duty=61.62%、ピーク電圧Vpp=4.88Vになっています。

 同様にデューティ比:94.12%時です。オシロスコープ上は+Duty=89.77%、ピーク電圧Vpp=4.92Vになっています。

まとめ

 Raspberry PiのPWM信号をオシロスコープを使って、波形を観察することができました。また、PWM信号を見てみることでオシロスコープの基本的な使い方を理解することができました。他にもRaspberry Piを使ってやってみたいことがたくさんあります。これらも波形を見ながらどのような動きをしているかを確認しながら進めることができそうです。
 ブログのリハビリもできたので、明日から社会復帰できそうです。やっぱり、健康が一番ということをしみじみ感じた2024年の夏でした。

タイトルとURLをコピーしました