PICマイコンによるBFOの実験 (3) どうもいまいちです。。
今回はPICマイコンのクロックモードを変更して、なんとかPICマイコンの出力をBFOとし使用するための目標の456.5KHzにしました。
← 調整できたところの周波数カウンタの表示です。できてますよね?波形を見てもそのくらいの周波数の「ほぼ」正弦波が見えるのですが。。。しかしBFOとして使ってみると、正直言っていまいちです。
7MHz帯で聞いてみたところ、CW(モールス信号)は良く聞こえるようになりましたが、SSB(SingleSideBand)音声はいっまひとつ明瞭になりません。。。。。
今回は、以下のようにPICの基準クロックモードを3通り検討しました。
@内部発振モード: 内部の発振回路だけでクロックを作ります。
クロック周波数最大8MHz。周波数は64段階で微調整が可能です。
→ 最初にこれを試しましたが、微調整の分解能が
不足して断念してました。
A外部発振器モード: 外付けの水晶等を用いてクロックを作ります。
クロック周波数最大40MHz。
→ これならPWMの分解能が上がるので期待したのですが、
微調整はできないので、かえって周波数が合いませんでした。
B外部CR発振モード: 外付けのCR(抵抗、コンデンサ)回路でクロックを作ります。
クロック周波数最大4MHz。
→ これならCRの値を調整すれば自由な周波数が得られます。
ということでこれにしました。
回路は以下の通りです。
この回路で、PICマイコンのConfigrationを下図のようにします。
図のように、クロックモード以外に、下のいくつかの設定をDisableにしないとこのモードは動きません。今回ちょっとだけはまりました。これは元のDatasheetには書いてありますが、解説書などにはあまり触れられていないみたいです。
これだけです。PICのPWM機能も使わず、単にクロック出力を使っているだけですので、プログラムもいりません。(正直に申しますとPICを使う意味がない方式です。。。。)
とはいえ、PICへのConfigration書き込みにはなんらかのプログラムが必要なので、
以下のような空っぽのMainだけ作りました。
;
; Empty code
;
LIST P=PIC16F88,ST=OFF,R=DEC
INCLUDE "P16F88.inc"
org 0; start code at 0
Start:
MainLoop:
GOTO MainLoop
end
試してみた結果は最初に書いた通り、どうもいまいちです。大昔に水晶とトランジスタで作ったBFOはもっと綺麗に聞えるようになったと記憶しています。
原因は今後調べていきたいと思います。
また一応目標周波数は出力できましたが、PICを使う意味がない方式になってしまいました。
恥ずかしながら、今回のは失敗例としてご笑覧ください。
にほんブログ村 ←記事が面白かったらクリックしてやってください。
通りすがり様、ラジオペンチ様、コメントありがとうございます。
ご指摘いただきまして、昨夜453.5KHzを試してみましたが、残念ながら状況変わらず、でした。。。ラジオペンチ様のもう一つのご指摘が原因なのかもしれません。
いずれにしましてもご教示誠にありがとうございます。またお気づきの点がありましたら書き込みいただけますと幸いに存じます。よろしくお願いいたします。
投稿 見習職人 | 2010/05/12 08:54
7MHzはLSBなので大丈夫と思っていましたが、通りすがりさんの指摘も確認した方がいいですね。
あと本質的な問題としては、完全に線形に動作している回路にBFOで近接の信号を注入しても、ビート音(SSBの復調音)は発生しません。実際には多少の非直線性があるのでCWくらいだと復調できるはずですが、SSBは苦しいと思います。
最近無線関係の回路いじりはやってなないので、的外れな指摘かもしれませんが、
投稿 ラジオペンチ | 2010/05/11 22:11
いろいろと興味深い試みをされているようで、興味深く拝見させていただいています。
ところで、453.5KHzは試されたのでしょうか?
ラジオの局発が受信周波数+IFだった場合、IFではLSBとUSBが逆なっているはずです。
的外れなコメントだったらごめんなさい、、、
投稿 通りすがり | 2010/05/11 20:53