开源改变世界!!

G92 g代码 #4

推推 grbl 2年前 (2023-01-21) 317次浏览

关闭
Highlander01 开启了这个问题 2010 年 7 月 10 日 · 5 条评论
关闭

G92 g代码#4

Highlander01 开启了这个问题 2010 年 7 月 10 日 · 5 条评论

注释

G92 g代码 #4

我要将 G92 添加到我的 grbl 版本中。我认为 grbl 目前没有另一种方法可以将位置归零。目前,我正在为我的 Arduino 循环供电,以使当前位置变为零。在我的 python 应用程序中,我有一个零按钮,我将使用它来发送 G92 代码。前任。G92 X0
http://github.com/Highlander01/Highlander01HMI

G92 g代码 #4
成员

好的!我很乐意整合您的改进。

G92 g代码 #4
作者

我所做的代码与 MC_Line 基本相同,只是我从不调用 st_buffer_line


    case 92: gc.motion_mode = MOTION_MODE_REPOSITION; break;

开关(gc.motion_mode){
case MOTION_MODE_CANCEL: break;
案例 MOTION_MODE_REPOSITION:
mc_reposition(target[X_AXIS], target[Y_AXIS], target[Z_AXIS],
(gc.inverse_feed_rate_mode) ? inverse_feed_rate : gc.feed_rate, gc.inverse_feed_rate_mode);
休息;


void mc_reposition(double x, double y, double z, float feed_rate, int invert_feed_rate)
{
uint8_t 轴;// 循环变量
int32_t target[3]; // 目标位置的绝对步
数 int32_t steps[3]; // 相对步骤中的目标行

target[X_AXIS] = lround(x_settings.steps_per_mm[0]);
target[Y_AXIS] = lround(y_settings.steps_per_mm[1]);
target[Z_AXIS] = lround(z*settings.steps_per_mm[2]);

for(axis = X_AXIS; axis <= Z_AXIS; axis++) {
steps[axis] = target[axis]-position[axis]; }
}
memcpy(位置,目标,sizeof(目标));// 位置[] = 目标[]
}


G92 g代码 #4
作者

我现在有了第一个完成的基本 Python HMI/GUI 代码和 OpenGL 图形以及带有 G92 的 Grbl 的修改版本,可以让我在以下位置进行重新定位和归零:http:
//github.com/Highlander01/Highlander01HMI

在“gcode”文件中,我从上面的版本进行了更改,现在执行以下操作。
案例 92:next_action = NEXT_ACTION_REPOSITION;休息;

这最终会在“motion_control”文件中运行一个例程:
case NEXT_ACTION_REPOSITION: mc_reposition(target[X_AXIS], ……

G92 g代码 #4
成员

在“边缘”分支中,我根据您的建议实施了 G92。抱歉拖了这么久!

G92 g代码 #4
作者

你好!很高兴看到你添加了 G92!我终于回到使用 Grbl 并再次进行切割。我一直在外面休息/建造第二个/更大的数控系统。

matthewSorensen 添加了对 matthewSorensen/grbl 的提交,引用了这个问题 2014 年 7 月 22 日

G92 g代码 #4 J-Dunn 提到了这个问题 2016 年 7 月 31 日
此问题已关闭
喜欢 (0)