开源改变世界

在 EEPROM 上存储探测区域设置(cnc 使用) #927

推推 grbl 2年前 (2023-02-06) 202次浏览
关闭
whosawhatsis 打开了这个问题 2014 年 5 月 21 日 · 32条评论
关闭

防止预归位崩溃#927

whosawhatsis 打开了这个问题 2014 年 5 月 21 日 · 32条评论

评论

在 EEPROM 上存储探测区域设置(cnc 使用) #927
贡献者

当 Marlin 启动时,它假定其位置为零。大多数打印机归零,这意味着,如果启用了软止动器)它们将无法向它们的止动器移动,除非通过归位,但它们将能够向相反的方向移动,通常没有止动器。这不是一种非常安全的操作方式,情况应该反过来,这样轴才能在它们归位之前只能向它们的终点移动(或者至少不能超过它们在那个方向上的起点)。

有几种方法可以实现这一点。最明显的是将所有轴归零到 MAX 而不是 MIN,但这不是大多数机器的构建方式,所以我想就其他一些选项征求意见。以下是实现这一目标的一些可能方法:

  1. 将起始位置(打印机启动时认为它所在的位置)更改为任何指向 MIN 的轴的 MAX 位置,反之亦然。
  2. 始终使轴的零点距其终点最远。
  3. 防止轴的所有非归位移动,直到它归位为止。
  4. 使用布尔标志(在启动时设置为 false)指示轴是否已归位,并限制每个轴仅向终点(MIN 或 MAX)移动,直到标志指示它已归位。
  5. 和4一样,对软件endstops使用特殊的启动值,而不是配置中设置的值,并在发生归位时将这些值替换为配置文件中定义的值。

这些中的任何一个都可能导致意外行为,但该行为应该导致比当前行为更安全的故障模式。我倾向于 5,但我想获得更多意见,并在继续之前看看是否有其他人有更好的主意。

在 EEPROM 上存储探测区域设置(cnc 使用) #927
贡献者

我认为大多数人只有在归巢时才会启用止动器,因此除非止动器始终处于活动状态,否则改变当前行为并不安全。如果它被改变,也许让它成为有条件的。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

我认为 4 和 5 最能跨打印机兼容。这将是对固件的一个非常好的补充。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

我更喜欢选项 3。在原点之前移动轴没有意义也没有安全场景。正如克里斯所说,大多数人 – 包括我 – 只是
出于归巢目的启用终点站……

如果您喜欢坚持使用选项 4,我已经(为 BAL)实现了
变量“axis_known_position”。是否在归位轴时设置并
在禁用该轴的步进器时清除。

干杯。

亚历克斯。

2014-05-21 5:49 GMT-03:00 Pim Rutgers notifications@github.com

我认为 4 和 5 最能跨打印机兼容。这将是
对固件的一个非常好的补充。


直接回复此电子邮件或在 GitHub 上查看它 https://github.com/ErikZalm/Marlin/issues/927#issuecomment-43729643

“Não é o mais forte da espécie que sobrevive,nem o mais
inteligente。É aquele que se adapta melhor as mudanças”(查尔斯·达尔文)

亚历克斯博罗

在 EEPROM 上存储探测区域设置(cnc 使用) #927
贡献者作者

@alexborro好点,我没有想到禁用电机会使已知位置无效的事实。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

任何人在这个问题上?做梦梦见朋友在开机后发出卡机声

在 EEPROM 上存储探测区域设置(cnc 使用) #927

@alexborro如何通过 Gcode 提供这些“axis_known_position”状态?这将允许主机软件在归位之前防止手动移动。

有通过 M105 返回主页状态以及其他信息的建议:http: //reprap.org/wiki/G-code#M105:_Get_Extruder_Temperature

在 EEPROM 上存储探测区域设置(cnc 使用) #927

它是“可行的”,确实很容易。
问题是主机解析混乱。如果我更改 M105 返回
字符串,主机软件可能无法正确解码字符串。

我不是 Pronterface/Repetier 主机软件方面的专家,所以我不知道
他们如何解析这些信息。需要检查一下。

干杯。

亚历克斯。

2014-11-20 0:08 GMT-06:00 kh90909 notifications@github.com

