1.はじめに

 今年のハムフェアの自作品コンテストで入賞した作品で、コイルをプラグインで交換する写真1のようなオールバンドのCWトランシーバーです。前回は回路についての説明としましたので、今回は作成からとなります。回路は前回紹介しましたので、そちらを参照して下さい。

photo

写真1. このようなレトロ調ですが、DDSを使ったオールバンド機です。

2.作成

 このトランシーバーは、2年間かけて少しずつ進めて来ました。写真2が実験をしているところです。そして試作機を作成し、問題点等をトータルで確認しました。しかし、それでもトラブル続きで、オールバンドの難しさを思い知らされました。写真3の手前側がその試作機になります。ほとんど見た目は同じに作っています。試作機ではバッテリーチェック機能がありませんでした。電圧が下がった事に全く気が付かず、出力と感度が低下して悩んでしまいました。電池の電圧低下と解って、バッテリーチェック機能を追加しました。

photo

写真2. このような実験を沢山行っています。

photo

写真3.手前が試作機で、後方のがJARLに提出したものです。

 ソフトもこの時点で開発とバグだしを行いました。もちろん、バグ出しや改良に終わりはありません。提出直前までは可能な限りの改良をしました。

 ハード的には最近では専らこの製作方法ですが、高周波には片面にシールドの付いた蛇の目基板で、サンハヤトのICB-96DSEを切断して使っています。図1にメイン基板の実装図を示します。写真4が作成中の様子です。

photo

図1. トランシーバー基板の実装図になります。(※クリックすると画像が拡大します。)

photo

写真4. トランシーバー基板を作成しているところです。

 CPUは普通の蛇の目基板で、図2に実装図を示します。写真5が作成中の様子です。D/AコンバータはICソケット上に抵抗を組んで作っています。これはNo.23、57で紹介した方法ですので参考にして下さい。

photo

図2. CPU基板の実装図になります。(※クリックすると画像が拡大します。)

photo

写真5. これはCPU基板の作成中です。

 シャーシはA8のアルミシャーシを用いています。200×120×40の大きさになります。パネルにはアルミ板ではなく、片面基板を200×130に切断して用いています。これはLCDやメータの取り付け用のカラーを、直接銅箔面にハンダ付けできるからです。また、片面基板のため、ガラエポやベーク側に容易に塗装ができます。写真6のように仮組みを行って、全体的に無理がないか、デザイン的に問題がないかを確認しています。特に本機のようなプラグイン方式のような場合、信号の流れに制約ができてしまいます。このように、少しずつ進めて行きました。

photo

写真6. 途中で仮組みを行い全体のチェックをしています。まだトグルスイッチの穴は開けていません。

 写真7が穴あけの終わったパネルの様子です。これに写真8のようなLCDの取り付け用カラーをハンダ付けします。もちろんLCDは仮付けで、すぐに外します。その後写真9のように塗料が付いてはいけない部分を厳重に養生します。これからスプレー・・という状態が写真10になります。黒のつや消しをスプレーし、レタリング後にクリアーの光沢で仕上げました。この様子が写真11です。最近ではテープワープロが流行っており、あまりレタリングは見かけなくなりました。入手が難しいかもしれませんが、このような塗装の場合にはレタリングが一番です。

photo

写真7. 片面の生基板をパネルとして、穴あけを行ったところです。

photo

写真8. LCD取り付け用のカラーの位置決めをしています。この後で、もっとガッチリとハンダ付けをやり直しています。

photo

写真9. ビニールテープで塗装しないところを養生します。

photo

写真10. これでいつでも塗装可能な状態。

photo

写真11. 黒のスプレーで何回も重ね塗りをし、乾燥後にレタリングします。その後クリアで何回か重ね塗りをします。終わった状態です。

 電気的な配線は、まずは写真12のようにパネルの裏から始めました。配線がやり難いところですので先に行い、次に基板へと接続しました。このようにしても、想定外の事は起こります。必ず分解してやり直す部分が出て来ますので、そのつもりで組み立てるようにします。写真13がトランシーバー基板をシャーシ内部に固定したようすです。写真14が後方から見た全体の作りになります。

