jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2020年12月

Candle for LINUXその49

だいぶ間があきましたが、その間に結構なボリュウムトライをしておりました。
まず、TS820用の外部DDS-VFO(VFOsys改)の状況ですが、結構NEWトライで回り道していました。
その内容は、現状のESP32DevKitCの空きポートのチェックと使用可不可の確認です。回路図を見てもさほどいっぱいポートを使っているわけではありません。がです。意外と落とし穴がありました。落とし穴はかなりおおげさですが、ポートとしてGPIO **と記載ありますが、実際に使用可能なデジタル入出力ポートは使えないポートがあり、これを外すと案外使用出来るポートは少なくなります。

まず、システム上で使用されるGPIO は全く使用出来ません。使えないポートを下記します。
★内部SPIフラッシュメモリに接続されているので使用できないポート
GPIO11
GPIO10
GPIO9
GPIO8
GPIO7
GPIO6

なぜ、使えるデジタル入出力ポートを確認し始めたかと言うと、今は外部DDS-VFO(VFOsys改)側ですが、TS820 本体側につける外部インターフェース用の出力ポートを割り当てる為でもあります。少しでもアナログ機をデジタルに近づけたい思いの一端からです。
現在外部DDS-VFO(VFOsys改)ESP32DevKitCで使われているのは、TFT液晶、SI5315A、ロータリーエンコーダー、それと電源、GND、アナログ入力ポートを除くと、下記デジタル入出力ポートとして10箇所使用出来るようです。

仮に次のように割当をしてあります。
GPIO32:INPUT0  2^0のBCD入力(TS820本体用DDSのバンド入力)(外部DDS-VFO用INPUT/OUTPUT)
GPIO33:INPUT1  2^1のBCD入力(TS820本体用DDSのバンド入力)(外部DDS-VFO用INPUT/OUTPUT)
GPIO25:INPUT2  2^2のBCD入力(TS820本体用DDSのバンド入力)(外部DDS-VFO用INPUT/OUTPUT)
GPIO26:INPUT3  2^3のBCD入力(TS820本体用DDSのバンド入力)(外部DDS-VFO用INPUT/OUTPUT)
GPIO27:OUTPUT 2^3のBCD出力(今の外部DDS-VFO用の外部インターフェース用)
GPIO14:OUTPUT 2^3のBCD出力(今の外部DDS-VFO用の外部インターフェース用)
GPIO12:OUTPUT 2^3のBCD出力(今の外部DDS-VFO用の外部インターフェース用)
GPIO13:OUTPUT 2^3のBCD出力(今の外部DDS-VFO用の外部インターフェース用)
GPIO0INPUT/OUTPUT (未) 仮に出力ポート設定  (使えるかの確認)
GPIO4:INPUT/OUTPUT (未) 仮に出力ポート設定(使えるかの確認)

GPIO32,33,25,26はTS820に組み込む場合用での予定です。外部DDS-VFO(VFOsys改)用では、何かに使っても良いポートにはなります。(今は予定なし)今は、GPIO27,14,12,13の4つの出力ポートとして設定します。しかし、この設定は何を意味するかと言うと、TS820用の外部VFOに組み込みするESP32DevKitC基板ですから外部のコントロールインターフェースはこの外部DDS-VFO(VFOsys改)から接続される事になります。少し小さな外部VFOから新たな4端子出力で外部回路を制御をします。TS-820本体に組み込む場合で使えるのでやっておいて損はないです。VFO側で外部回路を制御するのは気が引けますが機能として追加しておきます。

実際にバンドSWを切り替えた時に合わせてシリアルデータを受信しそれをトリガーにしてスケッチを行いました。
下記はJA2GQP OM の公開のDDS スケッチのsi5351_oled128x64.zip 上からの変数名を参考に取り入れさせていただきました。私の場合は 11バンドまでになります!

byte Byt_Band = 3;//original 3band 7 18 21

