ホーム >> 無線ブログ集 >> アンテナアナライザー リメイク その後!

無線ブログ集

  メイン  |  簡易ヘッドライン  

link QRPな自作の日記 QRPな自作の日記 (2023/12/28 18:35:38)

feed アンテナアナライザー リメイク その後! (2023/12/28 12:43:22)
【注】セキュリティの関係か、Microsoft Edge、Google Chromeでは、サムネイル画面(小さい写真)の拡大表示ができないようです。
アドレスバーに表示されているURLのhttps://~をhttp://~にする ことで表示される場合もあります。

リメイク版のご報告を行ったのが10/17だったのですが、もう今年も終わる時期になってしまいました。
途中何もやっていなかったわけではなく、カラー液晶を載せるようにした基板を発注、その基板をベースに性能確認と少しずつ検討は継続していました。
まずは、カラー液晶の搭載した基板です。

IMG_3983.JPG
10月末に到着

通常なら、この基板を組み立てて動作/性能確認をするのですが、プログラムは既に満杯で基本機能さえも詰め込むことができなさそうな状態になっており、もっとプログラムメモリの大きいマイコンで使えるものがないかと検討を始めました。
これまで愛用してきたATMEL ATMega328シリーズでメモリ容量拡大版があればよいのですが、ありません。
最近は、ESP32やRP2040など32bit版が数多く出始めておりメモリ容量もとても大きくなっています。
これらはArduinoIDEでの開発にも対応しており、価格もそこそこ使えそうなレベルです。
問題は、機能的に「帯に短したすきに長し」で、内蔵EEPROMがないとか、これまで使ってきたライブラリが使えないとか、マイコン自体のハードウェア構造に絡むところを別の方法で検討しなければならなくなり、当局の実力で使いこなせるかどうか、不安もありました。
しかし、悩んでいてもしょうがないので、新しく到着した基板はそのまま組むのではなく、マイコンを入れ替えて検討を始めました。
使用するマイコンは、Rasberry Pi Picoに使用されているRP2040を搭載した RP2040-zeroというモジュールにしました。ほぼ切手サイズの基板にI/FとしてUSB-Cコネクタが搭載されています。プログラムの書き込みにライターは必要ありません。デバッグ用にシリアル通信もできます。

IMG_3984.JPG

問題は、内蔵EEPROM搭載されていないこと、実際に動かしてみてこれまで使っていたタイマー割り込みライブラリーが使えないことが、一番大きなものでした。
このチップは比較的新しいため、また特にArduinoIDEでの使用事例が少なく難儀しましたが、結果として、サイト検索で代わりになるものを探し、一つずつ動かしてて試してみながら、使えそうなレベルのものが決まりました。
検討基板として、10月末に到着した基板に変換基板を手配線で製作し、ATMega328の代わりに動かせる状態として基板の動作性能確認、プログラムの開発を始めました。

IMG_3956.JPG
ATMega328の端子に接続できる変換基板搭載

プログラムの移植をやり続けて、やっとのことで10月のリメイク報告時点と同じレベルまで仕上げることができました。

IMG_3957.JPG

ここまで仕上げての驚きは、プログラムメモリの使用量です。ATMega328の時、99%以上だったのが、何と4%しか使用していません。
そうなると、他にもいろいろな機能の追加をしたくなります。
当局的には、これまでのアナライザーで色々なアンテナの製作をやってきましたが、欲しい機能もいくつかあり、これらを搭載できないかと検討を始めました。

まずは、カーソル機能です。
測定したVSWRグラフにおいて、例えばVSWR2.0以下の周波数範囲がどうなっているのか?ということなど測定値の確認ができるようになります。

IMG_3985.jpg
右側のロータリーエンコーダを回すことによって青色のカーソルが左右に移動し、カーソル位置での周波数とVSWR値が表示されます。

次は、画面メモリー機能です。
実際に屋外で測定調整を繰り返している時には、パラメーターを変えていくつもの測定を行いますが、後で使いたいデータは写真を撮るしか方法がありませんでした。
そこで欲しいのが画面メモリー機能です。
苦労したのは、一画面あたりのメモリー量です。一画面100点以上のデータとなるので、単純記録にすると一画面800byteほどになり、ソフトウェアで実現しているEEPROM機能が2Kbyteしかないので2枚しか記録できません。
結果として、データの圧縮と表示の間引きを組み合わせてなんとか画面10枚分の記録が可能となりました。

