Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

Arduino 周波数カウンタその3

$
0
0
 「迷走の果て・Tiny Objects」というブログに掲載されている、レシプロカル式周波数カウンタを試しました。

 レシプロカル式つまり、逆数式というのは、信号の周期Tを測定して、その逆数を計算し、f=1/Tより周波数を求める方式です。

 このスケッチは、外部割り込み0を使いますので、信号はD2に入力します。それに伴い前回の周波数カウンタのLCDへの接続を変更します。

 信号の立ち上がりで、割り込みを発生させて周期をマイクロセカンド単位で測定します。
 setup()の中の、attackInterrupt(0,periodIrq,RISING);で割り込み方法を指定します。

 回路図です。ここでは、「あちゃんでいいの」を使っています。

イメージ 1

1000Hzを測定してみました。

イメージ 2

 正確に表示されました。

 上限は、約50KHzまででした。下の方は、自作SGの下限周波数10Hzまで測定できました。

 ただ、100Hz以下になると表示がブレます。信号源の自作SGの安定性が低い周波数であまりよくないせいかもしれません。

 普通のカウンタでは、低い周波数はゲートタイム1秒が必要ですが、このレシプロカル式カウンタの場合は、非常に短い時間で周波数を測定することができますので、チューニングメータなどへの応用が可能だと思います。

 工夫次第でもっと高い周波数まで測定できると思います。低い周波数での安定表示には、移動平均をとるなどすればいいのかもしれません。





Viewing all articles
Browse latest Browse all 440

Trending Articles