开源改变世界!!

双轴问题 #797

推推 grbl 2年前 (2023-01-23) 111次浏览

打开
demigh0d 打开了这个问题 2020 年 1 月 19 日 · 5 条评论
打开

双轴问题#797

demigh0d 打开了这个问题 2020 年 1 月 19 日 · 5 条评论

注释

双轴问题 #797

我正在尝试让双 y 轴工作。我正在使用最新的 Protoneer RPi CNC hat v2.60,开发人员说它与他们的 arduino cnc shield v3.51 具有相同的引出线。

该板设置为将第 4 个驱动程序映射到 A3/A4,并且止动器连接到 Z 止动器(我没有将 Z 轴用于其他任何用途)。

Y 轴电机工作,但 A 轴电机不动。

这是我的配置

#define HOMING_CYCLE_0 (1<<X_AXIS)
#define HOMING_CYCLE_1 ( 1<<Y_AXIS) #define
ENABLE_DUAL_AXIS
#define DUAL_AXIS_SELECT Y_AXIS
#define DUAL_AXIS_CONFIG_PROTONEER_V3_51

任何建议将不胜感激。
杜安

双轴问题 #797
jsagot 评论了 2020 年 1 月 24 日  

嗨,我对你的盾牌一无所知,但所有盾牌都有共同的工作限制:你不能像你那样混合轴,除非你重写一大堆 grbl 的代码。您可以做的是将 A 设置为 Y 的从属,它们将共享步骤、方向和限制,只需注意电机的转动方式(使用皮带,电机以相反的方向转动,使用丝杠,您无需任何操作)担心)。
你的盾牌应该有一些跳线用于配置 A 的行为。
希望有帮助

双轴问题 #797
作者

去年 grbl 添加了双轴支持。它基本上将 x 或 y 电机镜像到第 4 步进驱动器。与硬件跳线相比,这样做的好处是每个电机都有自己的终点挡块,因此龙门架将在归位序列期间自动摆正。

不过,我确实找出了问题的原因。cpu_map.h 中为双轴定义的引脚被颠倒了。在驱动器的步进和方向输入上放置一个 LED,并在移动 y 轴的同时观察它,这让我找到了原因。

双轴问题 #797

我不喜欢 grbl 目前的双轴实现…添加一个完全独立的 pwm 输出比仅禁用双轴上的一个步进器(例如,将一个步进器的启用引脚拉低)要困难得多。此外,“自调整”功能要求每个限位开关在完全相同的点跳闸,这在现实世界中很难调整。

在我的 fork 中,我重写了 grbl 的双轴概念以禁用一个步进器(如上所述)。我还添加了一个“$LS”命令,该命令仅在已知机器为正方形后运行(例如,在工厂中,通过在构建板上运行主轴)。$LS 找到两个限位开关跳闸之间的增量,然后将该校准数据存储在 EEPROM 中。之后,调用“$L”总是会重新平方机器。我确信我的“$L”实现可以更简洁,但我不完全理解 grbl 的底层运动规划器,所以我保持相当高的水平。无论如何,上述行为在我的 fork 中完美运行:

https://github.com/Defdist/grbl1v1g_GG3_GrBLDC3v0

双轴问题 #797
阿扬·德弗里斯 评论了 2020 年 1 月 27 日  

查看源代码应该是:
#define DUAL_STEP_BIT 4 // Uno Analog Pin 4
#define DUAL_DIRECTION_BIT 3 // Uno Analog Pin 3

对于我的 CNC 屏蔽,我需要从我的板上移除一个克隆跳线并添加一根单独的电线以将引脚 12 和引脚 13 连接到正确的步进器引脚(对于克隆它是不同的)。只是做了一些测量以找到正确的引脚。;-)

唯一的问题仍然是我的终点站。出了点问题,但我还不知道出了什么问题。(参见#783

双轴问题 #797

我不喜欢 grbl 目前的双轴实现…添加一个完全独立的 pwm 输出比仅禁用双轴上的一个步进器(例如,将一个步进器的启用引脚拉低)要困难得多。此外,“自调整”功能要求每个限位开关在完全相同的点跳闸,这在现实世界中很难调整。

在我的 fork 中,我重写了 grbl 的双轴概念以禁用一个步进器(如上所述)。我还添加了一个“$LS”命令,该命令仅在已知机器为正方形后运行(例如,在工厂中,通过在构建板上运行主轴)。$LS 找到两个限位开关跳闸之间的增量,然后将该校准数据存储在 EEPROM 中。之后,调用“$L”总是会重新平方机器。我确信我的“$L”实现可以更简洁,但我不完全理解 grbl 的底层运动规划器,所以我保持相当高的水平。无论如何,上述行为在我的 fork 中完美运行:

https://github.com/Defdist/grbl1v1g_GG3_GrBLDC3v0

这是否严格适用于基于 Uno 的开发板,还是适用于基于 mega 的开发板(例如 MKS gen v1.4)?

喜欢 (0)