[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][JAMSAT Home]

[jamsat-bb:12827] RE: [jamsat-bb:12822] Re: CALSAT32+PICNICで衛星追尾、、教えてください。


金子さま、みなさま

 JR1HUO/相田です。

=====
 制御の方法について推定で話が進み、具体的な解決方法から離れない
ように、また、実際の制御方法を知っていただくために書かせていただ
きました。

 PICNICでのアンテナ制御を実装してかなり時間が経過していますが、
お使いの方が出てきて話題となり、うれしく思います。

 具体的な問題点などをさらにお知らせいただければ幸いです。
=====


 CALSAT32でアンテナを制御しているときに、

*****
 PICNICの動作が原因で制御が遅れているかどうかは、PICNICの
基板上にある、LANの動作状態を示す LINK,RX,TX のLED表示の点灯
の様子から確認できます。

 プログラムは、2秒ごとに方位と仰角のA/Dコンバータ出力値を
取得しています。したがって、RXとTXのLEDが2秒ごとに短く点灯を
繰り返している状態が正常な表示となります。 なお、LINKのLEDは
LANの接続が正常であれば常時点灯となります。

*****
 また、ローテータの上下左右の制御状態も RB4,5,6,7 のLED表示
が点灯しているときに回転指示が出ているので点灯の様子を見て
確認することができます。

 方位と仰角の計算値と実際のアンテナの向きのずれの大きさによって
次のような間欠の回転制御を行います。

 ずれが8度以上  2秒ごとに2sの間欠制御(連続回転)
 4度以上8度以下 2秒ごとに200msの間欠制御
 2度以上4度以下 2秒ごとに100msの間欠制御
 2度以下     2秒ごとに50msの間欠制御

 ただし、あらかじめ設定された制御誤差許容範囲以内に入った場合
には、制御は行わずにA/Dコンバータのデータ読み込み動作のみになり
計算位置と実際のアンテナの向きを監視します。

 したがって、正常に制御が行われている時には、たとえば衛星が
東に位置していてアンテナが南を向いている場合には、水平左側制御
に割り当てているPICNICのRB5のLEDが点灯し、上のような制御方法で
間欠制御に移り、その制御時間が短くなり、最終的は停止します。
 衛星の動きが大きく、制御誤差許容範囲を小さく設定した場合には、
間欠制御の頻度が高くなります。 場合によっては制御不足で制御誤
差許容範囲から外れ、100msや200msの間欠制御に移行する
場合もあります。

 以上がCALSAT32で行っているアンテナ制御の方法です。


*****
>JA1OGZ/金子です。
>
>友人もPICNICを使っていますが、同様な現象があるとのことです。
>これは、PICNICの問題ではなく、DATA転送速度と構成要素
>の全体の問題と思われます。

 PICNICとLANのハードウェア的な性能については、たとえば1秒と
いうような時間では問題はありません。 むしろ、WindowsでCALSAT32
と同時に実行されているLANにアクセスするプログラムとの関係が問題
になるかもしれません。 当方ではADSLを使っていてHUBを使って複数
のパソコンを接続しているため、時には大きなトラフィックによって
応答が遅れる場合もあるためスイッチングHUBを2段に接続して、2段
目にPICNICと制御用のパソコンを接続しています。 これにより上流
のトラフィックに影響されることなく安定な通信経路を確保していま
す。 CALSAT32が動いているパソコンとPICNICをクロスケーブルで直
結すればこのような心配は発生しません。 もっともCALSAT32自身が
計算の固まりのようなプログラムなので、速度が遅いパソコンでは
LANの通信処理に遅れが出ることもあるかと思います。
 当方では、Pentium-MMX 200MHz で FT847 も制御していますが、
限界を感じます。 アンテナやリグの制御を考えている方は、せめて
6個の衛星を計算し、衛星の航跡(最近)を表示しても毎秒数値表示
が更新できる能力のパソコンを手当てしてやってください。できれば
CALSAT32のほかにHAMLOG、SSTVやPSK31などの通信ソフトも動かしたい
となると、いっそのこと場所ばかり取るお古のパソコンを捨てて、、
2GHz越えのPentium4とWindowsXP...  欲しいです。願望。


