请求新的 stepconf 功能 #316

推推 grbl 3年前 (2023-01-29) 369次浏览
打开
CodePuse 打开了这个问题 2017 年 8 月 10 日 · 20条评论
打开

请求新的 stepconf 功能#316

CodePuse 打开了这个问题 2017 年 8 月 10 日 · 20条评论

注释

请求新的 stepconf 功能 #316

添加去抖动复选框(和底层代码)以限制和归位开关配置。
谢谢。

请求新的 stepconf 功能 #316 andypugh 添加了 增强 标签 2017 年 8 月 11 日
请求新的 stepconf 功能 #316
贡献者

你能更好地解释一下吗?

尼古拉。

请求新的 stepconf 功能 #316
作者

我发现在路由盟友时我有一个自发的限位开关触发器。论坛中提出了各种解决方案,包括在 hal 文件中使用 debounce。

我认为将去抖动和时间段添加到 stepconf 会很有用/方便。在将引脚(在并行接口板上)设置为其功能(即限制/主页等)的屏幕上,添加一个额外的复选框(是否去抖动)和文本框(时间段)。这些将在 stepconf 向导完成时将适当的代码添加到 hal 文件。

请求新的 stepconf 功能 #316
贡献者

为每个图钉添加一个文本框会占用太多空间。
放一个全局延迟的单个文本框合适吗?

尼古拉。

请求新的 stepconf 功能 #316
作者

老实说,您认为最有效的方法。我只是想知道是否可以将 debounce 添加到 stepconf 而不必手动编写 hal 文件。

我假设您不需要为每个引脚设置不同的延迟值。我自己使用了相同的延迟值。您实际上是在添加此功能还是说要对其进行评估以进行添加?谢谢。

请求新的 stepconf 功能 #316
贡献者

我先看了一下去抖动,应该没什么大不了的。
但是,在更改其他内容之前,我必须等待 Jeff Epler 批准我的最后修改。

尼古拉。

请求新的 stepconf 功能 #316
合作者
c-莫利 评论了 2017 年 8 月 26 日 通过电子邮件
请求新的 stepconf 功能 #316
贡献者

嗯,我不确定这个解决方案。组合框应该有这 4 个条目:
invert no debounce
invert + debounce
no debounce
debounce
No so pretty…

尼古拉。

请求新的 stepconf 功能 #316
成员

我认为如果你打算在 stepconf 中实现去抖动,你应该简单地去抖动“预计只有缓慢转换”的每个输入,无条件地或由单个复选框控制。那将是除主轴 A/B/索引之外的所有内容。

基于这样的事实,例如https://www.maximintegrated.com/en/products/interface/signal-line-protection-ics/switch-debouncers-protectors/MAX6817.html使用标称 40ms 的相当大的去抖时间,您应该选择该范围内的去抖时间。

stepconf 当前选择一个 HOME_LATCH_VEL,如下所示:

            # set latch velocity to one step every two servo periods
            # to ensure that we can capture the position to within one step
            latchvel = latchvel * 500 / get("scale")
            # don't do the latch move faster than the search move
            if abs(latchvel) > abs(get("homevel")):
                latchvel = latchvel * (abs(get("homevel"))/abs(latchvel))

但是当有 40 毫秒的去抖动时间时,这个数学当然是胡说八道。使用 40 伺服周期去抖动,使用此数学计算,偏移量变为大约 20 步。但是,使用如此激进的去抖动,您可能无法在一步之内达到归位的目标。无论如何,它应该是一个相当恒定的偏移量,而且对于合理的速度和步长设置,它看起来很好地进入了亚毫米范围。

请求新的 stepconf 功能 #316
合作者
c-莫利 评论了 2017 年 8 月 29 日 通过电子邮件
请求新的 stepconf 功能 #316
贡献者

嗨,克里斯,
我只是想将复选框放入组合框中。但是,选项将不再立即可见,我们应该选择所有组合框来检查单个设置。对用户来说不是一件好事。

尼古拉。

请求新的 stepconf 功能 #316
合作者
c-莫利 评论了 2017 年 8 月 29 日 通过电子邮件
请求新的 stepconf 功能 #316
合作者
c-莫利 评论了 2017 年 8 月 29 日 通过电子邮件
请求新的 stepconf 功能 #316
贡献者

我想最后我只会添加另一个复选框。但在我看来,Jeff Epler 不喜欢去抖动。

尼古拉。

请求新的 stepconf 功能 #316
成员

去抖对我来说很好@nicokid

请求新的 stepconf 功能 #316
合作者

在我的并行端口机器上,我发现 15 个基周期的去抖动是完全足够的。我不认为有任何理由将它推到 40 毫秒。
40 毫秒听起来像是针对电源的嗡嗡声,而不是我们在机器中看到的那种高频瞬变。
潜在的 stepconf 可以使家庭开关去抖 10 个周期,限制开关去抖 50 个周期(或更多),因为嘈杂的家庭比嘈杂的限制要麻烦得多。

我建议在端口设置页面底部勾选两个复选框,并预先填写默认时间:
[X] Debounce Home switches [0.2mS]
[X] Debounce Limit switches [1.0 mS]

请求新的 stepconf 功能 #316
成员

开关弹跳超过 8 毫秒:http
://www.ganssle.com/debouncing.htm 开关弹跳超过 40 毫秒:https ://softsolder.com/2012/07/13/contact-bounce-why-capacitors-dont-fix-it /

由于限位开关和原位开关仅由伺服线程采样,<1ms 的去抖并没有真正产生影响,因此请求添加去抖的用户的开关会反弹 >1ms。(主轴的 A/B/Z 显然是另一回事)

请求新的 stepconf 功能 #316
成员

如右图所示,触点切换时间为不稳定时间、反向时间和反弹时间之和,一般微动开关为5~15ms
https://www.ia.omron.com/支持/指南/29/explanation_of_terms.html

请求新的 stepconf 功能 #316
合作者

Jepler:我认为这里有些混乱。“去抖动”组件通常不用于忽略物理开关弹跳,它用于抑制限位开关信号中的瞬态电噪声。
使用 stepconf 系统,每个基本线程都会对输入进行采样,并且可以使用基本线程去抖动组件将过滤后的开关状态传递给伺服线程运动输入。
因此,对于并行端口系统,具有比伺服周期短的去抖时间是有意义的。

请求新的 stepconf 功能 #316
成员

@andypugh感谢您的澄清。是否有更明确的术语向用户展示?也许除了我之外,每个人都清楚。

请求新的 stepconf 功能 #316
合作者
安迪普 评论了 2017 年 8 月 31 日  

Stepconf GUI 具有
[X] 在 Limit 输入上使用软件过滤
[X] 在 Home 输入中使用软件过滤可能是有意义
的信号完整性差)

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
项目

还没有

发展

没有分支机构或拉取请求

6人参加
请求新的 stepconf 功能 #316请求新的 stepconf 功能 #316请求新的 stepconf 功能 #316请求新的 stepconf 功能 #316请求新的 stepconf 功能 #316请求新的 stepconf 功能 #316

喜欢 (0)