2024年11月10日 (日)

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

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

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

Zmatchatucmp3_2

Zmatchatucmp2_2

Zmatchatucmp1

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

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

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

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

 

NDEXに戻る

2024年11月 3日 (日)

LCD NFP190B-21AF PICで表示

TFT LCDはaitendoから仕入れる事が多かったのですが、理由はPICでドライブできそうな情報が見つかりやすかった事です。 最近3Dプリンター用の部品をAliExpress経由で買う事が多くなり、その中で、かなり安価なTFT LCDも見つける事ができます。 ただし、ここでの買い物は商品説明も少なく、またWEB上でも使い方を公表しているブログも少ない為、二の足を踏んでいましたが、SPI仕様で700円台で手にいるNFP190B-21AFというLCDが目に留まり、ST7789でドライブしているとの事。 同じSPIドライブですがIC名はST7796というGMT024-08-SP18Pという品番のLCD各1個を入手しました。

過去、ST7789をドライバーに使ったLCDは使用した事は有りませんでしたが、コマンド系がST7735とコンパチのILI9163CによるLCDは沢山使ってきた関係で、情報が少なくても、動作出来るかも知れないと購入しました。

事前にドライバーICの仕様書を入手し、すでにPICで実績のあるプログラムと同じで有る事を確認できましたので、実際に試作開始してから2日目にはグラフや文字の表示が出来るようになりました。

以下、その時の配線図とPIC用のプログラムを紹介します。

プログラムの検討はNFP190Bにて始めました。 LCDに表示するのは文字とグラフィックを含めた静止画ですから、LCDのイニシャライズも必要最低限にとどめています。

Nfp190b_1

左が、ディスプレーが成功したサンプル画面です。 新しいLCDの表示テストを行う時、RGBの構成が仕様書と異なる問題に遭遇しますが、今回も、仕様書上ではRGBの順序でカラーコードを設定するように書いてありましたが、実際はRBGの順序でした。 しかもこのLCDドライバーはRBG「255,255,255」が黒色で「0,0,0」が白色になっており、過去のどのドライバーと比較して正反対でした。 データシートを詳しく見てみると、縦長に置いた状態で上から、左からのスキャンなら、通常のRGBですが、横長に置いた時のスキャンモードなら、このようになるみたいです。  また、LCDのピクセル構成も書いた資料が無く、表示が出来るようになって調べたら320X220ピクセルという結構密度の高いLCDでした。

下は、検討用に製作したPIC18F14K50を乗せた実験基板と実験中のLCDです。

Nfp190b_2

配線図は以下の通りです。 インターフェースがSPIですから、回路図は単純です。 ただし、応答速度はパラレル接続より目に見えて劣ります。 デバッグが完了したらクロックの限界を確かめる事にしますが、今は1MHz以下での検討です。 このドライブ操作を高速にするため、SPIのSSPBUFにデータを書き込んだ後、2usecのディレーを設けていますが、これを1usecにした途端LCDは表示しなくなります。 2usecと1usecの間に動作OK/NGの境界線があるのですが、それがいくらなのかは判りませんでした。 ただし、このディレー時間はクロック周波数にも大きく関係しますので、最初は20usecくらいに設定して置き、うまく表示できるようになりましたら、次第に小さくして、NGになる時間を見極めた後、その時間の2倍くらいに設定するのが良いようです。

Nfp190b_schema

テスト用プログラム LCD_NFP190B_test.cをダウンロード

テストに使ったフォント Font6.hをダウンロード

上のプログラムはNFP190B用ですが、ピクセルサイズを320X240としたGMT024用に修正した時の表示画面は以下のようになりました。

Mt02408

所で、XC8でconstを使ってデータをプログラム領域に埋め込もうとしますが、全部RAMエリアに配置されすぐに満杯となりエラーになります。 PIC24Fでは32Kバイトを超えるデータをプログラム領域に配置できたのに! WEBをぐぐるとXC8でのconstは256バイト以下に限るとの情報が見つかりました。 グラフィックを仕込めなかった原因はこれですね。 

色々情報が得られたところで、通常のGIF画像のカラー情報をそのまま表示できる仕様に変更しました。 カラー構成は「RGB」とし、黒色は「0,0,0],白色は「255,255,255」としたプログラムに書き替えました。

また、SPIのクロックの最高周波数の見極めができましたので8MHzに設定してあります。 

修正したプログラム LCD_NFP190B_test2.cをダウンロード

使ったフォント Font7.hをダウンロード

このプログラムで表示した状態は以下です。

Nfp190b_3_2

INDEXに戻る

2024年10月30日 (水)

Z-Match ATUの製作 2

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

最初に手配した80歯のタイミングプーリーの直径は用意したケースの内寸以内だったのですが、バリコンの最大容量を検出する為に用意したフォトセンサーの遮蔽体がケースの内寸をオーバーし、天板を取る付けられないという問題がありました。 この時のタイミングプーリーの直径は55mmでしたが、フォトセンサーの遮蔽体の直径は73mm必要となる事を見落としていたのが原因でした。 対策として60歯のタイミングプーリーに交換する事にしました。 60歯のプーリーの直径は44mmでこれにフォトセンサー用の遮蔽体を追加した時の直径は62mmとなり、なんとかケースの内寸に収まります。 この変更が可能になる条件はステッピングモーターの1/4マイクロステップが解決しました。 従来の80歯のプーリーの場合、モーターは1.8度の1/4(0.45度)刻みで回転しますが、バリコンはタイミングプーリーの減速比 1/5で0.09度刻みで回転します。 この0.09度刻みはベルトのバックラッシュで吸収されてしまう角度で実質3ステップとなる0.27度が最小分解能でした。 今回60歯のプーリーを使えば、その減速比は1/3.75となり、VCの最小回転角は0.12度となります。 ただし、ベルトのバックラッシュを吸収できるステップではないですが、この2倍の0.24度ならほぼ確実にバックラッシュを超える事ができます。

以上の考察からプーリーとベルトを変更する事を決断し、かつ、ベルトのたるみの調整機能が無かったシングルバリコン側にもその調整機構を追加します。 

下の写真は60歯のプーリーに交換し、かつそれにマッチしたベルト掛けを行った状態です。

60t_pully_1

60t_pully_2

上の写真はベルトの張力調整を兼ねたバリコン軸のタワミ補正治具(左側)を取り付けた状態です。

 

60t_pully_3

フォトセンサーの出力がリンギングして、誤動作する為、コンデンサを追加して、動作の安定化を行いましたが、その時のコンデンサの容量の許容誤差の範囲が狭いという問題がありました。 そこで、このフォトセンサーの仕様書を入手して確認したところ、標準の使い方はエミフォロ回路で有る事が判りました。 そこで、エミフォロ(エミッターに負荷抵抗を接続した正式名称 エミッターフォロワー回路)に改造すると、きれいなスィッチング波形が得られました。コンデンサは無くてもOKなのですが、前回追加した0.1uFのままで進行します。 ただし、この変更で論理も逆転しますので、プログラムも修正しました。 そして、マイコン基板を接続し、やっと前回の80歯の時の動作まで再現できました。

ここから、いよいよ本命である自動整合機能の検討に移る事が出来る様になりました。

MAIN Unit 回路図   zmatch_atu_main1.pdfをダウンロード

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

  

最初にSWR計の動作チェックを行いました。 7MHzで動作チェックしようと、FTDX101Dをつなぐと、すごい受信ノイズです。S9あります。 最初、何のノイズか判らなかったのですが、ステッピングモータードライバーのPWMが原因でした。 以前、アンテナワイヤーをドライバーICに近づけるとS7のノイズが出ていましたが、アンテナ線を離すと、距離に応じてノイズは小さくなり、1mも離すと無視出来るくらいになりましたので、ここまでひどいとは考えていませんでした。 この状態ではアンテナチューナーとしては使い物になりません。 完全な致命傷です。

解決策があるのかを含めて再検討必要です。

NDEXに戻る

2024年10月 6日 (日)

Z Match ATU コントローラー

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

ATUの本体(Main Unit)のステッピングモーターの初期設定や、プリセットした位置にバリコンを回転させる機能は完成しましたが、自信でSWRを測りながら、SWR最小ポイントを探すという本来のプログラムは全く手が付けられていません。 理由は、ATUをコントロールするコマンド送出手段やATUの状態を手元で確認できる手段が未完成だからです。

そこで、ATUのメインユニットの開発は、途中で止めて、コントローラーの制作にかかる事にしました。 コントローラーとして完成度の高いのは前回製作し現用中のバリコン式T型ATUですが、マイコンが古くて、そのまま利用する事が出来ません。 従い、さらにそれより前のリレー式ATUのコントローラーのプログラムをコピーして、周辺機器の機能はリレー式のプログラムから、動作の基本はバリコン式のプログラムからコピーし、コンパイルすると、エラーばかりのプログラムでしたが、約1週間、奮闘した結果エラーも収まり、ATUに向かってコマンドを送る事が出来るようになりました。

Zmatch_controller_0

上のボードはいつもの仮パネルにより動作確認できるように組んだコントローラーの全体です。 

Z Match ATUコントローラー配線図 Z-Match-ATU_contoroller-0.pdfをダウンロード

コントローラーとATU間の通信確認をしましたが、さっぱり通信出来ません。 UART通信の初期設定に帰って原因を確認していますが、どうも送信時のP-MOSのスイッチングスピードに問題が有りそうです。 デジタルオシロで観測するとパルスのデューティが変わっていました。 

Flistinitcomp1

そこで、PICKit3の修理に使った+/-50mAの出力能力がある74LVC1T45というラインドライバーに変更し、このドライバーの極性に合うようにUARTの送信極性も変更すると、晴れて双方向通信が出来るようになり、コントローラーから周波数リストをメインユニットのEEPROMに書き込めるようになりました。ここまで1週間かかっています。

