HOME  > 電子工作

ATmega328Pを用いて簡易オシロスコープ(リアルタイム・オシロスコープ)をつくる

図1

はじめに

 ATmega328Pを用いて簡易オシロスコープ(リアルタイム・オシロスコープ)を制作しましたのでご紹介します。ATmega328PのADC変換時間は、安定して取得するためには、20μsほど掛かるため、制作した簡易オシロスコープのサンプリングレートは、50KS/sです。

用意するもの

制作に必要なものは下記の通りです。

回路図

回路図
 簡易オシロスコープの回路は上図のようになります。
 信号入力の回路は、分圧により、0V-10Vを入力することができます。Wave Generatorの回路は、レベル変換することにより、スイッチで3.3Vと5Vが選択できます。

1)信号入力は、18kΩの抵抗と20kΩのボリュームで分圧しています。1:1になうよう、ボリュームで調整します。

2)3.3V←→5Vのレベル変換するのには、I2Cバス用レベル変換モジュール FXMA2102を利用します。


レベル変換モジュールに何を選択するか、またプルアップ抵抗の抵抗値を何にするかによって、高周波数信号の波形がなまってきます。 色々なPICマイコンへの書き込みで試しましたが、FXMA2102でもいけます。プルアップ抵抗の抵抗値は ATmega328Pでは4.7kΩがいいようです。

ソフトウェア


プログラムコード(2025.5.26更新)

コンパイラの設定
  <Arduino Uno>
  ボードマネージャー:Arduino AVR Boards
  対応ボード:    Arduino Uno


オシロスコープ操作

 下記のように、PCとUSB接続(仮想COM、UART)して、PCより操作します。

1)簡易オシロスコープのCH1にターゲットの信号を入力します。

2)PCとUSB接続(仮想COM、UART)して、PCより簡易オシロスコープを操作します。自作のWindows用ソフトを作成しましたので、下記に紹介します。


Windows用ソフト(2025.5.26更新)


簡易オシロスコープをPCとUSB接続して、PC側より、Windows用ソフトを起動します。

入力信号をOffします。

トリガーを設定します。

入力信号をOnすると、トリガーにより、波形を捉えることができます。

終わりに

以上です。この他にも、自作PICライタを制作したりしています。

このページのトップへ