« 15MHz局発実験回路・その3(改定) | トップページ | PIC周波数カウンタ回路検討中 »

2015年4月27日 (月)

PIC12F675によるセミブレークイン制御

Semibkinctlbypic


CWトランシーバーを作るにあたりセミブレークイン回路が必要と考えていました。この程度の制御であれば手持ちのPICで何とかなるだろうと、試したらうまく動作しましたので、記録しておきます。

RyCtlはファイナルのリレー制御です。TxCtlは送信系の電源制御です。リレーはOnにしてから実際にOnになるまで概ね10ミリ秒程度の時間はかかりますので、完全にリレーがOnになる前に送信系が動作し始めて搬送波が出てしまうとファイナルにアンテナが接続されていないに等しいので、短時間とは言えどファイナルに高い負担がかかります。

この回路では、そのような問題を避けるために、リレーOn指令から10ミリ秒後にTxCtlの送信系の電源制御がOnになるように制御するというものです。従来の回路では、74LS123やNE555などのワンショットタイマーでこのような制御を行っていたものですが、PICで制御すれば、部品点数は大幅に減ります。

ただし、PICのクロックが4MHzなので高感度な受信部にこの4MHzのノイズが乗らないように実装上の工夫が必要になり、そのことは今後の課題と思います。

さて、今回PIC12F675を使います。このPICは8ピンでA/Dコンバーター、クロック内蔵ですから、電源とグランド以外のピンはすべて入出力に使えます。8ピンだからと言ってバカにできない機能を持っています。回路と、タイミングチャートは上図の通りです。

PICのプログラムはアセンブラでも良いのですが、MPLAB X IDE V2.35をインストールしたので、それを試す意味でCでコード記述してみました。PICプログラマは秋月電子のAE-PICPGMを使っています。

この程度の規模であれば、オシロスコープと電圧計程度だけでデバッガは不要だと思います。しかし、休みの日にコード書くのはなかなか自虐的です。

ソースコードはS-JISで記述しており内容は以下の通りです。著作権は私にあります。商用利用されない限り自由にお使いください。ただし使用される場合は自己責任でお願いします。また、アマチュア無線家であれば本記事へのURLを明示して自由にお使いください。

「SemiBKin_main.c」をダウンロード

「SemiBKinCtl_PIC12F675.X.production.hex」をダウンロード

|

« 15MHz局発実験回路・その3(改定) | トップページ | PIC周波数カウンタ回路検討中 »

アマチュア無線」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184504/61502713

この記事へのトラックバック一覧です: PIC12F675によるセミブレークイン制御:

« 15MHz局発実験回路・その3(改定) | トップページ | PIC周波数カウンタ回路検討中 »