双方向通信が可能になった最初の機能追加は、マニュアルによるバリコンのアップダウンです。キーのチョン押と連続押に対応して、バリコンが回転できれば、ATU化する為のアルゴリズムを突き止める事ができます。 チョン押の時のバリコンの回転角度は後で好きなように変更できますが、この機能が完成するまで3日間かかりました。

このマニュアルでバリコンを回転させる時、29MHzでキーのチョン押を行うと、SWR最小ポイントを飛び越していく事が判りました。この実験の時のモーターの回転ステップは1回のチョン押で10ステップでしたので、飛び越しが起こらないように1回のチョン押で2ステップしか回転しないようにすると、バリコンを180度回転させるための時間が10秒以上かかってしまいます。 特に1.8MHzの時のシングルバリコンのSWR変化率は29MHzのダブルバリコンの1/10くらいしか無く、2ステップのモーター回転ではSWRはほとんど変化しなく、自動整合の時間が大幅に長くなってしまいます。 そこで、シングルバリコンとダブルバリコンのチョン押時のステップ数にも差を設ける事にしました。

ここまでソフトが出来た時点で、一旦、ATUを分解し、バリコンプーリーを80歯から60歯に変更し、バリコン最大容量検出用のフォトセンサー回路と位置を変更し、ATUの天板をかぶせる事が出来るようにします。 このプーリー変更に伴い、タイミングベルトも交換になりますが、プーリーを変更して、ベルト長を実測し、中国の販売店に注文しました。 注文して5日後にベルトが到着しましたので、その日の晩に交換作業を行い、実働テストまでこぎつけました。

 

NDEXに戻る

2024年9月22日 (日)

Z-Match ATU 製作開始

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

Z-Matchチューナーに必要な高耐圧2連バリコンを実現する為、シングルバリコン2個をステッピングモーターで同期駆動するバリコン駆動機構が完成しましたので、これをATU化する為にケースインしました。

Zmatchatu_system1

モーター駆動バリコンに初期化位置検出用フォトセンサーを追加して、バリコン機構は完成です。 SWRを検出するCM結合器も追加しました。 今回、ケースとしてコメットのCAT-300のキャビネットをつかいますが、コイルがオリジナルのサイズではどうしても収納できなかったので、直径を57mmから47mmに変更しました。さらに高さを抑える為に銅線の中心ピッチを6mmから4mmに変更し、ほぼ同じ巻き数で同等のインダクタンスが得られるようにしました。このピッチを狭めた事により銅線間のショートの可能性が発生しますので、オリジナルではコイルサポートが2か所でしたが、これを4箇所に増やしました。 この絶縁材のサポーターは、100均の板厚3mmのまな板で作りましたので、銅線を通す穴径は2.2mmとして、前回より簡単に作成できました。 このケースの中には、2次コイルに直列に入るコイルと1.8MHz対応のコンデンサ追加の為のリレーはまだ実装しておりませんが、そのスペースは確保してあります。 ATUとして動作させるためのコントロール回路はこのケースの外側に小さな金属ケースを取り付けその中にマイコンを実装した基板を収納させます。 モーターを配置するスペースが無く、やむなくふたつのモーターを縦に重ねたところ、ケースの天板が当たります。 最終的には当たっているコネクターの向きが横になるようにモーターの取り付けを90度回転させ、リード線が隣のバリコンに当たらないように線処理するつもりです。また、モーターを固定するアングルもカットします。

Main Unit 配線図 zmatch_atu_main0.pdfをダウンロード

配線図はVCのモーター駆動に関する動作は確認済みです。 nEN端子にSWを設けたのは、頻発するプロググラム書き換え時、モーターが勝手に起動するのを防ぐ為、プログラム書き換え中、モーターをOFFする為です。

全ての配線が完了し、基板としての動作チェックを行った後、マイコンソフトの開発に取り掛かります。

ATUの開発も初期のバリコン式ATUから数えて4回目になりますので、結構ノウハウも溜まってきて、このATUのMainユニットには操作キーは1個もありません。 Mainユニットの基本ソフトができたら、すぐにコントローラーを作成し、全ての操作はコントローラーから行います。このため、UARTの通信速度は9600ボーに設定し、Mainユニット内の情報を出来るだけ早くコントローラーの表示器に表示する事を目標とします。 今までは、Mainユニットの中にプリセットコールが有効なBand分割を予めプログラムしていましたので、アンテナを実際にアップした時、周波数分割が実態と合わなくなる事がありました。 周波数変更してもSWRの変化が少ない場合、問題ありませんが、隣の周波数帯に移る前にSWRが1.5を超えるような場合、ATU本体を一度降ろして、周波数分割データを書き換える必要がありました。 今回のATUより、この周波数分割データをコントローラーから書き換える事が出来るようにします。 

ATUの実装状態として、このATUはベランダに置き、出力は平衡出力Onlyとします。 そして、実際のアンテナの給電点まではラダーラインで給電し、マスト上に括り付けたアンテナ切り替え器にて、ループや垂直、ロングワイヤーの選択が出来るようにします。 この構造により、マスト上のBOXはアンテナ切り替えのリレーだけとなり、風圧を軽減できます。 また、ATUのメンテも楽になります。

 

製作開始してから1週間、やっとメインユニットの基板が完成しました。

Zmatchpcb1_3

まだ、電源系統の確認が終わったばかりですが、以降実際にソフトを作成し、まずは各バリコンが予想通り動くかの確認になります。 すでに無負荷での動作確認は、前回の記事で紹介しておりますが、負荷がかかった状態で夏冬の環境でも動作出来る条件の確認が必要です。 それを実験出来るような恒温槽はありませんので、ある程度の余裕を見て、最低電流の値を決定する事になります。 このへんは決まった計算式がある訳でもありませんので、かなりいい加減なあてずっぽで決めます。

とりあえず、ふたつのモーターが動作するようになりましたので、2連VC側のモーターが正常に動作する最小電流を調べてみました。75mAで誤動作が起こります。100mA、室温26℃では異常なしでした。 余裕をみて、250mAで電流制限をかける事にしました。 シングルVC側も250mAに設定しました。 以降、この状態で運転し、不都合があれば都度最適値に修正する事にします。

次に、電源投入したら最初にモーターの起点を初期設定します。 やり方はバリコンの位置がマイコン上から不明の状態ですので、まず、正回転(容量が抜ける方向CW)へ360度回転させ、フォトセンサーがOFFからONになる所見つけて一旦停止した後、同じ方向に25度だけ回転させ、次に逆回転(CCW)させ、フォトセンサーが容量最大位置でONになるのを検出したら、その位置で停止し、この位置をゼロとし、180度の位置(容量最小位置)を500と定義します。 このイニシャル動作時、モーターは1.8度ステップ、200Hzのクロックで回転します。 この200Hzはマイコンの中のクロックの事で、モーターのパルス周期(PPS)はこの半分の100PPSとなります。 このイニシャル動作の最初の回転の時は、バリコンの現在位置が全く判りませんので、360度回転させ、VC最大容量付近で停止させ、そこから、本当のゼロ番地を探しにいくのですが、何回もテストしていると、容量最大では無く容量最小位置に止まる事が頻発しました。 ソフトの作りが悪いのかと1週間近くああでもないこうでもないとやったのですがうまくいきません。 とうとうハードの部分まで疑いデジタルオシロをつないで、フォトセンサーの出力をモニターすると、ONの時は問題ないのですが、OFFのとき、電源電圧をフルスィングするほどのリンギングが出ており、このリンギングのバラツキで誤動作する事が判りました。対策は、コレクタ抵抗を12Kから120Kに変更し、かつコレクタとGND間に0.1uFのコンデンサを追加する事で解決しました。 しかし、このコンデンサを0.047uFまで小さくしたり、0.22uFまで大きくすると即誤動作しますので、最終的には温度変化を含めてカットアンドトライが必要になるかも知れません。(配線図は修正済み)

この最初のモーター回転時、数100msec後に一旦モーターが停止し、またすぐに回転を始めますが、この時間がランダムで変化し、時には一時停止しない事もあります。 原因が判らないので、ダミーで45度くらい回転させた後、VCの容量最大位置を探すようにしました。 また、この容量最大位置を探す時は逆方向(CCW)で行うとイニシャライズ時間が短くなる事が判りましたので、モーター回転方向も変更しました。

次に、ラストデータとして記憶されているふたつのVC位置を読み出し、その位置にVCをプリセットして、初期設定完了です。 このプリセット時は通常回転ステップとなる1.8度の1/4(0.45度)、400Hzのクロック(200PPS)で動作します。 180度の位置は2000ステップ目となります。 バリコンの回転速度は、前回作成したT型ATUのVC回転速度と同じくらいです。 しかし、何回もテストを行うと、正転と逆転の時のバリコンの回転角度が一致しません。 脱調と呼ばれる現象らしいのですが、その原因はモーター電流や、ステッピング周期に関係があり、かつモーター自身の個性とドライバーのアンマッチなど調べれば調べるほど心配ごとが出てきます。 今回の脱調の原因は電流ではなく、ステップ周期でした。400Hzクロックのとき脱調が起こり、200Hzでは起こりません。しかし、200Hzで1/4マイクロステップでは時間がかかり過ぎます。 モーターの仕様書では無負荷状態で、最大起動レートは1000PPS以上となっていますが、負荷をかけた場合どのくらいになるかは判りません。 これは実際の負荷で限界値を調べるしかなさそうです。 今後さらに脱調対策を進めていきます。 ここで台形駆動という方式について勉強しました。 高速でモーターを回転させたいときは100ppsくらいでスタートし、徐々に回転数を上げ、最高速度で一定期間回転させた後、目的の角度に近づいたら逆に徐々に速度を落とし、100ppsまで落として停止させるのだそうですが、それをC言語で組んでトライする事4日間。やっと最高速度400ppsまで実現できました。 

