オートアンテナチューナー(ATU)の製作 Feed

2015年8月16日 (日)

細々と改善は続く

カテゴリ:オートアンテナチューナー(ATU)の製作

8月の初めに誘導雷を受けて、自作のATUが動かなくなりました。 チューニングスタートをさせても、すぐにエラーで止まってしまいます。 一応、誘導雷くらいなら、マイコン本体のi/oが壊れる前に、その周辺のパーツが壊れるという設計をしていました。 調べてみると、周波数カウンターが動作せず、RF信号はOKなのに、周波数が範囲外となり、エラーを出しているものでした。 故障個所はカウンター回路の入力にあるチップコンデンサの電極が高電圧の為割れており、コンデンサの役目をしていないのが原因です。 この50V耐圧のチップコンデンサを交換したら直ってしまいました。

Atuk1_2

せっかく、ベランダのBOXから取り外したので、かねてより温めておいた改善事項を盛り込む事にしました。

ひとつは、バリコンの可変範囲が広すぎますので、これを若干狭くする為、以前手配しておいた6000V 390PFというコンデンサをバリコンに直列に挿入する変更です。 3.5MHzでのコイルインダクターを増やすのが面倒なので、入力側のみ追加し、様子を見る事にします。

二つ目は、マイコンのソフトです。 SWR最少位置を探す途中で、次の動作に行くために、数10ミリ秒から数100ミリ秒の待ち時間がありました。 また、プリセット位置にバリコンを移動させるには数秒かかる事もありましたが、これらの待ち時間中は、単純に動作が終わるのを待っているだけで、この待ち時間中にSWRが1.5以下になる事があっても、無視されていました。 今回、この全ての待ち時間中でもSWRを常にチェックし、SWRが3以下ならただちにSWR収束動作へ移るよう変更する事にしました。

ここで、問題が発生です。

LCD表示のアンテナアナライザーを開発する為、PICの開発環境をMPLAB X IDEに変更しましたが、ATUの開発環境は旧MPLABとHi-TECH Cでしたので、この旧MPLABを呼び出しPICKIT3を経由して、プログラムの書き換える事にしました。 ところが、IDが違うとエラーがでます。 困りはてて、色々試しましたが、うまくいきません。  さんざん悩んだ末、MPLAB X IDEでプロジェクトを作り直し、なおかつ、HI-TECH Cで書かれていたソースファイルをXC8用に書き換えると、ちゃんと16F1939を認識して、プログラムの書き換えが出来ました。

さらにプルダウンメニューなどを調べていると、MPLAB XでもHI-TECH Cコンパイラも使えるようです。 結局判った事は、MPLAB Xをインストールした後は旧MPLABは使えないという事でした。

やっと、プログラムの改善ができましたので、21MHzだけですが、オートチューニングを試す事にしました。 以前はバリコンがいったりきたりして、なかなかSWR収束モードにならず、その内、VC maxの位置に収まってしまいSWRが3以下になりませんでした。 やむなく、ハンドでSWRが1.5以下になるようにバリコン角度やコイルのタップ番号を選択した後、収束動作をさせていました。  ところが、今回は1発でSWR1.4くらいまで収束し、再度チューニングさせるとSWR1.05まで収束します。

後日、3.5から28まで全バンド、チューニング出来る事を確認しました。 ただし、28MHzのみですが、SWR1.4以下になるまで、かなり時間がかかるようになりました。 このバンドでチューニング動作を見ていると、1回で送るVCの角度が小さすぎるようです。 ソフトの変更で改善出来そうですが、すでにコンテナBOXに収めてしまいましたので、 次回のチャンスの時、変更する事にします。 この時間のかかる問題は最初のチューニング動作のみで、一度プリセットされてしまうと、次回からは、短時間で整合状態になりますので、実用上の不都合は有りません。

2016年11月3日

LDGのATUのマイコンを改造する為に、このATUのソースコードを調べていましたら、ソフトにバグがある事が判りました。 バグの内容は、ある条件の基ではモーターが反転しないというものです。 これが為に、なかなか整合しないバンドが発生しているようです。 このバグ対策を行った結果、全バンドがかなり早く収束するようになりました。ただし、24MHz以上のバンドでなかなか収束しないのは変わりません。そこで、前回追加しました、バリコンに直列の390PFを廃止しました。

バグ対策を行った後、外付けのSWR計ではSWR1.1以下になるのに、TUNE OKにならない場面が増えてきました。 この原因を調べてみると、モーターにブレーキをかけた後、まだ、バリコンが動いている最中に、SWRをチェックしているというバグが見つかりました。 ここは、50msecのディレー時間を設けて対策しました。 さらに、SWR3以下の時のモーター駆動時間をSWR3以上のときの1/2にし、さらにSWR1.5以下の場合さらに1/2にしていたのですが、SWR1.5から3の期間のモーターON時間が長すぎて、SWRディップポイントを通り過ぎてしまうのが原因でした。 そこで、SWRによりモーターON時間をさらに細分化し、以下のように設定しました。

SWR10以上     200msec

SWR10-5       100msec

SWR5-3        67msec

SWR3-1.5       40msec

SWR1.5以下      33msec

これで、ディップ点を飛び越える確率が大幅に減少した上、収束時間も短くなりました。

最新回路図 ATU-VC11.pdfをダウンロード

バリコン式ではなく、コイルとコンデンサをリレーで切り替えるタイプのATUの例はこちらでPICのソースを含めて公開しています。

2018年1月

プリセットMTUも継時変化が激しく、3.5MHz帯はMTUの調整範囲を超えてしまい、最近はこのATUだけで運用しています。 ただし、他のバンドではATUは使いません。 いくらチューニングを早くしてもプリセットMTUにはかないません。

INDEXに戻る

2014年10月28日 (火)

ATUの自作:LCD交換

 <カテゴリ:オートアンテナチューナー(ATU)の製作

ATUのエバレーションを実使用状態で継続していますが、デバッグに使っているLCDでトラブルが発生しました。

Atulcd4

このLCDはAQM0802Aという品番で、ベランダに設置したATUの基板に貼り付けてあったのですが、4週間くらいしたら、LCDが表示しなくなりました。I2Cの回路はまともに動いていますが表示が出ません。 DC/DCの出力をチェックすると、6V以上ある電圧が3Vしか有りません。 発振は停止はしていませんが、昇圧しきれないようです。

ベランダから部屋に持ち帰り、テストすると、ちゃんと表示します。電圧が違うのか?コンデンサの容量が違うのか? 色々検討しましたが、原因は判りません。 部屋のなかで正常動作している状態のままで、ベランダに出てみました。すると、数秒もしない内にLCDの表示が消えます。一度消えたLCDを部屋に戻しても表示は復帰しませんが、電源OFF/ONを行うと、表示は戻ります。  

この、部屋でOK、屋外でNGは何度も再現されますので、原因は光しか有りません。ちなみに、ATUを収納した緑色のコンテナBOXに蓋をして、蓋の隙間から暗くなったLCDを見ると、正常に表示しますが、蓋を取り去ると消えてしまいます。 もともと不安定なDC/DCでしたが、LCD表面に光が照射されると、内部状態が変わるのでしょう。

結局、このLCDは取り外し、別のLCDに交換する事になりました。

交換したLCDはI2CインターフェースのACM1602N1という秋月で取り扱っているLCDです。表示が8桁2行から16桁2行に増加しましたので、かねてより気にしていましたCM結合器のDC出力をADで読んだ値も表示させる事にしました。

Atulcdn1_2

左の3ケタ数字がVCの角度データ、上がVC1、下がVC2です。 次の「7」はタップ番号。真ん中の4ケタ数字がCM結合器のDC出力をADで読んだ値です。上がVfwd,下がVref。 右側の上4ケタがSWRを100倍した数値。 下が周波数で単位はKHzです。

  いままでは、出力を大きくするとSWRが悪化していました。 CM結合器のDC電圧をデジタルテスターで測り、これをベースに計算したSWRは1W出力より10W出力が悪くなりますが、10W出力時と40W出力時のSWR値は変わりません。 しかし、ADが変換した数値から計算したSWR値は0.2くらい悪化します。 

原因は、AD変換回路のサンプルホールド回路の初期充電時間かも知れません。 この充電時間を確保する為、ADのチャンネルを選択してから、10マイクロ秒間のウェイトをかけていましたが、試しに、このウェイトを50マイクロ秒に変えてみました。すると、10W出力時と40W出力時のSWRの差は0.07くらいに収まりました。  

また、大きなアナログ信号をAD変換した後、小さなアナログ信号を変換する場合、前回の計測時の電荷が残っている可能性もあります。  そこで、今まで、Vfwdを測定した後にVrefを測定していましたが、Vrefを先に測定し、Vfwdを後に測定するように変更したところ、10Wと40WのSWR値の差はゼロになりました。

