アナデバ社(ADI社)のWeb記事『StudentZone』を初回からすべて読む」の2022年2月号のお勉強は既に4回目に入りました。「重いテーマA/Dコンバータ」で「いつもの倍の分量がある」ためですが、本当は私が根性無なためです。今回はV/Fコンバータ(電圧周波数変換器)を使ってA/D変換する実験です。
※「お手軽ツールで今更学ぶアナログ」投稿順 indexはこちら
アナデバ社のWeb記事の2022年2月号へのリンクは以下です。
「12ページもある」大作です。今回は4ページ目のV/Fコンバータのあたりを実習しております。先は長いな。
AD654
今回実験に使用するデバイス、AD654の製品ページは以下です。
AD654 VF(電圧 / 周波数)コンバータ、低価格、モノリシック
「新規設計には非推奨ですから。残念!」と書いていて気づきました。約2年ほど前にこのデバイスを使ってアナデバ様の記事とは無関係に実験してみたことがあったのです。その時の記事が以下に。
お手軽ツールで今更学ぶアナログ(18) AD654 電圧/周波数コンバータ
AD654は「非推奨」ですが、似た機能のVFコンバータで新規設計にもOKなデバイスがいくつかあるので、新規設計の場合はそちらをお探しくだされ。
実機実験
今回のVFコンバータは、SPICEシミュレーションは無、即実機実験であります。実験回路は以下に。
小さいブレッドボード上に組んだ回路の写真が以下に。いつものことですが、ADALM2000でなく、Digilent Analog Discovery2を接続して実験してます。すみません。
最初に入力に 1V DC を印加した場合のFOUT波形が以下に。観察された周波数は約105kHzであります。
次に入力に0.5 V DCを印加した場合の波形です。周波数は約52kHzとな。
ほぼ、入力電圧に比例する周波数が観察できております。周波数を測定し、換算してやればADコンバージョンできた、という筋書き。当然、周波数測定とその後の換算はマイコンの出番でありましょう。本サイトでも、各種マイコンのタイマをつかった周波数測定は何度も繰り返しやってきております。
「人気のラズパイPico」を調べたら、処理系を変えて2回もやっておりました。いずれも約1年ほど前の記事であります。まずは MicroPythonを使用したケース。
MicroPython的午睡(31) ラズパイPico、PWMの周波数カウント機能を使う
続いて、C/C++ SDKで「ガチ」にやってみたケース。
鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ
AD654の出力を上記に記した方法で周波数測定してやれば、後の処理はできる筈。でもま、ラズパイPicoにはADC搭載ありなので、わざわざVFコンバータをADとして使うことはないか。
まあ、VFコンバータ使ったADは出来た。ホントか?次の方式は何?