*****
>PICNICに対して、PCのS/Wが例えば右周りと指示し、
>その後のローテータの位置情報をPICNICから取得し、STOPの
>命令を出し停止するわけですが、現象からするとその間のプロセスの問題
>がありそうです。

 PICNICに「コマンドを送って、応答を待って、つぎの処理をする。」
と、いうような手順の記述・処理をするようなDOS的プログラム手法は、
Windowsでは一般的ではなく、何かのイベントが発生したときに処理を
するプログラムの集合で全体が構成されます。 タイマーイベントは
タイミング制御に一般的に使われるもので、PICNICのアンテナ制御にも
利用しています。 パソコンの処理が遅いとイベントの発生にすばやく
対応できなくなって、いわゆる重い状態になります。


*****
>PCのS/WからいくつかのS/Wを経由し、UDPプロトコルでPICNI
C
>にCMDが送られそのRESPONSEを最終的にPC側のCALSATにて
受けて
>います。この間の総合的な時間差の問題と受け取れます。
>早い、衛星ほどこのような問題が発覚しやすいかと思います。

 PICNICへはUDPのプロトコルでコマンドは送りっぱなしで、応答がな
ければエラーを表示して停止する単純な構成にしています。 実際には
ローテータの制御でパケットが失われるなどのエラーが発生してもエラ
ー処理は行わずに(どうやって検出するのだろう)、2秒毎に再びロー
テータの動作を規定する制御コマンドを送出します。 PICNICとの通信
でタイムアウトエラーが発生するのは、A/Dコンバータからの電圧値の
読み取りで5秒以上応答が無くなったときです。

 CALSAT32では、PICNICからの応答タイミングの影響を受けにくい形で
制御を行っています。 方法は、実際のアンテナ位置を示す電圧をA/D
コンバータから読み込み、計算値と比較して誤差が少なくなる方向に
ローテータを動かしてみる。 2秒後、それらしい制御が出来たか
A/Dコンバータのデータを読み込み判断する。 誤差が許容値よりも大
きければ、さらにローテータを誤差が小さくなる方向に動かしてみる。
(誤差が小さくなったら間欠的にゆっくり動かしてみる。)このような
繰り返しを2秒ごとに行い、誤差許容範囲に収まるまで制御します。

 この制御の方法は動きの速い衛星に対しても遅い衛星に対しても同じ
です。 したがって、利用する衛星の動きやアンテナ設備によって、
制御誤差許容量の設定(1〜19度まで1度単位で)やローテータの
速度を遅くするなど工夫が必要になります。


*****
>1秒以内にローテータの現在位置を検出し、その後動作を決定するような
>S/Wの組み方が必要です。
>この動作がローテータの回転速度と比べ遅くなると、ローテータは行き過ぎた
り
>戻りすぎたりし、行ったり来たりします。

 アンテナを回転させておいて、アンテナ方向を監視しながら、衛星に
向いたら制御を止める方法では、ローテータの位置を短い時間間隔で確
認する必要がありますが、CALSAT32の制御はこれとは異なり、PICNICの
応答が遅れると、2秒毎の制御が抜ける動作になります。 結果として
ローテータは回転不足傾向になります。


*****
>改善方法として考えられるのは、ローテータのSPEEDを出来る限り
>遅くすることです。
>KR−400をDCモータ化し電圧を下げて使うなど、考えられます。

 実際に過回転で制御がうまくいっていないようであれば、回転速度を
下げる必要があります。 プログラム的には間欠回転制御の時間を短く
したり、制御間隔を長くするなどの対応は考えられます。


*****
>なお、PICNICは多くの方が使っているようですの、LOEの衛星では
>どうかもう少し情報を得てご判断されれば良いと思います。

 低軌道で動きの大きい衛星ほど、アンテナの自動制御機能が運用の
助けになります。

 私の環境ではアンテナ制御に関しては、衛星が方位ローテータの
回転起点方向を通過するときに気を使う以外は、すべてお任せ状態
です。


 長い書き込みになってしまいましたが、ご容赦願います。 
 






-------------
JAMSAT BB Mailing List
http://www.jamsat.or.jp/infoserv/mlist.html