1W時と10W時のSWR差は検波に使っている1N60の非直線性によるもので、気にする必要は有りません。

当面は、不具合が発見されるたびに、LCDの表示を変更しながらエバレーションが続きそうです。

このマイコンのソフト開発はマイクロチップが無償で提供しているMPLAB IDEという開発環境と、PICkit3と呼ばれる書き込みアダプターを使い行っていますが、今回使用しているマイコン「16F1939」の場合、最初のイニシャライズ時、マイコンIDの検出を失敗し、かなりの頻度でエラーになります。 

原因が判らないまま、PCを立ち上げ直したり、アプリの立ち上げタイミングとUSB認識のタイミングなどを取って、かろうじて開発環境を維持していました。 最近、このエラー頻度が高くなり困っていましたら、インターネット上で同じような問題で困っていた記事を見つけました。 記事によると、PICkit3から供給する電圧を5Vではなく、少し下げてやればエラーになる確率が減るという情報です。  さっそく、5Vの電圧を4.6Vまで下げてみました。  すると、全くエラーが発生しなくなりました。

その後のATU動作改善はこちらへ続きます。

INDEXに戻る

2014年9月25日 (木)

バリコン式ATUの実装

カテゴリ:オートアンテナチューナー(ATU)の製作

20mの長さのある同調フィーダーの先に、現用の18メガ用スカイドアと7メガ用垂直DPをつなぎ、シャックの中でテスト運用した自作のATUは快適に動いてくれました。 ただし、20mの同調フィーダーはノイズの受信と不要輻射の面から常用は不可ですので、プリセットMTUを置いてあるベランダにATUを移し、そこまでは同軸で給電する事にしておりました。 

このATUをプリセットMTUの所に移す為に、プリセットMTUをサイズダウンして防水BOXの中に隙間を確保し、ATUを収納できるように改造しました。ATUの動作確認以前の処理事項として、この改造したプリセットMTUが全バンド正常に動作するようになりましたので、ATUの本格稼働に向け動作テストをする段階までこぎつける事ができました。

Atu140926

右下のアルミケースで覆われた箱がATUです。左側の基板はプリセットMTU用のデコーダーで、シャック内のコントローラーからのATUコマンドを中継しています。

このATUの動作テストを行う前に、プリセットMTUの調整も行いましたが、プリセットMTU作り変え にて紹介の通り、ハイパス型Tタイプのアンテナチューナーでは整合しないバンドがかなりあります。 ATUはハイパスTタイプですので、心配しながら、チューニングテストを行うと、3.5、3.8、14,18,24メガが整合しません。 

ATUをリグの近くに置き、アンテナまで20mくらいの同調フィーダーで接続した場合は、全バンドうまくいってましたので、同調フィーダーの長さを調整すると、整合するとは思います。 しかし、現在の同調フィーダーの長さで、せっかくMTUが正常動作している状態ですので、ATUもこの同調フィーダーの長さのままで正常動作させる事にします。 

MTUの整合検討で多くのバンドが整合しない原因は、 MTUのコモンラインの浮遊容量でしたので、ATUを接続する時は、入出力にそれぞれリレーを設け、MTUからGNDを含め完全に分離する事にしました。 その結果、3.5,3.8,18メガ以外は整合するようになりました。

3.5と3.8メガのバンドが整合しない理由は、バリコンの回転が速すぎて、整合ポイントをスキップしてしまうのが原因のようです。 バリコンの回転スピードを超スローにして、数分以上の時間をかけてSWR最少ポイントに追い込んでいくと、このバンドもSWR1.5以下に整合します。 しかし、それでは使い物になりませんから、バリコンが回転中でも5m秒おきにSWRをチェックするようにしました。 これで、従来より10倍くらいの密度でSWRのチェックする事になり、収束するようになりました。

しかし、1分以上経っても整合できない事もしばしば発生します。 これは、バリコン最少容量状態から、小刻みに、VCを回し、SWRが規定以下になるポイント探す時間と、SWRがかなり下がったのに、何らかの原因でSWR20以上の状態に陥る場合です。 対策として、整合の為のサーボ動作を開始するSWRの上限を20から50に修正しました。 

その上で、SWRが10以上ある時は、モーターの駆動時間を従来の2倍にして、SWR10以下になるまでの時間を約半分にしました。 また、整合途中でSWR5以下まで収束したら、その時のVCの角度を記憶させる事にしました。 この後、なんらかの原因でSWRが50を超えても、最初からやり直すのではなく、SWR5以下になったバリコン位置から再スタートさせます。 

また、20秒以上たっても整合しない場合、SWR3以内なら一旦整合したとして停止させ、そこから再度整合をスタートさせると、ほぼ100%の確率でSWR1.5以下に収束します。  

一度整合してしまえば、その時のタップ番号やバリコンの角度を記憶しておりますので、プリセットMTUと同感覚で使用できます。

Atuswadd

ただし、18メガはなかなか整合しません。SWR3くらいまでは比較的簡単に収束しますが、それより、なかなか低くなりません。 原因を確かめる為に、ATUをマニュアルで動かす機能を追加しました。VC1もVC2もキーを押している間だけ、CW,CCW方向に回転できるようにしました。 このマニュアル機能を使い、手動で整合させようとしますが、まだうまくいきません。 このバンドだけは、後日、対策方法を考える事にします。

マニュアル動作が可能なATUの配線図 ATU-VC6.pdfをダウンロード

Mtu_cont1

また、ATUのSWR計がSWR1.4と表示しているのに、シャックの中にあるSWR計はSWR2と表示して、レベルが合いません。  通常はアンテナ直下のSWR計より、リグの近くにあるSWR計の方が良く表示されますが、これは逆の現象です。 

ATUをリグの近くに置き、短い同軸ケーブルで接続すると、このSWRの数値差は出なくなります。 コモンモード電流が悪さをするとこのような現象がでる事は判っていますが、今回も同じ理由なのかは判りません。 今後、使用しながら改善する事にします。

--------------------------------------------------------------------------

18メガがなかなか整合しない原因が判りました。コイルのQが高過ぎて、バリコンが非常にクリチカルになり、モータードライブのバリコンでは合わせきれないのが原因のようです。 ギアのバックラッシュを完全に無くすると、この問題は発生しないのでしょうが、それは、無理ですから、別の方法を考える事にします。 

NT-636がクリチカルながらも整合する理由はコイルをショート状態で使っているのが影響しているのかも知れません。ショート状態とは、タップ番号0のタップはいつもGNDに接続してあるという意味です。このような使い方では、コイルのQが下がり、チューナー内のロスが増えます。 NT-636も一度、この0番タップのGNDを外した事がありましたが、高圧が発生し、スパークが起こりますので、また元に戻した経緯があります。 

試に、このATUのコイルの0番タップを常時GNDに接続してみました。すると、18メガがちゃんと整合するのに加え、他のバンドも使用可能な帯域幅が広がりました。 

また、2種類のSWR計の読みが一致しない、もうひとつの原因は、SWR計の調整の仕方そのものに有る事もわかりました。 SWR計はリアクタンスが含まれたとたん誤差が大きくなる事は、SWR計とリアクタンスの記事で紹介しましたが、SWR計の調整のとき、純抵抗のダミーロードだけで、VREFやVFWDのキャンセル調整を行うと、CM結合器のトリーマーの位置がどうしてもブロードになります。 このトリーマーの調整を実際に共振している50Ωのアンテナで行い、2機種ともSWR最良になるようにトリーマーを調整してやると、共振周波数以外では、SWRの表示に差異がでますが、SWR最少となる共振周波数はかなり一致するようになりました。 

しかし、21MHz以上のバンドでは、一致したとはまだ言えません。 そこで、ATUの直近にあるコモンモードチョークをFT240#43のコアの物に交換し、いままで使っていたFT140#43 2個によるチョークはリグの近くにあるSWR計の出力側に移しました。 この結果、SWR最少周波数が完全に一致しないまでも、ふたつのSWR計の指示はかなり近くなりました。 

Mtu141030d

チューナー内のロスはコイルのQが少し下がった関係で、増加したと思われますが、一応全バンド使えるようになりました。 

ところで、このATUはなかなか整合しないような印象を受けたかもしれませんが、それは、このATUを最初に使う時だけで、一度整合してしまえば、以降は2秒以内で実用SWR域にプリセットされます。 ソフトの開発中は、プログラムを書き換える度に、プリセット用のVC角度がイニシャライズされますので、なかなか収束しないように見えるものです。

