ホーム >> 無線ブログ集 >> PockeTATOR衛星追尾Mac対応

無線ブログ集

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

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

feed PockeTATOR衛星追尾Mac対応 (2022/5/17 15:07:23)
スクリーンショット 2022-05-17 10.29.53.png

先日、簡易型ローテーター Pocke TATORの機能・性能改善を実施し、紹介しましたが、この機能のうちの衛星自動追尾については、Windowsでの対応しかできていませんでした。
しかし、衛星通信用のリグコントローラとしてMacのアプリを使用しておられる局長さんも多くおられ、Pocke TATORのユーザーさんにもおられました。
当局は、Macも使用していますが主はWindowsのため、Windowsでのコントロールとなっておりましたが、機能性能改善もひと段落したので、Mac対応も検討することにしました。
とはいえ、どんなアプリがるのかも知りません。
その道の方々にお聞きすると、MacDopplerなるものを使用されている局長さんが多いようでした。
調べてみると、1997年から存在している老舗のアプリのようで、今でもバージョンアップが行われており、対応リグとして 最新のIC-9700もできるようになっています。

スクリーンショット 2022-05-17 11.29.44.png

Windowsの場合、Pocke TATORの制御には、衛星軌道アプリであるCalsat32を使用させていただき、これが吐き出している衛星名、方向角、仰角のデータをPocke TATORコントローラーが制御できるように変換する中間アプリを自作して実現していました。

Calsat32toCTL2.jpg

さすがにMacのアプリを作る自信は全くなく、何とか実現の方法がないか探ることから始めました。
結論は、簡単で MacDopplerにはローターコントローラー機能が付属していました。
世界にある色々なローテーターに対応しているようです。
それぞれがどのような信号を使って制御しているのかの情報が少ないのですが、実際に信号の中身を観測して使えそうなものを選択することにしました。
条件はCOMポートを使用したシリアル通信で 最低 方向角が読める方式 です。
当局がダウンロードして使用している MacDoppler ver2.42では、20種類のローテーターが選択できるようになっています。

スクリーンショット 2022-05-17 11.28.02.png

まず、この中から使えそうなものを選択するわけですが、半分くらいは使えそうなシリアル信号が出ており、Windowsで作った中間アプリを作る必要はないことがわかり、ほっとしました。
その代わり、出力される信号が自作の中間アプリ Calsat32toCTLと全く同じものがあるはずもなく、PockeTATORコントローラーの制御信号の読み込み処理ソフトは改造が必要となりました。
まず、シリアルデータの読み込みの方法ですが、MacにUSBシリアルモジュールを接続して、WindowsPCにもUSBシリアルモジュールを接続して、TeraTermアプリでデータの内容を確認する方法をとりました。
Macに接続したUSBシリアルモジュールがプラグアンドプレイで何もせず認識してくれたのはよかったです。

Calsat32toCTL.jpg     SatEL.jpg
Windows用Calsat32tCTLデータ    採用したSatELのデータ

AutoTracker.jpg     EasyCom.jpg
AutoTrackerのデータ        EasyComのデータ

M2 AzEl.jpg     CD RAC825.jpg
M2 AzElのデータ          CD RAC825のデータ

こうして調べると、残念ながら、まず 衛星名を出力しているものはありませんでした
次に、 仰角がマイナスの時にデータを吐き出しているものもありませんでした
(つまり、衛星が視野範囲にある時のみデータが出力される)
衛星が視野範囲(aos in)に入る1分前に、その時点でのデータを吐き出しているものがありました 。(ただし、仰角は0度:実際はマイナスであるが)
事前検討でこの3つ点にこだわったのは、衛星の仰角がマイナスの間に、その時点の方向角にアンテナを回して事前準備し0度以上になった時点で追尾の自動スタートをする、途中で追尾衛星を切り替えたときに衛星名でそれを認識し、追尾制御に齟齬が発生しないように切り替える、1分前にどの時点のデータが送出されるのは、追尾事前準備、自動スタートに使えそうだということです。
こうした事前検討の結果として採用したのは、SatELです。
後でよく考えると、Creative Design RAC825 が良かったかなと思ってます。
理由は、送出されるデータ量が常に一定でミスの発生が避けられそうだからです。
SatELでもデータ読み込みのミスは出ていないようなので、今更作り直す気はないのですが.....

IMG_1039.JPG
開発検証中の様子

実際にソフト改造をやってみて、衛星の自動追尾そのものは問題なくすんなりいったのですが、事前準備、自動スタートで苦戦しました。
理由は、Windows用自作中間アプリで送出されるデータをもとに、事前準備、自動追尾スタートの機能を作っており、MacDopplerから吐き出されるデータで同様の機能を実現するのに難儀したのと、元々Windows用に作った機能と交錯してしまって、迷路にはまってしまったからです。
継ぎ足し継ぎ足しでソフトを作ってきたので自分でも中身が見えなくなってます(汗;
事前準備、自動スタート機能を無しにしてもよかったのですが、マニュアルで事前にaos inの角度に事前設定しても、MacDopplerからの前のデータが残っていてそこに勝手に向いたり、何もなくて0度に向いたりです。
仮に、aos inが350度からで、0度になっていると350度まで回転してから追尾となり間に合いません。
それで何とかしようと、あ~でもない、こ~でもないと何度も何度もパステストを繰り返して時間ばかり過ぎていました。
基本的に現物思考で論理的思考ができないタイプなので、こういうのは不得意です。
結果として、Windows用に組み込んだルーチンなどを片っ端から外し、Mac用の専用ルーチンとして何とか動き始めました。
結果としての、今の動作は、MacDopplerで追尾衛星を選択し、コントローラーの追尾自動スタートボタンを押すと、aos in 1分前のデータで、その時点の衛星の方向に自動的に回転し停止待機、aos inした時点で自動追尾モードスタート、衛星の仰角が0度になった時点で自動追尾停止という機能となっています。

IMG_1037.JPG     IMG_1038.JPG
事前回転待機中           自動追尾中

Windows版は、仰角が0度でも衛星の方向角が変化すれば追尾していますが、MacDopplerからは、仰角マイナス時はデータが送出されないので認識手段がなく、0度になった時点で追尾停止の仕様となっています。
0度になってからの方法角の変化は少ないので実用上の問題は殆どないのではないかと思っています。

まだ完全ではないと思いますが、色々な衛星のパスでのテストでもなんとか動いている状況です。
北ゼロ度通過時の処理、途中で追尾衛星を変更した時の処理などもう少しテストを繰り返したいと思っています。





execution time : 0.020 sec
サイト内検索

メインメニュー

ログイン
ユーザ名:

パスワード:



パスワード紛失


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

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

もっと...