photo

写真12. パネルの裏側から配線を始めました。

photo

写真13. シャーシ内のトランシーバー基板です。

photo

写真14. 後ろから見た構造です。

3.ソフト

 メインCPUにはATmega164Pを使っていますが、このソフトのフローチャートを図3に示します。電源をONするとバンドデータを読み取りLCD、DDSのデータをセットします。そのため、コイルパックを交換する時には電源をOFFして行い、交換後にONする必要があります。ソフトでは常にロータリーエンコーダとスイッチ、KEYの状態を監視しています。ロータリーエンコーダ専用のAT90S1200は常時入力状態を読み取り、カウンタをアップダウンします。6ビットですので63ステップまでをカウントし、メインCPUからの読み取りとリセットを待つようにしています。メインCPUはアップ数、ダウン数に応じた処理を行い、LCD、DDSのセットを行います。100P/Rのロータリーエンコーダを4倍モードで使った場合、少し早めに回すと簡単に6ビット目まで来てしまいます。そこでこのように2個のCPUを使っています。お世辞にも上手な使い方とは言えませんが、おかげで速く回しても破綻せずに使うことができます。メインCPUはUPあるいはDOWNが1の場合には、周波数を10Hz動かします。これが小さいステップなら10Hz単位で良いのですが、ステップ数が多い場合には高速と判断してステップ数を多くします。しかし。多くし過ぎると、本来聞こえるはずの信号を飛ばしてしまいますし、ダイアルを戻したときにイメージと異なる周波数になってしまい、使い難くなります。そこでステップは3段階とし、1〜3ステップは10Hz、4〜8ステップは30Hz、8ステップ以上は120Hz動かすようにしました。これは使用するロータリーエンコーダとツマミで変わってきます。もちろん使う人によっても好みが違いますので、微調整にに終りはありません。動かす周波数を100Hzとかのキリの良い値にはしませんでした。これは10Hzの桁が止まって見えてしまい、逆に不自然に感じてしまったからです。従って、120Hzでも110Hzでも同じで、それ以上の意味はありません。

photo

図3. ソフトのフローチャートになります。(※クリックすると画像が拡大します。)

 試作してみると、受信時に高次らしいスプリアスを受信してしまう周波数がたくさんありました。これは10Hzずらすと消えてしまうので、ソフト上その周波数を飛ばしてしまう細工をしてみました。しかし、モノバンドなら良かったのですが、オールバンドではあまりにデータが多くなり過ぎてしまいました。そこで、このサブルーチンは止む無くお蔵入りになりました。

 なお、サイドトーンをCPUで制御しているのですから、これを利用しない手は無いと思い、注意用の「ピッ」を出してみました。つまり周波数がエッジなのに回し続けている時には「ピッ、ピッ・・」と鳴ります。また、1.9MHz、3.5MHzではアマチュアバンド以外をスキップします。この時には「ピッ」と鳴らしました。

 今までアセンブラを使い全てのソフトを作っていましたが、あまりに長いソフトになってしまい管理能力を超えていると実感していました。アセンブラで1000行にもなると、一人の人間では手に負えなくなります。また、AVRASMの限界も超えてエラーが出てしまうようになり、これ以上のソフト開発は無理となりました。そこで、BASCOMAVRを使用する事にしましたが、これでもデモ版で可能な4kはすぐにオーバーしてしまい、製品版を購入する事となりました。使ってみると、今まで何ヶ月もかかっていた事が、いとも簡単にできてしまうのに驚き感動です。実際、今までのアセンブラソフトは積み重ねですので、恐らく6ヶ月以上は開発期間がかかっているものです。ところが、BASCOMAVRの完全初心者の私が作って1ヶ月でそれ以上のものが出来てしまいました。また、ソフトが短いので、考えの整理がつきます。少々の期間を置いても、あまり支障なく開発に戻ることができます。これはハードとソフトを一人でこなす場合には重要なことと思います。

 結果的にメインCPUのATmega164PにはBASCOMAVRを用いて開発し、サブのAT90S1200を使ったサイドトーン発振器、ロータリーエンコーダの読み取りにはAVRASMを使っています。サイドトーン発振器は周期を短く細かく設定する必要があるので、アセンブラの方が作り易いようです。

 写真15に見える基板上のATmega164P付近の端子がプログラミング用です。実は今まで一回書き換える度にソケットから外してチェックしていたのですが、今は基板上で簡単にプログラミングができるようになりました。これは快適な環境です。もう後戻りはできません。