このマルチバンドアンテナシステムは10MHz以下のローバンドは7MHz用垂直ダイポールに整合させ、14MHz以上のハイバンドは18MHz用スカイドアに整合させますが、間違って垂直ダイポールに14MHz以上のハイバンドを整合させたり、スカイドアに10MHzや7MHzが整合させてしまいます。

当然、このような想定以外の整合では、アンテナの性能は著しく悪くなります。ATUの場合、この間違った状態でも、整合が成功すると、タップ番号やバリコン角度を書き換えてしまいます。 間違いに気づいて、正しいアンテナで整合させようとすると、以前の正しい整合情報が書き換えられており、また一から整合ポイントを探す事になってしまいます。 

そこで、どのアンテナエレメントを選択しているかをATU側でチェックし、測定した周波数と比較して、エレメントが間違っている場合、エラー警告を出し、整合動作を開始しないようにしました。 この措置で、アンテナ切り替えミスにより、せっかくのATUプリセット情報が書き換えられる事がなくなりました。  しかし、時々、このプロテクタープログラムを入れた事を忘れてしまい、エラーになる理由が判らず、悩む事もあります。 慣れるまで大変です。

このATUが真価を発揮するのは雨の日です。 その効果はすでに実証済みです。 しかし、まだまだ、使い勝手はMTUの方が高い状態です。当面はMTUのサブとして使う事になりそうです。

ATUのPICマイコンによるSWR計の指示とシャックの中にある自作のSWR計の指示に差がある事はすでに触れましたが、この本当の原因が判りました。当初、プリセットMTUのBOXまで同軸ケーブルで接続された後、160mバンド用の延長ケーブルに接続できるように、リレーで回路の切り替えをやっていましたが、このリレー回路は普通のワイヤーで立体配線されたインピーダンスは完全無視の回路でした。 

このリレー回路がハイバンドでSWRを悪化させ、その結果、ATU内のSWR計が21MHzで1.02を指示しても、手元のSWR計は1.2と表示してしまう事が判りました。 このリレー回路を廃止し、ATUに同軸ケーブルを直結すると、ふたつのSWR計の指示差は無くなりました。 

同じベランダで長年使っていた2m用のJポールを廃止しましたので、このアンテナ用の同軸ケーブルが余りました。 これを160mに専用で使用する事にすることで、問題は解決です。 

ATUの整合条件はかなり変わり、今度は21MHzが整合しなくなりました。 原因は、回路のQが高くて、真の整合ポイントを通り越し、VC1もVC2も最大容量に収束してしまうものです。 マニュアルモードで真の整合ポイント付近でSWRが1.5くらいに持っていき、そこから自動整合を開始すると、SWR1.1以下に整合します。 

このテストを何度も繰り返している内に、バリコンの最大容量250PFは大きすぎるという結論になりました。ギアのバックラッシュをもっと少なくするか、バリコンの容量を最大150PFくらいまで落とすなどの対応が必要なようです。

たちまちは、これらの対応を実現できませんので、当面は、ソフトを書き換えたら、また最初の整合ポイント探しはマニュアルで行うしかないみたいです。

ATUの接続方法を変更した配線図ATU-VC9.pdfをダウンロード  (LCDの変更も含まれています。)

ATUの自作 : LCD交換 に続く。

INDEXに戻る

2014年9月 1日 (月)

バリコン式ATUの自作 8 (本体完成)

カテゴリ:オートアンテナチューナー(ATU)の製作

マイコンの開発がほぼ終わり、評価ボードを実用サイズに作り直すところまで来ました。この実用サイズは、現用中のプリセットMTUを含めて収納できる防水ケースに収める事が条件ですから、MTUの作り替えを前提としたサイズにしました。

最終的なサイズは  156x102x118mm となりました。

構造は、二つのL字型シャーシに内部パーツを分割してマウントし、これを四角のBOX状に組み立てるもので、オリジナルのTS-930S用ATUと似たようなサイズになりました。

Atu_comp5

Atu_comp4

上の画像は、バリコン部とCM結合器及びマイコン基板が実装された状態です。 軸の穴径拡大時に失敗し、傾いてしまったギアも、作り直し、傾きが無いものと交換しました。

Atu_comp3_2

Atu_comp6

上はコイルとこのコイルのタップを切り替えるリレーを10個並べたもので、リレーはアルミのLアングルで動かないように固定して有ります。

このふたつのアングルを合体すると以下のようになりました。

Atu_comp2

Atu_comp1

この状態で、動作テストを行い、問題なく動作しましたので、側面のカバーをかぶせて出来上がりです。

JW-CADで組み立て図を書き、その組み立て図から部品図面をおこしますが、組み立て図をコピーして作った部品図面は、間違いはないのですが、寸法のみ拾い、別に図面を書いたものは、穴位置が反対だったり、位置ずれがあったりで、かなりステ穴が増えました。また、板金の曲げ加工はバイスと木の当て板だけで行い、曲げ部分のRを小さくする為、ハンマーでたたくものですから、平面であるべきところが凸凹です。厚さ1mmのアルミ板ですが、この曲げ加工により強度がアップしましたので、みてくれは悪いですが、安心して使えそうです。

Atu_comp0_2

Atu_comp7

マイコン基板はむき出し状態ですが、不安定になるようなら、薄いアルミ板で上からカバーするつもりです。 一番最後の段階で実装する事になるでしょう。

一応、ATUはできました。 これを、現用中のプリセットMTUと平行してテスト運用していますが、どうしても従来のMTUを使う頻度が高くなります。 原因を考察すると、ATUはバンド切り替えの度に、例えTUNE動作は必要なくても、送信というアクションが必要です。バンドの状態はどうかな?とちょっとの間、他のバンドを聞きたくても、チューナーが整合していませんので、7MHzの国内交信は聞こえても、ハイバンドのDX信号は聞こえません。 

一方、プリセットMTUは受信機のバンド切り替えと同時にハンドでカチカチと切り替えるだけですぐに受信できます。このような問題を解決する手段として、最近のモデルは、現在の受信周波数やモードなどを外部へ出力しており、このデータを利用して、ATUも予め決めた調整状態に設定する事ができます。  しかし、残念ながら、私のリグは30年くらい前のリグですから、そんな便利な機能はありません。

そこで、現用のプリセットMTUのバンド切り替え情報のみでATUをプリセット出来るようにしました。もちろん、このプリセット時の送信は一切ありません。プリセットMTUは3.5MHzから28.7MHz(28.7MHz以上は使用していません)までを14バンドに分割しています。ATUの28バンド分割の半分しかなく、バンド全域はダメですが、私が良く使う範囲はSWR1.5以下に収まります。このプログラムを実装しましたので、従来のMTUと同感覚でATUを使用できます。

遠隔操作システムが完成したら、従来のプリセットMTUは不要になるかも知れません。ただし、それを確認できるのは、かなり先の事になりそうです。

バリコン式ATUの実装 に続く。

INDEXに戻る

2014年8月27日 (水)

バリコン式ATUの自作 7 (遠隔操作)

 <カテゴリ:オートアンテナチューナー(ATU)の製作

ATUとしての基本機能が完成しましたので、これをベランダに設置し、そこから約20mのケーブルをシャックの中まで引きこみ、シャックの中からこのATUを操作する事になります。 この遠隔操作システムの検討と試作を行いました。

現在の遠隔操作システムは、ベランダに置かれた、17台のプリセットMTUをバンドや使用するアンテナに応じ8本のケーブルで操作していました。すべて、パラレル制御です。

Mtucont0

今回ATUを設置するに当たり、MTUの操作を残したまま、ATUの操作を追加しますので、従来通りパラレル制御を行うなら、さらに6本のケーブルが必要になります。 そこで、RS232Cより長い距離でも通信が行えるようにラインドライバーを設計した上で、制御は1本のシリアルラインで行い、電源を含めて3本のラインで構築する事にします。

また、ATUからの戻り信号として、ATUの状態を示す2個のLED出力をそのままパラレルでコントローラーへ返すことにします。 それでも3本のラインが余りますので、将来、ATU側からSWRなどのデータをシャックに戻す為に、ハード設計だけして予約して置くことにしました。

新規に作成するコントローラー(エンコーダー)も、プリセットMTU制御回路(デコーダー)もATUと同一シリーズでピン数のみ28ピンとなるPIC16F1933で作る事にしました。

Mtuenc0_2

Mtudec0_2

左上がエンコーダー、右がデコーダーです。現在のプリセットMTUのコントロール機能はすべて含まれますが、MTUの数は最大で20台までとしました。また、今まで、ベランダ側で操作できなかった、ローバンド、ハイバンドの切り替えと外部アンテナへの切り替えを可能にしました。また、テストモードをOFFし忘れて、シャックに戻ると、手元のコントローラーから操作不能になり、またベランダまで出なければならないという不便を解消する為、例えテストモード状態でも、シャックから操作があると、自動的にテストモードをOFFにする機能も追加しました。

