2014年12月31日水曜日

2014年という年

早いもので2014年もあと12時間切ってしまいました。

というわけで、今年のまとめを。

仕事や他の趣味についてはブログの趣旨から外れるので置いておいて。

アマチュア無線的には、やはり136kHz帯運用が中心になったということでしょうか。他はALLJAとFDにお誘いを受けてコンテスト運用をしたり、たまにHFと2mのCWでQSO(DXはほとんどやってない^^;)やロールコールに参加するくらいでした。136kHz移動運用は月1回のペースに至りませんでしたが、いろいろな場所を訪れ運用しました。そのたびに改善点や設備的な限界も見えてきました。

4月には全日本長中波倶楽部主催のアクティブアンテナコンテストに出品、手持ち部品で作ったPA0RDT Mini-WhipでしたがLF帯はもちろんのことVLF帯の受信にも使えることがわかって驚きました。基板を一つ余計に作ってあるので今度はノイズキャンセラー用のノイズアンテナとして製作を考えています。

8月の終わりにはハムフェアで全日本長中波倶楽部のブースにTX136用のマルチモードビーコンコントローラーを展示させていただきました。その後、TX136本体のdsPICにQRSS,DFCW,WSPRビーコンプログラムを組み込んだ改造ファームウエアがJUMA FORUMに投稿されたのを見て自分も同機能を組み込もうとプログラム改造に着手しました。

10月中旬の千葉コンは先日結果発表がありましたが、残念ながらまた2位でした。2局差でしたが相手局の信号を良好に受信できてもこちらの信号が届かなかったので、受信は良いとしてもう少しアンテナの効率を上げる必要性を感じました。さらに11月のJD1父島運用局交信トライでもアンテナ入力抵抗が過去最低の33Ωとなりましたが、激しいノイズの中信号を受信できたにもかかわらずこちらの信号が届かず、なおさら送信能力をもっと引き上げねばと。まず目をつけたのはローディングコイルの改良ですが、年内に材料は揃ったので来年早速製作に取り掛かることにしてそれからアースの改善方法を検討していくことに。

あとPIC関連ですが、アセンブリ言語からC言語でのプログラミングに切り替えてある程度実用的なキーヤーを組んだこと、それに付随して基板の設計やキット頒布ができたこと。あとはDDSや簡単な液晶を扱えるようになったことでしょうか。またそのおかげで最初ぜんぜんわからなかったTX136のプログラムソースも多少読めるようになってきました。

そんなわけで、振り返ってみると自分なりに少しは進化したようなので(笑)来年もさらに進化できればいいなーと思う今日この頃です。




今回はこれで今年最後の投稿となります。皆様良いお年をお迎えください。

2014年12月27日土曜日

年末の変更申請

今年もあとわずかになってきました。

新ローディングコイルの材料も揃ったし、TX-136/500改造も進めないといけないんですが、年末に別方面で忙しくなってしまったためこれらプログラミングや自作はおあずけ状態です(笑)。

ただひとつ、TX-136の変更申請だけはやっておこうと保証認定をとって電子申請を済ませました。

もともとTX-136はA1A(通常CWとQRSS、OPERA)で免許されていたわけですが、(135kHz帯自体はすでに別の送信機でF1B, F1Dは免許されています)FSK改造に当たって最初届出だけで済むだろうと思って過去電子申請しました。ところがAFSKでなく直接DDSに命令を送って周波数シフトをかけるということで保証認定を通す必要があるとのことでした。

少々ややこしいなと思いましたが、過去の事例見ているとAFSKと直接FSKは結果は同じでも発生方法において直接FSKの場合発振回路の変更とみなされて届出では不可なのだろうという解釈になりました。

この件に関して、TX-2200Aという唯一メーカー製の135kHz帯送信機を販売しているサムウエイ社に過去メールで問い合わせしてみました。もともとこの送信機はA1Aのみですが、オプション付加でDFCW(0.25Hzステップ)モードが送信可能になるため、オプション後付の場合どうなんでしょうかと聞いてみましたがけんもほろろ、TSSや総通に聞いてくれとのことで(まぁユーザーじゃないから仕方ないですね^^;)TSSにもメールしましたが返答なしでした。

そんなわけで萎えてしまいしばらく放置してました。なので移動のときはCWかQRSSのみの運用でした。

そうこうしているとJARDが保証認定事業を立ち上げたので、今回こちらで保証認定申し込みをしてみました。

やり方はTSSとほぼ同じでネット上で申し込みが可能です。今回変更申請は1台のみなので3000円を振り込みあとは待つだけです。

1箇所訂正が入りましたが2週間弱で保証書がとどいたので早速電子申請しました。

台数が多いとやや高くつきますが、迅速に処理してもらえるのならJARDもありなのかもしれませんね。

そんなわけで来年は136kHz運用さらにパワーアップしますよ(笑)

2014年12月19日金曜日

12/17官報より

先日の12/17付けの官報でアマチュア帯の新バンドプランなどは発表されましたが、そのなかで注目したのは135kHz帯、1.9MHz帯での占有周波数帯域幅が100Hzから200Hzに拡大、475.5kHz帯の新設です。

136kHz掲示板によると早速関連部署に問い合わせをされたOMさんがいらっしゃったようで、そのOMさんの報告によると管轄部署のだいたいのスタンスが想像されました。あくまで伝聞なので詳細は直接掲示板をご覧いただくとして、これは475.5kHz帯免許は下ろせなくもなさそうだなという印象でした。

当局は今のところTX-500で免許を下ろそうと考えていますが(もちろんA1AのほかにF1D F1Bもです)、送信機の帯域外特に高調波スプリアスのレベルがぎりぎり(基準は50μW未満ー50W出力で-60dB未満アマチュア局では5Wを超える場合50mW以下かつ-50dB) 第3次高調波で-56dBなので50Wではちょっと足りないかもしれないぎりぎりか)なので別途LPFを付加したほうが無難です。年明けにでもつくろうかな。

また、ローディングコイルの性能からしてERPは50W出力でも1W行くかいかないかのレベルなので空中戦電力としては50Wで良さそうです。

一応ダミーロードとオシロスコープで電圧を測定して算出したTX-500の出力は13.8Vで54Wでしたが、50Wぎりぎりになるような電圧の調整とスペアナによる高調波レベルの変化を確認しておきましょう。

もうひとつ問題は運用場所です。要件に合いそうな運用場所をひとつだけではなくいくつか選定して望んだほうが良さそうです。移動できる場所での検査になるようで、運用場所の住所が免許に記されるらしいです。運用場所はそこだけになるのかどうかはわかりません。

2014年12月14日日曜日

JUMA ファームウエア改造記 その2

JUMA TX-136/500用ファームウエアを徐々に改造中ですが、備忘録的に。

前回1Hz桁表示とチューニング、CW速度1WPM以下設定改造をしました。juma-tx500.cファイルのFREQ+ FREQ-ボタンにそれぞれ押しっぱなしフラグをたてて、短押しで1Hzステップ、押しっぱなしで10Hzステップ調整としました。もともとチャタリング対策で100ミリ秒ほどディレイを置いているものの時々短押しのつもりが10Hz動いてしまうことがあるので別途カウンタを設けて0.2秒以上の長押しで10Hzステップになるように追記しました。

