Contact me: hankecnc@gmail.com

参考零点和轴角 #283

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

关闭
if2s 打开了这个问题 2013 年 10 月 27 日 · 3条评论
关闭

参考零点和轴角#283

if2s 打开了这个问题 2013 年 10 月 27 日 · 3条评论

注释

参考零点和轴角 #283

您好,
据我所知,grbl 从零点开始,具有固定的 x 轴和 y 轴(图中的蓝点)。是否可以实现一个功能来示教零点(图片中的第一个红点)然后在 x 轴上示教一个点(图中的第二个红点)以便有一个新的(图中蓝色虚线)坐标系?
问候

https://dl.dropboxusercontent.com/u/36422863/reference.png

参考零点和轴角 #283
成员

Grbl 只能使用工作坐标系进行坐标平移。参见 G54-G59 或 G92 命令。不幸的是,目前无法完成坐标系的旋转。理论上可以将它安装在基于 AVR 的 CPU 上,就像在 Uno 上一样,而不是用大量的旋转数学来杀死它。我不能说我什么时候有时间研究它。考虑到我正在努力完成的其他事情,可能还有很长的路要走。

参考零点和轴角 #283
贡献者

由于这只是应用于gcode 的数学计算,您可以编写一个预处理器脚本
来 :蒸至 GRBL

如果这是在 UNO 上实现的,当它到达一个有很多短段的弧时会发生什么?

参考零点和轴角 #283
成员

@EliteEng:我发现处理此问题的最简单且成本最低的方法是将所有传入的 g 代码命令转换为机器坐标,然后仅在机器坐标中执行它们。所以任何时候你有一个坐标转换,你所做的就是改变转换它们的偏移量。这就是现在在 Grbl 中处理工作坐标系和偏移量的方式。

随着坐标系的旋转,这会变得更复杂一些,但不会太多。您可能需要定义一个旋转中心和一个旋转矩阵,以将传入的 g 代码转换为机器坐标系。这会在传入的 g 代码流中添加一个 3×3 矩阵乘法,这对于每个传入的 g 代码块来说在计算上有点昂贵,但并不是太多以至于在 AVR Arduino 上是不可能的。我认为主要的限制因素是代码闪存空间和安装它所需的内存。不确定它会是多少,但希望它不会太大。

喜欢 (0)