ATUの制御は4つのスイッチだけで行い、その状態は2個のLEDで確認できますので、このLED出力のみパラレルでシャックにもどします。もちろんATU on/offもベランダ側でも操作できるようにしました。

これらの制御は16pitのシリアル信号で行いますが、現在使用されているのは10bitのみで残りの6bitは将来の予約です。

UARTを使用したシリアル通信は初めてのトライで、理解できるまで何日もトラブリました。最大の問題は多重割込みによりメインループが止まってしまうという問題でした。とりあえず、割込み処理ルーチンの処理時間を極力短くして多重割込みが発生するチャンスを減らすくらいの対策しかできませんでした。 なお、このシステムを操作するのは一人の人間で、通常はATU側とエンコーダー側を同時に操作できません。現在のデバッグはエンコーダーもATUも同じ机の上に有り、多重割込みが発生する操作ができるものです。 実際には問題の発生は無いと考えられます。

また、スタックオーバーフローも発生し、これを回避する為に、関数のネストを減らしたり、ローカル変数をグローバル変数に変えるなど何日もロスする事になってしまいました。

UARTの通信速度は1200ボーに設定しましたが、距離が20mもありますので、通常のラインドライバーではなく、1AクラスのP-MOS FETによる電源ラインの直接スイッチング方式としました。とりあえず、10mAくらいの信号電流でトライしますが、誤動作があるようなら、最大で数100mAも流せる回路にしてあります。 20mのケーブルを使った実験では、問題なく動きました。

Mtu_uart_in

Atupcbback

左上の波形は、20mのケーブルに接続されたデコーダーマイコンのRX入力端子の波形です。波形の角が少し丸みを帯びていますが、大きく崩れることなく、伝送出来ています。

右上の基板はATU回路の裏側です。チップ部品より配線のリード線の方が目立ちます。最初から、全ての回路が決まっていたら、配線経路が最少になるように部品の配置を決めますが、今回のように、ソフトを開発しながら、必要に応じてハードを追加したり、変更したりすると、このようにジャングルになってしまいます。 実用するATUに作り替えるとき、この基板は、このまま使いますので、シールドケースがいるかも知れません。 後日、100W出力による動作テストを行いましたが、MTUもATUも誤動作なく動きました。

Atulinedriver

実使用状態にするには、まず、このATUのサイズ縮小と防水設計をする必要があります。また、現在使用中のMTUコントローラーも改造が必要となり、かなり長い期間QRTせねばなりません。 次のステップは秋のDXシーズンが終わってからになりそうです。 それまでは、机の上に置き、時々デバッグをする事にします。

MTUのエンコーダー、デコーダー及び遠隔操作機能を追加したATUの配線図は以下からダウンロードできます。

シリアルコントロールのプリセットコントローラー配線図MTU-PIC3.pdfをダウンロード

遠隔操作機能付ATUの配線図をダウンロード

バリコン式ATUの自作 8 (本体完成) に続く

INDEXに戻る

2014年8月10日 (日)

バリコン式ATUの自作 6 (角度センサー対応アルゴリズム)

カテゴリ:オートアンテナチューナー(ATU)の製作

TS-930S用ATUのギアBOXにバリコンの回転に連動した可変抵抗器を追加し、バリコンの角度を電圧の変化に変換する角度センサーを使ったATUのSWR収束のアルゴリズムを試行錯誤しています。

1.   フラッシュマイコンにプログラムを書き込むとき、VC1,VC2の最大容量時、最少容量時の可変抵抗器出力データをプログラム上で初期設定し、50Ωのダミー抵抗に整合する時のコイルのTAP番号と、VC1,VC2の角度データを予めEEPROMに書き込んで置きます。  バリコンと可変抵抗器がギアで直結されていますので、いかなる事が有っても、バリコンは180度以上は回転しないという条件を設けます。

2.  TUNE状態になったら、キャリアレベルを検出し、規定値以内のレベルなら周波数を測定し、得られた周波数からコイルのTAP番号と、VC1,VC2の初期設定用角度データをEEPROMから読み込みます。

3.  SWRが20以上ある場合、VC1,VC2を初期設定用角度まで回転させ止めます。TAP番号に変更が有ったらタップの切り替えを行います。 バンド内で周波数を変えたときSWRが20を超えるような場合、収束に時間がかかりますので、当初、バンド幅が100KHzを超えるバンドは100KHz~350KHzくらいごとにバンドを分割し、全体を18のバンドに分割していました。 

何度もチューニングを繰り返す内に、前回SWRが規定値以下に収束したバンドはVC1とVC2を前回の角度にプリセットするだけで、かなりの確率でSWRが実用レベルに収まる事がわかりました。これを利用すべく、周波数をチェックしただけで、バリコンの角度とTAP位置のみを設定し、チューニングはしないモードを作る事にしました。このモード対応の為、最終的には、3.5MHzから29.7MHzまでを28バンドに分割しています。

4.  SWRのチェックを行いSWRが20以上ある場合は、VC1,VC2とも最少容量まで回転させ、そこから、VC1を小刻みに容量最大方向へ送りながら、VC2を180度づつ交互に回転させ、SWR20以下を探ります。 最小容量からスタートする事で、VC1,VC2とも最大容量でSWR最少に収束する現象を回避しました。この小刻みに送る角度は周波数により変化させ、ハイバンドは1回の送り角度を2度くらいにしますが、ローバンドは5度くらいの角度で送り、SWR20以下の検出時間を短くします。1回に送る角度が多ければ早く検出出来ますが、検出漏れが発生しやすくなりますので、これらの角度は実験で決めます。

5.  SWR20以下が見つかりましたら、

・ VC2を短時間CW方向に回転させ、SWRが変わらないか下がる場合、SWRが上がるまで繰り返します。(SWR最少ポイントを少し過ぎたところで停止) 停止コマンドを送ってから、実際に停止するまでの時間は非常に重要です。SWRのチェックは、実際に停止してから行わないと判定を誤ります。停止までの待ち時間を長くとると、SWRのチェックは確実ですが、収束時間が長くなります。何回も動作テストを行い最適値を決めます。

・ SWRが上がる場合、VC2を反転しCCW方向に回転させ、SWRの変化を見ます。SWRが変わらないか下がる場合、SWRが上がるまで繰り返します。SWRが上がる場合、VC2を反転させますが、この動作中に回転の反転を2回やったら、この動作は終了。

 

・ VC1を同じように繰り返します。  VC2もVC1も一度SWRが下がった場合、そのときの回転方向を記憶しておき、メインループを1周して、このルーチンに戻ったとき、前回の回転方向でスタートする事により、スムースにSWR最小ポイントを探す事ができます。 この動きはMTUの調整方法と同じです。

・ VC1、VC2いずれも1回に送る時間は周波数で変化させます。24MHz以上の場合、30mSec、5MHz以下の場合、60mSec、その他の周波数では40mSecとしておき、使用しながら最適値に決めます。また、SWRが2以下まで収束しましたら、この送り時間を半分にして微調整モードとします。

6.  5項をSWRが規定値以下になるまで繰り返します。 規定値は時間経過により、次第に緩くしていきます。最初の5秒間はSWR1.10以下への収束としますが、5秒以上経過したら、SWR1.25以下、10秒経過したら、SWR1.50以下、20秒経過したらSWR3.0でもチューニング完了とします。SWR3付近で完了した場合でも再度チューニングをかけると、SWR1.10まで収束しますので、周波数を可変して、SWRが高くなってきたら、再チューニングしています。

7.  VCが最大容量や最少容量を超えたらとりあえずエラー警告して停止させます。 その上で、バリコンが最大容量で停止したら、TAPをひとつ下げます。最少容量で停止したらTAPをひとつ上げます。 エラー状態を示す赤色のLEDが点滅して停止していますので、再度チューニングスタートボタンを押すと、変更されたTAP状態で再調整にトライします。 私のアンテナはこの処置で全バンド整合できます。 これでもエラーが続くようなアンテナの場合、諦めることにしました。(アンテナ自身を調整する事になります)  なお、2回目からは新しいタップ位置でプリセットされていますので、エラーになる事は有りません。

8.  SWRが規定値に収束したら、TAP番号とふたつのバリコン角度データをEEPROMに記憶します。この機能により、一度チューニングが成功したバンドは、ほぼ5秒程度でチューニング完了です。 バリコンがプリセット位置に移動しただけでSWR1.10以下という状態もかなりの頻度で発生します。この時は2秒以内で収束します。