void loop()の中での周波数設定long 変数の frq からBCD出力ポートへ振り分けする為の、Byt_Bandを割り当てるスケッチです。バンドSWに合わせた周波数以外はありませんから、周波数範囲で割り当てます。また、ここに出ているHET_FREQの設定がありますが、これは現在検討中なのですが、EEPROMを使って、外部VFO側の電源を切ってから、再度電源を入れた時に前のバンド情報、同じ周波数で起動させる為のルーチンのスケッチ追加です。
出力させるためのトリガーとなるByt_Bandは、1.9MHzから29.5MHzまでなので、1から11の値を取ります。

void loop() {    // (core1)
〜(省略)
下記は現在検討中の箇所
setup(){ルーチンでEEPROMに書き込んだデータを読み込みするスケッチの追加
  frq = atol(buf.mfreq);//Add 2020dec26 frquency setting with use EEPROM data
        f_dchange=1;          //Add 2020dec26
        f_fchange=1;          //Add 2020dec26

〜(省略)
下記がバンドSWに合わせたByt_Bandの割当です。

        if((frq >=  1500000) and (frq <=1999999)){
          HET_FREQ = HET_FREQ01;
          Byt_Band = 1;
          }
        if((frq >=  3500000) and (frq <=3999999)){
          HET_FREQ = HET_FREQ02;
          Byt_Band = 2;
          }  
        if((frq >=  7000000) and (frq <=7499999)){
          HET_FREQ = HET_FREQ03;
          Byt_Band = 3;
          }  
        if((frq >= 14000000) and (frq <=14499999)){
          HET_FREQ = HET_FREQ04;
          Byt_Band = 4;
          }
        if((frq >= 15000000) and (frq <=15499999)){

          HET_FREQ = HET_FREQ05;
          Byt_Band = 5;
          }
        if((frq >= 18000000) and (frq <=18499999)){

          HET_FREQ = HET_FREQ06;
          Byt_Band = 6;
          }

        if((frq >= 21000000) and (frq <=21499999)){
          HET_FREQ = HET_FREQ07;
          Byt_Band = 7;
          }
        if((frq >= 28000000) and (frq <=28499999)){

          HET_FREQ = HET_FREQ08;
          Byt_Band = 8;
          }
        if((frq >= 28500000) and (frq <=28999999)){

          HET_FREQ = HET_FREQ09;
          Byt_Band = 9;
          }
        if((frq >= 29000000) and (frq <=29499999)){

          HET_FREQ = HET_FREQ10;
          Byt_Band = 10;
          }
        if((frq >= 29500000) and (frq <=29999999)){

          HET_FREQ = HET_FREQ11;
          Byt_Band = 11;
          }          

このスケッチで設定のByt_Bandで設定したポート27、14、12、13にてBCD出力されます。
loopルーチンの一番最後の処理としてスケッチ追加です。

     if(Byt_Band == 1){
        digitalWrite(13,HIGH);
        digitalWrite(12,LOW);
        digitalWrite(14,LOW);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 2){
        digitalWrite(13,LOW);
        digitalWrite(12,HIGH);
        digitalWrite(14,LOW);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 3){
        digitalWrite(13,HIGH);
        digitalWrite(12,HIGH);
        digitalWrite(14,LOW);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 4){
        digitalWrite(13,LOW);
        digitalWrite(12,LOW);
        digitalWrite(14,HIGH);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 5){
        digitalWrite(13,HIGH);
        digitalWrite(12,LOW);
        digitalWrite(14,HIGH);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 6){
        digitalWrite(13,LOW);
        digitalWrite(12,HIGH);
        digitalWrite(14,HIGH);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 7){
        digitalWrite(13,HIGH);
        digitalWrite(12,HIGH);
        digitalWrite(14,HIGH);
        digitalWrite(27,LOW);
      }
      else if(Byt_Band == 8){
        digitalWrite(13,LOW);
        digitalWrite(12,LOW);
        digitalWrite(14,LOW);
        digitalWrite(27,HIGH);
      }
      else if(Byt_Band == 9){
        digitalWrite(13,HIGH);
        digitalWrite(12,LOW);
        digitalWrite(14,LOW);
        digitalWrite(27,HIGH);
      }
      else if(Byt_Band == 10){
        digitalWrite(13,LOW);
        digitalWrite(12,HIGH);
        digitalWrite(14,LOW);
        digitalWrite(27,HIGH);
      }
      else if(Byt_Band == 11){
        digitalWrite(13,HIGH);
        digitalWrite(12,HIGH);
        digitalWrite(14,LOW);
        digitalWrite(27,HIGH);
      }
      else if(Byt_Band == 99){
        digitalWrite(13,LOW);
        digitalWrite(12,LOW);
        digitalWrite(14,LOW);
        digitalWrite(27,LOW);
      }

本体側を想定し作製したバンドのロータリースィッチを回しての実際の動作です。
CIMG9021

右側のグリーンLED4つ(2^0, 2^1, 2^2, 2^3)がBCD出力ポート表示用です。1.9MHzから29.5MHzまでなのでBCDに対応するのは10進数では、1,2,3,4,5,6,7,8,9,10,11になります。0,12,13,14,15は独断で勝手に決めたバンドSW仕様以外なので割当ありません(ないので使いません。)

今ひとつ画像でTFT液晶が見えないので、TFT液晶だけ取り直しました。バンドSWの順は最後は適当です。各バンドでのVFOの発振周波数はすべて5.380MHz になるようにしています。EEPROMの検討のためです。同じ周波数発振になるようにしたのは、各バンドともEEPROM読み出しでちゃんと発振しているかを確認する為です。特に書き込み周波数を少しずらして書き込みすると別のビート音になるので囲み周波数の確認が出来ます。それ以前にもSSBでビートを聞いてDDSが目的の周波数で発振しているかの確認になります。ゼロビート(ドンピシャ)ではSメータを見ないとわかりません!



実験ボードの状態です。BCD出力ポートの確認LED側です。
CIMG9017

ロータリーエンコーダー、及びTFT液晶側です。
CIMG9018

これらの実験ではシリアルポートのRX,TXを使っていますので、コンパイル後の本体書き込み時はこのRX,TXポートを接続から外さないと書き込みエラーになります。そのため、コンパイル時にTX,RXポートをSWで切り離す部分を作りました。単純にプッシュSWで切り替えするようにしました。コンパイル時、少し楽になります。シリアル通信を使ったスケッチでは必要です。Hi! 

SW ONで接続、SW OFFでオープンです。
CIMG9016

今検討しているのはEEPROMでの周波数のレジューム機能です。ArduinoNANOとESP32DivKitCでのEEPROMの設定は少し違いがありました。やはり基本の通りにスケッチすると上手くゆきました。なんだかんだありましたが、最終的な段階まで来たのではないかと思っています。本当?
これ以上は仕様上スケッチでできるのはここまでかな?というところです。詳しくは次回以降に!

つづく?
続きを読む

Candle for LINUXその48

TS820用のDDS−VFO(VFOsys改)に対しての本体側のバンド情報のシリアルデータ送出のArduinoNANOの回路をブレッドボードに新たに再現出来ました。これで、現状のTS820に組み込みしたArduinoNANOとTS820外部DDS-VFO(VFOsys)のメンテナンスも改良も検討できる状態となりました。新たなフィーチャーなどのスケッチをコーディングまたデバッグも出来る体制ということです。同じ動作をするものということで、実機で使いながら改善、改良、デバッグ等を行えます。

実は既に別の問題を見つけています。まだ、本体の旧VFOを使った時の追加したArduinoNANO回路のタイマーで発生するプチノイズも、対策案は出来ていますが、実機への組み込みも未だですが、新たな問題です。これは、単純に言ってスケッチ(プログラム)上の私のミスです。先ずは、その内容についてですが、これはDDS-VFO(VFOsys改)を使っていての問題です。実機でSSBの電波の状態を確認しようと思い、他の受信機でDDS-VFO(VFOsys改)の周波数をモニターした時の事です。残念ながらSSBの自分の変調(音声)は聞こえて来ませんでした。おかしいと思いロータリーエンコーダーを回して止まった周波数では問題なく変調(音声)は聞こえます。本体のバンドSWを変えるとバンドSWに合わせた周波数帯の設定周波数に自動になってくれるのですが、その周波数はDDS-VFO(VFOsys改)に表示されてはいるのですが、(変調)信号が出ていないのです。つまりDDS−VFO(VFOsys改)が表示してる周波数のキャリアがが出ていません。受信機から変調(音声)が聞こえない状態です。SSBだとわかりにくいので、CWモードでも確認しましたが、電波が出ていませんでした。ただし判ったこととして、ロータリーエンコーダーを動かした途端に周波数が発振し始めるという何とも変な挙動です。一旦発振し始めた後は各周波数で問題なく動作(発振)します。いままでは、バンドSWを回して、すぐにロータリーエンコーダーに触っていました。このため発振していたので、全くロータリーエンコーダーに触らない状態での確認が抜けていました。実際の周波数をモニターしてわかった問題です。ということで、丁度いい具合にシミュレーションボードも揃いました。また、シミュレーションボード以外に使用していないゼネカバ受信できるトランシーバー(TS−140)も受信機として使うことにしました。これで、実機でのキャリア発振周波数の確認も出来ます。やはり実機で確認するのが必要であると痛感しました。実際の対策スケッチも、オリジナルのVFOsysスケッチを参考にしながら、問題の箇所を探してみます。一旦夕食で外します。続きを書くで、対処方法検討について記します。

つづく?
続きを読む

Pulse View その1

アマゾンで11月に購入しています24MHz8チャンネルロジックアナライザ(USBロジックアナライザMCU FPGA ARM対応)を使ってのアナライジングをしていましたが、今回シリアル通信でのアスキーコードの解析のUARTを使って、ESP32DivKitCによるDDS-VFO(VFOsys改)のオリジナルで追加したスケッチ部の実際に送っているシリアル通信データを確認してみました。かねてから、こういう解析が出来たらいいと思っていた事を実際に体験することが出来ました。たかだか数百円のロジックアナライザですが、これを対象とするアプリケーションPulseViewの素晴らしさを目の当たりにしました。しかもハードはLinuxもWindows10も旧Windos7(32bit&64bit)、2000、Xpにも対応していますので、OSを選びません。アプリケーション自体もLinux,Windows10ともにOKのようです。Qtでコンパイルされているので対象を選ばないわけに納得です。

以下購入のハードです。
範囲を選択_170
届いた時は、おもちゃでも安いから良いかなどと、高を括っていましたが、なんのおもちゃどころではありません。PulseViewとの組み合わせで、ロジック解析に十分使用できる優秀なツールです。ほんの一部だけの使い方でもこう思えますので、実際には未だやっていない他の解析モード設定も相当数ありますからなおさら、驚きを隠せません。ということで、実際に使ってみて、感激したシリアル通信のデータの解析結果を記します。
DDS-VFOのスケッチVFOsysを改良し追加したバンドデータをシリアル通信を使い電源オン時にリクエストコマンドの”99;”を20回繰り返し送出するという勝手に決めた仕様ですが、きちんと送出側もデコード側も動いてはいますが、本当に”99;”が20回送られているか最初のロジックアナライザーの設定では見れてはいませんでした、が、色々と設定を試していると見たかったアスキーデータとしての”99;”をロジックデータの下に見事、確認することが出来ました。この時の感激は一入です。こういうのが欲しかった!ついに見れたという感じです。これがそのUARTでの解析ロジックデータです。

最初の拡大前のデータを取得した時の画像です。
範囲を選択_171

最初のデータは、ESP32DivKitCのブート時のデータです。日付やら、コマンドやらが送出されていました。記しませんが結構なデータ量です。

その次は、解析ではエラーフレームとなっていました。特にデータといったものではない単純にH→L→Hの信号です。電源リセット時の信号の様です。

上の一番最後のデータが、リクエストコマンドに勝手に決めたアスキーデータにデリミタの”;”のついた”99;”の20回送出データ部です。解析は2回分までの画像です。実際に20回きちんとシリアルデータTXラインに送出されています。アスキーデータ対応の1,0のbitも見れています。改行コード0D、0Aの付加も見れます。これが見たかったのです。

範囲を選択_173

Char ”9”はアスキーコードではHEX(16進) ”39" です。送りは4ビット毎のHEX(16進数表記)で ”9”→”3”の順番です。
lr1801

8ビットのデータの並びは HEX(16進)の4ビット毎で表すと 上位D0,D1,D2,D3,  下位D0,D1,D2,D3 です。
Charの"9"はHEXで"39”ですが、PulseViewでは左が最初送られたデータですから下位、上位の順で ”9” ”3” の”1001” ”1100”となります。
左が最後の1回目のデータ”99;”,”0D",”0A"とその右が2回目の”99;”,”0D",”0A"シリアルデータです。デリミタとしたCharの ";”はHEXで”3B”で ”B” “3" の”1101” ”1100”となります。少しアスキーデータの送出順はHEX(16進)の4ビット毎の2進数で見ると向きで時々ごちゃごちゃになります。Hi!
ついでに、拡大してみると、シリアル通信の設定のスタートビット、ストップビットの追加の位置もはっきりと理解出来ます。

範囲を選択_174

今回のシリアルデータ解析と同様に”99;”のコマンドを受けて送り返す側ArduinoNANOの無線機の周波数データのやり取りも見てみたいと思っています。前のブレッドボードで使った部品を実際の基板にマウントしたため、ワイヤー配線も外しボードだけに戻していました。このブレッドボードに再度ArduinoNANOのTS820に組込した回路を組直しました。タイマーICや他の部品も新たに秋月電子通販で注文し、昨日届きましたので、組み直し回路に取り付けしました。ボード単体で動作を確認しています。次はシリアル通信部をシミュレーション回路どうし接続し、実際の(勝手に仕様を決めた)アスキーデータ送出のやり取りをあらためてPulseViewで確認したいと思います。

つづく?

Candle for LINUXその47

TS820の外部DDS−VFO(VFOsys改)と本体からのバンドSWのシリアル情報送出用のArduinoNANOとの実機での確認を継続しています。実際の交信も問題なく出来ています。まずまずかなと思っています。やはり、色々とやってみるとでてくるもんです。まだ問題がありました。実用上の問題では無いかもしれません。が、少し気にし始めるとやはり解決しておくべき問題であるということで対策も考え始めています。問題が何かを言わず、あまり引っ張ると、イライラすると思うので、何が問題かを順次記してゆきます。

今回のTS820の内部のVFOを使わずに外部DDS-VFO(VFOsys改)を使用するということが前提なので、この場合は問題ではありません。(すべて外部VFOのみでRXとTXを行う場合)
問題とするのは、外部DDS-VFO(VFOsys改)を使わず、本体のアナログLC型のVFOを使いたいといった場合です。(まだまだ内部のアナログVFOは十分使用できます。)アナログVFOが動作している時の事です。外部DDS−VFO(VFOsys改)には電源が入っていないので、外部DDS-VFOには問題はありようがないです。ところがTS820本体にはバンド情報送出用のArduinoNANOが電源入っている状態です。そして、シリアルデータ線が電源検出用タイマーの2番端子入力に繋がっており、外部DDS−VFO(VFOsys改)が電源入っている時はこの端子は"H"レベルで、タイマーは動きません。通信データが来た時にタイマーが働くのが通常な動作です。このシリアルデータ線は外部DDS−VFO(VFOsys改)が電源OFFなので、このポートが、"L"レベルになってしまいます。ArduinoNANOの基板には電源が常時入っているので、タイマーICの555が”H”から”l”を検出してしまいタイマー設定時間動作しては、繰り返しタイマーが動作し続けるという状態になります。ただタイマーが相手がいない状態で動いてしまっているという状態です。問題とするのは、送信中にマイクゲインをあげ、無音状態にするとタイマーのオンオフで"プチ"ノイズが聞こえるということです。無音状態でやっと分かるレベルなので、通常の運用では、わからないと思います。これが、タイマーのオンオフで"プチ"ノイズを問題とすることにした内容です。
気にしだすと本当に気になるので、対策を考えます。対策は至極簡単な方法をとります。ArduinoNANOの電源を本体のVFOを使う時、”切る” ということです。タイマーが絶対動きませんからノイズ発生もありません。という具合です。今この回路を考えているところです。リレーを使えば出来ます。入力を内部VFOの電源として、ON時にリレーを切る回路です。(ArduinoNANO電源OFF)、VFO電源OFF時(外部DDS-VFO(VFOsys改)動作時にリレーを繋ぎArduinoNANOがアクティブになるという具合の回路です。(シリアル通信回路が動作する状態です。)簡単な回路でリードリレーでやってみようかと思っています。

つづく?

Candle for LINUXその46

TS820用の外部DDS−VFO(VFOsys改)を繋いで、本体のアナログVFOの代わりのDDS-VFOという形での実機での動作確認をすることにしました。受信(RX)、及び送信(TX)での確認です。
少し早いかもしれませんが、組み込んでしまってからでは、問題があった場合の取り外しの手間がかかり面倒となるので、先ずはTS820本体に入れるバンド情報のシリアルデータ送出用のArduinoNANO基板をプラスチックのような絶縁紙で囲い当初取り付けする場所にした本体VFOの横に仮置きしました。その状態で上側のケースをネジ止めせずに置きます。この状態でシリアルデータ線だけが上側のケースと本体の隙間から取り出し、外のTS820DDS−VFO(VFOsys改)に繋ぎます。TS820DDS-VFOの電源は、オリジナルのVFOと同じリレーが取り付けされている基板から繋ぎました。本体とは、元々のVFO用ケーブルで繋ぎます。シリアル通信線だけが仮に隙間からESP32DevKitCのデコードボードのTX、RX、GNDに繋ぎます。ESP32DevKitCのソケットに直接、TX、RX、GND線はジャック側にTS820からのシリアル通信線のプラグ3本がきて、それと繋ぐジャック付きのワイヤーの反対側は既に直接ソケットに直半田付け処理してあります。シリアル線を繋いで、TS820本体のFUNCTIONは VFOに、外部DDS-VFO(VFOsys改)側のFUNCTIONはREC XMITの(送受信とも外部DDS-VFO(VFOsys改))ポジションにしておいて、TS820の電源を入れます。最初は受信(RX)の確認から行っていきました。

写真は撮り忘れましたが、TS820の上側のケースの上にTS820DDS−VFO(VFOsys改)を置いてESP32DevKitCのDDS及びデコード基板は修正出来る状態にフリーにしておきました。まずは、単純なシリアル通信が上手く動作するかです。既に仮実験で確認していたのと同じで特に変な動作はしませんでした。問題ありません。次は、バンドを局数の多い7MHzにしてDDS-VFO(VFOsys改)のロータリーエンコーダーでワッチしてみました。受信も特にTS820本体のアナログVFOと差は全く感じられません。ここで、TS820本体のRFのボリュームを絞っておいて、AFのボリュームを上げて見ました。なぜ、このようなことをしたかと言うと、何気なしにRFを絞った時にビート音のようなものが聞こえた感じがしたので、もしかしたら何かDDSのデジタルノイズではないかと思い、同じ様にRFをしぼってボリュームを大きくして確認してみました。な、なんとこの状態でDDS-VFOのロータリーエンコーダーを回すと、周波数の変化に同期してパルスノイズが大きく聞こえるではないですか!しかもロータリーエンコーダを回していないときもデジタルのビートノイズが聞こえます。 この瞬間、失敗したかな!と思いましたが、未だ何も原因も探っていませんので、まずは原因探索をしなければなりません。受信確認どころではありません。受信時は受信ノイズレベル以下なので全く気にならないのですが、RFを絞ると、パリパリと言う感じのエンコーダーの回転に合わせた気になるノイズが聞こえます。
確認することは明白です。ESP32DevKitCから出ている線をはずしてみてどうかの確認です。電源は外せないのでそれ以外に出ている線を1本1本外します。1本外してもノイズ変わらずなら、もとに戻し次の線、と基本に忠実に順番に確認してゆきます。1本づつ外した時にノイズが変わらずなら次は2本、これでも変わらずなら3本という具合に外してゆき、それでもだめなら全部外すといった具合に行いノイズが消えるか確認しました。この結果基板から出ている線を全部はずしても、デジタルのビートノイズはきえませんでした。これで原因は電源の+側か、GNDのどちらかということになります。
対策は、一般的にノイズ低減用としてはインダクタンスが適しています。手持ちの購入して合った大きめの1mHのインダクタンスを使ってみることにしました。GND側はVFOコネクタから、リレー基板へ配線されています。このグランドとDDS-VFO(VFOsys改)の基板のGNDの間にインダクタンスを入れてみました。結果は、3mHまで増やしても何らデジタルノイズのビートは変化ありませんでした。まずはGNDではないとして、電源の+9Vラインの確認です。同じようにリレー基板へ配線されているのでここから基板へはコネクターで繋いでいますので、その間にインダクタンスを1mHを入れてみました。変化はありません。シリーズに2mHにしてみました。すると、デジタルノイズのビートが少し音色が変わったかの様な感じに聞こえました。少しビートが減ったのかもと言ったところです。すぐさまシリーズに3mHになるようにインダクタンス追加です。かなりビートが減っているのが明白になりました。原因は+9Vラインからのノイズが重畳して、電源がAFラインまで繋がっている為に電源のノイズがAF回路で悪さして、ビートノイズオーディオラインで聞こえたと推定されます。本当にインダクタンスが効果出ているかの確認も行います。デジタルノイズがインダクタンスをショートして大きくなる事の確認です。

おおよそ原因が明白になったので、ジャンク基板からかなり大きな103のインダクタンス(10mHを取り外してESP32DevKitCの電源+9Vラインに入れました。これでほぼわからない程度までノイズ低減出来ました。あまり大きくすると電圧降下があるので、適切な値を選ぶ必要があります。大きすぎると動作不安定になる場合があります。また、電流が流れるので、インダクタンスのコアの発熱も若干あるようです。触ってみて確かめる必要もあります。

CIMG9007

先ずはこの対策で、様子を見ることにしました。
受信でのデジタルノイズでは、ドキッとしましたが、対策できましたので、送信の確認を行いました。
100W程度の出力時、DDS−VFO(VFOsys改)のESP32DevKitCと本体のArduinoNANO基板への回り込みがないかどうかを確認しました。7MHzだけでの送信確認だけですが、幸いなことに、何ら問題は無いようです。

実際に3エリアのOMさんとQSOして問題ないことを確認しています。OMもPICでDDS-VFOをつくり実際にそのトランシーバーでONAirされていました。たのしいQSOとなりました。また、このDDS−VFO(VFOsys改)についても興味を持ってくれましたので、とてもうれしく思います。

実機で確認した時のTS820とTS820DDS−VFO(VFOsys改)の並びです。

100円でオークションで落札のパネルが綺麗です。私のTS820のPLATEとDRIVE
ツマミにはゴムカバーを掛けて回しやすくしてあります。Hi!
CIMG9005

右側からの写真です。
CIMG9004

左側からの写真です。
CIMG9006

後日、他の周波数帯で問題が無いかの確認を行いたいと思っています。

実機での問題確認は絶対早めにした方が良いというのがあらためて身にしみた日になりました。

つづく?
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