Contact me: hankecnc@gmail.com

$4 Step enable invert – 不工作 #766

推推 grbl 3年前 (2023-01-30) 317次浏览
关闭
mtk11 开了这个issue 2021 年 2 月 13 日 · 20条评论
关闭

$4 Step enable invert – 不工作#766

mtk11 开了这个issue 2021 年 2 月 13 日 · 20条评论

注释

png Step enable invert - 不工作 #766

配置:

[MSG:Grbl_ESP32 Ver 1.3a Date 20210204]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:ESP32 I2S 5 Axis Driver Board]
[MSG:Axis count 5]
[MSG:I2S步骤,流]
[消息:初始化电机]
[消息:X 轴标准步进器步进:I2SO(1) 方向:I2SO(0) 禁用:I2SO(2) 限制(0.000,300.000)]
[消息:Y 轴标准步进器步进:I2SO(4) Dir:I2SO(3) Disable:I2SO(5) Limits(0.000,300.000)]
[MSG:Z Axis Standard Stepper Step:I2SO(7) Dir:I2SO(6) Disable:I2SO(8) Limits (-300.000,0.000)]
[MSG:A 轴标准步进步进:I2SO(10) Dir:I2SO(9) 禁用:I2SO(11) 限制(-300.000,0.000)]
[MSG:B 轴标准步进步进:I2SO (13) 目录:I2SO(12) 禁用:I2SO(14) 限制(-300.000,0.000)]
[消息:CoreXY 运动学初始化]

尝试通过串行和 Web 界面更改 $4,它显示值更改,但步进电机驱动器引脚继续以相同方式工作。

png Step enable invert - 不工作 #766 mtk11 添加了 漏洞 有些东西不工作标签 2021 年 2 月 13 日
png Step enable invert - 不工作 #766
所有者

是的,我想我们知道这个。它只影响每个电机具有单独使能引脚的系统。我会看一下。这应该是一个简单的修复。

png Step enable invert - 不工作 #766
所有者

试试EnablePerMotorFix分支。

它基于 Devt 分支。如果它适合你,我会创建一个 PR

png Step enable invert - 不工作 #766
作者

EnablePerMotorFix 分支工作,谢谢。

出现了一些其他问题:似乎步进电机的步数增加了一倍,假设如果移动 10 毫米,实际移动是 20 毫米。此外,当托架假设以恒定速度移动时,观察到一些快速的速度增加和减少,有点随机。我使用的是 LV8729 @ 128 µStep,过去与 Marlin 有过类似的问题。它与 I2S 时钟频率增加和数据传输长度减少到 16 位一起工作。尝试相同的?

png Step enable invert - 不工作 #766
所有者

不知道为什么会这样。代码更改非常微妙,应该不会影响其他任何内容。我只是添加了一个小的变化,以减少对引脚相同值的过多设置。那不应该影响你的情况,因为那部分代码总是存在的。

您确定您使用的是正确的机器定义吗?您能否使用最新更改重试并将启动消息粘贴到回复中。

png Step enable invert - 不工作 #766
作者

我从EnablePerMotorFix 分支Motors.cpp复制到CoreXYFixes分支,还删除了#define MIDTBOT – 它似乎有效。

其他问题——G3 代码。执行时,假设:

G3X10.51Y18.47I-3.94J0F200

进给率似乎没有正确执行。一开始它会调整速度,但在速度增加后不久。

png Step enable invert - 不工作 #766
所有者

你的机器是CoreXY吗?
你能在 G3 命令之前给出位置吗?
您可以在此处粘贴引导消息吗?

png Step enable invert - 不工作 #766
作者

你的机器是CoreXY吗?

CoreXY绘图机,机器配置:

#define CUSTOM_CODE_FILENAME “../Custom/CoreXY.cpp”
#define USE_KINEMATICS // 这台机器有运动学方程
#define USE_FWD_KINEMATICS // 笛卡尔报告

你能在 G3 命令之前给出位置吗?

G3指令前的位置:

<空闲|MPos:0.000,0.000,0.000,0.000,0.000|FS:0,0>
G0X10.51Y18.47
正常
<空闲|MPos:10.510,18.470,0.000,0.000,0.000|FS:0,0|Ov: 100,100,100>
….
G3X10.51Y18.47I-3.94J0F200
正常
<空闲|MPos:10.510,18.470,0.000,0.000,0.000|FS:0,0>

您可以在此处粘贴引导消息吗?