@alexborro https://github.com/alexborro如何
通过 Gcode 提供这些 axis_known_position 状态?这将允许主机
软件在归位之前防止手动移动。

有通过M105返回主页状态以及其他信息的建议: http: //reprap.org/wiki/G-code#M105:_Get_Extruder_Temperature


直接回复此电子邮件或在 GitHub
https://github.com/ErikZalm/Marlin/issues/927#issuecomment-63765422上查看。

“Não é o mais forte da espécie que sobrevive,nem o mais
inteligente。É aquele que se adapta melhor as mudanças”(查尔斯·达尔文)

亚历克斯博罗

在 EEPROM 上存储探测区域设置(cnc 使用) #927

谢谢@alexborro. 我也不是主机软件专家。我一直在与 Printrun 开发人员讨论类似的危险移动问题。如果他们有机会,我会请其中一位在这里发表评论。

我链接到的提案建议仅在将 S 参数提供给 M105 时才返回此信息。我怀疑这不会破坏现有的主机软件,因为它不会使用这些 S 参数。根据该链接,RepRapPro Ormerod 的 dc42 固件已经返回此信息以响应 M105 S2,因此如果这适用于 Pronterface/Repetier,那么它与 Marlin 做类似的事情应该不会破坏任何东西。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

我同意你的看法。
我现在正在出差。
我一回到家(12 月初)就会实施此功能。

干杯。

亚历克斯。

2014-11-20 11:53 GMT-06:00 kh90909 notifications@github.com

谢谢@alexborro https://github.com/alexborro。我也不是主机软件
专家。我一直在与
Printrun 开发人员讨论类似的危险移动问题。
如果他们有机会,我会请其中一位在这里发表评论。

我链接到的提案建议仅在将S 参数提供给 M105时才返回此信息。我怀疑这不会破坏现有的主机
软件,因为它不会使用这些 S 参数。根据该链接,
RepRapPro Ormerod 的 dc42 固件已经返回此信息以
响应 M105 S2,因此如果这适用于 Pronterface/Repetier,那么它对
Marlin 做类似的事情应该不会破坏任何东西。


直接回复此电子邮件或在 GitHub
https://github.com/ErikZalm/Marlin/issues/927#issuecomment-63849995上查看。

“Não é o mais forte da espécie que sobrevive,nem o mais
inteligente。É aquele que se adapta melhor as mudanças”(查尔斯·达尔文)

亚历克斯博罗

在 EEPROM 上存储探测区域设置(cnc 使用) #927

谢谢亚历克斯。非常感激。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

如果要在终点站区域进行任何工作,如何在距终点站定义的距离处添加减速功能以减少开关撞击?

在 EEPROM 上存储探测区域设置(cnc 使用) #927
贡献者

不可能的。归位在定义上是您不知道
开关距离多远的状态。如果您不喜欢 G28 上的碰撞,请减少
Configuration.h 中的 HOMING_FEEDRATE。如果您对此太不耐烦,请
在 G28 之前(或代替)使用 G0。

干杯,

  • 格雷格

在 2014 年 12 月 7 日星期日 -0800 上午 09:43:56,Doug LaRue 写道:

如果要在终点站区域进行任何工作,如何在距终点站定义的距离处添加减速功能以减少开关撞击?


直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/927#issuecomment-65945762

在 EEPROM 上存储探测区域设置(cnc 使用) #927

不是不可能。如果机器永远不知道托架在哪里以及原点(最大)终点挡块在哪里,Delta 型 3D 打印机将永远无法工作。如果您的电机跳动,可能会出现问题,但当这种情况发生时,您作为 3D 打印机的问题不仅仅是停止撞击。除此之外,我在使用 RepetierHost FW 设置我的第一台机器时接触到这个“功能”,所以它似乎是可能的,因为它已经在其他地方完成并且似乎是一个优雅的解决方案。

在 EEPROM 上存储探测区域设置(cnc 使用) #927
贡献者

@dougLaRue:当打印机执行 G28 归位时,它不
知道端点在哪里。当它打印时,它确实知道
终点在哪里。严重地。

在 EEPROM 上存储探测区域设置(cnc 使用) #927

ok, so the obvious question: Between printing and homing, when does the fw lose it’s end stop positions? Are you trying to state

喜欢 (0)