オシロスコープは高価なのでなんとか手持ちの部品だけで(つまり追加費用0円)作れないものか調査を始めました。
すると、PICのA-Dコンバータを利用して1MS/s(毎秒1メガサンプリング)くらいまで作っている人たちがいるようなので希望がわいてきました。
大昔に購入したトランジスタ技術の2007年8月号付録についていたdsPIC30F2012は、続く9月号で拡張基板が付録され、データロガーのサンプルプログラムもありました。
記事によるとdsPIC30F2012は12bitADCを持ち上限200KS/sくらいまでいけるようです。
PC側でデータを受けるデータロガーはActiveBasicでできてるらしく言語を学習して改造するのも面倒なのでTcl/Tkで新規に書きました。
スタートボタンを押すとシリアルケーブル経由で指令が飛び、PICがADコンバート開始して結果を返す。ストップされるまで指定間隔秒でコンバート開始指令が出続けるというプログラムです。COMポートの選択や通信速度の選択も可能です。結果は非同期で受けてログファイルに書き出すだけです。
言語仕様の関係で1ms(1000分の1秒)より小さい間隔で指令を出せないので、そのうち指令なしのひたすら高速受信版に変更しようと思います。
※現在はPICに乗っているプログラムがトラ技のサンプルプログラムなのでインターフェースを合わせるために変更できません。
67Hzの正弦波を入力して、1KS/sでサンプリングした結果をエクセルでグラフ表示するとこんな感じになりました。
0.5秒で約500回(プログラムのオーバヘッドがどれだけあるかまだ未測定)サンプリングしてますが33.5個の波をきれいに表現することはできないみたいですね^^;
GoldWaveでは67Hzならきれいな正弦波を描画していましたので1KS/s程度では非力すぎるのがわかりました。
ただ電圧の振幅は0.55V~4.45Vに収まっているのでPICのADC精度はいいみたいです。
すると、PICのA-Dコンバータを利用して1MS/s(毎秒1メガサンプリング)くらいまで作っている人たちがいるようなので希望がわいてきました。
大昔に購入したトランジスタ技術の2007年8月号付録についていたdsPIC30F2012は、続く9月号で拡張基板が付録され、データロガーのサンプルプログラムもありました。
記事によるとdsPIC30F2012は12bitADCを持ち上限200KS/sくらいまでいけるようです。
PC側でデータを受けるデータロガーはActiveBasicでできてるらしく言語を学習して改造するのも面倒なのでTcl/Tkで新規に書きました。
スタートボタンを押すとシリアルケーブル経由で指令が飛び、PICがADコンバート開始して結果を返す。ストップされるまで指定間隔秒でコンバート開始指令が出続けるというプログラムです。COMポートの選択や通信速度の選択も可能です。結果は非同期で受けてログファイルに書き出すだけです。
言語仕様の関係で1ms(1000分の1秒)より小さい間隔で指令を出せないので、そのうち指令なしのひたすら高速受信版に変更しようと思います。
※現在はPICに乗っているプログラムがトラ技のサンプルプログラムなのでインターフェースを合わせるために変更できません。
67Hzの正弦波を入力して、1KS/sでサンプリングした結果をエクセルでグラフ表示するとこんな感じになりました。
0.5秒で約500回(プログラムのオーバヘッドがどれだけあるかまだ未測定)サンプリングしてますが33.5個の波をきれいに表現することはできないみたいですね^^;
GoldWaveでは67Hzならきれいな正弦波を描画していましたので1KS/s程度では非力すぎるのがわかりました。
ただ電圧の振幅は0.55V~4.45Vに収まっているのでPICのADC精度はいいみたいです。