9.  チューニングする時のモードを二通り選択できるようにしました。  キャリアを出した後、スタートボタンを押すと、SWR最少になるよう本来の動作を行います。 キャリアを出さない状態でスタートボタンを押すと、キャリアが無いという表示であるグリーンLEDがスローで点滅します。この状態で、キャリアーを出すと、TAPの切り替えと、VCのプリセットのみ行い、SWRはチェックせずに終了させます。このプリセットのみの場合の所要時間は2秒以下です。 特にSWRのチェックをしませんので、SSBモードでもノイズだけで周波数を読み、プリセットしてしまいます。 

バンドを28に分割しましたので、天気が同じなら全バンドSWR1.5以下になります。 雨が降って状態が変わってしまったら、このモード終了後に再度チューニングをかけると、SWR最少状態に短時間で収束します。 ATUはバンドを変えたら出力を絞ったキャリアーを出してチューニングするのが一般的ですから、その面倒さゆえバンド切り替えがおっくうになりがちですが、このモードでかなり楽になりそうです。

アンテナをつないで、最初にチューニング動作を行わせた時とか、アンテナを変更したためにバリコンをプリセット角度に移動させてもSWRが20以下にならない時だけ、4項の動作を行いますが、それ以外の場合、3項から4項をスキップして、5項に入ります。また、3項の動作は概ね2秒以下ですが、バンド切り替えが無かったら3項の動作時間は1秒以内ですから、チューニング開始してから5秒くらいでSWR1.10以下に収束します。 

 

Atusens2_2

Atu2

3.8MHz帯の整合がクリチカルな状態でしたので、追加コイルを復活させました。ただし今回は5μH分だけです。

 

バリコンの角度は可変抵抗器のセンター端子から得られるDC電圧をADコンバーターで読んでいますが、このデジタルデータは10bitです。EEPROMの記憶エリアは8bit単位ですので、ADのデータも10bitで取得した後、右へ2bitシフトし、8bitデータとして処理しています。  ギアのかみ合わせ調整時、最大容量で10くらいにセットすると、最少容量で205くらいになります。差は195ですから、バリコンの回転角180度を1度弱の分解能で表示している事になります。

  このバリコンの角度データもLCDに表示できるようにしました。左上の写真にあるLCD表示は1行目左3文字がVC1の角度データ、4番目がTAP番号、5番目からSWR値を表示。2行目の左3文字がVC2の角度データ、4番目以降は周波数です。この例では、14.020MHzでSWR1.04に収束した時のTAP番号は4、VC1の角度は163, VC2の角度は169を示しています。このLCD表示は、プログラムのどの部分を検討しているかによって、随時表示を変えていますので、一定ではありません。

角度センサー付の配線図は以下からダウンロードできます。

ATU-VC4.pdfをダウンロード

整合可能範囲が広いという事は、疑似SWRディップポイントへの収束やバリコン最大容量状態への収束にはまりやすいという事と裏腹のようです。 この対策とバグ取りを行っていましたら、XC8というコンパイラーの癖が見えてきました。

関数の戻り値がマイナスになると無視されます。比較演算の中で、マイナス数値を扱うとWarningがでます。単にWarningが出るだけと思っていましたが、比較の対象が負の数の場合、予期しない動作をします。 比較演算式の中に負の数値が表現されないようにすると、Warningも出ずに、結果も常に正しく判定します。データの型をunsigned charで無く、単に「char」にしても同じでした。 この現象の為、バリコンの回転角を180度以内に抑えるプロテクターが働かず、ギアを外して、設定し直した回数は、数えきれません。 

何回か書き込みしていたマイコンがIDを返さなくなりました。従い、書き込みもできません。どうやら壊れたみたいです。壊れた原因が判りませんが、予備のマイコンに交換して継続しています。 ATUの電源を接続したまま書き込むと、書き込みエラーになります。もちろん、書き込み治具側からの電源供給のチェックを外していますが。 これが原因でしょうか?

一度ごみ箱に捨てたマイコンを拾ってきて、PICkit3から供給する電圧を5Vではなく4.6VにするとIDが返ってきました。 そして、書き込みができ、動作も問題なしでした。

アンテナに接続して、最初にチューニングした場合、ハイバンドで10秒くらい、ローバンドで40秒くらいでSWR最少状態に収束します。2回目からは全バンド5秒くらいで収束します。また、バリコンの角度だけプリセットしてSWR収束処理を行わない時は2秒以下で完了します。 実際の運用は、雨が降らない限り、このSWR収束なしで問題なく交信できます。

一応、完成しましたので、遠隔操作機能を追加しますが、現在使用中のMTUを使用したマルチバンドアンテナシステムの制御回路を含めて変更が必要になりますので、しばらくお預けとする事にしました。 

バリコン式ATUの自作 7 (遠隔操作) へ続く。

INDEXに戻る

2014年8月 9日 (土)

バリコン式ATUの自作 5 (角度センサー)

カテゴリ:オートアンテナチューナー(ATU)の製作

ATUのソフト開発中ですが、バリコンの角度センサーはマストのようです。 今回は、TS-930S内蔵用ATUに追加したバリコンの角度センサーを紹介します。

部品集めです。

Atugiar

Atugiar4

直径16mmの平ギアで3mmのシャフトに止められる物、16φで軸径が3.2mmの可変抵抗器、25mm長のM3小ネジ、内径4mm長さ15mmのスペーサー、それに可変抵抗器を保持するアルミフレーム。

平ギアと可変抵抗器は千石電商から通販で購入。小ネジとスペーサーは近くのホームセンターで購入。アルミのフレームはJW-CADでギアBOXの組み立て図を作図し、図面を作成した上で、糸ノコと電動ドリルで自作しました。

フレームの図面です。  ギアのかみ合わせの調整を何度もした結果、13.5mmの寸法は13.2mmくらいにした方がいいみたいでした。

Atugiar9

Atugiar5左は、加工済みアルミフレームと、可変抵抗器の軸に装着した平ギアです。 

この平ギアは軸径3mm用であり、可変抵抗器の軸径3.2mmと合いません。よって、3.2mmのドリルで穴を拡大するのですが、購入した4個のギアの内、1個のみ軸径2mm用が混入していました。 ちょうどこの日、台風11号が接近中で大雨となっており、屋外作業となるボール盤が使えません。やむなくハンドの電動ドリルで穴拡大の作業をおこないました。

軸径3mmのギアの穴を3.2mmに拡大するのは問題ないのですが、軸径2mmを3.2mmに拡大すると、穴の軸がほんの少し傾いてしまいました。 ギアが薄いので、かみ合わせがきわどくなってしまいましたが、とりあえず使えます。

この軸径の間違ったギアは後日、注文通りの軸径3mmの物が無償で送られてきました。(TKS)

Atugiar1

Atugiar2

バリコン駆動シャフトにも平ギアを装着しますが、シャフトがサビていて、ギアが挿入できません。ヤスリでシャフトを磨いたり、ギア側のアルミボスの穴をヤスリで削ったりして現物合わせで挿入しました。 ギアBOXはそれぞれ4個のビスでアングルに固定されますが、上側のビスを25mm長のビスに変更し、飛び出したビスに15mm長のスペーサーを差し込みます。 このスペーサーの内径は4mmで、ギアBOX固定用アングルの絞りタップを包み込んでしまいます。

アルミフレームに可変抵抗器を取り付け、ギアを仮止めした状態で、アルミフレームを25mm長のビス4本で固定します。そのままでは、可変抵抗器の本体がアングルに当たり挿入できませんので、一度、25mm長のビスを緩め、アルミフレームを差し込んだら、また元通りに締め直します。

Atugiar7

Atugiar8

バリコンは最大容量位置から半時計方向に10度くらい回した位置にしておき、可変抵抗器は半時計方向に回しきって置き、ふたつの平ギアがかみ合うように固定します。

ここまでできたら、モーターにDC電源をつなぎ、問題なく動作する事を確認します。 ギアのボスの穴径を拡大するとき、穴の軸が傾きましたので、回転すると、ふたつのギアのかみ合い部分がずれます。ずれても、かみ合いが外れない位置にギアを固定しました。

ギアがプラスチックですから、可変抵抗器のストッパーに当たると、ギアの歯が欠けてしまう可能性があります。マイコンソフト作成時十分注意が必要です。最後の保護手段として、ギアがロックされたら、モーターコントロール用ICの電源ラインにシリーズに入れた10Ωの抵抗が断線してギアを保護する事を期待したいと思います。

後日、可変抵抗器のストッパーに当たる事故が何回も発生しましたが、10Ωは断線しない代わりに、電圧降下が起こり、モーターのトルクを弱めますので、ギアも無傷で済みました。

Atugiarlist

この角度センサーに使用した部品リストを左に示します。  軸径が3mmの可変抵抗器を使えば、平ギアが傾く問題は無くなると思います。 