photo

写真15. CPU基板です。ATmega164Pの上に見えるのがプログラミング用のISP端子です。

4.使用感

 受信機の感じとしては上々の出来栄えと自画自賛しています。簡単な構成で、この位の性能ならマアマアでしょう。送信側は周波数によって出力にバラつきがありますが、特に気にする必要はないかと思います。

 作成上FBを多用したり、DDSとの空間結合が極力少なくなるように配線には気を使いました。それでも受信スプリアスは完全には抑えられません。DDSに含まれる受信周波数へのスプリアスは除去しようがありません。AF GAINをあげてTUNEを回すと何箇所もビート音が聞こえます。アンテナを接続した時に消えてしまうレベルなら良いのですが、Sメータが振れるほどに残るものがあります。モノバンドであれば、まだ対策の余地もあるのですが、オールバンドでは手の施しようがありません。

5.数々の失敗

 JARLの自作品コンテストに参加する場合は提出期限がありますので、どうしても見切り発車の部分が出て来ます。新たな環境でソフト開発を始めた事は前述していますが、ここに落とし穴があり、後々になって気が付いたミスがありました。ATmega164PのポートCのピンは、どうしても思ったように制御できずに「NC」としていました。このICにはヒューズビットがある事に最近気が付き、JTAGを切り替えれば使えたのでした。使えなかったピンがあった程度なら良いのですが、実は12.8MHzのクロックはメインのCPUでは使われておらず、IC内部の8MHzのCR発振で動いていたのでした。やはりヒューズビットで切り替える必要がありました。これは大失敗で、もしかするとノイズの一因になっていたかもしれません。

 また、CPU基板を最初は立てて実装し、コイルと離していました。写真16は仮組みの様子ですが、アルミ板の裏側で見えないところにCPU基板があります。ところが、これではトーンの周波数が調整し難いので、写真17のように上から調整できるようにコイルパックの隣に変更してしまいました。結果的にはCPUのノイズがコイルに回り込むようになり、写真18のようにシールド板を立てる事にしました。CPU基板は、元の通りに立てて置いた方が良かったと思います。

photo

写真16. 最初の仮組みの頃は、CPU基板はアルミ板の裏側でした。手前の基板はDDSです。

photo

写真17. 中央のスイッチでサイドトーンの周波数を変える事ができます。

photo

写真18. 後から追加したシールド板です。ソケットのネジにはりん青銅のバネを付けており、これでコイルパックのシールドに接触させています。

 また、せっかくCPUで全てをコントロールしているのですから、バンドエッジで鳴らす警告音は、サイドトーンの周波数とは変えるべきでした。時間的な余裕が全く無くなりできませんでしたが、ブーという感じの低いトーンにした方が良いでしょう。

6.おわりに

 なるべく簡単な仕掛けでオールバンドを実現したいとは、常々思っていました。CWならではの構成ですぐにSSBへの転用はできませんが、こんなものでオールバンドが可能であるという事を知って頂ければ良いかと思います。しかし、入手に難点のある部品があったり、妙な工作をしていたり、再現性としては問題があるでしょう。まだまだ完成度は低く、まるで失敗記のようになってしまいました。改善の余地は沢山ありますので、地道に進歩させてみたいと思います。このようなトランシーバーですので、「参考」や「アイデア」として捉えて頂ければ幸いです。