Arduino-Processingで作る 【簡易オシロスコープ】 その2

arduino-oscilloscope-2-00 Arduino応用編
記事に広告(アフィリエイト広告)が含まれています。
スポンサーリンク
Arduino-Processingで作る
【簡易オシロスコープ】
その2

こんにちは、管理人のomoroyaです。

 

【簡易オシロスコープ】その1では簡易オシロスコープを作成しているサイトを発見。

簡易オシロスコープの参考サイト(九州工業大学)

Arduino 簡易オシロスコープ
日本語 English 目次1 Arduino 簡易オシロスコープ1.1 設定操作部1.2 波形表示部1.3 操作方法1.4 Arduino の回路1.5 スペ…

 

おもしろそう!ということで早速作ってあそびました。

 

せっかく作ったので、色々と測定しなければなりません。
※義務ではありません!

しかし、せっかく作った簡易オシロスコープです。

本記事では、簡易オシロスコープで色々測定してみます!

 

Arduino入門編の解説にて使用しているArduinoは互換品です。

互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

正規品(Arduino UNO R3)の本体単品がほしい方はこちらとなります。

 

Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)

 

 

スポンサーリンク

はじめに

簡易オシロスコープの使い方は、ソフトを配布している九州工業大学のサイトに書かれています。

始める前に、一度確認されることをおすすめします。

 

また、簡易オシロスコープはArduinoを使用しています。

そのため、Arduinoの絶対定格以上の電圧、電流がかかるような状態になると壊れます。

過電圧、過電流、逆電圧がかかるような状態は避けましょう。

A1、A2、A3に接続している保護抵抗1kΩはできるだけそのままで使用してください。

 

Arduinoを使って遊んでいるときと同じことに気を付ければ大丈夫です!

 

試行用の測定は以下を考えています。

1.DC電圧 測定
・1.5Vの乾電池を測定してます。
2.パルス波形 測定
・その1のパルス波形の周期を変えて測定してみます。
3.RC回路 測定
・項目2のパルス波形をRCフィルターを介して測定してみます。

 

では、さっそく確認していきましょう。

 

vref calib 設定

さっそく測定していきたいところですが・・・

始めに、キャリブレーションをする必要があります。

とりあえず、測定して遊ぶだけであればすっとばしてもかまいません

 

やりたいことはArduinoの5V端子の実電圧をテスタなどを使って測定。

その電圧を、「Kyutech Arduino Scope」設定画面の「vref calib」に入力するだけです。

これで、Arduino内蔵のADコンバータの基準電圧の設定をすることになります。

 

設定方法は以下となります。

  1. Arduinoの5V端子の電圧を測定
    ※管理人の互換機Arduinoは4.87V
  2. 下記画面の赤枠「vref calib」に測定した電圧を設定

arduino-oscilloscope-2-01

 

以上で下準備は終了です。

 

DC電圧 測定

さっそく電池の電圧を測定してみます。

電池がなくなって、使えなくなった電池です。

まずは、テスタで電池の電圧を測定。

テスタの測定値は「1.30V」でした。

 

実際の測定回路がこちら。

arduino-oscilloscope-2-02

 

Kyutech Arduino Scope」で測定した結果がこちら。

CH1で測定しています。

画面下にカーソルを当てたところの情報が表示されます。

CH1が1.3Vであることがわかります。
※CH1表示は0.5V/divに変更

arduino-oscilloscope-2-03

 

電池の1.3Vが測定できているのがわかります。

 

パルス波形 測定

続いてパルス波形の測定。

その1で説明しましたが、D3端子からはキャリブレーション用のパルス波形が出力されています。

設定画面のPULSEの所で「周期:freq」「比:duty」を変更できます。

デフォルト設定は「1000hz」「50%」に設定されています。

ではさっそく測定してみましょう。

 

実際の測定回路がこちら。

arduino-oscilloscope-2-04

 

Kyutech Arduino Scope」で測定した結果がこちら。

CH1で測定しています。

カーソルで□で囲ったところの値が画面下にでてきます。

周期が1KHz = 1000Hzで設定した通りのパルスが測定できています。

x軸を500μs/divに変更しているためメモリ2つ分でも1KHzであることがわかります。

arduino-oscilloscope-2-05

 

こちらが10倍の10KHzにした場合の波形です。

X軸を50μs/divに変更しています。

メモリ2つで100μsとなっていることから周期が10KHzであることがわかります。

きちんと測定できています。

arduino-oscilloscope-2-06

 

単品で電子部品をそろえられれば1000円以下で作成可能です。

この値段で、ここまで測定できるのですから素晴らしいの一言です。

 

