いま、EZ-USBでDCCを実装中である.各部の波形をオシロで観測しつつ、DAC出力(Audio信号)もオシロで観測したい.するとオシロが1台じゃ足りない.USBオシロを買おうかなとAliexpressを探してみたりしたが、数千円の出費してまで欲しいわけでもない、購買意欲が微妙な状態だ.
そういう時にはArduinoで作ってしまえ、というわけで探したら良い物があったので以下にご紹介する.わたしは何も設計とかしてなくて、ただパクッて動かしてみただけだ.
こちらのページをパクらせてもらった.
同ページの下の方にDLリンクがあるのでDLする.
プログラムは2パートから成る.一つはArduinoに焼くオシロスコープ本体.もう一つはPC上で波形表示するプログラムである.
解凍してArduinoフォルダにコピーする.わたしの環境では、
C:\Users\hira\Documents\Arduino\oscilloscope
フォルダが2つある.ArduinoとProcessingという名前だ.ProcessingというのがPC波形表示プログラムであろうと想像がつく.
Processingフォルダを開くと、kit_scope.pdeというのだけしか入ってない.dataフォルダの下には画像ファイルがいるだけ..pdeってなんなのさ?である.
ちなみにkit_scope.pdeにはこんなcodeが書かれている.
final OscConfigOne osccfg[] = {
new OscConfigOne(0, 0, 1000, 1, 50, 50),
new OscConfigOne(1, 0, 1000, 1, 20, 20),
new OscConfigOne(2, 0, 1000, 1, 10, 10),
new OscConfigOne(3, 0, 1000, 1, 5, 5),
};
調べたところ、.pdeというのは、javaで動くscript言語のようなものなんだってさ.そんなのがあるなんて知らなかったよ.
こちらからDLしてprocessing IDEをインストする.kit_scope.pdeをprocessing IDEで開けるようになればよし.初めて見る画面だが、Arduino IDEと色が違うだけでなんか似ている.
processing IDEの左上の再生ボタンを押すと、COM port scanを永久に続けるようだ.お馴染みのArduino IDEも開く.kit_scope.inoをスケッチ開きして、プリント基板に焼く.
COM port scanしていたprocessingがオシロのArduinoを見つけ次第、画面はこのように切り替わり、音声信号が表示される.すげー便利.Alliexpressに注文して1ヶ月待たされなくてよかったよ.
-------
ソフトウエアの運用について述べたが、ハード面のことにはまだ触れていない.
AdruinoのADCは、0~5Vのダイナミックレンジがあるらしい.
わたしが観測したいのはdigital信号ではなく、audio信号なのでDC2.5Vを中心とした交流波形を観測したいわけなので、少し外付け回路が必要になる.こんな回路で、ADC入力をDC2.5Vに固定してやるといい.こうすれば2.5Vを中心に振れるAC波形を観測できる.
なお、A1,A2はArduinoのピン名である.
カップリングの0.1uFは1uF変更した.
追記:
リアル世界の人から仕組みを質問されたので追記しとく.
「ArduinoとPCの接続形態、及びADCデータがどのような形で流れているのか?」
物理的な接続形態はUSBケーブルである.Arduinoは、FLASH焼きのためにUSBケーブルでPCと接続する.そのUSB接続がそのままオシロでも流用される.
PCからArduinoがどう見えるのか? USBデバイスのCOM portに見える.Arduino基板上には、RS232-USB変換ICであるところの、FT232かそれに類するICが載っている.
したがって、PCとArduino間の通信プロトコルは、COM portによる9600bpsとか115200bpsのいつものアレである.FLASH焼きもオシロもCOMで通信する.オシロスコープでCOM portに流れているのはASCIIの電圧データっていうベタな仕様だよ.
かしこ
0 件のコメント:
コメントを投稿