开源改变世界

极地过山车逆运动学问题 #925

推推 grbl 3年前 (2023-01-30) 248次浏览
打开
loganYdid 打开了这个问题 2021 年 6 月 22 日 · 1条评论
打开

极地过山车逆运动学问题#925

loganYdid 打开了这个问题 2021 年 6 月 22 日 · 1条评论

注释

极地过山车逆运动学问题 #925

大家好,

我正在尝试设置 Polar Coaster Plotter,如下所示:
https

://github.com/bdring/Polar-Coaster 我已经构建了所有内容,并将 Machine.h 文件中的包含更改为“Machines/polar_coaster.h”在上传固件之前。我还尝试按照自述文件中的说明将 x 轴归零。

我遇到的问题是逆运动学模型/机器定义似乎被破坏了。

  1. 当我尝试归位时,它会归位所有轴,这会导致警报,因为 Y 轴没有限位开关。
  2. 归位后,Y 轴永远不会归零,因此绘图仪必须旋转盘片几次才能回到它认为的零位。
  3. 当我点动 X 轴时,Y 轴也移动
  4. 在我的机器上,Y 轴似乎是倒置的。

我恢复到下面的版本,问题 1 到 3 似乎已解决。反转可能是我这边的一个问题,但我仔细检查了我的接线,但我找不到问题所在。
https://github.com/bdring/Grbl_Esp32/tree/d0d273f4aa4dc436d3f332934011464457d79117

极地过山车逆运动学问题 #925 loganYdid 添加了 漏洞 有些东西不工作标签 2021 年 6 月 22 日
极地过山车逆运动学问题 #925
贡献者
大木 评论了 2021 年 6 月 26 日  

你是对的,PolarCoaster 不能按预期使用当前代码。
要使其工作,您需要修改 polar_coaster.h 和 polar_coaster.cpp。

我正在尝试分析当前代码并修复它,因为我可以通过修复此问题为项目做出贡献。
但是,这需要一些时间。

要快速修复,请按如下方式更改代码:

polar_coaster.h

(snip)
#define DEFAULT_HOMING_CYCLE_0      bit(X_AXIS)
#define DEFAULT_HOMING_CYCLE_1      0
(snip)
#define DEFAULT_HOMING_DIR_MASK     bit(Z_AXIS) // these home negative
(snip)
#define DEFAULT_Z_HOMING_MPOS    0

极地过山车.cpp

bool kinematics_pre_homing(uint8_t cycle_mask) {
    sys_position[RADIUS_AXIS] = 0;
    last_radius               = 0.0;
    // reset polar axis too
    sys_position[POLAR_AXIS] = 0;
    last_angle               = 0.0;
    return false;  // continue to the normal homing cycle
}

void kinematics_post_homing() {
    float x_offset = gc_state.coord_system[RADIUS_AXIS] + gc_state.coord_offset[RADIUS_AXIS];  // offset from machine coordinate system
    last_radius    = sys_position[RADIUS_AXIS] / axis_settings[RADIUS_AXIS]->steps_per_mm->get() - x_offset;
}

请不要忘记在更换固件后重新设置。

更换固件后,使用下面的G代码将笔移动到home位置。

$H
G10 L2 P0 X-43.4 Y0
G0 X0
G0 Z5

我希望这是有帮助的。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
漏洞有些东西不工作
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
极地过山车逆运动学问题 #925极地过山车逆运动学问题 #925

喜欢 (0)