この1/4ステップで400pps駆動中の騒音は1.8度基本ステップで駆動中の騒音に比べ、大変静かです。 そこで、電源投入直後のイニシャライズも1/4マイクロステップで実行してみました。 方法は、VCの容量最大位置を検出し停止したら、この位置を仮の原点として、CW方向に100ステップ(VC角度で9度)回転させた後、1.8度ステップでCCW方向に回転させ、停止した位置を真の原点とします。 このやり方の場合、騒音がうるさいのは真の原点を見つける時の9度の回転だけですから、大幅な静音化が実現できました。 しかし、この動作は電源OFFの期間が3分以上あるときだけで、数秒から3分以内のOFF時間では、最初の1/4マイクロステップ動作がうまくいかず1.8度ステップで回転する時間が長くなります。 原因は電源回路に2200uFの電界コンデンサが2個挿入されており、電源OFF時この電解コンデンサの放電が遅く、モータードライバーがリセットされないことのようです。 ICの説明ではSTANBY端子をLOWからHIGHにした時RESETされると書いてありますが、RESETされるのは一部のみで、IC全体がRESETされるのではないようです。 対策として、なるべく早く放電するように電界コンデンサの両端に1.5KΩの抵抗をパラ付けしました。 この結果、電源OFF後、5秒以上経つとICがRESETされるようになり、正常にイニシャル動作を行います。

ATUとしての組み立て、配線が完了しました。 いざ、天板を取り付けようとしたら、フォトセンサー用の遮蔽板も天板に当たります。 これが判った時点で、天板を取り付けるのは一時諦めたのですが、前述したモーターのコネクタの高さ変更が一応できましたので、プーリーの径を小さくして天板がかぶるように検討するつもりです。

マイコン基板の中に、12Vから6Vを作るDCDCコンバーターをマウントした為、この基板を収納する金属ケースの蓋も取り付けられません。 これより小さなサイズのDCDCコンバーターは沢山あるのですが、スィッチング周波数50KHzというコンバーターはこれしか無かったので、やむなしです。 小型のDCDCコンバーターのスィッチング周波数はMHz帯のものが多く、アンテナのそばに置く事が出来ません。 リレー式ATUやバリコン式ATUの基板はオープン状態でも問題なかったので、とりあえずこのまま行きます。 多分シールドは不要と思われます。

Zmatchpcb2

Zmatchatu_system3

Zmatchatu_system4

Zmatchdcdc2

ステッピングモーターのドライバー回路はモーター停止中もPWM制御による電流制限回路が動作し、ノイズを発生させます。ATUという装置はアンテナ直下もしくはアンテナの一部に組み込まれるものであり、ノイズの発生は厳禁です。 現在、DCDCコンバーターのサイズが大きすぎてドライバー回路を収納している金属ケースの蓋が閉める事が出来ません。 これが原因で受信時に問題が生じてもこまりますので、ノイズの少ない小さなDCDC電源を再度探す事にします。 すると、アマゾンで65KHzスイッチングのDCDCコンバーターが見つかりました。 6個まとめて690円くらいで出ていましたので、これを手に入れ上の写真のように交換しました。 HF帯へのノイズはまだ確認できていませんが、多分OK?。また、バリコンの金属軸とつまみを絶縁する為に、バリコンのシャフトはプラスチックの丸棒を継ぎ足してありましたので、これにプーリーを取り付け、タイミングベルトを張ると、ベルトの張力でプラスチックの軸が曲がってしまいました。 対策として、軸の先端の位置を固定するプラスチックの板を取り付けました。

ATUの配線は完了したので、モータープーリーを指で回し整合テストをやってみました。一応3.5MHzから29MHzまで10Ωから200Ωまでの純抵抗負荷に整合させる事はできました。 2連のバリコンはかなりクリチカルで、1度くらいの角度でSWR1から3くらいまで大きく変化します。 一応設計上は0.09度ステップでバリコンは回転しますが、ベルトにバックラッシュがありますので、それがどのくらいになるかは判りません。 この課題は、早くコントローラーとメインユニットのプログラムを完成させ、確認するしか有りません。

10月の下旬に差し掛かりましたが暑い日が続いています。 ATUのバリコンをコントローラーからリモート操作する事が出来るようになりました。 アンテナ端子に50Ωのダミー抵抗を繋ぎ、アンテナアナライザーでATUの整合テストをマニュアルで行ってみました。 キーのチョン押で10ステップ変化するようにソフトは組んであります。1.8MHzや7MHzは全く問題有りません。なんなくSWR1.01程度まで合わせ込みが出来ますが、29MHzではチョン押しでSWR最小ポイントを飛び越えてしまいます。4ステップくらいがちょうど良さそうです。

以後、ひとつの機能を追加する度にATUユニットとコントローラーを交互に開発しながら進める事にします。 コントローラーの設計と製作は次のページにあります。 

 

NDEXに戻る

2024年9月 8日 (日)

モータードライブバリコン機構(Z-Match ATU)

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

バリコンをステッピングモーターで駆動するメカニカル構造の設計を行い、入力の単バリコンと2連バリコンのドライブ機構の構想が完成しました。

Zmatchayu_motor_system1

タイミングベルトの長さは9.6cmくらいから350cmくらいまで販売されており、20cm程度の長さの場合2mm刻みで、30cm程度の長さの場合、4~6mm刻みで販売されていますが、その長さがどこの寸法なのか判らないので、とりあえずベルトの内周寸法と決めて中国のメーカーに発注しました。このベルトも5日間で届きました。 ベルトの価格と送料が別に表示されていましたので、それを合計しても国内で買うより安いです。 いざ、最終金額を計算すると、2本買ったら送料も2倍になるらしく、製品の価格の一部を送料に上乗せし、製品がいかにも安く見えるようにインターネットで表示する通販の常とう手段でした。 このベルトが手に入りましたので、36度の気温の中で汗だくで作業を行い組み立てたモータードライブ機構が下の写真です。

Zmatchayu_motor_system2

Zmatchayu_motor_system3

アルミアングルの穴あけ精度が悪く一部のアングルは傾いていますが、なんとか完成しました。 ただし、買ったベルト長が短い時は対処のしようがないので、若干長めに長さを決め注文したのですが、ご覧のとおり、たるみだらけです。 張力の微調整の方法は考えてあるのですが調整範囲を超えてしまいまいそうです。 張力調整のアイドラーを入手できましたので、確認してみると、案の定、微調整範囲を超えてしまい、ふたつのベルトとも短い寸法のものに交換が必要になりました。 新しいベルトの寸法は短い法で2mm刻みで3種類、長い方はいきなり8mm短いベルトを発注しました。 短いベルトは秋のキャンペーン中という事で1本140円(送料無料)、長い方はキャンペーンが無く送料込みで1500円くらいでした。

注文してから4日後には届きました。 短い方は3種類の長さの中間の1本が、長い方は指定した寸法が1種類のみでしたので、予め用意していたアイドラの高さ調整範囲に入り、2mm厚のスペーサーを挟む事で最適となりました。 下の写真は最終調整状態です。 ところで、長い方は同じものが5本届きました。 どうも私が5本まとめ買いになる事を見逃したみたいです。 ちょっと高いなあと思っていましたが、私のミスでした。

Zmatchayu_motor_system4

ここまで出来ますと、次は駆動回路を含めたATUの回路設計に移ります。

 

 

INDEXに戻る

2024年8月26日 (月)

Z-Match ATU ステッピングモーター

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

バイポーラステッピングモーターとモータードライバー及び5V2AのDCDCコンバーターがそろいましたので、初めてのステッピングモーター動作確認です。 確認する為に、まずPICでモータードライバーのテストプログラムを作ります。

テスト回路配線図 steping_motor_test.pdfをダウンロード

テストプログラム STEPPING_MOTOR_Test.cをダウンロード

実際のATUの場合、EEPROMが1Kバイトは必要になりますが、手持ちが無いので、NB-ATUのコントローラーに使っていたPIC18F25K42でテスト用のプログラムを作り、モーターを思うようにコントロールできるかどうかのテストです。 テストプログラムはTimer1で周期的な割り込みを発生させ、割り込みが発生する度にモーターのSTEP入力を反転させます。 反転周期の2倍がワンクロックとなりその逆数がクロック周波数となります。実験ではクロック周波数100Hzで行いました。 またこのSTEP入力は常時LレベルでMOTOR ON SWを1回押すと、指定したパルスの数だけクロックが発生し、最後にLレベルで停止するようにソフトを組んであります。 ソフトの行数が多いのはMOTOR ON SWのチャタリングを除去する為の処理です。

17hs3401s

上の表に出てくるモーターの型番の最後にSの文字が付きませんが、この実験で使用しているモーターの型番は17HS3401Sで、中文で書かれた仕様書では、定格電流1A, 定格電圧7.3V、コイル抵抗3.4Ω となっており、他の解説資料に書かれている、定格電圧=定格電流xコイル抵抗 の定義に合いません。 そこで電圧3.4Vの電源と電流リミッターを0.25Aに設定して、テストを開始しました。 基本となるワンステップ1.8度の回転は成功しましたので、次は基準の1/2となるワンステップ0.9度にトライ。 ところが、うんともすんとも言わず全く動きません。 配線がわるいのかと全接続をチェックしましたがまったくダメ。 電流制限を1Aにしてもモーターが起動しません。 試しに1/4はどうかとテストすると、やはり起動しませんが、電源OFF状態でモーターのローターを何度分か回転してやると回転を始めます。一度回転を始めて、止めてまたONしてもちゃんと回転します。 起動トルクは1/2ステップより1/4ステップの方が大きい様です。 従い、以後、1/4ステップのみで実験を継続する事にしました。