アルミフレームを寸法通り作るこつは、JW-CADで一度作図し、これを実寸大(拡大率100%)でインクジェットプリンターで紙に印刷します。 プリンターはキャノンでもエプソンでもOKです。 この印刷した紙をアルミ板に糊で張り付け、穴の中心にポンチで印をつけると、ハンドドリルでも大きく寸法が狂う事はありません。穴のセンターずれを押さえる為に、一度2φくらいの穴をあけ、その後で目標の穴径に拡大します。  寸法がずれている場合、4個の3.6φの穴径を3.8φとか4φに広げて調整します。 アルミ板は柔らかいので、その他の寸法誤差も吸収してくれます。         紙をアルミ板に張り付ける時は、決して両面テープは使いません。 穴あけ加工後、両面テープをはぎ取るのに苦労しましたから。 糊なら加工後に水洗いすれば、きれいに取れます。

とりあえず、角度センサーができましたので、これに対応するSWR収束のアルゴリズムを検討する事にします。

バリコン式ATUの自作 6 (角度センサー対応アルゴリズム) に続く

INDEXに戻る

2014年8月 5日 (火)

バリコン式ATUの自作 4

 <カテゴリ:オートアンテナチューナー(ATU)の製作

Atutb

VC1とVC2が容量最大状態に収束し、真のSWR最少ポイントを見つけない問題を解決する為、仮に、バリコンの角度センサーが有った場合どうなるかシュミレーションしていきますと、コイルのTAPを適宜選択する事により収束しやすくなる事が判ってきました。 さらに、前回までの実験はダミー抵抗による収束検討でしたが、実際のアンテナの場合、周波数を変えると、リアクタンスも抵抗も変化するという違いがあり、VC1,VC2ともに最大容量へ収束する確率はかなり低くなる事も判りました。

バリコンの角度センサーをどうするかは、先送りして、角度センサーなしでどこまで改善できるかトライしました。

サーボ機能はその応答特性が重要で、状態の変化に対して、応答が速すぎても、遅すぎても収束に必要な時間は長くかかります。 モーターの駆動時間やブレーキをかけてから完全停止するまでの待ち時間などを変えてやると、SWR最少ポイントへの収束時間は大きく変わります。早い時は1秒くらいで収束し、遅い時は30秒近くかかる場合もあります。 また、バリコンの最大容量もしくは最少容量の付近で行ったり来たりして、永久に収束しない事も出てきます。そこで、収束させる条件を前回より以下のごとく変更しました。

  • サーボ動作に入る為のSWR条件をSWR5からSWR10に変更しました。 例えば、21.05でSWR1.05に収束した状態で周波数を21.40に変えると、私のアンテナでは、SWRが5を超えてしまいます。従来のままなら、SWR5を超えた時点で、メクラ状態でVC1とVC2を回し、SWR5以下を探す事になってしまいます。SWR10以下に変更すると、この値以下のSWRの時は、即サーボ動作を開始しますので、収束が速くなります。

  • SWRの収束目標を3段階にします。 従来はSWR1.15を目標にしていましたが、最初の目標をSWR1.05以下とし、10秒以上経過しても、収束しない場合、SWR1.20まで緩めることにします。 さらに20秒経過しても収束しない場合、SWR1.40で緩めます。 収束しないよりはましです。 1.40くらいで収束した状態で再度チューニングをかけると、1.05以下に収まります。

  • それでも収束しない場合、コイルのタップ位置を手動で切り替えてみる事にしました。 コイルのタップ位置は7メガのダイポールに18メガを整合させる場合と、17メガくらいに共振周波数のあるスカイドアアンテナを18メガに整合させる場合、違ってくる事が判りましたので、バンドとタップの関係は固定しない事にします。 バンドとタップの関係はEEPROMに記憶させ、次回からは成功したタップ位置を呼び出す方式です。

  • チューニング動作を開始する送信機の出力範囲を広げました。 前回までは、5Wから40Wくらいの範囲にしてありましたが、SWRの計算にエラーが発生しない事を確かめて、1Wから40Wまでの範囲でチューニングできるようにしました。 出力が上ると、コイルの切り替え時、リレーへの負担が大きくなるので、実際にチューニングする時は、10W以下の必要最小限に抑える事にしています。 

  • モーターの回転数は12V駆動の高速と4.5V駆動の低速にしていましたが、4.5Vでは加速が遅く、短時間駆動では、ギアのバックラッシュすら吸収できない事がわかりました。この低速状態は機械的に非常に不安定で、温度や湿度でサーボの応答特性が変わってしまいそうです。 色々実験しましたが、低速は6V駆動として、最低限の起動トルクを確保した上で、動作時間を細かく調整する事にしました。 6Vの場合、最初のメクラ状態でSWRのディップポイントを探す時粗くなりますので、ディップポイントを見逃して、結果的に探す時間が長くなりますが、やむなしです。

 

Atutap3_2

以上の改善を行うと、実際のアンテナの場合、角度センサー無しでも、全バンドSWR1.40以下に収束できるようになりました。 左の画像は、現在のタップ位置4をLCDに表示した状態です。またこのタップ番号を手動でアップしたりダウン出来るスィッチを追加しました。 チューニングを開始し、いつまで経っても、終わらない場合、手元でタップ位置を上げたり下げたりして確認する事ができます。 

この為もあり、一定の時間チューニングしてダメなら、そこでチューニング動作を中止するという機能は廃止しました。チューニングを止めたい時はSTOPボタンをおします。 しかし、まだ、収束時間は長く、最適状態にするには、かなりの試行錯誤が必要なようです。 多分、最終的には、バリコンの角度センサーが必要になるとおもわれますが、それまでは、現状でトライしてみます。

今回、PICのTimer4を使い、0.2mSecごとに割込みが発生するようにソフト変更し、この割込みを使い、時限設定機能を使えるよにしましたが、C コンパイラーの中にある関数

__delay_ms(20) ; // (括弧内の数値を変えて任意の遅延が可能。ただし数値は実数のみ)

の実際の遅延時間が設定した時間より8%ほど長くなる事が判りました。Timer4以外に未使用のタイマーとして、Timer2とTimer6がありますが、どれを使っても8%長くなります。この既成の関数もこれらのタイマーを使っている為でしょう。 このATUの場合、周波数カウンター動作時は全割込み禁止で影響なし。その他の遅延設定でも8%くらいの誤差は無視できますので問題なしです。

設定したアルゴリズム通りに動作しないバグを取り除き、モーターの駆動時間や、ブレーキ後の待ち時間の調整をした結果、14MHz以上のバンドでは、サーボ動作開始後からSWR収束までの時間は最短で1秒、長くても5秒くらいになりました。 しかし、10MHz以下のバンドは20秒を超える事がしばしばです。バンドによってサーボ定数を変更しなければならないかも知れません。

検討の為、このATUは、トランシーバーと同じ場所に置いてあり、アンテナからここまで約20mの長さの同調フィーダーでつないでいます。18MHzでラオスが聞こえますので、このATUでチューニングしてコールしてみました。一応交信は成立しましたが、アンテナ直下のプリセットMTUに比べて、受信信号強度はS半分ほど悪く、ノイズはMTUがS2でATUがS5でした。 ATUはアンテナ直下に限りますね。

現在まで発生したハードの変更を網羅した配線図は以下からダウンロード出来ます。

ATU-VC2.pdfをダウンロード

バリコン式ATUの自作 5 (角度センサー) に続く。

INDEXに戻る

2014年8月 2日 (土)

バリコン式ATUの自作 3

カテゴリ:オートアンテナチューナー(ATU)の製作

コイルを1個にして、再度バンド毎のTAP位置を確認する事にしました。前回に比べて大幅にずれました。コイル2個のときは、シャーシとの静電容量の影響もありましたので、今回のTAP位置が素直に見えます。 

Atutap2_2

Atuband0_2

このバンド毎のTAPを切り替える時は、切り替え時に高電圧が発生してスパークするのを防ぐ為、ショーティング切り替えを行います。右上にTAP3からTAP5を切り替えるタイミング例を示します。リレーが動作完了するまでの時間を仕様書で調べたら15mSecとなっていました。これは電極が磁石で引き寄せられる時間と一度接触した接点が反動でバウンズし、それが収まるまでの時間です。 今回は余裕を見て20mSecとしました。

このATUは2個のADコンバーターを使いVFWDとVREFの電圧を読んでいますが、マイコンの中のADコンバーターは、1個のサンプルホールド回路しかなく、指定されたi/oピンに接続し、AD変換が完了したら、レジスターにデータをストアーする構造ですから、VFWDとVREFは同時にAD変換できません。かつ、VFWDの変換を行った後、i/oピンの切り替えを行い、VREFの変換を開始するまでウェイト時間が必要です。

