高级卫星追踪器:3D 打印抛物面天线 + Arduino MKR1000
零部件清单
| 组件 | 数量 |
|---|---|
| Arduino MKR1000 | 1 |
| 步进电机 | 2 |
| 滚珠轴承 | 1 |
所需工具
- 3D 打印机
项目简介
这是一个基于真实卫星天线设计的 3D 打印抛物面天线追踪器,能实时追踪多颗卫星飞越轨迹。项目演示视频展示了天线平滑跟踪卫星的全过程。
硬件部分
天线碟面和支撑结构均为 3D 打印,STL 文件可在 Thingiverse 下载:https://www.thingiverse.com/thing:4541354
两个步进电机连接方式如原理图所示。我剥离一根 USB 线,利用其 +5V 和 GND 从移动电源为步进电机供电。
软件部分
项目代码托管于 GitHub:https://github.com/alexchang0229/SatelliteTracker
卫星轨道数据通常以两行元素集(TLE)形式提供,大多数卫星由 NORAD 追踪,TLE 数据可从 Celestrak 获取。
利用 MKR1000 的 WiFi 功能,从 Celestrak 抓取最新 TLE 数据;TLE 转方位角/仰角的复杂计算由 Sgp4-Library 库完成。时间同步使用 RTCZero 库,步进电机控制用 AccelStepper 库。
代码工作流程
- 联网获取当前纪元时间
- 下载关注卫星的 TLE,预测即将到来的飞越
- 天线待机位:方位角 0°(正北),仰角 25°
- 飞越前 5 分钟移动至起始位置等待
- 飞越期间持续追踪卫星
- 飞越结束后等待 2 分钟,预测下一次飞越
- 返回待机位直到下一次飞越
可使用免费版 STK 验证预测精度:https://www.agi.com/products/stk
如果想 3D 打印一些卫星模型搭配追踪器,可查看我的 Thingiverse 设计:https://www.thingiverse.com/yychang/designs
原理图接线
Arduino | 步进驱动器 方位角电机: 2 → 1 3 → 2 4 → 3 5 → 4 仰角电机: 9 → 1 10 → 2 11 → 3 12 → 4
制造工艺