开源改变世界

改进归位周期和硬限制功能。 #204

推推 grbl 3年前 (2023-01-21) 171次浏览

关闭
chamnit 打开了这个问题 2013 年 3 月 16 日 · 1条评论
关闭

改进归位周期和硬限制功能。#204

chamnit 打开了这个问题 2013 年 3 月 16 日 · 1条评论

注释

改进归位周期和硬限制功能。 #204
成员

在 v0.9 中改进归位周期的占位符:

  • 修复了一个错误,该错误在归位循环使用的精简步进算法中未考虑加速度独立性和速度限制。
  • 待定:重构精简版步进算法,让探测循环也使用此功能。
  • 重构归位搜索周期以改为使用主步进算法。问题是寻道周期需要移动得相当快,而精简步进算法不能。由于它不是实时的,因此仅适用于缓慢的定位移动。步进算法实际上不需要任何更改,限制中断将触发并停止运动,但它还将管理特殊归位情况并允许其恢复归位周期。
    • 调用时,搜索循环将为每个轴移动 2*max_travel。
    • Lite stepper 算法只会被定位周期调用。
  • 允许在限位开关状态下进行配置,高或低正常。将需要在归位循环和硬限制例程中对代码进行大量重构。
  • 待定:安装去抖例程。使用看门狗定时器中断作为延迟,并在几毫秒后检查引脚变化的状态。如果寻道周期使用主步进器模块,则可能需要这样做。
改进归位周期和硬限制功能。 #204
成员作者

用于改进 v0.9 中归位周期的占位符注释:

  • 完全删除精简版步进算法。所有步进运动都将移动到 stepper.c 中。
    • 将在 Timer2 CompA 中断上运行的主步进器 ISR 克隆到 Timer2 CompB 中断,它现在将仅处理归位/探测特殊情况运动。
    • 为常见任务创建共享函数,即加载下一个块、加速等。
    • 一次只会运行一个或另一个 Timer2 ISR 中断。
    • 允许分离时间关键的循环步进算法,其中这必须尽可能没有任何额外的包袱,以及非时间关键的归位/探测特殊例程。在这些特殊情况下,我们可以让 ISR CompB 检查的内容具有一定的灵活性。
    • 可以通过重新使用已经可用的例程来节省一些宝贵的闪存空间,但也可以清理一些 IMO 的东西。
    • 还使归位循环运动实时进行,并且将完全像正常循环操作一样运行。(归位搜索存在问题,由于大量抖动,它不能走得很快。)
喜欢 (0)