« LCD NFP190B-21AF PICで表示 | メイン | SDカードへのアクセス 2024 »

2024年11月10日 (日)

Z Match ATU 自動整合システムの検討

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

タイミングプーリーに付加したフォトセンサー検出用遮蔽版が大きくてケースの天面蓋が取り付けられないという問題の対策の為、タイミングプーリーの直径を一回り小さくした結果、天板の取り付けが可能となり、ATU本体のハード面は完成しました。 (前回記事参照

Zmatchatucmp3_2

Zmatchatucmp2_2

Zmatchatucmp1

前回の記事で判明したノイズに関しては、ケースインしても当然変化はないですが、モータードライバーをスタンバイモードにするとノイズは綺麗に消えます。しかし、この時、1/4マイクロステップで刻んだアドレスのバリコン角度は、一番近い1.8度ステップの停止位置に移動してしまいます。そこで、モーターのステップは1/4マイクロステップの4ステップ単位で移動し、バリコンの停止位置は常に1.8度の基本ステップの位置と同じになるようにし、バリコンがターゲット角度に達したらモータードライバーをスタンバイモードに移す事にします。 そして、バリコンの停止位置が粗くなり真のSWRディップポイントを飛び越えるような状態が発生するバリコン容量の少ない角度では、バリコンに直列にコンデンサを挿入し、スプレッドバリコンとして使う事により、この飛び越し現象を解消する事にします。 ただし、まだ、自動整合機能が未完成ですので、このスプレッド機能の追加は完成してから追加する事にし、たちまちは、最小4ステップによる1/4マイクロステップで検討を続行します。

1/4マイクロステップにこだわる理由は、モーターの騒音です。1/4マイクロステップの回転音は夜でも我慢できる音量と音質ですが、1.8度基本ステップの時は、昼間でも許容できない音量と音質で、どうしても1.8度ステップでモーターを回す必要があるイニシャライズの時のみは、じっと我慢するしかない音なのです。

自動整合のプログラムは、とりあえず現用中のバリコン式T型ATUのプログラムのタップ選択機能を廃止し、モーター駆動を時間指定で行っていたものをステップに置き換えた状態だけのものからスタートです。 7MHzの場合、シングルバリコンもダブルバリコンも容量最小付近が整合ポイントになり、例えば、両バリコンとも容量中央付近にある状態から自動整合をスタートさせると、その付近で行ったり来たりして、全く整合ポイントへ移動しません。 マニュアルで整合ポイント付近までバリコンを移動させて、整合を開始すると、ダブルバリコンはすぐに反応し、SWR最小ポイントへ移動しますが、シングルバリコンは現在位置で行ったり来たりして、結局、真のSWR最小ポイントを見つける事無く時間切れとなります。

まあ、今始まったばかりの整合アルゴリズム探しですから、これから、色々と実験しながら、最適な整合アルゴリズムを探す事にします。 ただ、かなり難攻が予想されます。

2024年12月末日

整合システムの検討が中断して1か月以上たちましたが、その他の雑用が多くてなかなか取り掛かれません。 その他の用が一段落しましたので、このZ Match ATUの検討に戻れるようになりました。 この検討再開に先立ち、コントローラーの表示をリニューアルしトライします。

Controllernewlcd

 表示をLCDに変更した事により、デバッグ情報をLCD上に表示可能となり、開発環境が大幅に改善したのですが、従来のキャラクタディスプレーに比べ、表示時間が10倍以上に増え応答が悪くなりました。この応答速度の悪さはLCDとシリアル通信によるところが大きく、元に戻すわけにもいきませんので、表示回数を出来るだけ減らす工夫をしながら検討を進めます。

このATUをケースに収納してから、各バンドの整合テストを行っていなかったので、手動による整合テストにトライしましたが、ハングアップがかなり頻繁に発生し、整合試験はいまだに出来ていません。 最大の原因はLCDと8MHzのクロックでSPI通信を行っていますが、このラインのリンギングが激しく、たちまちは、CLOCKとDATAラインに100Ωのダンプ抵抗を直列に入れて様子見です。 その他にもバグがありそうで、いつまで経ってもSWRが収束しません。

2025年の正月休みはバグ対策についやし、やっと成人の日になんとか基本動作が行えるようになりました。 最大の功績は、SWRを小数点以下2桁まで表示していたものを、SWRが2.0を超える状態では小数点以下二桁目を四捨五入して小数点以下1桁しか表示しないようにした事です。 自動整合はバリコンのどの位置からもSWR最小ポイントに行く訳ではなく、本来の整合ポイントの近くでSWR10くらいまで絞り込んだ場合、TUNEキーを押すと、SWR1.1以下に整合するようになりました。 この動作は、シングルバリコンを少々回したくらいではSWRが全く変化しないという、このATUの基本動作が影響しており、何度も時間をかけて自動整合を試みると、その内SWR最小ポイントを探しますが、それまで5分間くらいかかります。 5分も待つくらいなら、マニュアルでSWRが変化し始める角度までバリコンを回転させた後、自動整合をスタートさせると5秒から10秒くらいでOKとなります。 さらに例えマニュアルでも一度整合条件を記憶して置けば、数秒で整合状態になりますので、これ以上のアルゴリズ探しは諦めました。

一応50Ωのダミー抵抗で1.8MHzから28MHzまで整合できます。 整合状態の最小SWRは、10MHzのみ直列のインダクタを有効にして1.7くらい、その他のバンドは直列インダクタなしでSWR1.08以下となりました。

今後、他のインピーダンス負荷でも行えるかなどの確認を行いながら、バグ取りを続けます。

ステッピングモーターから出るノイズ対策はまだですが、モーターを回す必要がある時以外、PWM回路をST-BYにする検討もこれから行います。

Zmatchatu250113

デバッグ中のZ Match ATU
 

1.8MHzから28MHzバンドまで50Ωの抵抗負荷なら曲がりなりにも整合が取れるようになり、かつマニュアル操作でバリコンを思い通りに動かせるようになった事から、抵抗負荷の整合範囲の確認を行うと、これがさっぱり駄目になります。 15Ωの抵抗負荷でどのバンドもSWR2以下になりません。 500Ωの抵抗負荷ではSWR3以下になりません。また、いずれの抵抗負荷でもSWR5以下にならないバンドが大半です。 どうも、オリジナル設計のコイルをサイズダウンした事、バリコンの最小容量がオリジナルより10PFも高い事も影響しているようです。 そこで、原点に戻り、対策を考えねばならなくなりました。

 

デバッグ中にLCDがハングアップする問題が出続けていました。 CLKとSDAラインには100Ωをシリーズに追加してリンギング対策をしていたのですが、その他の制御ラインにも100Ωのシリーズ抵抗を追加したら、多少は改善しましたが、まだ完全では有りません。 

LCDのSPIクロックを8MHzにしても、LCD表示には数十msecの時間がかかり、送信側でのタイミングによては送信したデータが処理されないという問題が付きまとっていました。1回送信する度に150msec以上の待ち時間を取ると、ほぼOKなのですが、この状態では自動整合の動作が非常に遅くなり、当初目標としていた35秒以内に整合完了するという現用のVC式ATUと同じターゲットが達成できません。 そこで、ATUユニットからコントローラーへ送る場合、その前に送った送信データを受信し、ディスプレーを含むコントローラー全ての処理が終わったら、完了信号をATU側に返し、この完了信号を受信するまでは次のデータを送信しないという対応を行いました。

まだバグがあるかも知れませんが、なんとかハングアップなしで動いています。

次に15Ωから500Ωまでの抵抗負荷に対して整合しなかったり、整合してもSWRが2以下に下がらない問題に対して、コイルの巻き数とタップ位置を見直す事にしました。

この見極めはVK5BRがホームページで公開している、SVCとWVCの容量に最も近くなるようにコイルの巻き数やタップ位置を選ぶ事から始めます。

7MHzで50Ωの負荷抵抗に整合した時のバリコン容量はこのVK5BRのデータを読み取り

SVC=130PF WVC=30PF でした。

一方、私のATUのバリコンステップから読み取った7MHz 50Ωの時の各VCの容量は

SVC= 160PF WVC = 40PF

この状態はコイルのインダクタンスが不足している状態ですので、まず、メインのコイルの巻き数を13Tから14Tに増やし、SVCのつながるタップ位置を9Tから10Tに変更しました。

Maincoil14t_3

すると、整合時のVCの容量は以下のようになりました。

SVC=130PF  WVC=37PF

この状態で負荷抵抗を変えて確認したVC容量は下の表のようになりました。

40m_tunedata_2

 

 SVCはオリジナルと同じ容量になりWVCはやや多い値になっていますが、以降、この状態で全バンドの整合確認を行ってみます。

下の表の中で表示されているのは各バリコンの容量値ですが、実際に容量を測定した訳では有りません。バリコンの角度は180度を1500ステップとしてLCDに表示されますので、そのステップ数から、最小容量30P、最大容量350P、そして、その間はステップ数/1500で直線的に変化するとして計算されたものです。 実際値と合致はしませんが、傾向は把握出来ます。

Z_match_all_band_data_2

この表で、黄色の部分はモーターの4step分解能では自動整合出来ず、一番低いSWRになるようにマニュアルで設定した時のデータになります。(表をクリックすると拡大できます) このデータ取得中にメインユニットやコントローラーユニットがハングアップする事がありました。 メインユニットはRFキャリアによる誤動作で、コントローラーはLCDのSPIのようです。 しばらくはこれらの対策に時間がかかりそうです。 

まず、メインユニットのハングアップ問題から。 症状は21MHz以上のバンドで100W CW送信すると、ハングアップするものです。 リレー、角度センサー、SWR計の順序でコネクターを抜いても改善しません。 ステッピングモーターのコネクターを2個とも抜くと、28MHzまでOKとなります。 全てのコネクターを挿入した状態で、オシロスコープのGNDをメインユニットの基板のGNDに繋ぐと、24MHz以上はNGですが、21MHzはOKとなります。 コントローラーとメインユニット間のケーブルにコモンモード電流が流れているみたいなので、測定してみました。 オシロのGNDを繋がないときが70mA以上、オシロのGNDを繋ぐと35mAくらいになります。 そして、オシロのGNDを繋がない状態でステッピングモーターのふたつのコネクターを抜くと、5mA以下になりますが、ATUとして動作しません。 ここまでの確認で、モーターのワイヤーから漏れたRF信号が悪さしている事は確かなので、まず、モーターの電源ラインの+側とGND側に15uHのチョークコイルを入れました。 さらに、コントローラーから供給する12Vラインにコモンモードフィルターを追加しました。 このコモンモードフィルターは村田製のSMDタイプで品番がPLT5BPH5013R1SNという長い名前になりますが、許容電流3.1A 10MHzでのインピーダンスが350Ωくらいのものです。メイン基板にこの変更を盛り込んで、メインとコントローラー間のケーブルに50uHくらいのフェライトコア5個によるフィルターを付けた状態で28MHz 100W CW送信でも誤動作しなくなりました。 このフェライトコアによるコモンモードフィルターの効果を調べる為に、巻いたコアを1個づつ外していくと。最後の1個ではNGで2個のコアの時OKとなります。 恒久的なフェライトコアによるコモンモードフィルターを作る為に2個のコアの時のインダクタンスを測ると18uHでした。 この数値はメモして置きます。ちなみにこれらの対策後のケーブル上のコモンモード電流は7mA程度まで小さくなりました。

21MHz以上で自動整合は出来ないが、マニュアルならなんとかSWR1.1以下に追い込めるという現象がありましたので、自動整合の時の移動ステップを最小1stepとしてみると、21MHz以上のバンドではOKとなりますが、7MHz以下のバンドではベルトのバックラッシュが影響しているようで、なかなかSWRが収束しません。 最小ステップは2stepの時、全バンドOKになります。 当初この細かいstepは不可能だから、スプレッドバリコン方式でやると考えていましたが、いざスタンバイ機能をプログラムに追加して動作させると、モーターがスタンバイ状態になっても、ベルトでつながれたバリコンの負荷が重くて、モーターのプーリーは動きません。 スタンバイ状態でもモーターの軸の角度は保持しているようです。 以降の検討は最小2stepのままでどれくらいステップ角度がずれるか見てみる事にします。  何度も整合テストを行っていると、SWR1.1以下になるVCのステップ数は多少バラツキます。原因はSWR最小ポイントではなく、整合途中に最初にSWR1.1以下になったポイントを整合ポイントと定義しているからですが、この1.1以下の範囲は意外と広く3.5MHzで10くらい、28MHzで3くらいはあります。

Zmatch_spi

左の波形は100Ωを追加した後の、SPIクロック波形です。 一番上がPICマイコンのCLK出力。真ん中は5V-3.3V変換IC74LCX245の出力端子につながった100Ωを通過した波形。 一番下は、約20cmのワイヤーを経由してLCDの端子に差し込まれたコネクター端子の波形です。いずれも少しづつ劣化はしていますが、ハングアップが起こりそうなハイレベルのパルスはないし、マイナス側にはみ出すパルスもありません。 LCDがハングアップするのでは無く、コントローラーに使用されているPICがハングアップするのかも知れません。 前述のように、RF混入によるコモンモード電流をかなりのレベルで対策出来ましたので、これでしばらく様子を見る事にします。

50Ωの抵抗負荷にて、WVCを最大容量にしてもSWRが1.1以下にならなかった10MHzですが、実際のアンテナのインピーダンスは240+J650Ωくらいなので、実際のアンテナに接続してから対策を考える事にします。

コントローラーをケースに入れました。 まだデバッグ中ですので、LCDの保護シートが付いています。また、ここまで出来て電源スィッチの在庫が無い事に気が付き、慌てて秋月に注文しましたので、まだ取りついていません。 今回のBOXは中華製で直取りです。送料込みで1300円くらいでした。 前後のパネルが電気的に接続されていないという構造では有りますが、コントローラー程度なら問題ないでしょう。 材料はアルミでは無く鉄板で青色に塗装されていました。パネル面には光沢印刷用紙の裏側にインクジェットプリンターで印刷した紙を張り付けましたので結構綺麗に仕上がりました。(光沢面に印刷した場合、すぐに傷がつくのであえて裏側に印刷)

Zmatch_case_in1

Zmatch_case_in2


一応、気が付いたバグは対策しました。 このATUを実用する為には、屋外作業が山の様にありますので、以後の作業は温かくなる春まで待つことにします。

ここまでの配線図とマイコンプログラムを公開します。 

ATU本体回路図 zmatch_atu_main_03.pdfをダウンロード

コントローラー回路図 Z-Match-ATU_contoroller_02.pdfをダウンロード

ATU本体プログラム Z_Match_ATU_main_03.cをダウンロード

コントローラープログラム Z_Match_ATU_controller_3.cをダウンロード

ヘッダーファイル Z_Match_FreqRang_0.hをダウンロード

         StepFreq_List_1.hをダウンロード

         Font9.hをダウンロード

         Font12.hをダウンロード

Atchcontpannel

電源SWが入手できましたので、紹介します。 使った感じでは、少々重さがたりませんね。プッシュSWを押す時、左手でケースを押さえていないとコケそうです。
 

このATUには3種類のアンテナを使い分けるアンテナセレクターは付いていません。 アンテナセレクターは別BOXとしてマストに括り付けます。

 

NDEXに戻る