int temp_time;                    // for save delay time  変数宣言追加)

 【juma-tx500.c メインループ始まり部分】

 // Main forever loop _____________________________________________________________________________________________________________

    for(;;)
        {
        MAIN_TEST = !MAIN_TEST;              // timing test
        static unsigned char sw_flag = 0;    

      // status flags bit0:UP button, bit1:DOWN button, bit2:setting change

FREQ+ボタン処理部分(FREQ-も同様の処理)

// Freq +/- (PA100 Band buttons)
//        static unsigned char sw_flag = 0;
        static unsigned char cnt = 0;
        if(FREQ_UP == 0)                    // Band + button
            {
            sw_flag &= 0xFB;                // clear frequency change end flag

            if(RFPWR == 0)
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 100;     // speed tune
            else if(sw_flag & 0x01)
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 10;     // normal tune
            else
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 1;      // fine tune


            if(eeprom.defval.txfreq[board_type] > hi_tx_freq[board_type])
                {
                eeprom.defval.txfreq[board_type] = hi_tx_freq[board_type];
//                beep(HZ587_31, cal.calval.beep_len);      // D tone over beep
                beep(TONE_A, cal.calval.beep_len);          // A tone over beep
                }
            else
//                beep(HZ466_85, cal.calval.beep_len);      // Bp tone ok beep
                beep(TONE_D, cal.calval.beep_len);          // D tone ok beep

            calc_tword();                    // just calculate new DDS set value

            ms_delay(BUTTON_DEBOUNCE);
            if(FREQ_UP)

                {
                sw_flag &= 0xFE;                // clear UP button pressing flag
                sw_flag |= 0x04;                // frequency change end flag
                temp_time = seconds;
                cnt = 0;
                }
            else if(cnt) sw_flag |= 0x01;
            else cnt++;


            }


また、475.5kHzの免許申請が厳しいため必要以上の電力が選択されないように、CONFIGメニューにMAX(60W...といっても実測54Wくらいなのですが^^;)を選択できなくするようなリミッタON・OFFメニューを追加して、電源ONの時にはMAXが選択できなくなる(メニューで解除できる)ようにしました。

【main関数内 select sub modeセクションに追加】 

int limit = 1;    // power limit(0:OFF for TX136, 1:ON for TX500) 変数宣言追加)

// MAX Power limitation for Mobile
                    case 11:
                    set_cur_lcd(LINE1);
                    lcd_putst("Mobile POW limit");

                    set_cur_lcd(LINE2);
                    limit = limit + encoder_get();   // power limit on /off

                    if(limit < 0)                    // keep within limits
                        limit = 0;
                    if(limit > 1)
                        limit = 1;

                    lcd_putst("Select = ");

                    if(limit == 0)
                        lcd_putst("OFF    ");
                    if(limit == 1)
                        lcd_putst("ON     ");
                    break;


【main関数内 RF powerセクションに追加】

// RF power
        if(RFPWR == 0 && FREQ_UP == 1 && FREQ_DN == 1)                // RF PWR - button alone
            {
            eeprom.defval.rfpwr++;
#if 0
            if(eeprom.defval.rfpwr > MAX_RFPWR)
                {
                eeprom.defval.rfpwr = 0;
                beep(HZ587_31, cal.calval.beep_len);            // D tone beep whe roll over
                }
            else
                beep(HZ466_85, cal.calval.beep_len);            // Bp tone beep
#endif
            if(limit)
                {
                if((eeprom.defval.rfpwr + 1)> MAX_RFPWR) eeprom.defval.rfpwr = 0;
                }
            else
if(eeprom.defval.rfpwr > MAX_RFPWR)                    // check roll over
                eeprom.defval.rfpwr = 0;

            switch(eeprom.defval.rfpwr)                            // sound different tone for each power level
                {
                case 0:
                    beep(TONE_A, cal.calval.beep_len);            // A tone beep
                break;

                case 1:
                    beep(TONE_B, cal.calval.beep_len);            // B tone beep
                break;

                case 2:
                    beep(TONE_C, cal.calval.beep_len);            // C tone beep
                break;

                case 3:
                    beep(TONE_D, cal.calval.beep_len);            // D tone beep
                break;
                }

            ms_delay(BUTTON_DEBOUNCE);
            while(RFPWR == 0)
                {
                }
            }


あと、オリジナルでは設定変更や周波数の変更が電源OFFのときにのみEEPROMに書き込むようになっており、不意の停電で設定変更が反映されないという事象に対して、CONFIGメニューの離脱5秒後、または周波数変更完了の5秒後にEEPROMに書き込むようなコードを追加しました。

【DISPLAY/CONFIGボタン長押し処理部分】

            if(long_push == 0)                 // major mode change
                {
                lcd_mode++;
                sw_flag &= 0xFB;
                if(lcd_mode > MAX_LCD_MODE)
                    {
                    sw_flag |= 0x04;           // setting change end flag
                    temp_time = seconds;

                    lcd_mode = 0;
                    }


【メインループ内に追加 5秒後に記憶する】

        if(sw_flag & 0x04)
            {
            if((seconds - temp_time) == 5)
                {
                save_defaults();

//             beep(TONE_C, cal.calval.beep_len);           // for debug
                sw_flag &= 0xFB;
                }
            }


改造中にコードを読むことでだいたいの処理の流れがおぼろげながら見えてきたところです。今後は必要な処理を考える上で、オリジナルプログラムでのEEPROM書き込み読み込み、タイマー処理(内部にフリーの秒カウンタがあるので活用するなど)の仕方を読み取っていこうと思います。

メッセージメモリ読み書き部分はKeyer Mini-V2のコード流用が出来そうです。


MAX制限のメニュー

2014年12月10日水曜日

JUMA TX-136/500ファームウエア改造第2弾発動

かねてから課題だったTX-136/500送信機単体のマルチモード化を少し始めることにしました。

今までは送信機のMCU(dsPIC)に微小シフト命令を追加しRS-232C(EIA-232-E)経由でコマンドを送信するコントローラを使ってQRSS, DFCW, WSPR, OPERAの多モード送信を実現してきました。PICによるWSPRシンボル生成が完成しコントローラーのプログラムを書き直そうと考えていましたが、JUMAフォーラムにフランスのアマチュア局が送信機単体でマルチモードを実現したプログラムを紹介したのに触発され、コントローラープログラムより前に送信機単体での送信対応をやってみようと考えました。

まず手始めに送信周波数調整と表示を10Hzから1Hz単位にする、CW速度調整をPC経由でなくても0.1WPMまで下げられるようにする、という改造です。

ソースファイルを眺めると、もともと1Hz表示は可能だけれどもLCD表示範囲の関係で1Hz桁だけはみ出して表示しきれないようだったので周波数表示の前のモード表示の文字数を6文字分から5文字分に1文字減らすように書き換えただけできちんと1Hz桁まで表示ができるようになりました。

また、周波数調整もUp、Downともにもともと1Hzずつ調整は可能ですがスイッチによって10ステップ(= 10Hz)ずつ変化させているのでこちらも1ステップずつ変化するように書き換えればOKです。しかし、1Hzずつの変化だけでは不便なので暫定的に長押しのときのみ10Hzずつ変化するようにして、PWRボタン押しながらで100Hzずつ変化するアクションも残しておきました。

組み立て当時(2年前?)
ファームウエア改造後 下のTX-500も同じものに書き換えました
 あっさり1Hz表示と調整が可能になりました。(もちろん周波数制限を加えてあります)ここら辺の融通が利くということはもともとのプログラムが優れているからなのだろうと感じました。

次のステップはQRSS/DFCW部分の作りこみですが、既存のビーコンシステムのプログラムを改変するよりもまったく別個に作ったほうが良さそうです。また通常のCW運用では1Hzまでの細かい調整が必要なさそうなので従来の10Hz単位の表示&調整に戻してQRSS/DFCWなどの狭帯域デジタル通信モードに入ったときに1Hz単位の表示&調整に変えるようにすることと、モードごとに運用周波数とメッセージをメモリできるようにする、といったところを中心にプログラムしていこうと考えています。

改造例1:周波数UPボタン処理(短く押すと1Hzずつ、長く押し続けると10Hzずつ連続可変)

(juma-tx500.c 1198行~ 赤文字部分を追加)

 // Freq +/- (PA100 Band buttons)
        static unsigned char sw_flag = 0;
        if(FREQ_UP == 0)                                         // Band + button
            {
            if(RFPWR == 0)
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 100;    // speed tune
            else if(sw_flag & 0x01)
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 10;    // normal tune

            else
                eeprom.defval.txfreq[board_type] = eeprom.defval.txfreq[board_type] + 1;    // fine tune
 
            if(eeprom.defval.txfreq[board_type] > hi_tx_freq[board_type])
                {
                eeprom.defval.txfreq[board_type] = hi_tx_freq[board_type];
//                beep(HZ587_31, cal.calval.beep_len);                // D tone over beep
                beep(TONE_A, cal.calval.beep_len);                    // A tone over beep
                }
            else
//                beep(HZ466_85, cal.calval.beep_len);                // Bp tone ok beep
                beep(TONE_D, cal.calval.beep_len);                    // D tone ok beep

            calc_tword();                                            // just calculate new DDS set value

            ms_delay(BUTTON_DEBOUNCE);

            if(FREQ_UP) sw_flag &= 0xFE;
            else sw_flag |= 0x01;

            }


改造例2:1Hz桁周波数表示処理

 (juma-tx500.c 1430行~ 赤文字部分" "内の6キャラクタを5キャラクタに削る)

// second line
                set_cur_lcd(LINE2);                                // second display line

                if(alarms !=0)                                    // alarm display
                    {
                    display_cw_speed();                            // display formatter for CW speed

                    display_alarms();

                    lcdoutch(' ');
                    disp_tx500_freq(eeprom.defval.txfreq[board_type]);
                    }

                else                                            // normal display
                    {
                    if(    key == 1)
                        {
                        display_cw_speed();
                        sprintf(lcdpbuff, "  TX  ");
                        lcd_putst(lcdpbuff);
                        disp_tx500_freq(eeprom.defval.txfreq[board_type]);    // display frequency
                        }
                    else
                        {
                        switch(eeprom.defval.pa_state)
                            {
                            case 0:
                                display_cw_speed();
                                sprintf(lcdpbuff, " STBY ",eeprom.defval.cwspeed);
                            break;

                            case 1:
                                display_cw_speed();
                                sprintf(lcdpbuff, " OPER ",eeprom.defval.cwspeed);
                            break;

                            case 2:
                                display_cw_speed();
                                sprintf(lcdpbuff, " TUNE ",eeprom.defval.cwspeed);
                            break;
                            }

                        lcd_putst(lcdpbuff);
                        disp_tx500_freq(eeprom.defval.txfreq[board_type]);    // display frequency
                        }
                    }


という具合に最小限の追加修正で実現できます。

このソースファイル群はC30コンパイラ用に記述されているのでC30でコンパイルするのが望ましいです。新しいXC16でも可能ですが、割り込み処理の記述が異なっておりこの辺の互換性が取られているのかは不明です。実際XC16でもそのままコンパイルできましたが、当局の環境では一部動かない部分が最近見つかったので現在C30でコンパイルしたものに入れ替えています。

年末は他の事でいっぱいいっぱいなので続きは落ち着いてからでどうかひとつ。

2014年12月3日水曜日

とうとうアレ(?)に手を出してしまった。

JD1チャレンジから1週間経ち、ふつふつと沸いてきた思いをついに実行に。

というと大げさですが、136kHz運用開始前からずっと付き合ってくれたローディングコイルをそろそろリニューアルしようと考えていました。今年の目標にも掲げていたことですがアンテナシステムの改良の一環として新ローディングコイルの製作をようやく実行に移すことにしました。

現用のローディングコイルと先日製作した475.5kHz帯用のローディングコイルを踏まえて以下のように仕様を考えました。

・コイルボビン径は現用と同じ25cm径
・コイル線剤をリッツ線として無負荷Q≧500を目指す
・メインコイル単独で6~7mHのインダクタンスを確保する
・バリオメーター内蔵として、インダクタンス可変域5~8mHとする
・バリオメーター機構は金属フリーの素材を用いる
・バリオメーター操作に減速機構をつけて微調整しやすくする
・高周波電流計と絶縁型インピーダンストランスを組み込む(できれば)

要はやはりこちら。


...リッツ線であります。

リッツ線は表皮効果を抑えることによって高周波抵抗を下げコイルなどに使う場合Qを高く保てる利点がありますが、ひと口にリッツ線といってもさまざまで一体どれを選べばよいのか見当もつきません。

JH1GVY森岡OMが、おそらくオヤイデで売られているのと同じものと思われる素線0.08mm径UEW30本のリッツ線を10本撚ったものを130m余り使用して作成したローディングコイルを紹介されています。資料によると0.08mm/30リッツ線の直流抵抗は125.9Ω/kmで、10本束ねた場合単純計算で12.6Ωとなり130mだと1.6Ωになります。このときの高周波抵抗が136kHzで3.8Ωという結果がでており、直流抵抗の約3倍弱に相当すると思われます。また、素線がなるべく細いことで抵抗が下がる傾向だそうです。

そこで0.08mm/300の長いリッツ線を探してみましたが、なかなか目的に合うものがなく結局マイクロ・パワー研究所のリッツ線在庫リストの中にある0.08mm/250のリッツ線が一番近そうだったので160mほど購入しました。D-STARデュアルバンドハンディ機が1台買えるほどの値段でしたが...

6mH台のインダクタンスを得るのにはリッツ線は150mほど(単層巻きの場合)必要になり、0.08/250リッツ線の直流抵抗は 2.26Ωで予測交流抵抗は5~6Ωといったところになります。Qは600~700いけると良いかなぁと。

他に必要な材料はほぼそろいましたが製作は年越してからになりそうです。

閑話休題。

先ほどJD1に移動されていたJA1BVA齊藤OMが帰宅され136kHz掲示板に運用記を上げられていました。

内容を見てみると早朝夜間よりもどちらかというと0800JSTから0900JST台が一番つながるチャンスがあったように思いました。そういえば2月のとき0900前後で本土と交信していましたね。一方24日早朝の当局の信号はどうも捉えられているような感じではなかったようでちょっと残念...

またアンテナ設備の展開が今後移動場所で厳しくなってしまうらしく今回でJD1での136kHz運用終了とのアナウンスがあり、これまた残念です。当局にとってみれば不完全燃焼といった感じですが、まぁ仕方ないですね。

これからは、もう少し移動範囲を拡げて(といっても国内ですが^^;)CW交信距離を伸ばしていきたいです。

とりあえず来年の関ハムシンポ前日の関西移動から(鬼が笑う(笑)

2014年11月25日火曜日

ワンチャンス~JD1交信チャレンジ@136kHzの顛末記~

小笠原まで約950km!
前記事のようにJD1AHC局による小笠原からの136kHzCW QRVにあわせて先週土曜日の夜に移動場所を視察し、時間があったらアンテナの設営等々チェックしてそのまま日曜日の早朝から午前中QSOにトライしようと目論んでいましたが、その週末の土曜日午後に別なところで予想もしなかった緊急事態が起きたため予定したチャレンジを一旦断念せざるを得ませんでした。

緊急事態はなんとか収まる方向になりましたが、もうすでにチャンスはあと翌日の月曜日しか残っていません。しかもその日は朝から仕事です。しかし最後のチャンスなんとかしたいと思って一念発起し、急遽始業の午前8時までに帰りが間に合うように早朝6時からのQRVにあわせて千葉県木更津市のとある海辺を目標にぶっつけ本番移動敢行しました。

午前4時半まだ真っ暗な中車でアクアラインを通過して5時10分ごろ現地に到着。休む間もなく暗闇の中設営開始しました。いつもは1時間くらいかかる設営も半分の30分で12m傘型2条アンテナシステムが立ち上がりました。

今回設営時間が短縮したポイントはアースマットを使わずにアースを海中に落とすという作戦でした。また、今までの経験から当局が作成したアースマットではアンテナ入力抵抗は50Ωあたりが限界だろうと予測しており、アースを海中に落とし入力抵抗がさらにもっと低くなることによってアンテナ放射効率が上がることを期待しました。

20x40cm程度のステンレスパンチングボード1枚をアース板として使用
後ろの低い防波堤越しにボードを海中へ
 VNA(miniVNA pro BT)で測定した結果共振点(135.6kHz)でのRは33.3Ωを示しており、今までの運用の中でもっとも最小でした。その分同調操作はクリチカルで回すか回さないかくらいの力加減で136.6kHzまで同調点を移動。ただしインピーダンス変換トランスは33Ωポイントがないので25ΩポイントにつなぎVSWRは1.2から1.4となりました。

何もいじらないでそのまま測定した結果 Rカーブが同調点で33Ω付近を指している
バリオメーターを回すか回さないで徐々に1kHz上まで同調点を移動 減速機構がほしくなる
 ようやく辺りが明るくなってき始めた6時10分ほど前より136.6kHzワッチ開始。前回移動の勝浦市と異なりプリアンプをOFFにしてもS9くらいは常時振りっぱなしの強いノイズの隙間から聞こえる弱いCWトーンを確認。感覚的にRSTは329といったところでしょうかトーンはしっかり聞こえもののなかなか符合が取れません。やっとのことでJD1AHCのIDがわかったのでトーンが途切れたところでコールを何回か送ったもののコールバックなのかがなかなかわからず、結局6時25分ごろタイムアップ。急いで撤収と相成りました。連休の早朝が幸いして帰りはいたってスムーズで40分ほどで仕事場に到着することができました。

 JD1AHC@小笠原父島からの信号(YouTubeより52sec.)
撤収中 急いだのであまり写真が撮れませんでした
QSOこそかないませんでしたが、またこちらの信号のかけらがJD1AHC局に捕らえられていたのかわかりませんが、今回JD1からの136kHzのCW信号が受信できたことはひとつの大きな収穫でした。それから海中アースの実現によって車に頼らない(重くて大きなアースマットを運ばなくて済む)移動運用スタイルの確立に一歩前進しました。次の課題としては、コイル損を少なくするためリッツ線によるHiQローディングコイルの作成といったところでしょうか。

2014年11月15日土曜日

JD1交信チャレンジ@136kHz

今年2回目のJD1AHC/JA1BVA局の小笠原136kHzバンド運用計画が発表されました。

前回2月の運用では四街道市のJA1CNM局との2way CW交信が成立しています(0900JSTごろ)。当局も雪の残る中南房総市の海辺に出かけ、小雪と強風に悪戦苦闘しながらJD1からの信号を待ち構えていましたが、残念ながらまったく受信すらできませんでした。

さて今回の運用予定表を見てみると、注目すべきは早朝(0600JST~)と夜間(~2000JST)運用が加わっていることです。

当局の現行アンテナシステムでは昼間の地表波伝播のみでは1000km近く離れたところまで到達させるのはかなり厳しいとみているので、電離層反射が期待できる時間帯でチャレンジしようと考えています。

また接地抵抗を極力下げてERPを稼ぎたいので、いままでのようなアースマットを敷くのではなく海ぽっちゃん(笑)できる場所での運用が望ましいかと思っています。

ローディングコイルもリッツ線を使ったhi-Qコイルにしてみたかったのですが、今回は間に合わないので次のステップに。

 ともあれ、いろいろと工夫しないとJD1との2way CWは成立しないようです。

一度136kHz帯を運用するメンバー有志が集まって本土での運用場所の選定やアンテナシステムの吟味を行ってJD1からの信号に備える、なんてのが出来れば交信の可能性も高まるんじゃないだろかとふと思いました。もしもその次があるのなら...

2014年11月6日木曜日

気になるプロジェクト

ここのところ仕事場の移転作業でゆっくりPCを弄っている時間がありませんでした。

とりあえず無事移転が済み、新たなところで心機一転となりました。

ところで普段はネット徘徊といってもtwitterよりもGoogle+のストリームを眺めることが多いです。

G+にはさまざまなコミュニティがありますが、アマチュア無線や自作関連のコミュニティも結構あります(FaceBookにはまったく登録していないので多いか少ないかわかりませんが)。それらコミュニティに入っているとストリーム上にいろんな情報が入ってきます。

でもって今日何気なく眺めてハタと気になったプロジェクトがこれ。


小型液晶にwaterfall表示まで搭載して、なおかつこの筐体デザイン。

ハードウエアもCortexM4のSTM32をMCUに、オッシレータには低消費電力DDS AD9834を採用するなど、やってみたいなーとおぼろげに思っていたことが洗練されたケースデザインとともにプロジェクトが進行していることに興奮しています。

しかも、GPSやVNAモジュールまでも内蔵しているという。

持ち上げすぎかもしれませんけど、なんとなく未来の無線シーンを感じさせるプロジェクトです。たぶん近いうちにキットとして頒布されると思われますが、特殊な部品は使っていないようなので(ケースはアルミの削りだし?のようですが)それほど高くはないだろうと予想しています。

FlexRadioやApache Labsなどから販売されているSDRとは性能的にとうに及ばないものの小型で扱いやすい、何しろPCが不要というところが自分的には良いです。

このプロジェクトより少し前に同じCortexM4のSTM32をつかったSTM32-SDRはすでにキットが販売されています。(実は初期バージョンを購入したまままだ組み立ててない^^;;)このキットもwaterfall表示が可能です。局発アナログ部分にEnsemble RXTXを流用するものでSi570だったかな。twitterのフォロワーさんが製作して(ケースは『痛仕様』ですhi)実働しているところを拝見しましたが、ややレイテンシが大きくてCW運用はちと厳しいとのことでした。PortableSDRでは、YouTubeの動画を見る限りレイテンシが少なそうな印象で実用になるかもしれないです。

とりあえずはPortableSDRがキット化するまでにSTM32-SDRを組まねば...

2014年10月23日木曜日

他のTX-136のFSK対応ファームウエア改造記事

ふとJH1GVYさんの独り言を拝見していたら、JUMAのフォーラムにフランスのアマチュア局がTX-136用のQRSS, DFCW, WSPRビーコンに対応した改造ファームウエアを投稿していると紹介されていました。

さっそくJUMAフォーラムへ。

そこには、QRSS, DFCW対応とWSPR追加対応のファームウエアのソースが投稿されていました。

http://www.board.jumaradio.com/viewtopic.php?f=11&t=239 :QRSS, DFCW
http://www.board.jumaradio.com/viewtopic.php?f=11&t=242 :WSPR

送信機単体でFSKモード対応はもちろん1Hz桁周波数表示や、RS232C経由でGPSに接続して同期を可能にするなど自分が実装したかった機能までほとんど実装されいてすごいなーこりゃまいったと思いました^^;

ダウンロードしたソースファイルを眺めると、同じような目的なのにアプローチの仕方が微妙に違うところが見られてなんとも面白いです。

すでに実現する機能がそろっているならわざわざ自分で開発する必要もなくなるかなと考えていますが、プログラミングの自己研鑽のため続けることにします。

475.5kHz帯開放に合わせてTX-500のファームウエア改造(オフバンド対策とFSK変調対応)も行うので、ソース改造点など逐一公開していこうと思います。まぁ需要少ないと思いますけど^^;

2014年10月21日火曜日

第29回オール千葉コンテストに参加しました

昨日の19日の12時から18時まで第29回オール千葉コンテスト(通称:千葉コン)が行われました。

数あるコンテストの中でも136kHz帯部門があるのはこの千葉コンと四国かどこかのコンテストのみです。当局は昨年千葉コンで千葉県内に移動して136kHzデビューを果たしたわけですが、このときは台風でもないのに嵐のような荒天でいろんな意味で思いで深いコンテストなのです。

でもって今回は勝浦市(JCC1218)に移動してコンテストに参加してまいりました。

やはり一人では何かと心細いので、昨年と同じく旧ローカルのどよよん無線技士さん(JM1DPL局)をお誘いしてみたら今回も来ていただけるということでした。

当日アクアラインを通って袖ヶ浦駅でどよよんさんをピックアップしようと考えていましたが、ふと流していたラジオから同日ちばアクアラインマラソンが開催されるためアクアラインが通行止めになるらしく、会場周辺が渋滞すると予想されたことから急遽どよよんさんのご自宅の近くまでお迎えに上がることにしました。

現地到着を9時から10時にしようと思ったので、朝は4時過ぎに起床。まだ暗いうちに自宅を出発、6時過ぎに待ち合わせ場所でどよよんさんを乗せて勝浦市までおよそ2時間ほどドライブしました。途中穴川のあたりが少し渋滞しただけで道中はいたってスムーズ、かつ崖崩れなど心配した台風の影響もなく9時半ごろ無事現地に到着しました。

午前中は快晴 午後雲は出てきましたが風もなく穏やかでした
結構広めの駐車スペースの奥の一角に駐車。到着して設営し始めた頃、別の局が車でやってきて昼までの間移動サービスをなさっておりました。この場所は移動場所として結構使われているのでしょうか。

持参したアンテナアナライザとタブレットPCとのBluetooth接続の調子がいまひとつでうまく接続できないというハプニングがおきました。しばらくどうにもならなかったので、どよよんさんにお願いしてリグエキスパートのAA-54をお借りして測定しました。バリオメータの位置は何回かの移動経験からほぼ決まっていましたが、AA-54のおかげですんなり調整できました。どよよんさんTNXです。

そのあと自前のアンテナアナライザを直接USB接続して測定しようとしましたが、USBシリアル変換用デバイスドライバのインストールが必要になり、携帯のテザリング経由でネットに接続。ドライバをダウンロードしてやっと接続OKに。ようやく測定が可能になりました^^;

しかし、今回は天候に恵まれたためアンテナは久しぶりに風にあおられることなく安定していました。いつもの2条傘型12m短縮バーチカルでローディングコイルとアースマット10枚地面に直置きして測定するとアンテナ入力は80Ω程度とまずまず。インピーダンス変換トランスで136.5kHzでVSWRは1.0から1.1と良好でした。

これだったらもう1条ないし2条追加すればよかったかなぁとあとで反省しました。

移動局全景 いつのも12mポールを目いっぱい伸ばす
テーブル置いて仮シャック構築 奥にいるのは誰?(謎





















136kHz・475.5kHzローディングコイルを並べる ずいぶん大きさが異なる
バッテリー運用 送信機はTX-136 受信機はFT-857の直接受信
 周りに高圧線や民家も少ないためでしょうか、ノイズが極めて少ないです。たいていS8くらいは常時振っているものですが(昨年の千葉コンは雑音も大きかった)こちらでは無信号時周囲ノイズによるメーター振れもほとんどなくFBでした。そしてコンテスト開始前の11時ごろからすでに136.5kHzはにぎやかでした。

もともとFT-857は135kHz近辺で内部雑音レベルが高く(無理やり感度を上げているのか理由はわかりませんが)一部の方から136kHz直接受信には向かないだろうといわれています。しかしTX-136内蔵の受信プリアンプをオンにしたら周辺ノイズレベルが低いためかノイズレベルに近い弱い信号が浮き上がってよく聞こえました。周囲ノイズが少ないときの外部受信プリアンプの効果を実感しました。

QSOできた局は、JA1CGM, JH3XCU/1, JA1HQG/1, JA1MVK, JN1MSO, JA1NQI, JA1CNM, JH1INMの計8局で、受信できた局はJA7NI, JP1ODJ, JA1SGUでした。

受信できた局も20dBプリアンプオンでS5から9と強力でしたが、こちらの信号は届きませんでした。相手局の受信状況もあると思いますが、こちらの送信能力の改善が課題となりました。傘骨が2条張れるところなら3条または4条に増やしてみるとか、ローディングコイルの損失を減らすとか、アースマットの枚数を増やすなど。また、移動場所も水田近くで用水路にアースを投げ込んで接地抵抗を減らすなどいろいろな面で工夫がまだまだ必要です。

とりあえず今回のスコアは13 x 5 = 65点と前回より微妙にアップしました^^;

ひととおり交信するとちょっと暇なので、137.775kHzあたりで一発QRSS30を出してみました。アンテナの同調は136.5kHzそのままで取り直さず送信出力も5~6Wに抑えてみました。VSWRは2.8と高く、ERPもかなり低いと思われましたがJA5FP, JP1ODJなど主要なグラバーにバッチリ映っており、QRSSの到達度に改めて感心しました。

さて夕方になり136.5kHzの信号も途絶えていたので、エレメントとアースマットをそのままに136kHzのコイルを外して別途VU-60に園芸用アルミ線でスペース巻きし作成したローディングコイル(最大120μH程度)に替え1.9MHzにバンドチェンジしてみました。終了までの50分の短時間でしたが、呼びまわりとCQで20局交信できました。

1.9MHzもノイズは少なく思ったよりたくさんの局と交信できました。今後の移動運用は136kHzに加えて1.9MHz, 3.5MHzもこのスタイルで運用していきたいですね。

コンテストが18時で終了したときにはすでに辺りは真っ暗。街灯はありましたがまったく点灯していないので、何も見えない中LEDランタンの明かりを頼りに1時間かけて撤収しました。撤収して一息し上空を拝むと、都会からわずか2時間ほど離れたところでしたが無数の星が空一面に見えました。残念ながらiPhoneではキレイに撮れません^^;せめてコンデジでももっていけばよかったかなー。

移動地を離れたあと、お腹がすいたのでどよよんさんのお家の近くのファミレスになだれこみ打上げを兼ねて無言でがっつり食べました^^


しばらく歓談し、どよよんさんと別れたあと23時ごろ自宅に無事到着、そのまま疲れて寝てしまいました。

車中でもどよよんさんといろいろお話しましたが、自作の話や475.5kHz帯の200mルールの話、などなどかなり深いお話ができました。結論はアマチュア無線はいろいろと楽しみ方があって自分なりに楽しみ方を見つけて突き進んでいくのが良いよねということでしたhi

次回もまたお誘いしようと思いますのでよろしくお願いしますー


 おまけその1
475.5kHz用のローディングコイルを136kHzのアンテナエレメント(傘2条12m)と10枚のアースマットに接続してテスト。詳細は割愛しますが、MMANAで計算した値に近いインダクタンスで同調していました。アンテナ入力は136kHz帯よりも低いです。


おまけその2
桶川市のJP1ODJのCQ。ノイズが少ないため非常にクリアに入感していたのでコールしましたが残念ながら応答なし。符号ミスっているのはご愛嬌っていうかはずかしぃ~^^;;;

2014年10月16日木曜日

TX-500の簡易スプリアス測定(追記あり)

ここのところ136kHz掲示板でSOS送信機の475.5kHzへの転用の投稿で盛り上がっており、そのなかでスプリアスについて盛んに討議されています。475.5kHz帯免許申請での設備の落成検査に対応する準備として送信機のスプリアス特性を当局も把握しないといけませんね。

すでにJUMAのサイトにはTX-500の高調波測定結果がアップされています。

60W出力でいずれの高調波も基本波より-60dB以上減衰が確保されているようですが、実際どんなものかということでTX-500に50Ωのダミーロードを接続し微小容量でカップリングしさらに-20dBアッテネータをつなげたAPB-3のスペアナモードで高調波と隣接スプリアス(帯域外発射)を観察してみました。

まずは高調波から。



3MHzスパンRBW3kHzでスキャン。2次高調波は-59.74dB、3次高調波は-45.32dBとJUMAの測定結果より甘く特に3次高調波が目立っています。測定環境が厳格でないので結果の信頼性は高いとはいえないですが、3次高調波に対して追加のLPFを装着するかどうか検討は必要そうです。

続いて、隣接スプリアス(帯域外発射)を観察しました。



 上は5kHzスパンRBW10Hz、下が2kHzスパンRBW10Hzで測定した結果です。

 連続スキャンでの確認しましたが、基本波に低速高速とも揺らぎはほとんど見られません。また基本波から600Hzごとに-86dB以下の微弱な信号が見られますが、この原因については不明です。

  以上簡易的にTX-500の送信波を観察してみましたが、極端なスプリアスは見られなかったものの3次高調波と600Hzごとに隣接する微弱なスプリアス?については測定系を見直して再測定し追加のLPFの必要性を検討しようと思います。

2014年10月14日火曜日

ローディングコイルコイル同調確認

台風19号も過ぎ去った台風一過の晴天、またまたこのネタでひっぱります(笑)

手持ちのエアバリコン(たぶんaitendoで購入したものだと思う)と先日作成したローディングコイルで並列共振回路を構成して共振特性をABP-3のネットワークアナライザモードで測定してみました。


ABP-3は入力インピーダンスを50Ωか1MΩに設定できますが、1MΩに設定しさらに5pFのコンデンサを入出力へシリーズに挿入して同調回路への影響を極力少なくました。

MMANAでシミュレートした傘2条12m短縮バーチカルの475.5kHz共振に必要なローディングコイルのインダクタンスは628μHで、並列同調回路において対応する共振容量(≒アンテナ容量)は179.2pFです。320pFのエアバリコンですとステータから約半分くらいローテータが出るくらいになります。

上の写真の状態でABP-3で測定した結果はこのとおりです。


 

-3dBバンド幅は4.6~4.7kHzで、算出した同調回路のQはちょうど100とまぁこの程度のコイルだとそんなものなのかなぁという結果でした。

バリコンの影響も考え、最大最小容量でも測定しましたがほぼ同様の結果となりました。

そこで得られたQ値をMMANAに当てはめると、 アンテナ入力抵抗は完全導体グラウンドで19.291Ω、利得は-14.78dBiになりました。


あとは実際のエレメントではどうかというところです。19日の千葉コンは136kHzCWで参加予定ですが、開始前に136kHzと475.5kHzのデータを取ることにします。

果たしてどうなることやら。

2014年10月12日日曜日

475.5kHzアンテナ用ローディングコイル完成

週末は全市全郡コンテストでしたが、日付が変わる前後の1時間ほど80mCWで呼び回りしてあとは475.5kHz帯アンテナ用のローディングコイル製作を進めていました。

結局バリオメータ用のサブコイルをVU-60(径76mm)塩ビ管に変更して巻きなおし単独で256μHと若干インダクタンスが増えました。塩ビ管はホームセンターで50cmから1ないし2m単位で売られていますが、サブコイルの枠として6cm長にカットしてもらおうとしたらあるところでは9月で塩ビ管などのカットサービスが終了、別のところでも木材以外カット不可、また別のところでは直径5cm以上は不可ということで自力でカットしなくてはならなくなりました。仕方がないので塩ビ管専用のパイプカットソーを購入しカットしました。

自力で切るのが面倒というよりも、手で引くのこぎりは材料をまっすぐに切るのが難しくて、専用機械でカットしてもらったほうが斜め切れがなく良いのです。

ホームセンターも以前は工作材料の品揃えやサービスも充実していたのに、ここのところ通販関連に売り上げを奪われ経費削減の方向なのかどんどん縮小して、加工された生活用品が売り場を占めるようになってしまっている印象でなんとも寂しい限りです。

それはさておき、とりあえず完成しました!



上はコイルを上から眺めた図。中にバリオメータ用のサブコイルが透けて見えますね。下は蓋を外して下から眺めた図。サブコイルの中央にプラスチックのビスを両側から突き出してそれを軸にし、片方に赤いスプロケット(大)を取り付け。手前に6ミリ径の調整用ツマミを取り付けたシャフトを通すアクリルパイプをサブコイルの回転軸受けのアクリル板に通して固定。シャフトの片方にはスプロケット(小)を取り付けスプロケット(大)とともにラダーチェーンをかけます。回転機構を取り付けたサブコイルをメインコイル内に納めてプラスチックビスで固定しサブコイルとメインコイルを配線し完成。

ラダーチェーンとスプロケットを含めビスにもプラスチックを使用するなど金属部品を極力排しましたが、無茶しなければ強度的にも問題なさそうです。

減速機構を兼ねてプーリーにしようと思いましたが、ゴム劣化によるベルト切れや滑りが心配だったので、減速比が1:1.5と低めですがチェーン式にしました。

完成後LCメーターでインダクタンスの測定行いました。





最小インダクタンスは約536.8μHとなりました。



最大インダクタンスは1301μHとほぼ予測通りとなりましたが、1500μH(12m傘なしバーチカルの必要インダクタンス)にわずかに届きませんでした。





しかしながら、これで136kHz帯運用での傘2条12mバーチカルアンテナを流用することが可能になりました。時間があればエアバリコンで475.5kHz帯に同調させたときのQ値を測定してコイル抵抗とアンテナ入力抵抗を予測してみたいと思います。

とにもかくにもこれで、来週の千葉コンの前に475.5kHz帯アンテナ実験が出来そうです。

それはそうと台風19号が通過したあとの障害が心配です。当日の天気は大丈夫だと思うんですが、18号通過後の12県内の道路障害がまだ残っているようなので、この上19号で障害が広がったりすると移動予定地まで果たしてたどり着けるのかどうかなんともいえない状況になるやも知れません。実際困難であれば他の移動候補地への移動も念頭におかなくてはいけませんね。当日はアクアラインマラソンなんていうイベントもあるしなぁ...^^;

2014年10月11日土曜日

475.5kHzアンテナ用ローディングコイル製作中その1

こんな状況になってしまいましたが、ともかく準備は進めておこうかと思ってローディングコイルの製作を開始しました。

136kHz用の12m2条傘型の短縮バーチカルの流用を想定し、MMANAでシミュレーションしたローディングコイルの必要インダクタンスはおおよそ600μHでした。先に100円ショップで購入しておいた12.5cm径高さ11cm程度の円筒形プラスチック容器にまずメインコイルとして1.0mm径のPEWを密巻きしました。
巻いた線のずれ防止に両面テープをあらかじめ巻いています
 コイルはバリオメータの調整棒のため下端より15mmほど上から巻き始めます。巻き始め端はサンドペーパーで被覆を剥いてハンダあげしビスナットでボビンに固定しておきます。
上端も被覆を剥いてビス止めしてあります
 上ぎりぎりまで巻きましたが、コイル長9cmで巻き数は80回でした。インダクタンスは計算上、計測上とも670μHと一致しており、簡易Q計測では100kHzで160~200程度でした。

上の写真でチラ見してますが、バリオメーターのサブコイルは7.5cm径の円筒容器に中央の回転軸部分を避け3cm長で同じ1.0mm径のPEWを2層重ね巻きで50回巻けました。インダクタンスは227μHほどで、これらのコイルの組み合わせでは計算上600~1300μH可変域を得ることができます。

ただし、傘なしの単純な12mバーチカルだとあと100~200μHほど足りなくなってしまうのでサブコイルは作り直したほうが良いかもしれません。

左の袋はバリオメーターの回転機構に使うTAMIYA製ラダーチェーン&スプロケットセット
台風19号の影響がなければ今度の千葉コンテストは参加できそうです。その折にこのローディングコイルを使って475.5kHz帯のデータを取ろうと思います。送信はもちろん出来ませんが。

475.5kHz帯の免許にかかわる審査がこれだけ厳しいのは、中波帯受信設備への影響を強く懸念しているあらわれなのでしょう。落成検査が当分必要なことは致し方ないかもしれませんが、パブコメに対する総務省の見解で、200mとした根拠の基になる具体的なデータの開示もないままただ単に関係業界との検討の結果だとしか記しておらずまったくはぐらかしている感じで、本当にそれが妥当なものなのかと疑念を拭い去ることが出来ません。

しかし、あれこれ言ったところでほぼもうこれで動くことになるので、これからはなんとか免許を下ろすことを模索して実運用にこぎつけたいところです。その上でアマチュアでも実運用のなかで中波放送受信設備への影響について何かしら検討を重ねていけると後々のためにいいのかなと思います。

2014年10月10日金曜日

475.5kHz帯免許の壁

ついさきほど、総務省の広報からアマチュア業務に使用する電波の形式及び周波数の使用区別を定める国事の一部改正案等に対する意見募集の結果がサイトに掲載されていました。

やはり200m基準は覆らずその上に、『475.5kHz帯の周波数を使用する無線設備は、放送の受信設備への混信の有無を厳格に確認する必要があることから、当分の間は、技術基準適合証明等やアマチュア局の無線設備の保証による簡易な免許手続の対象とはせず、総務大臣による検査を必要とします。』(原文引用)という新たなハードルが設けられるようです。関係各所の同意書もしくは200m圏内に自己所有以外の施設がないことを証明する地図等の提出という具体的な条件も出てきました。

これは常置場所での条件が満たされない場合は、常置場所ではなく他で移動運用するとしても免許が下りないということになるのでしょうか。となれば、条件を満たす場所に常置場所を変更する必要が出てきそうです。

普通に住んでいるところを常置場所としている場合半径200m範囲内の他施設所有者の同意をすべて取り付けることは極めて困難です。

475.5kHz帯の免許を下ろすハードルが実に高いですが、なんとか知恵を絞っていきたいものですね。

2014年10月5日日曜日

PIC WSPR for TX-136 接続テスト

台風18号が近づき朝から雨模様なので外に出かけず引きこもっていました(笑)

そんなわけでPIC WSPRのプログラムを進め、微小周波数シフト対応(FSK変調)ファームウエア改造済みJUMA TX-136に接続してWSPR送信テストしました。

以前製作した外部コントローラーに使った16F648Aにそのまま換装するため同ピン数で同ピン配置の16F1847を採用、LCDモニター表示と書き換え用のプログラムをWSPRコード生成プログラムと統合して一応使えるレベルまでにしました。

 
ちょっと長めですが、WSPR2で送信。下行の[ ]内はシンボル値、右は残り数です。 

 GLとPower値を変えながら送信
実際の運用中では何回も変更することもなさそうですが、任意の移動地のグリッドローケータと出力をPCなしで変更してWSPRコードを生成できる点は便利だと思うのは自分だけでしょうか^^;

コントローラーとしては、DFCWやQRSSモード未実装でトータルの完成度はまだまだ高くないのですが、WSPRエンコード部分はこれでほぼ問題ないだろうと思います。(拡張モードには非対応ですが)

自分だけで完結するのは勿体ないので、興味のある方に希望があればソースファイルをお渡ししようかと考えています。TX-136コントロール以外にもDDSを直接制御し信号を発生させたり、トーンを発生させAFSKキーヤーに応用するのも良いかもしれません。メールお送りください。

2014年10月3日金曜日

やるなケンウッド

昨日JVCケンウッドのニュースリリースでTS-590シリーズのリファイン版TS-590Gシリーズが発表されていました。

いろいろと機能や回路などの見直しがなされたようですが、LFerとしてはこの2点に注目しました。

 1.VFOが1MHz以下の場合1Hz桁表示が可能になる。
       (FINE機能をオンにすると1Hz桁表示が出てくるらしい)
 2.DRV端子は従来の135kHz帯に加えて475.5kHz帯の0dBm出力が可能になる。

というわけです。

公称受信周波数が0.13MHzからとなっているし、±0.5ppmTCXO標準装備なのでパワーアンプさえ用意すればスローデジタルモードを含めた135kHz帯、475.5kHz帯の運用が手軽にできそうです。

YAESUのFT-1200シリーズと同価格帯なのも魅力ですね。いまのIC-7200Mを置き換えてしまおうかなぁ...

2014年9月25日木曜日

TX-136/500用マルチモードビーコンコントローラ2への一歩

mbed環境から始めて8bitPICの18Fシリーズに移植したWSPRコード生成プログラムを、さらに一つ下のクラスである16F1シリーズに載せて動作させることに成功しました。

4MHz動作ですが、浮動小数点などを使った重い計算は入っていないので速度的にはさほど問題はなさそうです。

右のICが18ピン16Fシリーズ最上位PICの16F1847 3.3V動作
右がTera term上に表示されたPIC WSPR処理結果表示
16F1847はプログラムメモリが14KB(8KW)、RAMが1KBと18ピン16Fシリーズ中最も大容量ですが惜しむらくは秋月や他のパーツ屋では扱っていません。そこで今回はRSオンラインで注文しました。1個215円ですが5個単位からの注文でした。また他にもDigi-KeyやChip One Stopでも扱っているようなのでそれほど入手は難しくないようです(Keyer Mini-V2にも将来使う予定です)。

TX136用のビーコンコントローラは16F648A(4KW, 256B)にアセンブリ言語でプログラムしましたが、WSPR用にあらかじめPCで生成したWSPRコードをEEPROMに納めていたので、移動などによるGLや出力表示の変更がその場では不可能でした。このプログラムを組み込むことによって随時コードの書き換えが出来るので、FBなんじゃなかなぁとひとり悦に入ってますhi

というわけで次はいままでのコントローラーの16F648Aを今回このプログラムを納めたPIC16F1847に換装して実戦投入したいと考えています。(他の部分を改めてCで書きなおさないといけませんが^^;)

2014年9月21日日曜日

PICにWSPRコード生成プログラムを移植(訂正あり)

WSPRコード生成プログラムをmbed環境で組みましたが、今回これを基にして8bitPICにプログラムを移植しました。

PIC18F26K22にレベル変換IC ADM3202の組み合わせでPCと接続
Nucleoに使われているARMプロセッサにくらべてPICはプログラムメモリもRAMも小さいため、とりあえず28ピンPIC18Fシリーズで最強な(笑)18F26K22(プログラムメモリ64KB, RAM1024B)をターゲットにしてMicrochip純正のXC8フリー版でコンパイルしました。コンパイルは通りましたがプログラムメモリが10%前後、RAMも22%程度と比較的大きなサイズになってしまいました。

そこで遊びのRAMを極力減らす(1ビット情報をchar型1つに割り当てず、8ビット分をひとつのchar型に収めるなど)方向でソースを書きなおしました。


プログラムメモリもRAM消費もぐっと減ってFBです。
処理過程と結果はRS232C経由でPCに表示させてます。(中央がPIC Windowsの間違い 右がNucleo 下がPICで生成した結果)

真ん中のコマンドプロンプト内はGENWSPR.EXE 右はmbedによる処理結果
PICによるWSPRコード生成結果をTeraTerm上で表示

表示関係をコメントアウトとしてコンパイルするともっと減ってこんな感じに。


これだけ減れば場合によっては16Fクラスでもいけるかもしれません。

移動場所や送信出力の変更によるコード変更もこれでバッチリいけそうです。

2014年9月17日水曜日

mbedでWSPRコード生成

mbedは対応ハードウエア(NucleoはCortex-M4搭載でも1,500円くらいで購入できる)さえあれば、PCに開発環境を苦労して構築することなく、プログラミングが容易に出来るクラウドな環境です。

先日はDDSのコントロールを試してみましたが、今回はWSPRコード生成プログラムをmbed環境で構築してみました。

PCに繋がるのはUSBケーブル1本のみ 持ち運びに便利でどこでも開発可 hi

WSPRエンコード手順は前の投稿で検証しましたが、流れとしては

    1.文字列の数値化(コールサイン、グリッドローケータ+電力)
    2.数値の畳み込み符号化(k = 32, r = 1/2)
    3.インターリーブ処理
    4.同期シンボルとの併合

となります。

mbedにはCortex-M4のSTM32マイコンを搭載したNucleoボードを使いましたが、STlink/V2ドライバをインストールすると仮想comポート経由でPCとの通信が可能になるため、それぞれの処理結果をprintf()でターミナルソフトに表示させることが出来ます。

処理結果をPC上で確認しながらコーディングが出来るのでとても便利です。

Windowsで動作するWSPRエンコードソフトはいくつかありますが、中でもGENWSPR.EXEは処理過程が表示されるので、これを平行して立ち上げて比較しながらコーディングの修正ができて大きくどつぼに嵌らず一応完成にたどり着きました。

中央はGENWSPR.EXEの処理結果 右が作成したプログラムの結果をターミナルで表示
インターリーブ処理の訳と理解が不十分で少し悩みましたが、他で公開されているソースコードを参考にしながら修正できました。

8ビットPICやTX-136/500で使われているdsPICの16ビットPICにも使えるようにしていきたいと思います。

2014年9月10日水曜日

475.5kHz帯のアンテナ考察その2

必要インダクタンスの当たりがついたので、こんどは実際のコイルの設計に入ります。

当たり前のことですが、コイルを巻くにはボビンが必要です。しかし一番ネックになるのが適切なボビンを探し当てることなのだろうと思います。

とりわけ136kHz帯ローディングコイル用のボビンを探すのは結構難儀ですが、475.5kHz帯ですとコンパクトにできそうです。ホームセンターあたりを中心にボビンになるようなものを探していくと、とあるホームセンターの中の100円ショップにこのようなものが。


お味噌を保存する透明な円筒型プラスチック容器です。中のサブコイル用の小さい容器あわせて消費税込みたったの216円ですよ!hi

外径は約12.5cmで若干テーパーかかっていますがわりとまっすぐで高さが11cm。ついでにバリオメーター用サブコイル用に小さめの円筒形容器。外径7.5cm、高さ4cmです。こいつで作ってみようと思います。

実際どのくらいの径のものを使ったほうが良いかというのは、良く言えば経験則的なものですが、わりと適当に選んでもコイル長が大体径の1倍から1.5倍に収まるように線材径と巻き方を考えればそんなに間違いはなさそうです。とはいっても極端に太かったり細かったりはNGですが。

器(ボビン)が決まってしまえばあとは計算しておのおののコイルの巻き数を割り出してしまえば設計は完了です(少々強引ですが^^;机上で緻密に完璧に計算しようとしてやる気が萎えるよりは良いと思うのです、こうしたアンテナの場合。)。

巻き数の割り出しには、自分で計算するのも面倒なので(従免の試験の時さんざん勉強しましたが^^;)こちらのサイトを使わせてもらっています。ここでメインコイルとサブコイルのパラメータ(コイル径、コイル長、巻き数)を入力するとおのおののインダクタンスとバリオメータにした場合のインダクタンスの可変範囲が自動計算されます。
コイル径は変わらないので、線材径があらかじめ分かっていれば所望のインダクタンスが得られるように巻き数とコイル長(=線材径 x 巻き数)をいろいろと変えながらブラウザ上でカットアンドトライをしていきます。

そういえば昔短波ラジオを作る時に受信周波数を決めるように同調コイルを巻き足したり解いたりした記憶がありますが、それと同じ感覚です。

前の稿で475.5kHz帯短縮バーチカル用ローディングコイルとして必要なインダクタンスは、傘2条タイプで約600μH、傘なし単純バーチカルタイプで1440μHと割り出されました。値がお互いややかけ離れているため同じ巻き数のコイルでカバーすることは可能ではありますが、同調取りが非常にクリティカルになるのと低いインダクタンスの時のコイル損失が大きくなるため、ここはメインコイルにタップを立てて切り替えするような仕様としました。

 で、その結果です。

 1mm径エナメル線を使い密巻きで

 ①12m傘なしタイプ
  メインコイル:コイル長11cm, 巻き数110回 ⇒ 1174μH
  サブコイル :コイル長3.5cm, 巻き数35回 ⇒ 98.9μH
  ・インダクタンス可変範囲:954~1483μH
 ②12m傘2条タイプ
  メインコイル:コイル長7cm, 巻き数70回 ⇒ 560μH
  サブコイル :①と同じ
  ・インダクタンス可変範囲:452~866μH

実際線材径は被覆部分の厚みもあるためその分巻き数はやや少なくなることも念頭においてサブコイルを2層巻きにし少しインダクタンスを増やしたほうが良さそうです。

そんなわけで475.5kHz帯アンテナ用のローディングコイルの大まかな設計が出来ました。

2014年9月9日火曜日

475.5kHz帯のアンテナ考察その1

旧ローカルで現在独自の視点でアマチュア無線を楽しんでおられるどよよん無線技士さんから「475.5KHzバンド開放・・・このバンドもアンテナ作りが課題だと思われます。」とコメントをいただいて、ふとアンテナのシミュレーションしておかないとなぁと思い立ったのでありました。

どうも475.5kHz帯は移動運用でないと電波の発射が実質困難になりそうなので、最初は136kHz帯の移動用アンテナ設備を流用するのが早道だろうと考えました。

現在の136kHz帯移動用アンテナは、12mのグラスファイバーポールに2mm径の園芸用アルミ線を垂直に這わせて、頂上部から10m2条(または7m含めた3条)同アルミ線を斜めに下ろす傘型の短縮バーチカルアンテナで、バリオメーターを内蔵させたローディングコイル(約5~7mH連続可変)に、アース板(90cm x 60cmの0.3mm厚ガルバリウム鋼板10枚)と絶縁型インピーダンス変換トランスを使って整合させています。

ローディングコイル抜きにすると共振周波数は2MHz台なので、136kHz帯、475.5kHz帯、1.8/1.9MHz帯はエレメントはそのままにローディングコイルだけ交換すればよかろうというなんとも安直な結論になっていますhi

というわけで、MMANAを立ち上げて12m2条傘型短縮バーチカルと傘なしの単純なバーチカルをシミュレートして475.5kHzにおけるローディングコイルの必要インダクタンスを求めてみました。


No1は傘2条タイプで必要インダクタンスは626μH、コイルのQ値を300と仮定すると入力抵抗は6.8Ωでゲインは-12.43dBiという結果でした。

No2は傘を取って単純に12mバーチカルとした場合で、必要インダクタンスが1440μH、入力抵抗が14.6Ω(Q=300)、ゲインが-17.33dBiと算出されました。

136kHz帯のものと比べるとはるかに小さなインダクタンスで共振出来、コイル線長も短く損失も小さくなっています。傘なしでも十分実用的に思えてしまいます。

実際に作るとしたら両方に対応できるようにしてみたいと思います。

つづく。

2014年9月8日月曜日

JUMA TX-500組み立て記

週末久しぶりに移動運用考えていましたが、あいにくの雨模様...

というわけで無理して出かけずに日曜日は工作の日にしました。

今回のターゲットは先月フィンランドから届いた475.5kHz帯用CW送信機JUMA TX-500キット。JAでも何名かの方がこのキット(TX-500やTX-136)を購入されて組み立てておられますが、抵抗コンデンサ類はもちろんのこと半導体もファイナルのMOSFET除き表面実装部品を採用しそのすべてを自分でハンダ付けして実装しなくてはいけないタフなキットです。

とくに眼の調節障害が進んだ方には...hi



金属ケースのパッケージの隙間にこれでもかというくらいパーツが詰め込まれています。

パーツは2枚の基板と前後パネル、各パートの部品がひとつひとつ小分けされて丁寧にパックされています。


組み立ては大きくメインボードとコントロールボードの2パートに別れています。それぞれパーツが数袋にパックされているので順番にひとつずつ浅めのトレー上に開封して実装します。


パックを開け、同梱の小さな紙切れに印刷されたパーツリストにあわせてマーキングされたパーツをリスト順に並べます。JUMAのTechnical Kit InfoページにあるParts Listを開き、リストのパーツ番号と同一のPCBにシルク印刷されたパーツ番号を探し出して該当するパーツが収まるパッケージをひとつずつ開封して一個一個ハンダ付けしていきます。一気に全部あけるよりも効率的で、間違いや紛失する確率もかなり少なくなります。

ひとつの袋のパーツの実装が済んだら次のを開封して...というようにひとつひとつ慎重に進めるのがポイントです。

表面実装部品の手ハンダの方法はいろいろあるようですが自分が行っている方法は、抵抗やコンデンサの場合片方の電極のランドに薄く予備ハンダを盛ってピンセットで部品を持ち、予備ハンダを盛ったランドに片方のみハンダ付けして部品を軽く上から押しながらもう一度鏝をあてて基板にくっつけ、それからもう片方のランドにハンダ付けします。ただ無理に力がかかるとパーツを壊してしまいます。今回チップコンデンサ2つ割ってしまいました^^;

なのでこの方法はあまりお勧めしません。上からピンポイントでパーツを押さえる道具があれば(YouTubeなどでも紹介されているようです)そちらを使ってハンダ付けするほうが良いです。


上はメインボード実装途中経過です。

すでに半導体類が実装されていますがICなどピン数が多い半導体部品は、ハンダ付け前の位置決めと固定がポイントです。とくにICの向きは注意しないとせっかくうまくハンダ付けできても逆さに取り付けてしまったーなんてことがままあったりします。いったんハンダ付けしてしまうと取り外しが非常に困難です。基本的にはピン全体にハンダをたくさん盛って熱が冷めないうちに外し、ハンダ吸い取り線でハンダをきれいにふき取って基板に付着したフラックスを除去すると状態復帰するのですが、たいていは熱で一部ランドがはがれてしまいます。(自分も今回ひとつランドをはがしてしまいましたが、幸いなことにどこにもつながっていないピンのランドでした)

しっかり向きを確認してピンとランドの位置を正確に合わせフラックスや細いマスキングテープなどで仮固定してから細い鏝と細いハンダで1ピンずつハンダ付けしていきます。

ピッチが比較的広いICであれば直接ハンダ付けも問題ないのですが、ここで一番難しいのはDDS IC AD9833のハンダ付けです。


AD9833は10ピンMSOPという0.5mmピッチという過酷な(笑)サイズです。周りのチップ部品と比較してみてください。

こればかりは小さすぎて1ピンずつハンダ付けするのは非常に困難なので(やるのであれば実体顕微鏡とペン型のハンダゴテがあると良いですね)、位置決め固定して一旦両サイドにハンダを大胆に盛ってからハンダ吸い取り線でふき取るという強引な?方法でハンダ付けします。そのあとふき取り残しでピン間ショートしていないかどうかルーペを使って丹念に確認しておきます。

あとはトランスコイル類など大きな部品をサイトの完成写真を参考にしながらハンダ付けします。基準水晶発振器は基板に直付けにせず、別途14ピンICソケットを用意して不必要なピンをカットしてソケットをハンダ付けして発振器をソケットに差し込みます。将来TCXOに換装する予定なので、差し替えが容易にできるし高床になるので温度変化の影響も多少すくないかなと期待できそうです。

最後は後面パネルを取り付けてファイナルのMOSFET2本をハンダ付けしメインボード実装完了となります。


ここでちょっと休憩してから続いてコントロールボード実装に取り掛かります。


メインボードと同じように小袋をひとつずつ開封してハンダ付けしていきますが、第2のヤマであるMCU dsPIC30F6014A-30 I/PFというTQFP 80ピン 0.65mmピッチの大物を迎え撃たねばなりません(笑)。

このような多数ピンの表面実装ICのハンダ付けにはここのサイトの方法で行うときれいに確実に取り付けられます。

基板はハンダメッキされていないのでランドにハンダを薄く盛ります。ハンダからでた余分なフラックスは除去液で取り除いておきます。

dsPICを正しい位置に基板に固定してから足とランドにフラックスを含ませた綿棒で丹念にフラックスを塗っていきます。そうしてからランドに接触しているICのピンに細い鏝先を必要以上に押し付けず適度に一本一本当てていくだけです。追加のハンダは必要ありません。


こんな感じできれいに実装することができました。(右隣のICはそのままハンダ付けしたので仕上がりがあまりきれいではありませんね^^;;)

あとはプッシュスイッチやLCD、ブザーなどを取り付け、前面パネルを装着してコントロールボードが完成です。


 メインボードとコントロールボードをつなぐものは2本のフラットケーブルですが、ケーブルとコネクタも自分で取り付けなくてはいけません。サイトにケーブルの完成図が載っているので写真のとおりに加工します。コネクタはハンダ付けは必要なく、コネクタにケーブルを挟んでバイスで圧着するような感じで取り付けできます。

あとは金属ケースにパネルをねじ止めして、加工した2本のフラットケーブルでボード間を接続しケースに収めます。ここまで約8時間かかりました。


ハンダくず等取り除いて最終確認し早速電源ON。


ダミーロードをつないで送信テスト。最大パワーは表示上は61Wですが、オシロスコープで出力を計測すると電源電圧13.8Vで52.0Vrmsとなり測定上は54W出力でした。消費電流は4.8Aで効率は81.5%と高効率です。

このキットを出しているJUMAは近々軽量HF用1kWリニアアンプキットを販売する予定とのことですが、コンパクトで高効率のパワーユニットが得意なのでしょう。デザインも洗練されててお気に入りです。


最後に先に製作して交信実績のあるTX-136とツーショット。

こうして重ねてみるとパネルの色が微妙に違うことに気がつきます。

使い込んだから?(笑)

電源ボタンの色はもともと緑のはずがTX-136のときはなぜか赤色でした。

ともあれこれでとりあえず来年の475.5kHzバンド開放の準備が大きく進みました。

ローディングコイルが巻ければひとまず完了です。

あとは運用場所かなぁ...