motoh's blog

主に趣味の電子工作やプログラミングについて書いていきます

STM32マイコンで簡易オシロスコープを自作 (3) ハードウェア編

1. はじめに

「STM32マイコンで簡易オシロスコープを自作」シリーズの第3回です。

mzmlab.hatenablog.com

mzmlab.hatenablog.com

前回まででオシロスコープのソフトウェアはそこそこ使えるものになりましたが、ハードウェアはブレッドボードで組んでいる状態のため、実用的ではありません。そこで、ここからは実際に使えるものを目指してハードウェアを製作していきます。 具体的には、

  • 基板上にパーツを配置し、手のひらサイズにする。
  • 前回まではマイコンのADコンバータに信号を直接入力していたため、マイコンの電源電圧3.3Vよりも高い電圧を測定できなかった。今回、入力回路を実装することで電源電圧の10倍程度まで測定できるようにする。
  • 前回まではPCのUSBから電源供給していたため単体で持ち運びができなかった。今回、バッテリー駆動を可能にすることで持ち運びできるようにする。
  • ケースに収めることで、さらに持ち運び易くする。(第4回で実施予定)

ということをしていきます。

2. 基板に配置した様子

写真のようにユニバーサル基板(95mm × 72mm)にSTM32 Nucleoボードと液晶パネルを重ねて配置することで、扱いやすいサイズに収めることができました。オシロスコープ用のプローブを取り付けられるようにBNCコネクタを採用しました。バッテリー(9V電池)もスペースに収まっています。

横から見た様子です。液晶パネルがSTM32 Nucleoボードの高さに合うように、ピンソケットを2段重ねにしています(上側のピンソケットは足の長い連結用ピンソケットです)。9V電池をON/OFFするためのスイッチも付いています。

次の写真は、BNCコネクタにBNC-バナナプラグ変換コネクタを介してみの虫クリップを取り付けた様子です。BNCコネクタなのでオシロスコープ用のプローブも取り付け可能です。

3. 入力回路

電子回路は勉強中なので、ここで紹介する入力回路は、個人的に使うには十分な、最低限の入力回路という扱いでお願いします。

入力回路は、過大電圧からマイコンを保護することと入力インピーダンスを増大させることを目的としたバッファ回路と、マイコンの電源電圧3.3Vよりも高い電圧を測定できるようにするための分圧回路で構成しました。 回路図は次の通りです。

※全体の回路図は作成していませんが、前回記事でSTM32 Nucleoボードと液晶パネルのピンアサインを表にまとめています。

3.1. バッファ回路について

バッファ回路はオペアンプを利用します。オペアンプの出力電圧は、オペアンプの駆動電圧を超えることがないため、駆動電圧にマイコンの電源と同じ3.3Vを使用することで、マイコンを過大電圧から保護します(過大電圧でオペアンプが壊れる可能性はありますが、マイコンが壊れるよりは安価な損失で済みます)。3.3Vは、STM32 Nucleoボードの+3.3V端子から取り出せます。

また、オペアンプを取り付けることで入力インピーダンスが数MΩまで増大します。入力インピーダンスが高いほうが、測定対象の内部抵抗(出力インピーダンス)による電圧降下を抑えられるので、正確な測定ができます。

今回の用途では、単電源でレール・ツー・レールのオペアンプが望ましいため、MCP6022を利用しています。

3.2. 分圧回路について

分圧回路は、2つの抵抗R1(100kΩ)とR2(10kΩ)で構成します。この場合、分圧比は、R2 / (R1 + R2) ≒ 0.09 となります。これにより、電源電圧が3.3Vのマイコンならば、36V程度まで測定することができるようになります。

R1を90kΩにすればぴったり1/10になりますが、今回はそういう必要はなかったので手元にあった適当な抵抗を使用しました。

4. バッテリー駆動

Nucleo Board STM32F401は、Vin端子に外部電源7V~12Vを供給できるので、Vin端子に9V電池をつなげられるようにしました。Vin端子に電源供給する場合のジャンパピンの設定は次の通りです。

  • JP5のピン2と3をジャンパキャップでショートする。
  • JP1のジャンパキャップを外す。

Vin端子に電源供給する場合も、PCのUSBから電源供給する場合と同じように+5V端子と+3.3V端子が機能します。+5V端子は液晶パネルへの電源供給に使用し、+3.3V端子はオペアンプの駆動電源として使用しています。

5. おわりに

前回まではブレッドボードで組んでいた回路を基板上に実装することで、手軽に扱えるオシロスコープになりました。しかし、やはり最終的にはケースに収めたいところです。いつになるかはわかりませんが、次回にご期待ください。

⇒ 2022.9.18追記
ケースも作成しました。次の記事で解説しています。

mzmlab.hatenablog.com