RC回路 測定

続いてRC回路の測定。

RC回路の定数は以下。

  • 抵抗:1KΩ
  • 容量:01.uF(セラミックコンデンサ)

 

パルスの周期、Dutyはデフォルト設定の「1000hz」「50%」のまま。

ではさっそく測定してみましょう。

 

実際の測定回路がこちら。

arduino-oscilloscope-2-07

 

Kyutech Arduino Scope」で測定した結果がこちら。

CH1で測定しています。

x軸を200μs/divに変更しています。

RC回路の特性でパルス波形の立ち上がり、立下りがなまっているのがわかります。

時定数は、RC=100μsと計算できます。
※R×C

5Vの63.2%である3.16Vに達するのに100μs程度かかるということになります。

実際には、抵抗、容量の許容差などもありますので値はずれます。

※保護抵抗をつけたままで測定していますので、保護抵抗分もずれます。

arduino-oscilloscope-2-08

 

抵抗、容量地を変えて色々と測定してみるのも良いと思います。

 

参考 FFT(高速フーリエ変換)

最後に参考までにFFTの機能を使った波形も載せておきます。

FFT:Fast Fourier Transform (高速フーリエ変換)

ここは、興味のない方はすっ飛ばしてください。

 

先ほどの、RC回路を測定した状態でCH1をFFT表示させたものがこちら。

入力パルスの周期は1kHzを入れています。

そのため、1KHzの所に基本波であるピークがたちます。

2kHzにあるピークは2次高調波が出現しています。

arduino-oscilloscope-2-09

 

簡易オシロスコープでFFTまで対応。

こんなに遊べるおもちゃを公開していただいている九州工業大学さんに感謝です。

学習、遊びには十分すぎる機能です!

 

まとめ

Arduino-Processingで作る 【簡易オシロスコープ】 その2はここまで。

本記事では、「Kyutech Arduino Scope」を使って

  1. DC電圧 測定
  2. パルス波形 測定
  3. RC回路 測定

上記、を測定することで簡易オシロスコープがしっかりと動作していることを確認しました。

 

電子回路の学習、遊びにはもってこいの素材です!

単品で部品を揃えることができれば1000円以下で作成可能。

ソフトは「九州工業大学」にて無料で公開されています。

 

これほど安価に作成ができ、学習もできる環境を整えられる。

しかも、作って遊ぶ楽しみもある。

ぜひ、作って遊ぶことをおすすめします!

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編Arduino入門編2で使用しているUNOはAmazonにて購入可能です。

Arduino入門編では互換品を使用。

Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)

 

Amazonでお得に買う方法

Amazonでお得に購入するならAmazon MastercardAmazonギフト券がおすすめです。

時期により異なりますが、様々なキャンペーンを実施しています。

\Amazonギフト券/
Amazonギフトカード キャンペーン

Amazon Mastercard お申込み
Amazon Mastercard 申し込み 

 

いずれの場合もプライム会員である方がお得!!

\Amazon Prime 30日間の無料会員を試す/
無料会員登録 

 

 

コメント

  1. Mike-san より:

    ノンキな年金暮らしの元エンジニアです。面白い話題を、非常に分かりやすく解説されており、大変楽しんでおります。
    九工大さんの簡易オシロで、1点教えていただきたいのですが、画面表示が大きく出来ず、ルーペをつけてディスプレイを見ている状況です。(測定自体は問題なく作動しています。)
    色々やってみたのですが、私のProcessingの理解では突破できません。何かアドバイスが御座いましたら、ご教授頂けると助かります。
    何とも超初心者質問で申し訳ございません。

    使用ソフト:Processing Ver. 3.5.4
    試行内容 : 1.setupの”size(1200,640)”の数値を変更→変化なし
           2.同size()文”size()”に変更→変化なし
           3.同size()文を削除し、fullScreen()に変更→Windows領域は広がりましたが、肝心の表示サイズはそのまま
    今後も楽しませて頂ければと思います。

    • omoroya omoroya より:

      コメントありがとうございます。
      画面表示の件ですが、オシロの画面サイズは「”Processing\kit_scope\data\kit_scope1.png”」に格納されているpngの図の大きさに合わせて作られています。
      このpngの図の大きさが「1200×640」となっています。
      そのため、サイズ変更するには図のサイズを変更、
      なおかつ、図にあわせて配置された設定項目の位置を全て調整する必要があります。
      上記のことから、スケッチを変更してのサイズ変更は難しいと思います。
      windowsを使われているのであれば、「設定 -> ディスプレイ -> 拡大縮小とレイアウト」にて150%に変更する。
      など、拡大した方が良いかと考えます。

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