注释
成员
|
@blinkenlight: 感谢您的彻底侦探工作!这听起来像是三角计算中的浮点舍入问题。可能需要对计算进行某种值检查或重构,因此不会出现此问题。无论如何,就目前而言,我建议将整个圆圈分成两个半圆圈,直到我可以修复它为止。 |
作者
|
@chamnit: 不用担心,这正是我在意识到原因后所做的。感谢您在 grbl 上所做的所有工作…:) |
成员
|
@blinkenlight: 终于解决了这个问题并解决了它。与机器 epsilon(浮点误差)和怀疑的三角计算有关。为问题计算安装了一个可配置的机器 epsilon,并验证它运行良好并且不会影响其他弧。只用了6个多月就拿到了时间!迟到总比不到好。 |
作者
|
@chamnit: 很高兴你有时间解决这个问题。别担心,我们都在这长期… |


显然我设法偶然发现了一个可笑的特定/模糊的错误,但我认为这是一个非常严重的错误。我试图铣削围绕 (0,0) 对称排列的八个小全圆(360 度,端点与起点相同)圆弧,但是当尘埃落定后,只有六个被铣削 – 两个完全未受影响。用罗盘术语表示,NE 和 SW 圆圈根本就不见了。
经过一系列测试后,这是我始终可以重现错误的最小顺序:
有趣的是,其他两个象限工作得很好——“G03 X30 Y30 I4.24264 J-4.24264”和“G03 X30 Y30 I-4.24264 J4.24264”都被执行了。真正有趣的是,即使是“G03 X30 Y30 I-4.24260 J-4.24260”也能正常执行(只有最后一位数字归零)。另一个方向的圆弧遇到同样的问题,但相反 – 使用 G02,“坏”圆弧现在工作正常,但“好”圆弧失败。显然,该错误存在于当前最新的 0.8c 和 0.9g 固件中(我都测试过)。
作为参考,这是我的设置转储: