专业天线旋转控制器 – 与跟踪软件无缝集成
组件与材料
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino UNO | 1 | |
| 旋转电位器 (通用) | 2 | 最大 1kΩ,500Ω 效果更佳 |
| 带按键旋转编码器 | 2 | 方位/俯仰手动控制 |
| 面包板 | 1 | |
| 继电器模块 (2路, NO/COM/NC) | 2 | 交流电机版本用 |
| 功率 MOSFET N 沟道模块 | 2 | 直流电机版本用,最小 12V/3A |
应用与服务
- Arduino IDE
项目简介
从娱乐项目演变为严肃设备。控制器支持:
- 手动控制:两个旋转编码器分别设定方位角 (Azimuth, 0-359°) 和俯仰角 (Elevation, 0-90°)。按下方位编码器按键可切换 10° 步进微调,并立即停止天线运动。
- 自动跟踪:USB 连接 PC,兼容所有支持 EasyComm II 协议 / 9600 波特率 的卫星跟踪软件 (PstRotator, WXtrack, HRD, MacDoppler, WXtoIMG 等)。Orbitron 需配合 DDE 插件。
- 位置反馈:串口实时回传天线实时角度,跟踪软件可显示 (目前仅 PstRotator 支持显示)。
直流电机版本特色
采用 PWM 实现 软启动/软停止:输出功率与角度误差成正比,启动时加速,接近目标减速至停止。可调 死区 防止微小抖动。代码无依赖库 (除 LCD I2C),直接按原理图接线即可运行。
交流电机版本
输出干接点 (继电器),可直接对接商用天线旋转器。另有实验性 AC 调光模块版本实现软启停 (目前仅方位轴)。
校准流程 (必须执行)
- 电位器校准:将天线转至 0°/0° 和 359°/90°,记录模拟读值,填入代码
AzMin/Max, ElMin/Max,确保角度显示准确。 - 电机校准:调整
PwAzMin/Max, PwElMin/Max, AzErr, ElErr, Amax, Emax等参数,定义启动/停止功率、死区、软启停角度范围。默认值通常可用,不满意再微调。
详细视频教程见作者主页:racov.ro。问题请邮件 YO3RAK@gmail.com。
代码
直流电机版本 (2021年11月)
包含软启停 PWM 算法、编码器中断处理、EasyComm 协议解析、LCD 显示、平均值滤波等。完整代码约 400 行,核心函数:AzimRotate(), ElevRotate(), SerComm(), ReadAzimEncoder() (中断), ReadElevEncoder()。
// 关键参数定义
int AzMin=1, AzMax=1023, ElMin=1, ElMax=1023; // 电位器校准值
int AzErr=8, ElErr=4; // 死区
int Amax=25, Emax=15; // 软停止起始角度差
int PwAzMin=30, PwAzMax=100; // 电机最小/最大功率百分比
// ... 完整代码见项目页面
交流电机版本 (2021年8月)
仅继电器开关控制,无 PWM。逻辑相似,但方向切换前强制停止 500ms 保护机械。
校准步骤文本
项目页面提供纯文本的《电位器校准步骤》和《电机校准步骤》,非代码,按指引操作即可。
原理图
直流电机版本接线图:含编码器、电位器、LCD I2C、MOSFET 模块、电源等完整连接。
交流电机版本接线图:干接点输出,可直接接商用旋转器。
制造工艺
- Arduino Mega 按键 PWM 调光:三阶段渐变 LED 实战教程
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
- Unopad:基于 Arduino 的无缝 Ableton Live MIDI 控制器
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- 用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
- Arduino RGB 颜色混合器 – 分步制作教程