そして、確実にモーターが起動する為には、モーター電圧は5V以上、電流制限は0.75A以上の設定が必要という事がわかりました。 安定してドライブ出来る為にはモーター電圧6V、電流制限1Aとし、モーター回転中、及び停止中の12V電源の消費電流は0.45A程度で有る事が判りました。 この状態は、ステッピングモーターの解説書にある定格電圧の2倍くらいの電源電圧に設定し、電流を定格以下で使うという説明にはまだ合致しません。さらに停止中は電流制限を0.2A程度まで落としても、静止トルクは指では回せないくらい大きい状態で、この時の12V電源の全電流は100mA程度になりました。 この静止トルクを維持出来る最低電流は再検討する事にします。

この実験の中で、得られたその他の情報で重要なのが、電源OFF時の停止位置と電源ON時の起動位置の誤差でした。1.8度ステップ以下のステップの途中で停止したモーターは電源をOFFしない限り、停止した位置から起動しますが、一度電源をOFFすると、静止トルクは無くなり、一番近い1.8度の停止角度の位置に移動してしまいます。 次に起動するときは、電源OFF前の位置からずれた角度位置から起動する事になります。 この事は、電源を再投入する毎に機械的位置のイニシャライズが必要であると言う事です。 これは、バリコンの最大容量または最小容量の位置を電源ONする度に何らかの手段で検出し、その位置をゼロ番地として回転ステップ数を刻む必要がある事になります。 さらに、このイニシャライズ動作時は基準ステップ(1.8度)で駆動しないと駄目だという事も判りました。

ATUの電源をONにしたらその後電源を切る事ができませんので、モーターSTOP中の電流を最低レベルに切り替える回路を追加必要です。 さらに、モーターがSTOPする度に、現在位置をEEPROM上に記憶させて置かないと、電源OFF後に前の状態に復帰出来ないという事になります。 さらに、受信中も電源をOFFできないので、この間に発生するノイズも確認しておかねばなりません。 モーター駆動中はPWM電流でドライブしていますので、それ相当のノイズが発生するとは考えられますが、モーターOFF時の電流制限もPWMで行っているので、ノイズは消えません。 いずれにしても、事前確認が必要です。

Mdriver3

上の写真はテスト用のマイコン基板とモーター、DCDC電源、電流制限値(0.2x5A)を測りながらテストしている状態です。 電流制限は1Aですが、モータードライバーのパッケージを指で触ってもほんのりと温かいですが、ずっと触っていられる状況です。 メーカーの説明によると基板が熱伝導の良い金属製の基板に絶縁膜を作りその上に導体を印刷した構造の物で、基板自身が放熱板になっているとの事。さらにその基板に銅製の放熱板をハンダ付け出来るようにしてありますが、私が使うATUでは、追加の放熱板は不要です。 写真の基板上には配線図にない部品も映っていますが、NB-ATUのコントローラーで使用した部品がそのまま残っています。実際に配線されている部品は配線図通りです。

Mdriver2

左が、約1000円のモータードライバーですが、最初、この基板の裏表を間違って、ピンを半田付けしてしまい、一度半田付けしたpinを一本づつ引き抜いて再半田する羽目になってしまいましたが、壊れもせずにちゃんと動作しています。

テスト基板に直接ハンダ付けしてしまうと、本番の基板に移すのが大変ですから、ICソケットを用意して、抜き差し出来るようにしましたが、このドライバーに付属していたピンは太くてICソケットに挿す事が出来ませんでした。 秋月で手配した細いヘッダーピンがありましたので、これに交換して、写真のように実装出来ました。

 

モーター停止時のみ電流制限値を小さくする為、VREF信号が(2)ピンに接続されるよう基板の裏にあるショートパターンをハンダでショートしてあります。

モーター静止状態のロックトルクを確認しました。 制限電流設定で50mAでは手でモーター軸を回す事ができますが、100mAの場合、軸を回す事が出来ません。 設定は余裕を取って150mAとします。 この時の12V電源側の電流は25mAでした。 25mAはリレーを1個ONしている状態に等しく、電源的には全く問題有りません。 

次にノイズの確認です。 受信機のアンテナ端子に接続された同軸ケーブルの先端に50cmくらいのワイヤーを接続し、このワイヤーをモータードライバーのICの上に置いてみました。 すると、モーター停止中、回転中いずれも、SメーターがS8まで触れます。 最大の振れは28MHzでした。 ICとワイヤーの距離を30cmくらい離すとS3くらいまで落ち、1m離すとS1くらいになります。 モータードライバーの回路はシールドした方がよさそうです。モーター電源をOFF するとノイズは無くなりますが、1.8度の基準ステップ以下のマイクロステップモードで使う場合、電源OFFしたとたん、モーターの停止位置が一番近い基準ステップの位置に移動してしまうので、電源をOFF出来ません。

この実験の途中で新たな問題が発見されました。 モーターが回っていないときは電流制限を150mAに設定し、モーターが回り出す150msec前に電流制限を1Aに変更してもモーターが起動しません。 電源投入時点よりずっと電流制限1Aにして置き、一度モーターが回転したあと、停止した後で電流制限を150mAにした場合、次のモーターON前に電流制限を1Aに変更すると正常に動作します。 

このイレギュラーの動作を解消する為に、カット&トライを繰り返した結果、以下のシーケンスで完璧に動作するようになりました。ここまで判ったのが10月中旬の最後の金曜日でした。 モーター電圧は7.3V、電流の制限値は250mAです。

①マイコンICのSTEPパルス発生用のタイマーをOFFにする。

②電源投入直後nENをL(active)にして置き、STBYモードで1/4マイクロステップの設定を行う。

③10msec後にSTBYを解除して、さらに10msec待つ。

④以後、モーターを回す前に必ず該当するタイマーをONし、モーターをストップさせた時は必ずタイマーをOFFにする。

⑤1.8度の基本ステップで動作させたい時はMODE1,MODE2をLとして、1.8度ステップの動作が終了したら、設定済みのマイクロステップモードに戻す。

⑥以後、①から③までの処理は行わない。

これで正常に動きだしました。モーター回転中の12V電源の電流は150mA弱、STOP中は25mAです。 そして、このモーターの仕様書を目を凝らして読むと、どうもコネクターの並びが逆ではないかと疑いが生じました。

Driverconnector_1

そこで、コネクターを180度反転してみました。すると、1/2ステップモードでもモーターが回転するようになったのですが、ワンステップ1.8度のノーマルステップでした。その他に、1/8とか1/16を試しましたが、1/8と1/16は同じステップで1/16くさいです。 もしかしたらモーターの構造により、IC屋が意図したドライブタイミングの通り動作しない事もあるのかも知れません。 幸い、1/4ステップは正常に動作していますので、良しとします。

モーター停止時、電流制限を小さくする手段、nENを制御する手段を追加した回路図とテストプログラムです。

配線図:steping_motor_test_1.pdfをダウンロード

ソフト:STEPPING_MOTOR_Test_1.cをダウンロード

 

一応ステッピングモーターの動作確認ができましたので、バリコン駆動機構の設計にとりかかります。 このATUは中古のコメットのMTUのケース内に収納する予定なので、機構のサイズを含めて検討開始しました。

 

INDEXに戻る

2024年8月12日 (月)

Z-Match ATU

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

10数年前に、160m対応のATU候補として試作し、低インピーダンスのアンテナに対する整合テストを行い、ロスが多いと一度は諦めたZマッチアンテナチューナーでしたが、MMANAで計算しただけのアンテナインピーダンスは、実際のアンテナとかけ離れており、どんなに低くても実際の160mバンド用アンテナの実測値は12.5Ω以上になる事を実践的に確かめてきました。 もう一つの難題は高耐圧の2連バリコンの入手でした。 バリコンそのものが生産縮小され、価格も大幅に上昇していましたが、たまたま、コメットのMTUで使われている高耐圧バリコンを4個ほど入手できました。 これをステッピングモータとタイミングベルトで同期ドライブを行い、2連バリコンを実現出来る環境が整ってきました。 さらに、バリコンを使ったハイパスT型のATUにもトライしましたが、コイルのタップ位置で偽のSWRディップポイントにはまり、そこから抜け出せないという問題も有り、コイルのタップ選択が不要なZ-MatchアンテナチューナーのATU化に向け再検討する事にしました。

まず、Z-Matchの基本であるVK5BR OMの資料を読み直し、推奨するコイルの通り空芯コイルを製作し、ATU化する為の基礎データを取得する事にします。

Zmatchmtu

左の回路はVK5BRが推奨するZ-Match MTUのコイルとバリコンの配線図です。検討の都合でオリジナルの回路図に有ったL3は省略してあります。 このMTUの説明の中で、L2の底辺とL1の底辺はGND側で一致させるとありましたので、その通り試作しましたが、彼の資料の中にある写真ではGND側では無く、天面にL2を配置してありますので、もし、違ったら、写真のごとく、コイルを上下反対にすれば良い事なので、このまま行きます。

 

Zマッチチューナーの肝はコイルですから、VK5BRが推奨する線種、サイズ、形状のままでつくりますが、コイルを支える絶縁材は100均の5mm厚のまな板でつくりましたので、1.6φの銅線を通す、穴径は2mmでは難しく、2.5mmにしました。 また、最初直径50mmのパイプに、1.6φの銅線を16回巻き、これをカットした後、絶縁支持材の穴に銅線を押し込みますが、これが結構難しく、きれいな円弧状のコイルに仕上がりません。 結局、最後は板とコイルの間に直径25㎜の塩ビパイプを挟み、さらにL2とL1のコイルの間に5φのアクリル棒を差し込み、コイルの形を整えました。