PICの仕様書ではこの待ち時間は数マイクロ秒となっており、今回は余裕を見て5マイクロ秒に設定していました。SWR5以下が見つかり、そこからSWR1.0に向けて収束プログラムが動作するのですが、ときどき、AD変換の結果が異常値を示します。原因が判らず、2日間もロスしましたが、どうも連続1000回くらいのAD変換では、待ち期間5マイクロ秒では不足のようです。これを10マイクロ秒まで増やすと、正常に動作するようになりました。 

このバリコン式ATUの整合アルゴリズムは以下のようにしました。

  1. キャリアの周波数を測定し、そのハムバンドに予め決めたコイルのTAP位置を設定。
  2. VC1を低速、VC2を高速でそれぞれCW(時計方向)方向に回転させ、SWRが5以下を検出したらVC1,VC2とも停止させる。
  3. VC2を短時間CW方向に回転させ、SWRが下がる場合、SWRが上がるまで繰り返す。(SWR最少ポイントを少し過ぎたところで停止)
  4. SWRが上がる場合、VC2を反転しCCW方向に回転させ、SWRの変化を見る。SWRが下がる場合、SWRが上がるまで繰り返す。SWRが上がる場合、VC2を反転させるが、3,4項の動作中に回転の反転を2回やったら、この動作は終了。
  5. VC1を3,4項と同じように繰り返す。
  6. 2-5項をSWRが規定値以下になるまで繰り返す。規定値はとりあえず1.15としました。

一応このアルゴリズムでSWR1.15以下に収束するようになりました。 短時間VCを回転させるときの時間や、回転スピードなど詰めなければならない事項もありますが、「出来た」と喜んでいると、問題点が発覚しました。

Atuswr1

左の画像は、3.532MHzでSWR1.08に収束した時のLCD表示です。 3.5MHzから10MHzまではOKなのですが、14MHz以上はVC1とVC2が最大容量になるように収束し、本当の整合ポイントにはなかなか収束しません。原因を調べる為、NT-636にダミー抵抗をつなぎ、マイコンの動作を手動でシュミレーションしてみました。 

すると、NT-636でも同様に真の整合ポイント以外にVC1,VC2最大容量の位置でSWR最少となります。ただし、SWR1.5くらいまでは収束しますが、それ以上小さくはなりませんから、いつまで経ってもモーターは停止しない事になります。 しかも、真の整合ポイントより、はるかにブロードで、この間違った収束ポイントに向かう範囲もかなり広くなっています。

この問題をTS-930Sはどのように対策したのか調べてみました。3.5-14MHzはT型、18MHz以上はパイ型で動作させ、かつ整合可能な範囲をかなり狭くしていました。 目標はNT-636並みの整合範囲を有するATUですから、TS-930Sのノウハウは使えません。

色々と手動で調べていくと、ハイバンドになると、大きな容量のバリコンはかえって邪魔になるようです。現在の最大容量は250PFですが、NT-636は150PFです。 また、周波数を高くするに従い、この最大容量を小さくしていくと、VC1,VC2最大位置でSWRのディップが現れにくくなる事が判りました。 これを実現するには、周波数に応じて、バリコンの角度を管理するか、バリコンにシリーズキャパシターを追加するか等の対策が必要になります。 KENWOODはこのモデルの後のチューナーはバリコンの角度センサー(可変抵抗器)付で商品化しています。

他の対策方法を含めて検討する必要がありますが、問題の大きさから、やる気が半減してしまいました。趣味でやっていますので、気が向くまで、とりあえずお蔵入です。 

バリコン式ATUの自作 4 に続く

INDEXに戻る

 

2014年7月31日 (木)

バリコン式ATUの自作 2

カテゴリ:オートアンテナチューナー(ATU)の製作

TS-930Sに内臓されていた時のATUの動きは、バンド切り替えに応じ、コイルが選択された後、キャリアーを送信しながら、VC1とVC2を同時に回転させ、SWRが設定された値以下になったら、そのVCの位置からサーボが働き、SWR最少状態に収束させるものでした。 VC1とVC2が同じ回転速度で回転したのでは、いつまで経っても、VC1とVC2の比は変わりませんから、VC1側をVC2より遅く回転させ、時間によって、VC1とVC2の比が変わるようにしていました。  今回製作するATUも同じようなアルゴリズムでSWR最少状態を実現させますが、サーボが開始されるSWR値を高くして、整合可能範囲の拡大を行います。 TS-930Sの場合、SWR2以下を検出しないと、サーボは動作しなかったような。

ATUの出力に50Ωのダミー抵抗を接続し検討します。一応、アンテナのバラツキの中心は50Ωの純抵抗ですから、ダミー抵抗を整合させられるVCの容量とコイルのインダクタンスが、その整合状態の中心となり、これを、どれだけ可変できるかで整合可能インピーダンスの範囲が決まります。

まずは、VC1とVC2の回転速度差をどのように選んだら最短でサーボが動作開始するかを実験してみました。  VC2を12Vで回転させ、VC1を10Vくらいから3Vくらいまで連続可変し、最適な回転速度比を見つける事にしました。 結論はVC1を遅くするほど確実にSWRのディップポイントが発生する事が判りましたが、遅くなるほど、ディップポイントが発生する時間間隔は長くなります。この時間が長いと言う事は、整合状態になるまでの時間が長いという事に他なりません。 また、VC1の回転を速くすると、ディップポイントの出現間隔も短くなりますが、トレースが粗くなりますので、デイップポイントを見逃す頻度も高くなります。  

TS-930Sの場合、VC2よりVC1は半分くらいの回転速度だったような記憶ですが、もう動作しませんので確認のしようが有りません。 とりあえず、実験ではVC1駆動モーターの電圧を4.5Vとして、以後の検討をする事にします。現在は夏なので、冬の屋外で、モーターが起動するか?という不安もありますが、その問題は冬場に対策する事にします。

モーターの回転比を決めたところで、各ハムバンドにおける最適コイルタップ位置を選択する事にしました。 下の画像は、3.5MHzと29.5MHzの時の、Vref電圧の変化をデジタルオシロで記録したものです。時間軸は5秒/DEVです。またSWR=1,3,5の位置を赤線で示しました。29.5MHz時、高周波が重畳しているのはオシロのプローグが送信出力をピックアップしているもので、Vref自身はきれいな直流です。 

Atutap1 同じようにして、3.5MHzから29MHzまでの全バンドを測定した結果は次のようになりました。

Atutap0_3

SWR5以下の検出時間間隔というのは、SWR5以上になった後、次にSWR5以下になるまでの時間の事であり、チューニング動作を開始したら、最低この時間はモーターを回し続けなければならないと言う事になります。 3.5MHzのとき、この時間は13秒になりました。逆に言えば、13秒経っても、SWR5以下が得られない場合、そのアンテナは整合不可と言う事になります。

この13秒は最悪値ですから、実際はこの半分くらいの時間で、サーボ動作に移れると考えています。

Atucoild

コイルのタップ番号は当初の予想とは大きくずれました。 3.5MHzから29MHzまでをカバーするつもりですから、コイルは1個でよく、かつタップの数も9個で良いと言う事になりました。最終的に小さいサイズに収める為には、リレーも9個で済む事はメリットとなります。 評価ボードのコイルも1個に変更しました。リレーは実装されていますが、配線は削除しました。

改造などをやっている内に、LCDが壊れてしまいました。間違って、LCDのGNDに+12Vを接続してしまい、LCD内部のDC/DCが壊れ昇圧しなくなりました。

交換の為に手配したLCDが入手できたので、今度はSMT用ユニバーサル基板に実装する事にしました。ところが、このNEW LCDも表示しません。 調べたら、1-2番pinと3-4番pinがそれぞれショートしていました。ここのショート箇所を直しましたが、時すでに遅し。またもや内部のDC/DCが壊れてしまいました。 

Atulcd2

気を取り直して、予備で手配しておいたLCDに交換です。今度は、ハンダ付けする度にテスターで導通テストを行い、祈りながら通電しましたら、ちゃんと動作するようになりました。 もし、このLCDをお使いになりたい時は、秋月に変換基板がありますので、それを利用されることを強く推奨します。LCD本体より変換基板の方が高いのですが、いまやっと、その価値を理解しました。写真は壊れた2個のLCDとなんとか動いた3個目のLCDです。

また、トラブルが発生しました。このLCDは、ベランダに設置したATUの基板に貼り付けてあったのですが、表示が出なくなりました。結局、ATUの自作 : LCD交換 で紹介のごとく使用を中止しました。

バリコン式ATUの自作 3 に続く。

INDEXに戻る

2014年7月26日 (土)

バリコン式ATUの自作 1

