注释
贡献者
@hchahine:我想问题应该是:50ms 的分辨率还不够吗?驻留通常不用于精确定时。它通常用于为主轴提供足够的时间来加快速度或清除切屑。 |
作者
那么 50ms 是编码器预期的编程分辨率而不是错误吗? 我同意这一点——只是没想到它会这么大,因为大多数文档都暗示 1 毫秒的粒度,但事实并非如此。如果可能会问,这里的限制是什么?还是 50ms 背后的制约因素? |
作者
鉴于我现在知道这一点,我可以找到解决方法来解决我正在尝试做的事情。 PS 50ms 对于带有机械主轴的 CNC 来说已经足够了,而激光是一种响应速度更快的设备,如您所知。只是供未来开发者思考的食物。 |
贡献者
@hchahine: Grbl 没有备用计时器来运行驻留,因此时间可能会有所不同。我真的怀疑它严格的 50 毫秒增量。如果你延长停留时间,你可能会看到时间差异。Uno 上唯一的选择是征用看门狗定时器来做你想做的事。 |
G4 驻留命令的最小分辨率是多少?它应该是 1 毫秒(例如 G4 P0.001)还是更好?
我在 nano 上使用 GRBL v1.1e 来控制激光切割机。除了启用激光模式外,几乎是标准构建。当我注意到 G4 命令似乎只能以 50 毫秒的增量解决时,我正在尝试调试另一个问题。这样对吗?
例如
P0.001、P0.010、P0.035、P0.050 = 50ms 实际停留时间
P0.060、P0.075、P0.100 = 100ms 实际停留时间
P1.001、P1.035、P1.045 = 1050ms实际停留时间。
我是如何得出结论的,我运行了下面的简单测试代码并在示波器上观察了 D11,只改变了各种测试之间的驻留时间并捕获了脉冲持续时间。
G0 X0 Y0
M3 S0
G1 X1 Y1 F3000
M3 S255(注 30 美元=255 所以激光在这里最大,不是 PWMing)
G4 P0.001
M5
我错过了什么或者这是预期的行为吗?