高度な衛星追跡システム:3Dプリント皿アンテナとArduino MKR1000で実現
必要なパーツと用品
| パーツ | 数量 |
|---|---|
| Arduino MKR1000 | 1 |
| ステッピングモーター | 2 |
| ボールベアリング | 1 |
必要なツールと機械
- 3Dプリンター(汎用)
プロジェクト概要
実物の衛星アンテナをベースにした3Dプリント製の皿アンテナを用いた衛星追跡システムです。実際の動作は以下の動画でご確認ください。
このアンテナは、頭上を通過する任意の数の衛星をリアルタイムで追跡します。
ハードウェア
衛星アンテナと支持構造は3Dプリントで作成。STLファイルはThingiverseで公開されています:
https://www.thingiverse.com/thing:4541354
ステッピングモーターは以下のようにArduinoに接続します:
USBケーブルを切断し、+5VとGNDラインをモバイルバッテリーからステッピングモーターの電源として使用しています。
ソフトウェア
プロジェクトのコードはGitHubで公開されています:
https://github.com/alexchang0229/SatelliteTracker
衛星の軌道は一般的にTLE(Two-Line Element)セットで提供され、ほとんどの衛星はNORADによって追跡されており、そのTLEは以下で入手可能です:
https://www.celestrak.com
MKR1000 WiFiボードを使用して、Celestrakから対象衛星の最新TLEを取得します。TLEから実際の方位角と仰角への変換という複雑な部分は、以下のライブラリで既に実装されています:
Sgp4-Library
また、現在時刻の取得にはRTC Zeroライブラリを使用:
RTCZero
2つのステッピングモーターの制御にはAccelStepperライブラリを使用:
AccelStepper
コードの動作フロー
- インターネットに接続し、現在のエポックタイムを取得
- Celestrakから衛星のTLEを取得・保存し、今後の通過を予測
- アンテナを待機位置に移動(方位角0°=北、仰角25°)
- 通過開始5分前に、通過開始位置へ移動して待機
- 通過中は衛星を追尾
- 通過終了後2分待機し、次の通過を予測
- 次の通過まで待機位置に戻る
予測の検証には、STKの無料版が利用できます:
https://www.agi.com/products/stk
以上です!試してみた感想や、不明点があればお知らせください。
衛星追跡システムと一緒に3Dプリントした衛星模型も作りたい方は、Thingiverseのデザインをご覧ください:
https://www.thingiverse.com/yychang/designs
コード
衛星追跡用コード:
GitHubリポジトリのtracker_mainを環境に合わせて設定し、Arduino MKR1000 WiFiにアップロードしてください。
カスタムパーツとエンクロージャ
衛星追跡アンテナモデル:PLAで衛星アンテナとスタンドをプリント。CADファイルはThingiverseで公開中。
回路図
Arduino | ステッピングコントローラー
方位角(Azimuth):
Pin 2 → 1
Pin 3 → 2
Pin 4 → 3
Pin 5 → 4
仰角(Elevation):
Pin 9 → 1
Pin 10 → 2
Pin 11 → 3
Pin 12 → 4
製造プロセス
- 衛星アンテナ技術の進化と未来
- Raspberry Piフィットネストラッカーでハムスターの日々の運動量を追跡
- Walabot搭載トイレ衛生モニター:カメラ不要で清潔度と使用状況を検知
- ソーラートラッカー V2.0 – 高度なDIYソーラーパネル追尾システム
- ロシア宇宙飛行士、ISSから初の完全3Dプリント衛星を展開
- 放物面ディッシュ(パラボリックディッシュ):設計原理、機能、多様な応用
- Bluetooth車載アクセスシステム向け自動アドレス割り当て方式の比較
- 衛星LoRaWANがアンダーサーブドIoT市場の接続ギャップを埋める
- リモートな世界を接続:衛星IoTがグローバルカバレッジを拡大する方法
- OPC UAを活用した堅牢なIIoTエッジ開発
- 衛星技術:グローバルIoT接続性のゲームチェンジャー