Zmatchcoil1

Zmatchcoil2

右上は25φのパイプと5φの丸棒を抜き取った状態ですが、なんとか様になりました。

これを、木製のシャーシーに仮止めし、かつバリコンも仮止めして、配線図通り配線しました。 2連バリコンはまだ連動出来ていませんが、タイミングベルト、タイミングプーリーが入手できたら、連動させる事にし、それまでは、手で目見当で回転させます。 また、VC1はシングルで良いのですが、コメットのバリコンは2個連結されていますので、配線のみカットし、シングルバリコンとして使います。 最終的には、2個のバリコンを結合している支持材をカットしますが、今は写真の通りです。

構造が簡単ですので、配線も20分足らずで完成しました。

Zmatchmtu2

次はいよいよ整合テストです。

整合テストはまず7MHzでつまづきました。いくらやってもSWR1.8以下になりません。 色々試して判った事は、VC2を接続するコイルの位置は14Tでは無く、13.5Tに繋ぐとSWRが1.4まで下がるようになりました。 さらに、VC1のつながるコイルのタップ位置を10Tの位置から9Tに変更してやっと1.1まで下がりました。 この原因は、配線の長さも関係しますが、使用しているバリコンの最小容量が影響しているようです。 VK5BRオリジナルのバリコンの最小容量は20Pですが、コメットのバリコンは30Pでした。

ここまでやって、やっと3.5MHzから29MHzまで全部整合出来るようになりました。

次にバリコンのクリチカルの度合いですが、現在ステッピングモーターの候補は秋月で扱っているコパルの3度ステップ品を第1候補としています。 最近の3Dプリンターは1.8度ステップのバイポーラタイプのステッピングモーターが使われ、中華製に絞れば一番安価です。しかし、バイポーラタイプのステッピングモーターは低電圧大電流というドライブが必要で、専用のドライバー回路と専用のスィッチング電源を必要とし、アマチュアが1台限りで製作するには、かなり高コストになります。 アマチュアがシコシコと製作するには、最近あまり見かけなくなったユニポーラタイプのステッピングモーターが取り扱いが簡単なのですが、1.8度のユニポーラタイプはコパルの4倍以上の値段がします。

コパルのワンステップ3度のモーターの場合、5対1の減速比となるプーリーを使い最小ステップ角度0.6度になりますが、これで、ちゃんと整合できるのか心配になります。

実験した結果、一番クリチカルなバンドは28MHz帯でSWR1.01くらいから1度違えばSWR3くらいまで跳ね上がります。SWR1.5までを許容値とすると、0.4度くらいがリミットで、コパルの0.6度ステップは微妙という状態です。 コパル製は350円、1.8度のユニポーラタイプは最小ステップ0.36度になりますが、1640円。 

今回の試作機の場合、VC2とVC3の容量が一致した連動状態のままでは、SWR1.1以下の状態にならないバンドがありました。 12年前にラフに作った試作1号機ではこれほどのクリチカルさは無かったような記憶でしたが、バリコンは連動のままで整合できました。 そして、1号機の時にあった無負荷状態で整合してしまうという問題は再現出来ませんでした。 当時の1号機はQが低く、調整が楽だった代わりにロスが大きかったのかも知れません。 そこでよりQを高める為に、今回の試作機の配置を見直し、配線が最短となるように組みなおしてみました。

Zmatchmtu3

まだVC3への配線が長いですが、改造前より線長で50cmくらい短くなり、かつコイルの下にはGNDとなる銅箔シートを敷き、これにコイルやVCのGNDを落とすようにしたところ、コイルのタップ位置はVC1の接続位置が9Tになった以外、オリジナルの配線図の通りで、3.5MHzから28MHzまでVC2とVC3の角度はほぼ同じ状態、すなわち連動した状態で整合出来るようになりました。 

ステッピングモーターのワンステップの角度については前述しましたが、3Dプリンターにはなぜ1.8度のステッピングモーターが使われているのか調べてみました。 普通に考えたら、あの細かい造形を行う為には1.8度では粗すぎると思えるからです。

バイポーラタイプのステッピングモーターの場合、基準のワンステップ角度に対して、さらに1/2とか1/4の角度にドライバー側で設定できるという説明があります。バイポーラステッピングモーターに使われているドライバーユニットがモーター本体より高価な場合が多いのですが、このドライバーの中で細かく制御する事により、この基準の公称ステップ1.8度をさらに1/2とか1/4のステップに変更できるらしい。 最大で1/256まで可能という資料もありました。 以前はワンステップ1.25度とか0.9度とかのステッピングモーターが有りましたが、最近はほとんど1.8度に統一されているのもうなづけます。

この情報が判っていたら、3Dプリンターでは標準となっている3:1のタイミングプーリーより高価な5:1のプーリーを手配する事は無かったのに。

以上の経緯から、コパルや1.8度のユニポーラタイプを諦め、中華製の安いバイポーラステッピングモーターを2個手配しました。注文した4日後には届きました。2個で1900円弱でした。

このバイポーラタイプのドライバーは秋月で取り扱っていますが、モーターより高価(2台分で2000円弱)です。 中華製なら1台分、600円台であるのですが、使い方を説明した資料がありません。 秋月のドライバーの場合、メーカーのホームページに制御の仕方や発熱についての注意文などが有り、初めて使うには安心です。 そして、基準ステップ角の1/2から1/256までの設定方法も詳しく書かれていますので、中華製ですが、秋月のSTマイクロ製のIC品で進行する事にします。 ただし、基準の1.8度以下のステップにした場合、停止位置で通電を続けないと基準の1.8度の位置に戻ってしまうという情報もあります。 対策として、停止位置をキープする為に、運転中より低い電流を流し続けるというアイデアもあるそうですが、この現象がATUにどのような影響を与えるかは、作ってみないと判らないです。

モーターとプーリーが手に入り、図面化しないと、タイミングベルトの長さが決まらないので、ベルトの手配は最後になります。

また、1.8MHz対応は私のアンテナに合わせて、リレーで切り替える事にします。

 

ステッピングモーターとドライバーが入手出来ましたので、動作確認をしました。

 

INDEXに戻る

2024年7月22日 (月)

バリコン式ATU mark 2

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

新マルチバンドアンテナ用に製作したLDGのKT-100をベースとした、プリセット型ATUを使用して、リレーの接触不良をだましだまし1年間使ってきました。 しかし、この場に及んで、複数のリレーが接触不良を起こし始め7MHzや18MHzが整合しなくなりました。 簡単に整合するのは21MHzだけで、それ以外のバンドは何度も再チューニングが必要となっていました。 また、FT8を運用始めた事により、ATU内のコイルのコアが発熱し、SWRが悪化する現象から、出力を50W以下に落とす必要があるバンドもありました。 このKT-100は12年前に購入したもので、使用されている中華製のリレーなら、こんなもんかと諦めざるを得ません。

この状況から、昔製作して、廃棄処分予定だったバリコン式ATUを引っ張り出し、現在使用中のプリセット型ATUに改造できないか検討を始めました。

まず最初に、コンパイラーがV2.46になったXC8との闘いです。 今までのVC式ATUはXC8のV1.32でコンパイルされていましたので、V2.0から導入された大幅なコンパイラーの仕様変更に対応しなければなりません。 そして、プログラムを詳しく読んでいくと、なぜ、このようなフローにしたのか?と疑問が続出しました。 当時のプログラム開発能力は、やっとエレキーがバグ付きながら動かせる程度のレベルで、今見たら完成度が悪いですね。

今回、mark2化に改造するに当たり、操作は全てシャックに置いたコントローラーから行う事にし、ATU本体のキーもLCDの表示も廃止し、いくつかのデバッグ用LEDのみ付けました。 コントローラーとの通信はUARTを使い4800ボーのスピードで行います。

Vcatu_inside1

Vcatu_inside2


ATUの配線図 VC_ATUmk2_main_V09.pdfをダウンロード

コントローラー配線図 VC-ATUmk2_contoroller_V09.pdfをダウンロード

以前のATUから改善したポイントは以下です。

・回転角を読み取る可変抵抗は270度回転しますが、バリコンは360度以上回転しても、実際に使用出来る範囲は180度です。 この為、モーターが暴走し、可変抵抗のストッパーに当たっても、モーターが止まらず、ギア飛びをおこしていたので、この部分の制御を一からやり直し、考えられる全ての異常動作が発生しても、可変抵抗器のストッパー超えが起こらないようにしました。(したつもり)

・従来のコイルのタップ位置はMTUの仕様にならい周波数に依存するように選択し、それから外れた時は上下の隣のTAPに移るという動作でしたが、実際のアンテナの場合、インピーダンスが低いときなど、大きくずれますので、まず最初に、SWRが最小となるTAP位置を決めてから、VCでSWRのサーチを開始する事にしました。 しかし、VC角度により、SWR最小のTAP位置は異なり、マイコンでは最適値を探す事はできませんでした。 やむなく、デフォルトのTAP位置を5と仮設定し、SWRが1.2以下にならないときはマニュアルでTAP位置を探す事にします。 この場合、SWR最小のTAPが最適とは限らず、TAPだけ切り替えて、SWRが最低となったTAP位置が7で、SWR最小値は1.6にしかならず、一つづつTAPダウンっしてSWRが1.1以下になったTAP位置は4だった事もあり、自動でディップポイントを探すのは不可能と悟った次第です。

