评论
合作者
感谢您提供良好的数据来帮助我们了解您的问题。 根本原因是使能引脚与 GCode 解析同步,而 PWM 引脚在步进期间动态调整。解析和步进之间存在延迟,因为解析器将线段发送给规划器,规划器计算将多个线段拼接在一起的运动计划,对线段连接点应用加速/减速约束,其中可能包括影响加速度的方向变化。为了在端点和拐角处获得正确的速度,必须跨组完成。然后,规划器将运动计划提供给执行该计划的步进生成器。为了实现平滑运动,这条链中有多个层次的排队。否则系统会在等待下一个信息到达时停止。该排队会产生您观察到的延迟。减少它会导致动作不流畅。 S 值通过所有队列传播,以便可以动态应用,与步骤生成同步并根据运动速度进行功率调制。启用值不会以这种方式传播,而是在运动停止时应用。 GCode – 和 Grbl – 最初是为控制带有旋转主轴的铣床之类的东西而设计的。M3..M5 行为反映了该假设。激光模式后来被硬塞进 Grbl,但 GCode 和 Grbl 都不是真正为最深层次的激光使用而设计的。GCode 语言本身不适合激光雕刻的需要,而 Grbl 线路协议还有其他问题,使其不适合许多激光任务。在某些情况下,它可以工作,但这有点像当你真的想要一把合适的凿子时却试图使用螺丝刀。 LaserGRBL repo上正在讨论如何改善这种情况,但到目前为止还没有很好的共识或计划。 |
作者
我有激光启用引脚和 pwm 引脚的问题。它们不匹配。
在 LightBurn 中,我画了 1mm 宽的线,当我以 200mm/s 的速度雕刻它时,pwm 有 30ms 的延迟并启用。
有没有办法降低延迟?
LIghtBurn 不使用 M5 来打开激光,它是用 s0 完成的。
我的计划是用电压峰值检测器保持 S 值,并用启用引脚发射激光。
这是我运行的 g 代码:
G00 G17 G40 G21 G54
G91
M4
; 以100 毫米/秒的速度扫描,50% 功率
M8
G0X20Y100.77
;C00层
G1X-20F6000S0
G1X-1S500
G1X-20S0
G1Y-0.07S0
G1X20S0
G1X1S500
G1X20S0
G1Y-0.07S0
G1X-20S0…
在范围 ch1 是 enable_pin: gpio.27 和 ch2 是 output_pin: gpio.16 pwm_hz: 22000