
先週は、¥120のATTiny2313と10個¥100の7SegLEDを使用した6桁周波数カウンタを製作しましたが、今週は、これを発展させ自作のトランシーバー等に搭載して使えるようにIFシフト機能を追加してみました。
その結果は、だいぶ以前に製作した7MHz CW TRX「善峰」に接続して確認してみました。
「善峰」は、VXOやBFOの信号出力を取り出すようにできていませんでしたが、今回追加しました。
信号の取り出し口にはRCAのピンジャックを使用し、VXOとBFOの信号をSWで切り替えて出力できるようにしました。
また、ケーブルには、TRX側から周波数カウンタの電源が取り出せるように、Cカットして電源重畳としました。

IFシフト機能は、まずTRXの信号出力をBFO側にして周波数を計測します。

この状態で、周波数カウンターのIFシフトメモリーSWを押します。

これでシフトするIF周波数が記憶されます。

次に、TRXからの出力信号をVXO側に切り替えます。
これで、IFシフトした分の周波数が補正されて、周波数表示されるようになります。


補正前のVXO周波数 補正後のVXO周波数
この機能により、どんなIF周波数のTRXでも、周波数が測定できる範囲であれば補正をかけた周波数表示が可能になります。
「善峰」のようなVXOタイプのTRXで周波数表示をするには、非常に便利な周波数カウンターとして仕上がりました。
課題は、ATTiny2313のプログラムメモリーが2KBと小さく、基本機能しかプログラムできなかったことによる制限です。
VXOの周波数が受信周波数に対し、+IFなのか、−IFなのか、また、BFOがLSBかUSBかなのかについては、プログラムで書き換える必要があります。
最初に設定すれば、後は使わない機能ではありますが、プログラムメモリ容量が足りなくて汎用性は失われています。
4種類のプログラムを用意して選択して書き込めば用は足りますが。

ISPでプログラム書き込み中の様子
回路図
7segLedFrequencyCounterIFShift071007.pdf
プログラム(PDF)
最近、周波数カウンターに少しはまっていて簡単にできそうなので試してみたくなりました、
このプログラムはDEMO版でもコンパイル出来ますか?
カウンタを作られていたんですね!
記憶が確かではありませんが、IFシフト周波数をプログラムであらかじめ設定すれば、DEMO版で大丈夫だったと思います。