・モーターギアのバックラッシュの為、VCの停止位置と可変抵抗の停止位置がぴったりそろわないという従来からの欠点を補う為に、VCの角度も、マニュアルで動かす事が出来るようにし、SWRが最適になったら、これもマニュアルでEEPROMにデータを記録出来るようにしました。 ハイパスT型のATUの場合、真の整合条件とは異なるVCの角度条件でもSWRのディップポイントが存在し、プログラムがこの条件に陥った場合、SWR最小値が1.5以下にならない事が発生します。 この状態に陥った場合、真のディップポイントなのか、偽のディップポイントなのかマイコンでは判断が付きません。その為、TAP位置を変えて再度ディップ条件を探し、もっと良い整合状態があるのかを確認するという動作が必要になりますので、マニュアル動作はマストです。 この様にSWR最適ポイントを探すのは、マニュアル操作を含めて、かなり時間がかかりますが、一度最適整合を見つけたら、EEPROMに記憶させておきますので、2回目からはプリセットコール一発で最適整合できます。

・このバリコン式ATUのオリジナルは、3.5MHzから28MHzがカバー範囲でしたが、1.8MHz用の約40mのロングワイヤーに対応する為1.8MHzまで拡大します。 50MHzは現在のループアンテナが対応出来ておらず、1年間の交信実績もゼロでしたので、このATUでは対応しません。

・ATUをスル―し、SWR計と周波数カウンターだけが機能するモードを設けます。

・リレー式ATUの時有った、使用周波数とアンテナの種類の間違いを防止する機能。 例えば14MHz以上はループアンテナ、1.8MHzを除く10MHz以下は垂直ダイポール、1.8MHzと3.5MHzは、ロングワイヤー、特に3.5MHzは垂直ダイポール(DX用)とロングワイヤー(国内用)のように使い分けるという条件を無視した組み合わせでの使用により、アンテナの性能が発揮されない問題の解決。 手動によるアンテナの選択機能は付いていますが、実際の運用では使用しないようにします。

最終的には、プリセットされた整合条件になるように、VC角度とTAP位置を設定しますが、VC角度はギアのバックラッシュが角度表示で1から2くらいありますので、これによる不整合の度合いが、実際のアンテナで許容できるかという事になりますので、アンテナに接続しないと、使い物になるかどうかは判らない事になってしまいました。

Vcatumk21

上の画像はバラックのコントロール回路で、最終デバッグ中のバリコン式ATUです。

ANTの負荷条件は純抵抗ですが、以下のように整合できました。

Tune50

Tune15

Tune500

上の表は、左から順にアンテナのインピーダンスが50Ω、15Ω、500Ωの時のATUの整合条件を示しています。 全てリアクタンスゼロの条件ですが、VCの角度範囲が約10から190まで有効ですので、リレー式のATUの整合範囲以上をカバーしています。

 

Vcatu_box_1

約1か月のデバッグで、ほぼソフトが完成しましたので、今上げているATUを降ろし、リレー式ATUを取り除き、バリコン式ATUに入れ換えました。 また、コントローラーも中身をそっくり入れ替えて、まずは、机上でのテストです。 とりあえず、50Ωの負荷をつないで、21MHzでの整合テストを行うと、正常に働きましたので、この状態で、デバッグを続ける事にします。

ATUの背が高くなったので、今までのBOXに収納出来るか心配でしたが、約2mmの隙間を確保して、蓋を閉める事ができました。 今まであったLやCの微調整用リレーのみは残っていますが、配線とLやCは取り外してすっきりしました。

Vcatu_box_2

Vcmtu_panel_1

上は、コントローラーと接続し、デバッグ中のVC式ATUです。

50Ωの負荷抵抗ですが、1.8MHzから28MHzまで、整合条件を確認し、かつ100WのCW送信でも問題が無い事を確認できました。 ただし、ほとんどのバンドが1.10以下のSWRに収束しましたが、18MHzのみ1.3以下に落ちませんでした。 原因は、SWRを1.5以下に追い込んだ後のモーターON時間が短く、ギアのバックラッシュ分しかモーターを回していない為、いつまでたっても収束しない状態でしたので、18MHz専用のモーターON時間を設定し、従来の2倍の時間に設定し解決しました。 後は、仮の高さのアンテナに実装して整合テストと25mの通信ケーブルとUARTの相性を確認するだけになのですが、連日39度を超える暑さの中で、しばらくは机上でのデバッグを続けます。

 さらに1週間デバッグを続け、大きなバグも見つかり修正しました。 次の日曜日、相変わらず39度の暑さが続きそうですが、昼前に、ゲリラ豪雨。 雨が止んだ直後の外気温は27度。 これはしめたと、VC式ATUを仮の高さに降ろしてあるマストに括り付け、高さはそのままで、チューニングテストを行う事ができました。 心配していた25mのコントロールケーブルと4800ボーのUART通信は全く問題なく行える事を確認できました。 そして、7MHzから28MHzまで最大SWR1.6で整合できました。 この日はフィルドデーコンテストが行われているのですが、あいにくの磁気嵐の際中で7MHzは雷のノイズだらけで聞こえるSSB局は1~2局だけ。 21MHzでも8エリアのCW局が1局だけ聞こえますが、SSBは皆無。 ゲリラ豪雨が雷を伴いながら連続して迫ってくるので、テストはここまで。 アンテナの同軸ケーブルをリグから外して、様子見です。

 

2024年8月

夏休みの初日にアンテナマストを最長に伸ばし、やっと正規の高さに上げる事ができました。 その日の晩に、1.8MHzから29.7MHzまで全バンドの整合を取り直し、EEPROMに記憶させました。3.5MHz以下のバンドでSWR1.8以下にならない現象がありましたが、FTDX101Dの内蔵SWRメーターではSWR1.2くらいになっています。

ここ3日間くらいは、SNが連日250を超えていますが、DXの入感はさっぱりです。 しばらくはATUのテストだけが続きそうです。

8月のお盆休みを利用して、再度チューニングテストをやってみました。 先日、整合OKでEEPROMに記憶したプリセットデータを呼び出しても、SWRが3を超える場面がかなりの頻度で出ます。 同じ日に記憶したデータなら、これを呼び出しても、ちゃんと整合状態が再現するのですが、数日前のデータの場合、不整合になる事が発生します。 原因を調査中です。

調査した結果、VC2に連動した可変抵抗器のギアが軸との間でスリップしているようです。 昼間、ATUのBOX内が多分50℃くらいになり、若干の熱膨張でスリップが発生し、バリコンは回るけど、可変抵抗器が回らないというのが原因のようです。可変抵抗器の軸を約0.3mm Dカットし、完全な周り止めを追加しました。 また、プリセットコールをON状態で周波数を切り替えた時、ターゲットのバリコン位置をオーバーランして、整合が崩れる問題は、VC2を制御するソフトのバグでした。 バグの原因は、VC2のモーターをONした後、現在のVC角をUARTで送信している内にオーバーランしてしまうもので、タイミングによりオーバーランの量も変わっていました。 対策は、プリセットデータを呼び出してVCをプリセットする時に限り、VC回転中はUART送信を禁止し、VCの回転が停止してからVC角をUART送信するようにしました。 また、回転方向によるVC角のズレを少しでも改善する為に、必ず2回連続して、VC角度を設定するようにし、2回目では、モーターの速度が上昇しきれないうちに指定角度で停止する事により停止角度の精度が上がるようにしました。

また、SWRが下がってくると、モーターのON時間を短くして、SWR最小ポイントを飛び越えないように細工していますが、温度により、この時のモーター回転量が大きく変化し、室温27度で最適に絞りこみが出来るように時間を設定した場合、夏の昼間はBOX内が50度を超えるような熱さになり、短時間のモーターONでもSWRディップポイントを飛び越えてしまい、SWRが収束するまで数倍の時間がかかっています。 室内でのシュミレーションは抵抗負荷による結果で、実際のアンテナの場合、リアクタンスを含みますので、VCの角度がもっとクリチカルになるのも影響しているようです。 この対策として、コントローラーから、モーターON時間を変更出来るようにしました。 キー操作やエンコーダー操作では変更できませんが、コントローラーのプログラムを書き換えると変更が可能になります。 いちいちATU BOXを降ろす必要がなくなりますので、夏と冬でON時間を変更することが簡単になります。

2024年9月

8月末に台風10号が広島を通過する事になり、事前にアンテナをたたんだ為、しばらくATUの検討が出来ていませんでしたが、9月の上旬最後の日に、今回仕込んだモーターON時間の変更確認を行う事ができました。 1.8MHzから28MHzまで最短でSWRが収束するON timeを設定し終わった結果、どのバンドも初期設定の半分以下に落ち着きました。 この確認は夜8時過ぎにおこないましたので、昼間の暑いときとは条件が異なるかも知れませんが、この状態で様子見です。

バンドを切り替えた時、リレー式の場合、受信ノイズが即大きくなりますが、このバリコン式の場合、3秒くらい遅れて急にノイズが大きくなり整合した事が判ります。 

VC_ATU_mk2_main_v1r00.cをダウンロード

VC_ATU-mk2_controller_v1r01.cをダウンロード

FreqRang_3.hをダウンロード

  

 

T型アンテナチューナーの欠点であるコイルのタップ位置により偽のSWRディップポイントが発生する事を解消する為、コイルのタップが無いZ-MatchアンテナチューナーのATU化にトライします。

 

INDEXに戻る

2024年6月12日 (水)

デジタルマイクコンプレッサーの製作1

カテゴリ<SDR> [ 自作  dsPIC]

秋月で扱っている安いdsPICを使い、安いSSBジェネレーターが実現できないか実験したところ、一応SSB信号の発生には成功したものの、出来上がった信号のスプリアスレベルが大きく、SSBジェネレーターの実験は失敗してしまいました。 しかし、せっかく、試作基板を作った事も有り、何かに活用できないか、考えていたところ、デジタルマイクコンプレッサーが出来るかもしれない。そこで、目的を変更して、実験を継続する事にしました。

