让它工作的问题 #184

推推 grbl 3年前 (2023-02-05) 288次浏览
关闭
irotier 打开了这个问题 2021 年 12 月 20 日 · 13条评论
关闭

让它工作的问题#184

irotier 打开了这个问题 2021 年 12 月 20 日 · 13条评论

评论

让它工作的问题 #184

我觉得自己很笨,但我无法让它工作……
不久前,我基于 grbl_esp32 构建了一个简单的 2 轴 Plasma-CNC(计划中的第 3 轴)。在忽视它几个月后,我决定让它起死回生,并找到了这个很棒的新版本。所以我试着让它工作。
安装它(最新的稳定版本)没有问题,我可以访问 WebUI。正如我所见,这里看起来一切都很好。

但是我无法编写/找到(对我来说)工作的 config.yaml,所以当我尝试移动轴时没有任何反应。
我尝试了 example_configs 文件夹中的不同版本,并试图让它们正常工作,但没有成功。当然我改变了端口但没有任何反应……

我正在使用 esp32,直接连接到 dm556 stepperdrivers – 在旧版本/grbl_esp32 中没有任何问题
此外,系统中没有停止,就像我说的,非常基本……

但我绝对无法让至少一个轴工作——感觉我已经尝试了步进和电机部分的所有可能组合,但没有运气

你能不能给我一个简约的配置文件/最低限度 – 一个轴应该足以理解……

让它工作的问题 #184 irotier 添加了 把招工广告 需要额外注意标签 2021 年 12 月 20 日
让它工作的问题 #184

轴的最小数量为 3,因为 Grbl GCode 解析器始终支持 XY 和 Z 字。您可以将 null_motor: 用于不可用的轴。

我们有一个转换程序,它将采用 Grbl_Esp32 machine.h 配置文件并将其转换为 FluidNC 配置文件。我们仍在为用户界面设计一些粗糙的边缘,但它似乎在核心方面工作得很好。您可以使用它将现有的 Grbl_Esp32 机器配置转换为 FluidNC。

转到https://github.com/marsjo/test/issues。单击绿色的“新问题”按钮。使用标题“翻译机文件”。复制您的 Grbl_Esp32 机器文件并将扩展名从“.h”更改为“.txt”。将文件附加到问题并单击“提交新问题”。几分钟后,FluidNC 配置文件将作为对该问题的新评论出现。

让它工作的问题 #184
作者

终于我成功了,但说不出我做了什么不同……
现在我使用的是 v3.2.8,我的 esp 是,正如我之前写的,直接连接到 dm556-drivers。所以我认为是时候获得一个 z 轴和一个用于归位/探测的开关 – 我将它连接起来进行测试并且一切正常(家庭和探测器,在不同的 gpio 引脚上使用相同的开关,虽然我不是确定这是否可以…)。这就是它变得神秘的地方 – 我拿了一根更长的电缆(2m)并再次尝试并发生了很多奇怪的事情。所以我决定通过更改 gpio 引脚将开关(Makerbot endstop)仅用于一个目的。
我可以用这个设置回家,但是当我尝试探测(G38.2 Z-100 F100/相同的电缆,相同的开关)时,它只移动了 1 毫米并告诉我:
[MSG: INFO: FOUND]
[PRB:0.000,0.000 ,-1.042:1]
并停止,但没有触及触发器……
当我回到短电缆时,即使连接了两个 gpios,它也能工作?!但我不明白的是,为什么它可以执行一个操作而不是另一个?

