720 字
4 分钟
[onstep] OnStep项目步进电机总结
引言
步进电机是 OnStep 系统中的核心执行机构。其控制精度直接决定了赤道仪在天文摄影中的跟踪表现。本文总结了步进电机的工作原理、核心参数计算及基于源码的硬件调试指南。
1. 基础定义与工作原理
TIP步进电机是将电脉冲信号转化为角位移的执行机构。其开环控制特性保证了在无反馈情况下的高位置重复精度,是天文跟踪系统的理想选择。
1.1 在 OnStep 中的作用
- 赤道轴 (RA):以恒星速转动以抵消地球自转。
- 赤纬轴 (Dec):用于修正指向偏差及实现 GOTO 自动寻星。
2. 核心参数详解
2.1 机械参数
- 步进角: 常见为 1.8°(200步/圈)或 0.9°(400步/圈)。
- 相数: 推荐使用两相四线制混合式步进电机,与 TMC 系列驱动器兼容性最佳。
2.2 电气参数
- 额定电流: 需根据电机规格调节驱动器的 Vref。
- 保持力矩: 在不平衡载荷下,防止主镜因重力发生位移。
3. 驱动技术与细分 (Microstepping)
IMPORTANT细分技术通过控制相电流大小,使转子停在全步之间的中间位置,能有效消除低频震动。
- 推荐驱动器: TMC2209 / TMC5160。其支持的 StealthChop 模式可实现准静音运行。
- 细分配置: 在
Config.h中通过AXISn_DRIVER_MICROSTEPS设置。
4. 核心算法实现:每度步数 (Steps Per Degree)
在 Config.h (Line 130) 中,OnStep 定义了精确控制的数学基础:
代码参考 (Config.h):
#define AXIS1_STEPS_PER_DEGREE 15360.0 // 示例值:根据电机、细分、减速比计算5. 常见问题解决与源码实现
针对硬件运行中的偏差,OnStep 在固件层提供了针对性的解决方案。
5.1 丢步与加速度控制
原因: 加速度过大导致启动力矩不足。
解决方案: 调整 SLEW_ACCELERATION_DIST。
// Config.h: 控制加速(和减速)的距离(度)#define SLEW_ACCELERATION_DIST 5.05.2 周期误差修正 (PEC)
实现逻辑 (Pec.ino): 系统记录蜗轮转动一周内的偏差数据,并在回放时动态微调步进频率。
// Pec.ino: 获取当前蜗轮相对于感应索引的位置wormRotationPos = (pecPos - wormSensePos);while (wormRotationPos >= stepsPerWormRotationAxis1) wormRotationPos -= stepsPerWormRotationAxis1;5.3 回差补偿 (Backlash)
原因: 齿轮咬合间隙。 解决方案: 配置补偿倍率,在换向时以高速率越过间隙。
// Config.h: 换向补偿时的速率(恒星速的倍数)#define TRACK_BACKLASH_RATE 25总结
步进电机的选型与参数优化是 OnStep 系统性能的基石。通过合理配置 Config.h 中的脉冲参数与补偿算法,开发者可以在复杂的机械环境下实现亚角秒级的跟踪精度。
[onstep] OnStep项目步进电机总结
https://www.eustia-astraea.top/posts/onstep/stepper-motor-summary/