無線機の平均変調度を上げて、了解度を改善する手段として、RFスピーチプロッセッサーと言うのが昔から存在します。 これは、低周波のままで、音声圧縮を行うと、どうしても、歪が増加してしまうのですが、一度、高周波のDSBに変換し、この高周波の尖頭レベルをクリップした後、フィルターを通し、元の音声信号へ復調すれば、歪の少ない圧縮された音声信号が得られるというものです。

従来は、ダブルバランスミキサーでDSBを作り、片方のサイドバンドのみをメカニカルフィルターや同等のフィルターで取り出した後、これにBFOを当て、元の音声信号に戻すという構成をアナログ回路でやっていました。 今回、これを全てデジタルで行います。

Mc_block

上のブロック図が今回実験するマイクコンプレッサーの構成図です。 オールデジタルと言っても、マイク信号をデジタル処理出来るレベルまで増幅する手段や、ADCの中で発生するエイリアシングノイズ対策及び、DAC出力に現れるサンプリイング周波数の漏れを対策する為のLPFはアナログ回路で作る必要があります。

マイクのすぐ後にあるリミッターアンプはADCが飽和しないようにレベルの先頭値を規制する為のもので、通常ALCと言われるICです。その後のオーディオLPFはOPアンプやLCで構成する3KHz以下を通すLPFです。 DSPと書かれた枠内にあるブロックが今回採用するdsPIC33FJ32GP202となります。ADCで12bitのデジタルに変換された信号は、10KHzのローカルオシレターの信号と掛け算され、キャリアの無いDSB信号となります。 その信号を16bitの最大先頭値信号から24dB低いレベルで、プラス/マイナスともクリップし、それより高いレベルは全てフラットにします。 次にクリップされたDSB信号のUSBのみをBPFで取り出し、この信号と10KHzのBFO信号を掛け算し、元の音声信号を復調します。 ただし、この復調信号には多くの帯域外ノイズが含まれいますので、3KHzのLPFを通した後、DA変換して、音声信号に戻します。 

このブロック図は原理図であり、実際の回路では、マイク感度とコンプレッサーレベルの調整の為、入力部と出力部に可変抵抗が追加され、色々なトランシーバーに接続出来るようにします。

私が作るコンプレッサーは、自作の無線機で使う事だけを条件にしますので、出力レベルは自作無線機に必ず付いているAUX端子のレベルに合わせる事にしています。

マイクコンプレッサー配線図 MIC_COMP_01.pdfをダウンロード

Mc_1khz

Mc_400hz

上の波形は、入力レベルを3VppでADCに加え、DSP内部にて、-24dBのレベルでカットした信号のDAC出力です。左が1KHz、右が400Hz。 -24dB下の波形は0.3Vppより少し低いレベルになりますので、カットされた波形は、ほとんど台形波形ですが、ごらんの通り、1KHzはほぼ正弦波に戻っており、400Hzでも、完全とはいかないにしろ、高調波歪はかなり抑えられています。

実際にマイクコンプレッサーとしてまとめるには、マイクゲイン、クリップレベル、DAC出力レベル等を、無線機の仕様に合わせる為、可変抵抗が必要になります。 特に、クリップレベルは実験しながら決める必要がありそうです。

ソースファイル

MIC_complessor.cをダウンロード

TapAUDIO127_BPF_KS.hをダウンロード

TapUSB255_BPF_KS.hをダウンロード

 

INDEXへ戻る

2024年6月 3日 (月)

ローコストSSBジェネレーターの実験

カテゴリ<SDR> [ 自作  dsPIC]

dsPICを使ってSSBジェネレーターを製作し、7MHzトランシーバーや160mバンド用SSB送信機を作成、実用しております。 秋月で取り扱うdsPICも最近の仕入れのものは、かなり価格を上昇しておりますが、昔から置いてある部品は価格据え置きで販売されております。 その中で、特に安いと思われるdsPIC33FJ32GP202というDIP 28pinのdsPICマイコンが有ります。現在の価格は180円で、本命のdsPIC33FJ64GP802と比べて大きな差があります。 機能的には、内臓16bit DACが無くなり、ROMもRAMもサイズダウンしていますが、DSPエンジンは同じものが使われています。

このGP202と外付けのDACを使い、安いSSBジェネレーターが出来ないかの実験記です。

Shema_gp202_ssb_generator

上が、今回実験に使うSSBジェネレーターの回路図です。 dsPICとDACを合わせて280円です。

仕様はLSB USB AM CWの送受信機能付きです。もちろん、送信機のみ、或いは受信機のみとしても使う事ができます。 GP802タイプのdsPICに比べてRAM容量が2KBしかなく、ジェネレーターとして必要なFIRのTAP数に大幅な制限がでますが、そこは音質(音声帯域幅)を了解度が落ちない程度に抑えて、新スプリアス対応可能なものを目指します。 この条件で設定したDSPの基本仕様は以下のようにしました。

Dsp_block2_2

RAMの容量制限対策の為、AUDIO BPF部分のTAP数は127、IF BPF部分のTAP数は255とします。いずれも専用のリングメモリーをRAM上に確保しなければなりませんが、リングメモリーとして、X data 領域及びY data 領域上に確保出来るサイズは2のn乗でなければならず、2KBのサイズの中に、ふたつのリングメモリーとそれぞれ用のTAP係数データもこのX及びY領域に配置する必要があります。 これは、DSP命令のアドレッシングモードがX,Y RAM領域しか機能しない為です。(リングメモリーのサイズは2のN乗という制限が付きますが、TAP数はこのサイズ以下の奇数なら何でも良い) Float形式のTAP係数はconst指定で、プログラム領域に読出し専用データとして、保存して置き、dsPICが立ち上がる都度必要なFloatデータを符号付整数に変換してX及びYのRAM領域にコピーする事で、RAM使用量を80%以下に抑えています。

DACが内蔵されていないので、外付けのDACが必要になりますが、ちょうど、秋月にて、16bit 2chのラダー抵抗タイプのDAC PT8211が100円で販売されており、これを採用する事にします。このDACはオーディオ用として作らており、符号付整数にて、DA変換を行いますので、便利です。

これらを踏まえた上で、とりあえず、送信モードのみ動作するプログラムを作成し、基本機能の確認を行いました。

Out_1khz_2Out_10khz_2

Out_16khz

In_16khz

40KHzのサンプリング周波数で10KHz(右上の波形)を出力していますので、理屈的には、このような波形になる事は判るのですが、オリジナルのGP802を使った時は、このような波形にはならず、少なくとも確認した12KHzの信号でもきれいな正弦波でした。

100円のDACがおかしいのかもと、Microchipの330円のDACに換えてみましたが、波形は同じです。 どうもGP802の中で使われているDACが特殊なDACなのかも知れないと調べてみると、デルタシグマ変調タイプのDACである事がわかりました。 ΔΣ変調型DACというのはかなり高次のオーバーサンプリングを行い、1bitデジタルデータに変換した後、これをフィルターで元のアナログ信号に戻しているもので、サンプリング周期内のレベル補間がスムースに行われる事が特徴であり、最近のデジタルオーディオは、ほとんどΔΣ型らしい。 今回使ったのはラダー抵抗型というもので、DACとしては、一番簡単なICです。そして、これがミキサーを通してUSBやLSB信号になったとき、どうなるかは判りません。

10KHzキャリアと1KHz信号をミキサーにかけ、後段のBPFを通った、LSBとUSBのスペクトルを見てみました。

1khzlsb

1khzusb

案の定、余計なスプリアスが出ていました。異常スプリアスと示したスペクトルがそれです。 ただし、スプリアスが有っても、許容値以内なら問題ないのですが、一番大きいもので基準より-44dBくらいしか減衰していません。 これはHFの場合、50dB以上、50MHzの場合、60dB以上低くなければならず、NGです。

オーディオ発振器をスィープさせ、それをオーディオスペアナでピークホールドしてフィルター全体のスプリアスを見てみました。

Lsb

Usb

正弦波単体の時と同じ傾向を示し、NGです。

使ったDACが100円も330円もラダー型でしたので、これでは送信機としては不適合になってしまい、免許は降りません。

これを解決する為に、ΔΣ型DACをさがすと、秋月で240円のICが見つかりますが、dsPICとのインターフェースは不可能ではないが、面倒です。 結局、870円のdsPIC33FJ64GP802の方が簡単という結論になってしまいます。

下のファイルは実験途中のもので、送信モードしか動作しません。 FIRフィルター係数のファイル名がBLとなっていますが、中身は全てKaiser窓です。

SSB_generator_CD0.cをダウンロード

TapAM255_BPF_BL.hをダウンロード

TapAUDIO127_BPF_BL.hをダウンロード

TapAUDIOCW127_BPF_BL.hをダウンロード

TapCW255_BPF_BL.hをダウンロード

TapLSB255_BPF_BL.hをダウンロード

TapUSB255_BPF_BL.hをダウンロード

 

SSBジェネレーターは諦めましたが、マイクコンプレッサーが作れるかも知れないと実験を始めました。

 

INDEXへ戻る


 

2024年5月 6日 (月)

FIRデジタルフィルター係数 発生ソフト

dsPICを使い、FIRフィルターを自作しておりますが、長年使ってきた 石川高専の山田先生のホームページがedgeでは閲覧できなくなっており、新たにFIRフィルターを設計するのに困っていましたら、フランスのThomas Drugeon さんがオーディオ向けのフィルター係数を発生させるソフトを公開していました。 さっそくダウンロードしてテストしてみると、これはいとも簡単に係数を発生し、C言語で扱えるファイル状態で出力してくれます。 以下、その使い方を紹介します。 

