开源改变世界

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127

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

关闭
czuba 打开了这个问题 2017 年 2 月 15 日 · 4条评论
关闭

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]]#127

czuba 打开了这个问题 2017 年 2 月 15 日 · 4条评论

注释

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127

大家好,

因此,我正在寻找一种在自动操作(例如归位)期间保持主轴功能的方法。

我正在使用 Grbl 来控制一些由 Gecko G540 驱动的步进电机。G540 没有单独的启用/禁用引脚,使电机不断发出呜呜声并产生热量。但是,它确实有一个需要高频率的“电荷泵”。信号 (≥10.5kHz) 从控制计算机发出,当它准备好运行时,允许它脱离故障模式并向电机供电。

原来 Grbl 的可变主轴 PWM 输出是一种足够快的调制,可以诱使电荷泵像启用引脚一样工作。预订动作:

m3 s10500    (spindle on @10.5kHz)
g4 p0.2    (brief pre-dwell)
(.....)
g0 x50 f6    (do the g-code stuff)
(.....)
g4 p2    (post-dwell)
m5    (stop spindle)

非常适合单次运动,但当我尝试使用这种布置进行归位时,Grbl 在归位时自动禁用主轴,因此 G540 驱动器永远不会退出故障模式,电机也永远不会运行。

我试着在 c 代码中简单地注释掉看起来可能是问题所在的命令,就像 spindle_stop();在 motion_control.c 中一样,但这似乎没有什么不同。

我预计其他步进驱动器也需要电荷泵信号,因此也许此功能也会有更广泛的用途并启用新的 Grbl 应用程序。…对于我的特殊情况,我只是使用 Grbl 来控制一组电机和龙门架,因此无需担心实际的旋转切割工具的破坏性,但在电机闲置时将 EM 噪声降至最低很重要。

在此先感谢您的帮助和代码开发。这是一个非常棒的软件包,我很期待我们能够用它做什么。


(此外,我意识到主轴速度以 RPM 为单位,而电荷泵需要 Hz,但单位盲转换值有效,所以我觉得不需要取消真实/有效截止)

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127

虽然这可以在软件中完成,但在可以添加到当前代码并仍然适合标准 Arduino 的内容方面存在限制和权衡。即使我自己是 G540 用户,我也不认为这对更广泛的 grbl 社区有很多好处,他们大多想要驱动实际的主轴或激光器。
我建议在硬件中执行此操作可能会更好。它只涉及一个相对简单的 555 定时器电路,配置为适当的频率,以及由电机启用信号控制的复​​位引脚(可能通过一个额外的晶体管以确保其“故障安全”)。
这具有额外的好处,意味着您可以坚持使用 grbl 的标准版本,并且如果有任何新版本,可以轻松升级。

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127
贡献者

@czuba: 328 上的 Grbl 已达到极限,因此在此版本中不太可能出现新的公共功能。但是,对于 ARM 版本,我会牢记这一点,它应该很快就会亮相。

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127
作者

感谢您的快速反馈。我将研究 555 计时器解决方案,并留意 Grbl ARM。

在归位期间保持主轴功能 [[ 使用主轴 PWM 信号作为电荷泵,Gecko G540]] #127

作为编译时选项应该很简单,只需将主轴函数设为空并在 st_wake_up 和 st_goto_idle 中打开和关闭计时器

喜欢 (0)