周波数入力し、その周波数の値に応じた電圧を出力する「F/Vコンバータ」を自作してみました。
ブラシレスモータの回転数ロギングや、車速ロギング等を目的としています。
F/Vコンバータの概要
F/Vコンバータは、入力された周波数に対応した電圧を出力する信号変換器です。
今回製作したF/Vコンバータの基本構成は、こんな感じです。
基本的な考え方は、周波数入力を入力段回路で受けて、PICマイコンで周波数を計測します。計測したデジタルデータをD/Aコンバータに転送することでアナログ出力電圧を得る。というものです。
今回は、入力される波形は0-5V矩形波を対象としました。
周波数の計測を行う方法は、大きく2つに分けられると思います。
- 一定時間のパルス数を数える
- パルス間隔の時間を計測し,周波数を求める
今回は、2番のパルス間隔から周波数を求める方式で作りました。
F/Vコンバータの設計
回路構成と方針
F/Vコンバータが行う処理は、主に次の3つとなります。
- 入力パルス間隔を測定
- パルス間隔から周波数を算出
- 周波数に対応した電圧を出力
前二つの処理はマイコンによって、最後の処理はD/Aコンバータによって行います。
仕様
製作したF/Vコンバータの仕様はこんな感じです。
- 電源電圧:5V 単電源
- 入力:0-5V 矩形波〔立ち上がりエッジで検出〕or オープンコレクタ(F/Vコンバータ内部プルアップ)〔立下りエッジで検出〕選択可能
- 入力周波数:0~499Hz
- 出力電圧:0~5V (100Hz=1V)
- 測定方式::パルス間隔測定
パルス間隔測定方式
T1の時間を測定して、T1の時間に対応した電圧をt1で出力します。同様に、T2の時間を測定して、対応した電圧をt2に出力します。
こんな具合に、入力パルスごとに出力電圧が決定されるため、応答速度が早いという特徴があります。
また、パルス間隔測定方式では、次のパルスが現れるまで前回値が出力されます。そのため、周波数が小さくなる(=パルス間隔が伸びる)ような変化があると、出力電圧は次のパルスが来るまでの間、実際の値よりも高い値を維持することになります。そこで、前回周期よりも次回周期が長いとき、パルスの入力を待たずに出力電圧を低下させる処理をすることにしました。
(次回へ続く)
0 件のコメント:
コメントを投稿