IMG_3989.jpg
SAVE画面で、右側のロータリーエンコーダーを回して記録する画面番号選択し記録させます。

IMG_3987.jpg
CALL画面で、同様に右側ノロータリーエンコーダーを回して呼び出す画面番号を選択し、表示させます。

3番目が、画面データのパソコンへの転送です。
マイコンモジュールにUSB-C端子がついて、シリアル通信も可能なので、周波数データとVSWRデータを送信するのは比較的簡単にできると思ったのですが、問題は、パソコン側のソフトです。
これまでパソコン側のソフトはローテーター用の衛星位置情報データの転送プログラムしか作ったことがなく、パソコン側でどのようにグラフ化するかなど悩みは尽きませんでした。
どの言語が一番つくり易いのかなどサイト検索し、最近話題のPythonを使ってみることにしました。
勿論これまで一度も使ったことがありません。
ただ色々なライブラリーがありそれを組み合わせれば!とやってみました。
まずシリアル通信データの読み込みです。数行でできました。
次に、グラフ表示です。これもグラフ化ライブラリーを使って10行ほどでできました。
と言っても、検索サイトの事例ではやりたいことがそのままできるわけではなく、そのためにはライブラリーのコマンドなど使い方を知る必要があるのですが、意外とそうしたサイトはあまり見つかりません。
事例から、あ~でもないこ~でもないと試しながら試行錯誤しなんとか、目的の表示ができるようになりました。

Figure_1.png

これでめでたしめでたしかというと、残念ながらそうではなく、このアプリはこれを作ったパソコンでしか動作しません。おなじPython環境をインストールしたパソコンでしか動かないのです。
どのパソコンでも動くようにできる配布形式のアプリに変換が必要なのですが、これも意外と情報が少ないのです。
あっても、それをやってもエラーが出ます。別のをやっても別のエラーが出ます。エラーの対策なども記載されていたりするのですが、それでも別のエラーが出ます。
何をやってもうまく行かないので、本を入手することにしました。
専門書も売っている近所の本屋に行き、棚にあったPython関連の本を端から端まで30冊ほど目を通し、配布形式について記載された本は4冊ほどしかなく、それはいずれも訳本、そこに記載されている内容を見ても、どうもはPythonは配布形式で配布するのは向いていないようにも思えました(そうした記載があるのも)。
記載ページは、1,2ページか数ページ程度。その中で一番高かったのですが記載ページの一番多い本を買ってきました。訳本です。

IMG_3990.JPG
購入した本です。

結論から言うとまだ配布形式に変換できていません。
この本に記載されている内容を実行してもエラーが出ます。そのエラーを検索して対策してもエラーがなくなりません。暗礁に乗り上げた状態のままです。
難しいアプリではなく、データを受信してグラフ化するだけなのですが、アプリ本体ではなくPythonの使い方の問題です。知らない使ったことがないものにチャレンジして深みにはまっているという状態です。
時間が解決してくれればいいのですが。

RP2040を搭載する基板は、10月入手のものを改訂して、先日入手できました。まだ組立は行っていません。もしかしたら、マイコン変更の修正で間違いがあるかもしれません。
ソフトの方も、やりたい基本機能が動き始めただけなので実動作品としてはまだまだ詰めが必要です。

IMG_3954.JPG    IMG_3955.JPG
表 左:新基板 右:旧基板   裏

以上、今年年初に何とか今年完成させたいと思っていた一つであるアンテナアナライザーのリメイクですが、残念ながら完成までは到達できませんでした。
来年の早い時期に完成させたいと思ってます。









execution time : 0.021 sec
サイト内検索

メインメニュー

ログイン
ユーザ名:

パスワード:



パスワード紛失


オンライン状況
56 人のユーザが現在オンラインです。 (32 人のユーザが 無線ブログ集 を参照しています。)

登録ユーザ: 0
ゲスト: 56

もっと...