[MSG:Grbl_ESP32 Ver 1.3a Date 20210204]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:ESP32 I2S 5 Axis Driver Board]
[MSG:Axis count 5]
[MSG:I2S步骤,流]
[消息:初始化电机]
[消息:X 轴标准步进器步进:I2SO(1) 方向:I2SO(0) 禁用:I2SO(2) 限制(0.000,200.000)]
[消息:Y 轴标准步进器步进:I2SO(4) Dir:I2SO(3) Disable:I2SO(5) Limits(0.000,200.000)]
[MSG:Z Axis Standard Stepper Step:I2SO(7) Dir:I2SO(6) Disable:I2SO(8) Limits (-300.000,0.000)]
[MSG:A 轴标准步进步进:I2SO(10) Dir:I2SO(9) 禁用:I2SO(11) 限制(-300.000,0.000)]
[MSG:B 轴标准步进步进:I2SO (13) 目录:I2SO(12) 禁用:I2SO(14) 限制(-300.000,0.000)]
[MSG:CoreXY 运动学初始化]
[MSG:引脚上的激光主轴:GPIO(27),Enbl:无,Freq:5000Hz,Res:13 位激光模式:开]

[MSG:Client Started]
[MSG:Connecting xxxxxxxxxx]
……
[MSG:Start mDNS with hostname:http://grblesp.local/%5D
[MSG:SSDP Started]
[MSG:HTTP Started]
[MSG :TELNET Started 23]
[MSG:X 轴限位开关在引脚 GPIO(35)]
[MSG:Y 轴限位开关在引脚 GPIO(32)]
[MSG:Z 轴限位开关在引脚 GPIO(33)]

png Step enable invert - 不工作 #766
所有者

我可以在 CoreXY 机器上试一试。
这是在您设计的硬件上吗?(ESP32 I2S 5 轴驱动板)?

png Step enable invert - 不工作 #766
作者

我可以在 CoreXY 机器上试一试。

在较低的进给率下更明显。

这是在您设计的硬件上吗?(ESP32 I2S 5 轴驱动板)?

稍微修改的版本@simon-jouet ESP32控制器R2。

jpg Step enable invert - 不工作 #766

我正在考虑为这种紧凑型机器做一些更小的东西。不确定 ESP32-S2 还是 ESP32-S3 更合适?

png Step enable invert - 不工作 #766
所有者

我们的Discord 服务器上有一个控制器设计频道。

png Step enable invert - 不工作 #766
所有者

它似乎在我的 CoreXY 机器上运行顺利。我有一个 AntPCB Maker,我用来测试。我还尝试了缓慢的进给率和加速度。

我不知道启用更改会如何影响任何事情。这更可能是 CoreXY 问题,但我没有看到。

CoreXY 必须调整电机的进给速率,以在运动角度变化时保持末端执行器以恒定速率移动。MidTbot 需要不同的计算,因为电机在移动。

png Step enable invert - 不工作 #766
作者

这更可能是 CoreXY 问题,但我没有看到。

刚试过DRV8825,同样的问题。以下代码(使用LaserGRBL生成)非常引人注目:

G90(使用绝对坐标)
M3 S0
S0
G0X1.87Y1.64
S1000
G1X11.83F200
Y11.6
X1.87
Y1.64
S0
G0X10.51Y18.47
S1000
G3X10.51Y18.47I-3.94J0F200
S0
M5 S0
G0 X0 Y0 Z0 (回到原点)

它在 F200 处正确绘制正方形,而圆形 – 进给率类似于 F1000。

png Step enable invert - 不工作 #766
所有者

确定可以看到问题。我在 CoreXY 机器和标准机器上运行相同的代码。该问题仅出现在 CoreXY 上。

我会调查的。它似乎不是随机的。它似乎正在使用快速率。这对我来说很顺利,只是比应该的要快。尝试更改 $X/Maxrate=200(和 Y)以匹配您的 F200 进给率。

我认为 CoreXY 运动学没有使用正确的进给率。这可能是由于弧涉及的额外步骤。

png Step enable invert - 不工作 #766
所有者

我想我发现了问题。CoreXY 运动学正在按应有的方式改变进给速率,但 mc_arc(…) 函数中的循环正在重复使用更改后的值,并且每次在 CoreXY 函数中它都会增长。

我添加了 2 行。您可以尝试进行这些更改并进行测试吗?

png Step enable invert - 不工作 #766

png Step enable invert - 不工作 #766
所有者

它已添加到 EnablePerMotorFix 分支

png Step enable invert - 不工作 #766
作者

我添加了 2 行。您可以尝试进行这些更改并进行测试吗?

到目前为止一切正常,没有发现其他问题。

我是否应该提交我用于ESP32Controller R2的机器配置,以防其他人使用此设计?

png Step enable invert - 不工作 #766
所有者

我们必须保持机器定义倒计时,否则我们会因为花费太长时间而无法通过自动化测试。我们编译每一个。

你有叉子吗?我们可以将人们指向那里。

png Step enable invert - 不工作 #766
作者

你有叉子吗?我们可以将人们指向那里。

抱歉,我是 github 的新手,它创建了 PR ##772,文件:ESP32Controller_R2.h