同一台设备,回零位置隔天差 0.1 mm;换了只原点开关,偏差更大;停机复位一下,又能好一阵。这类问题九成不是开关坏了,是回零只做了一段速度。
回零到底在做什么
把「位置未知」变成「位置已知」。做法是找一个机械基准 —— 开关的边沿,或者编码器的 Z 相 —— 然后把那个点写成原点。基准越锐利,重复性越好;基准越依赖速度,重复性越差。
为什么必须两段
开关的动作点本身有回差,响应有延迟,加上高速下的刹车距离,实际停止位置的散布会放大。高速段跑得快,但它只负责「找到大概位置」。
真正的精度来自第二段:反方向退开,再用很低的速度重新找同一个边沿。速度低,同样的时间误差走过的距离就小 —— 定位散布大致与低速段速度成正比。0.1 m/min 和 1 m/min,散布差一个数量级。
如果编码器有 Z 相(每转一个),还能再收一次:低速找到开关边沿后,继续找第一个 Z 相,把该点定成原点。Z 相只有一个脉冲宽,比开关边沿锐利得多,精度由编码器分辨率决定,与开关无关。
| 回零方式 | 精度来源 | 适用 | 注意 |
|---|---|---|---|
| 仅原点开关 | 开关重复性 | 一般定位 | 便宜,重复性常在 0.05–0.2 mm 量级 |
| 开关 + Z 相 | 编码器分辨率 | 需要稳定重复定位 | 必须固定回零方向 |
| 硬限位 / 撞停 | 机械接触 | 轻载、慢速、无条件装开关 | 伤机构,不建议作为常规方式 |
| 绝对值编码器 | 出厂标定 | 免回零、断电保位置 | 要电池与多圈范围管理 |
做法
- 先定方向:永远从同一侧接近原点。从两侧接近,反向间隙会直接进基准。
- 高速找开关 → 反向退出开关 → 低速再找同一个边沿 → 锁第一个 Z 相。
- 写原点偏移(原点不在 0 位时),把偏移存进参数,不要写在上位机代码里。
- 连续回零 10 次,记录每次的机械位置,看散布。散布超过工艺要求,就再降一半低速段速度复测。
边界
反向间隙大、丝杠预压不足的机构,单靠回零看不出问题 —— 回零重复性好,不代表双向定位好。这种情况要单独测双向定位,别把回零数据当成精度结论。回零完成后软限位的范围才有意义,见软限位不是保险。绝对值编码器免回零,但电池没电、多圈溢出时照样要重新找基准,这套流程还是得留。
回零精度取决于最慢那一段,不取决于开关多贵。