这是我的 config.yaml:
`name: “ESP32 DM556 Plasma 3 Axis”
board: “ESP32 Dev Controller V4”

步进:
引擎:RMT
idle_ms:250
dir_delay_us:0
pulse_us:4
disable_delay_us:0

轴:
shared_stepper_disable_pin:gpio.25:high

x:
steps_per_mm: 62.706
max_rate_mm_per_min: 2000
acceleration_mm_per_sec2: 25
max_travel_mm: 1000
homing:
cycle: 2
mpos_mm: 10
positive_direction: false

motor0:
  limit_neg_pin: gpio.17:low:pu
  hard_limits: true
  #limit_all_pin: gpio.17:low:pu
  standard_stepper:
    direction_pin: gpio.14:low
    step_pin: gpio.12:low
motor1:
  null_motor:

y:
steps_per_mm: 62.710
max_rate_mm_per_min: 2000
acceleration_mm_per_sec2: 25
max_travel_mm: 1000
homing:
cycle: 3
mpos_mm: 10
positive_direction: false

motor0:
  limit_neg_pin: gpio.4:low:pu
  #limit_all_pin: gpio.4:low:pu
  standard_stepper:
    direction_pin: gpio.27:low
    step_pin: gpio.26:low
motor1:
  null_motor:

z:
steps_per_mm:
48.953 max_rate_mm_per_min: 2000
acceleration_mm_per_sec2: 25
max_travel_mm: 1000
homing:
cycle: 2
mpos_mm: 10
positive_direction: false
pulloff_mm: 5.0

motor0:
  limit_neg_pin: gpio.5:low:pu
  standard_stepper:
    direction_pin: gpio.18:low
    step_pin: gpio.19:low
motor1:
  null_motor:

探头:
引脚:gpio.21:low:pu
check_mode_start: true

PWM:
pwm_hz: 5000
output_pin: gpio.16
enable_pin: gpio.33
direction_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
spinup_ms: 0
spindown_ms: 0
tool_num: 0
speed_map: 0=0% 10000=100%`

让它工作的问题 #184
所有者

也许探测器已经处于活动状态。

在探测之前,发送?字符以查看状态。您不应该看到探测器处于打开状态。

<Run|MPos:351.154,0.000,-135.983,10.477|FS:1200,0|Pn:P>

您不希望在 Pn: 部分看到“P”。Pn:部分只有在某些开关处于活动状态时才会出现。

让它工作的问题 #184

不支持对两个引脚使用同一开关的配置。它可能有效,也可能无效。你遇到的问题听起来像是上拉电流不足或电容噪声过滤不足或两者兼而有之。ESP32 中的内部上拉电阻非常弱,电阻控制不佳。它们不适用于板外电缆。当您为同一个开关使用两个引脚时,会产生并联两个内部上拉电阻的效果,将电阻减半,从而使电路不易受外部噪声的影响。

正确的做法是使用具有噪声过滤功能的外部上拉电阻。您也许可以使用外部电阻器和电容器来摆脱困境,但使用带有施密特触发器缓冲器的光隔离会更好,就像 Bart 的4x Opto Input Module所做的那样。等离子弧会产生大量的电噪声。

让它工作的问题 #184
作者

非常感谢 – 我做到了。正如你提到的那样,上拉很弱,甚至是外部的,所以我使用光耦合器板并用 12v 运行开关……

有没有一种正确的方法可以将一个开关用于家庭 x 和探测?或者是否可以禁用 $HZ?我知道,如果我将归位周期设置为 0,它不会通过使用 $H 归位,但是如果有人使用大多数界面中存在的 $HZ 快捷方式/按钮,它会在没有开关的情况下崩溃…

让它工作的问题 #184
所有者

没有什么好的方法可以禁用 $HZ。

我们一直在谈论有一个设置来禁用单轴归位,就像 Grbl 一样。

我们可以做的另一种方法是检查是否没有定义任何开关。我们需要考虑不使用开关到家的特殊电机,如 RC Servos。

让它工作的问题 #184
所有者

另一种选择是使用-1 的归位周期将轴指定为不归位。0 表示它不是 $H 的一部分。

让它工作的问题 #184

我会让“not homed”成为默认值,并省略 homing_cycle: 键。它可以在内部表示为 -1。

让它工作的问题 #184
所有者

我不确定它是否有效。还有一种情况,它应该在$H 有归零周期,但是$H 是不允许的。

让它工作的问题 #184

我将创建一张票。

让它工作的问题 #184
作者

有这个功能会很好,但现在我很高兴,一切似乎都正常……所以我可以把它从桌面带回车间并“玩”……再次坦克!