开源改变世界!!

绝对 A 轴 ? #831

推推 grbl 2年前 (2022-10-19) 131次浏览 0个评论
关闭
nsiatras 打开了这个问题 on 19 Mar 2021 · 18 条评论
关闭

绝对 A 轴 ?#831

nsiatras 打开了这个问题 on 19 Mar 2021 · 18 条评论

注释

绝对 A 轴 ? #831

有没有可能使用没有软限制的 A Axis 的方法?
我想让 A 轴旋转 360 度。

绝对 A 轴 ? #831
所有者

婚戒 评论 on 19 Mar 2021

还没有,在未来的版本中,我们计划允许每个轴应用所有归位和限位开关功能。

您是否为该轴使用归位开关?

绝对 A 轴 ? #831

我只对 X、Y 和 Z 使用限位开关。
我不喜欢像 A 一样的旋转轴上的限位开关和软限位 :)

绝对 A 轴 ? #831

有什么方法可以通过我将从串口发送的命令来扩展 A 轴最大行程?
我目前正在为 SprutCAM 和自定义 4Axis GCode Sender 构建 4 轴后处理器。
任何建议都会非常有帮助

绝对 A 轴 ? #831
所有者

婚戒 评论 on 19 Mar 2021

您可以将最大行程设置为一个非常大的值,并将 Home/Mpos 设置为该值的一半。例如

$Z/MaxTravel = 10000
$Z/Home/Mpos=5000

将导致这样的范围……(忽略限制以外的所有内容)

[MSG:Z Axis Trinamic TMC2130 Step:I2SO(10) Dir:I2SO(9) CS:I2SO(11) Disable:I2SO(8) Index:-1 R:0.110 Limits(-5000.000,5000.000)]

绝对 A 轴 ? #831
作者

尼亚特拉斯 评论 on 19 Mar 2021  

我可以用 G92 改变工作位置
如果有办法用 GCode 命令改变机器位置,我可以让它在极限之外工作

绝对 A 轴 ? #831
所有者

婚戒 评论 2021 年 3 月 19 日

是的,可以更改工作位置偏移。我通常推荐G10G54-G59而不是 G92。

绝对 A 轴 ? #831

我认为这个问题与机器位置有关,而不是工作位置。我们的 Trello 板上有一张临时分配给我的票,用于添加对 G28.2 和 G28.3 的支持,以便从 GCode 管理机器坐标 – 但它在优先级列表中较低。

绝对 A 轴 ? #831

@MitchBradley是的。我所要求的。

我使用 Java、PHP 和 .NET….
希望我能帮助你完成这个项目。

绝对 A 轴 ? #831

如果可用作输入的轴的最大行程设置为 0,则不应用软限制。我这样做了,应该也很容易添加到这个端口。

绝对 A 轴 ? #831

@terjeio我相信您的解决方案是从任何轴移除软限制的最简单和最好的方法。如果有人可以指导我在哪里查看代码,我可以进行更改。它在 Limits.cpp 中吗?

绝对 A 轴 ? #831

@nsiatras这是我的做法,请注意,我检查的是 -0 而不是 0。归位和设置验证也可能需要更改。

// Checks and reports if target array exceeds machine travel limits. Returns false if check failed.
// NOTE: max_travel is stored as negative
// TODO: only check homed axes?
bool system_check_travel_limits (float *target)
{
    bool failed = false;
    uint_fast8_t idx = N_AXIS;

    if(settings.homing.flags.force_set_origin) {
        do {
            idx--;
        // When homing forced set origin is enabled, soft limits checks need to account for directionality.
            failed = settings.axis[idx].max_travel < -0.0f &&
                      (bit_istrue(settings.homing.dir_mask.value, bit(idx))
                        ? (target[idx] < 0.0f || target[idx] > -settings.axis[idx].max_travel)
                        : (target[idx] > 0.0f || target[idx] < settings.axis[idx].max_travel));
        } while(!failed && idx);
    } else do {
        idx--;
        failed = settings.axis[idx].max_travel < -0.0f && (target[idx] > 0.0f || target[idx] < settings.axis[idx].max_travel);
    } while(!failed && idx);

    return !failed;
}
绝对 A 轴 ? #831

我相信我做到了。

我在Limits.cpp文件内的bool limitsCheckTravel的 if 语句中添加了&& axis_settings[idx]->max_travel->get()>0案例。

我还在我的机器文件中将 A 轴最大行程设置为零
**#define DEFAULT_A_MAX_TRAVEL 0 **
我认为它很好用

// Checks and reports if target array exceeds machine travel limits.
// Return true if exceeding limits
bool limitsCheckTravel(float* target) {
    uint8_t idx;
    auto    n_axis = number_axis->get();
    for (idx = 0; idx < n_axis; idx++) {
        float max_mpos, min_mpos;
		
		if ((target[idx] < limitsMinPosition(idx) || target[idx] > limitsMaxPosition(idx)) 
			&& axis_settings[idx]->max_travel->get()>0) {
			return true;
		}
    }
    return false;
}
绝对 A 轴 ? #831
作者

尼亚特拉斯 评论 2021 年 3 月 19 日  

当我通过串行命令将 A 轴的最大行程更改为 0(零)时,如何避免错误 80 的任何想法?
133 美元 = 0

我应该查看 Settings.cpp 吗?

绝对 A 轴 ? #831
所有者

婚戒 评论 2021 年 3 月 19 日

设置定义.cpp

每个设置都有一个有效范围。您需要将最小值从 1 更改为 0。

https://github.com/bdring/Grbl_Esp32/blob/Devt/Grbl_Esp32/src/SettingsDefinitions.cpp#L304

绝对 A 轴 ? #831

我将线路更改为
auto setting = new FloatSetting(GRBL, WG, makeGrblName(axis, 130), makename(def->name, "MaxTravel"), def->max_travel, (axis>=3) ? 0 : 1.0, 100000.0);

(axis>=3) ? 0 : 1.0语句允许我将轴 A、B 和 C 的最大行程的最小值设置为零,并且通过对 Limits.cpp–>limitsCheckTravel 所做的更改,我可以使用没有软限制的旋转轴

非常感谢您的帮助。这很有帮助!

绝对 A 轴 ? #831

@bdring 和@MitchBradley PS。请考虑对项目进行此更改。
使用没有软限制的旋转轴对于 4 轴 CNC 铣削非常有用,并使后处理器工作,对于许多廉价的 CAM 软件来说,就像在公园里散步一样容易。

再次感谢 :)

绝对 A 轴 ? #831
所有者

婚戒 评论 on 19 Mar 2021

我们会强烈考虑。我暂时关闭这个问题。

如果您有未来的问题,这里是我们的 Discord 服务器的邀请

https://discord.gg/Nzz9gWZV4K

绝对 A 轴 ? #831
所有者

婚戒 评论 2021 年 3 月 21 日

我创建了一个带有更改的 SoftLimit 分支。我并没有将它限制在轴 AB 和 C 上。

会做PR

bdring 添加了引用此问题的提交 2021 年 3 月 26 日

bdring 添加了引用此问题的提交 2021 年 3 月 26 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 4 月 3 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 4 月 20 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 4 月 25 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 8 月 17 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 10 月 17 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 10 月 29 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831
bdring 添加了引用此问题的提交 2021 年 11 月 3 日

绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831绝对 A 轴 ? #831

绝对 A 轴 ? #831
喜欢 (0)

您必须 登录 才能发表评论!