LDGや東京ハイパワーのATUを使ってみましたが、その整合可能範囲はMTUのNT-636と比較した場合、比較にならない程狭いものでした。 この為、現在はバンド専用にプリセットされたMTUを使用していますが、雨で整合状態がずれた時など、手元のNT-636に切り替えていました。  しかし、手元のMTUは長い同調フィーダーを使用する関係で、打ち上げ角が高くなったり、外来ノイズを目いっぱい拾ったりで、どうしてもと言う時以外は使用していませんでした。

最近時間が取れるようになりましたので、NT-636並みの整合能力があるATUを目指して、ATUを試作する事にしました。 (ATUの自作ではなくバリコンの自作の場合、こちらを参照下さい)

Atu_ts930

アンテナチューナーの方式をNT-636と同じとすると、バリコン2個、コイル1個を使用したハイパスT型となりますが、ちょうど、物置に、TS-930Sから取り外したATUが有り、このATUの中に、モータードライブのMax250PFのバリコンが2個ついています。このATUからバリコンのみ抜き取り、コイル切り替えをリレーで行えば、NT-636とほぼ同等のATUができそうです。 ただし、バリコンの角度を電気的に知る方法は有りません。バリコンの回転角をギアを使い、可変抵抗器へ連結し、その分電圧を読むことで、バリコンの角度を得る事ができます。 バリコン駆動のシャフト径は3mmで、これに合うギアや可変抵抗器が通販されている事が判り、ギアボックスを自作したら実現しそうですが、かなり難易度の高い工作が必要です。 よって、もともと、TS-930Sはバリコンの角度センサーなしで動作していましたので、まず最初は可変抵抗器なしで実験する事にしました。

ATUはCM結合器、周波数カウンター、モータードライブのバリコン、コイルのタップ切り替え回路を持ったT型アンテナチューナーで構成されますが、これらを制御する回路はマイコンに頼る必要があります。 マイコンの開発は、開発用のボードを作り、これが構想通りうまく動作するように、まずソフトを開発する事になります。 ソフトが完成したらハードを実用サイズに作り直します。

Atupcb

そこで、蛇の目基板にマイコンを実装し、基本動作に必要なソフトを開発する事にしました。

使うマイコンはPIC16F1939です。 ATUとしては測定した周波数や、SWR値をユーザーが知る必要はないのですが、マイコン開発となると、話は別で、測定した周波数やSWRが見えるようにLCDディスプレーを追加します。

LCDはAQM0802Aという品名で秋月で320円で売っている8文字2行表示のものです。必要に応じて、内部データをLCDに表示させデバッグに使います。 このLCDのピンピッチが1.5mmと特殊で実装に難儀しました。後で判ったのですが、このLCD用のピッチ変換基板が同時に売られているようです。

Atulcd_2

I2Cシリアルラインを使った、このLCD用のPICソフトはインターネット上に公開されています。 このソフトを16F1939用に書き換えて使いますが、なかなか表示がでません。  LCDへ渡すデータがコマンドかデータかの識別コードを最初に送りますが、この識別コードが間違っていると判るまで数日かかりました。   コマンドの時は0x00、データの時は0x40を送ると正しく表示します。

 左の画像は周波数カウンターの結果を表示させたものです。カウンター精度は+/-10KHzくらいでも実用になるのですが、このマイコンは30MHzくらいの外部入力でもカウントしてくれるので、プリスケーラーなしで1mSecのゲート時間にすれば、1KHz単位のカウンターが簡単に実現できます。

TIMER1の16bitでカウント動作をさせ、TIMER0で1mSecのゲート時間を作ります。FOSCが10MHzですから、内部の動作クロックはFOSCの1/4となり、ゲート時間の最少分解能は0.4uSecとなります。 30MHzの入力の場合、カウントは12KHzごとになりますので、全割込み禁止にした上でNOP命令を使いゲート時間を正確に1mSecにしようとしますが、  +/-4KHzまでが限度でした。 これ以上は、10MHzの水晶発振器の発振周波数をトリーマーで微調整し、29MHzで誤差+/-1KHz以下に追い込みます。 ただし、そこまでやるのにまた数日要しました。

Ldgcmc

CM結合器はメーターが壊れて使えなくなったSWR計に使われていたCM結合器を改造して使う事にしました。ATUの中に内臓されたCM結合器はかなりいい加減なものが多く、基板に寝かしたトロイダルコアの中心に1本の裸線を通し、これでSWRの監視を行っているのが普通です。左の画像はLDGのATUの中に内臓されているCM結合器です。 

SWR計に使うようなりっぱなCM結合器をATUで使うことはもったいないのですが、ほかに使い道が無いので、これを利用する事にしました。 ちなみに、この壊れたSWRメーターのメーター部分はすでにCメーターに流用しましたので、SWR計としての再利用はあり得ません。

SWRは1.05などのように小数点以下2桁くらいまでを読む必要がありますので、マイコンのデータ様式をfloat(浮動小数点数型)にし、プログラムをそのように書きましたが、コンパイルエラーになります。よくよく調べるとマイクロチップが無償で提供している HI-TECH C のコンパイラーの中には、floatデータをASCII文字に変換する機能は同梱されていない事がわかりました。 

また、PICでfloatデータを使うと、大量のメモリーを消費し、RAM領域の不足が心配されるし、スピードもかなり遅くなるようです。 SWRの計算はCM結合器で検出したDC電圧をADコンバーターでデジタル化した後、下記のように計算されますが、

Atuswr0

分母で割る前に分子を100倍しておけば、SWR1.05はSWR105として表せますので、すべて整数計算で小数点以下2桁までの計算ができます。 (後日、プロの方にお伺いしましたら、当たり前の処置でその方はすでに1000倍したデータで記述していました。) ただし、long int型のデータを使っていても、大きなSWR値になるとオーバーフローしますので、計算する前にVfwdとVrefをチェックし、SWR値が90を超えるようなら計算せずに一律SWR=90と定義してしまうなどの小細工は必要です。

Atucmc 壊れたSWR計から取り外したCM結合器。 アンテナへつながるストリップラインをカッターでカットし、その間にT型チューナーをつなぎました。

TS-930S用ATUからバリコンとギアボックスのみを取り出し、実装しました。

Atuvc1

コイルはメーカー製アンテナチューナーについていたもので、外径30mmのボビンに1mmの銅線を1mmピッチで25ターン巻いて有ります。これを2個直列接続し、10個のタップをそれぞれ5000V耐圧のリレーに接続します。リレーの接点も2回路を直列に接続し、耐圧を確保します。 開発完了し、小型のケースに収納する場合は、VU40くらいの塩ビパイプに1mmの銅線を巻いて1個のコイルで済ませる予定ですが、開発ボードは、自作の手間を省きました。

Atucoil

Atupcb1

マイコン基板の銅箔面には、全部のチップ部品が実装されています。 CM結合器からのDC電圧を直接マイコンに加えると、誘導雷があった時、マイコンのi/oが壊れる可能性が高い為、ゲイン0dBのOP-AMPによるバッファーを介して、マイコンのAD入力に加えます。

このOP-AMPはグランドセンスタイプになりますが、一般に使われるLM358相当品の場合、出力電圧の最大値は電源電圧より1.5Vくらい低くなります。VCCが5Vですから、マイコンのAD入力には最大で3.5Vしか加わらなく、Dレンジが狭くなってしまいます。これを防ぐ為に、OP-AMPだけVCCを 6.5Vで動作させた事が過去ありましたが、今回は、ちょうど手元に、最大出力電圧がVCCより20mVくらいしかダウンしないというOP-AMP MCP6402が有りましたので、これを実装する事にしました。しかし、このOP-AMPのピンピッチは1.27mmで蛇の目基板と合いません。やむなく、廃棄予定の基板から1.27mmピッチのICパターンを切り取り、その部分にOP-AMPの回路を実装しました。  

モータードライブは秋月で見つけた東芝のTA7291PというICを使用します。このICはメカコン用に必要なすべての動作モードに対応していて、外付け部品が非常に少なくなっています。ディスクリートで作るよりかなり安くできます。マイコンのi/oをon/offして動作テストだけはOKです。

ソフト開発が進むにつれ、ハードの変更は付き物ですから、基板にもかなりの空き領域を確保しました。

全体構造は以下のようになりました。 これは評価ボードですので、完成したあかつきには、もう少し小さく作る必要がありそうです。

Atutestbord

見た目は出来上がったように見えますが、マイコンはLCD表示ができるくらいで何もアクションしません。 本来必要なマイコン動作仕様書は無く、整合状態に追い込む為のアルゴリズムも存在しません。全部、いちから試しては、やり直しの繰り返しになりそうです。 

一応全体の回路図を添付しておきます。VC式ATU配線図をダウンロード

いつ完成することやら。

バリコン式ATUの自作 2 に続く

INDEXに戻る