rePhaseと呼ぶソフトを紹介しているページはこちらにあります。

このページから、Latest version   (v1.4.3, 2019-01-16, Windows 32/64 bit)というソフトをダウンロードし、ダウンロードされたzipファイルを解凍すると、rePhase.exeというファイルが現れますので、これをダブルクリックすると以下のようなダイアログがオープンします。

Repaseorijinal

このソフトは本来、オーディオのグラフィックイコライザーの特性をデジタルフィルターで構成する時のフィルター係数のジェネレーターですが、dsPICでSSBを発生させる為のFIRフィルターの係数を発生させることもできます。

上の画像の真ん中付近にある「Linear Phase Filter」というタグを開き、左下側にあるlinear-Phase Filterの部分に必要な記述を行います。

Rephase_linearphase_filter_2

使うのは上の2行だけです。 最初の行をhigh-passにして、2行目をLow-passに指定します。

次にshapeの列に2行とも「brikwall」を選びます。 freqの列の1行目に150Hz、2行目に2850Hzと記入します。

次に、右下のInpulse Settingの部分を記入します。

Rephase_impuls_setting_2

まず、タップ数を奇数で記入します。ここでは251としました。 次のFFT lengthはタップ数に応じて自動入力されますので、手を加えません。 conteringの部分はmiddleを選びましたが、実際に動くようになったら他の選択肢へ変更しても良いでしょう。 その下は、「use closest perfect inpulse」を選びます。 windowing(窓関数)はサイドローブが低い[blackman-harris」を選びましたが、好きな関数を選択できます。 optimizetionはデフォルトのままです。

rateはサンプリング周波数を記入します。 ここでは48KHzとしましたが、実際には、使用するdsPICのADコンバーターのサンプリング周波数を記入する事になります。 formatは発生したフィルター係数をC言語形式で出力されるようにします。 directoryはこのCファイルをどこに出力するかを指定します。

右枠の中は、デフォルトのままです。

これらを設定し終わった、目標特性グラフ付のダイアログ全体を下に示します。

Rephase_allwindow

目標のBPFの特性は上のグラフのように四角いフィルター特性ですが、タップの数を例え1001としても、このようなグラフになる事はなく、タップの数が多いほど、この理想曲線に近くなるという事だけです。 実際はハイパスフィルターのカットオフを50Hzくらいにして501タップくらいで、Hi-Fi SSB信号が出来ると言われています。

この設定で作られたFIR係数ファイルの例を以下よりダウンロードできます。 このファイルをBPFxxxx.hとリネームし、ヘッダーファイルとして読み込ませたら、dsPICのソフトが出来上がります。

BPF150-2850.cをダウンロード

実際にこのアプリを使い、dsPIC33FJ64GP802用のBPF係数を出力し、AM送信機のFIR BPFフィルターを作った例はこちらの最後の部分で紹介しています。

2024年5月末

石川高専の山田先生のページはWIndows7 Chromeの組み合わせなら、問題無く表示出来るようです。

 

 

 

その後、FIRフイルター係数の計算を英語で検索すると、特性がrePhaseよりよさそうな係数を発生出来るページが見つかりました。 現在、次の自作モデル用として、dsPICによるSSBジェネレーターを試作中ですが、この係数に使って実力を確かめ中です。

新しい、FIR係数発生ページ Digital Filter Design (arc.id.au)

このページで生成されているKaiser-Bessel窓による係数は石川高専のページでも発生させる事ができます。ただし、フィルター外のATT量がデフォルト20dBとなっていますので、60dBに変更してやると、同等のデータがえられます。

 

NDEXに戻る

2024年4月13日 (土)

LCD ZJM161A PICで表示

aitendoの福袋の中に、1行16文字表示のLCD ZJM161Aが有りましたので、PICによる表示テストを行いました。

入手したLCDは左右両端の文字がコントラスト不足になっていましたが、在庫処分の福袋でしたので、しょうが無いと思っています。 正規品はお一人様2個までの条件付きで199円で売られています。この正規品はもしかしたら、コントラストのムラは無いかも知れません。 なお、正規品もLED照明は有りません。

このLCDに使われているICは一般的な1602BタイプのLCDドライブICと同等品で、秋月で扱っている8文字2行タイプの青色LCD ACM0802C-NLW-BBHと同じ構成で、私の実験では、このLCD用のプログラムでちゃんと表示できました。 ただし、秋月のLCDは2行が上下に並んでいますが、このLCDは1列8文字がふたつ1列に並べられており、文字の大きさが大きくなっています。

Zjm161a_lcddisp

表示テストは、いつも検討に使うPIC16F1939で行いました。 

回路図 LCD_ZJM161A.pdfをダウンロード

サンプルプログラム ZMJ161Atest.cをダウンロード

コントラストを調整する半固定抵抗が5KΩですが、これは手持ちが20個くらいあって使っているもので、抵抗値に他意は有りません。 今回のLCDは半固定抵抗のセンター端子の電圧は0Vで、最大のコントラストになりました。

 

INDEXに戻る

2024年4月 5日 (金)

ATUはFT8に弱い

160mのバンドコンディションが悪く、DXとのQSOが全く出来ていなかったので、今まで気嫌いしていたFT8にトライする事にしました。

ところが、160mで100Wの送信を15秒も続けると、SWRが5を超えます。 CWやSSBの場合、200W送信でもSWR1.5以下です。

Heatupatu_3

原因はATU内部のフェライトコアの発熱です。 このATUは200WのSSB送信時、同じように数秒間送信すると、SWRが大きくなるという現象があり、ATU内部のコイルに流れる電流を半分にして対策したものでしたが、さすがに100W連続送信は15秒間も耐える事が出来ず、15秒間の受信期間中にコアが冷めない為、次の15秒間でさらにSWRがあがるという事を繰り返します。 対策は、FT8の時は出力を50Wまで絞る事でした。

1.8MHzでも50WあればWの西海岸やニュージーランドとは交信できますので、問題なしです。

周波数が高くなれば、このSWRが安定している出力の許容値は上がって行き、21MHzでほぼ100Wまで改善します。ただし、この例は1.8MHzのSSBで200WまでOKのATUの場合です。

ATUをお使いの場合、リグ内蔵のSWR計の指示を注視し、次第にSWRが高くなる場合、上の写真のようになる前にパワーを絞る事です。

 

INDEXに戻る

2024年4月 1日 (月)

エレキーの製作(PIC16F1827) コンテスト用

メインのHFリグをFTDX-101Dに変更して、CWのコンテストに参加した時、送信用のキーはCTESTWINからの自動送信としていたのですが、キースピードを25WPMに設定していると、時々、早すぎて取ってくれない事があり、手動のエレキーでゆっくり打電しようとしても、リグ内蔵のキーファンクションをエレキーに切り替える必要がありました。 この切り替えがわずらわしく、自作の外付けエレキーとCTESTWINからのキー信号をパラに接続して交信していましたが、自作のエレキー回路にはキースピードの表示が無く、一度キーを打ってみて、目標のスピードになるよう調整する必要があり、非常に不便でした。

そこで、キースピードがWPM単位で表示できて、CTESTWINと共存できるエレキー回路を作る事にしました。 手元に、PIC16F1827があり、8文字、2行表示のLCDもありますので、これを使い、以前製作した、PIC12F675によるエレキー回路を改造して実現する事にします。

エレキー回路配線図 elekey4test.pdfをダウンロード

せっかく作りますので、モニターTONEも正弦波で出力させ、小さなスピーカーを鳴らせるように、PWMオーディオアンプも付けました。 モニタートーンの周波数は500Hzくらいから1500Hzくらいまで、可変出来るようにし、可変中は、モニタートーンのみ1.5秒くらい聞こえるようにしてあります。この場合、キー出力は出ませんので、いちいちトランシーバーの送信を禁止する必要は有りません。

エレキーの可変スピードの範囲は2WPMから40WPMまでとしましたが、実際に使われるのは18WPMくらいから28WPMくらいです。

従来のエレキーでは、マニュピレーターの動作を周期的にチェックする時間は16msecで、一応チャタリング対策は出来ておりましたので、今回も16msecとしました。

FTDX101Dをキーイングする信号はフォトカプラーで完全にGNDを分離し、PCやエレキーの誤動作防止としました。 PCからこのエレキーに接続するのはUSBからRS232Cに変換するアダプターを使い、PCとこのエレキーの間にフォトカプラーを入れ、PCとエレキーのGNDも絶縁してあります。

Elekey1827_1

760hz_tone

上は、出来上がったバラック状のエレキー回路です。 左は、モニタートーンの波形で、5bitのDACから出力したものです。 完全な正弦波ではありませんが、レベルゼロの位置からスタートし、レベル0の位置で終了するようにしてありますので、キークリックは全くでません。

TONE信号を作る為に、1サイクルを20分割した5bitのデータを作り、タイマー2が割り込みする間隔を指定して、TONE周波数の可変を行っています。 表示される周波数はこの割り込み周期から計算されたもので、実際の周波数とは、若干ずれている場合があります。

これをケースに入れる為、ケースを発注しましたので納品され次第、組み込むことにします。

マイコンプロブラム Elkey4ContestV102.cをダウンロード

やっとケース加工が完了しました。 以前作成した160m用SSB/CW送信機と横幅がほぼ同寸法になりましたので、シャックの中でも納まりがいいです。 FTDX101DのCW符号は、CWの設定規則通りのキータイミングでしたので、今後は、私なりのキーイングスタイルで、CWコンテンストを楽しめそうです。

Elkey4testcasein

 

INDEXに戻る