开源改变世界!!

带 PWM 主轴的激光模式不接受 M4 命令 #946

推推 grbl 2年前 (2023-01-30) 292次浏览
关闭
Spark-Concepts 打开了这个问题 2021 年 7 月 17 日 · 11 条评论
关闭

带 PWM 主轴的激光模式不接受 M4 命令#946

Spark-Concepts 打开了这个问题 2021 年 7 月 17 日 · 11 条评论

注释

带 PWM 主轴的激光模式不接受 M4 命令 #946

请回答以下问题。

您使用的是什么版本的固件?

  • 版本 1.3a 日期 20210424

问题是否可重复?

  • 是的

什么情况下会出现bug?

  • 使用激光模式时,$32=1,不接受 M4 命令 – 回扣错误 20。通过全新安装所有库和目录进行测试。使用没有更改的 SPI_DAISY_4X_XYZ 机器定义。启动消息,下面是错误。

有什么想法吗?

rst:0x1(POWERON_RESET),boot:0x13(SPI_FAST_FLASH_BOOT)
configsip:0,SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
模式:DIO,时钟div: 1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
[MSG:Grbl_ESP32 Ver 1.3a Date 20210424]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:SPI_DAISY_4X_XYZ]
[MSG:Axis count 3]
[MSG:RMT Steps]
[MSG:Init Motors]
[MSG:TMCStepper图书馆版本。0x000701]
[MSG:X Axis Trinamic TMC2130 Step:GPIO(12) Dir:GPIO(14) CS:GPIO(17) Disable:None Index:1 R:0.110 Limits(0.000,300.000)]
[MSG:X Axis Trinamic 驱动程序测试失败. 检查电机功率]
[MSG:Y Axis Trinamic TMC2130 Step:GPIO(27) Dir:GPIO(26) CS:GPIO(17) Disable:None Index:2 R:0.110 Limits(0.000,300.000)]
[MSG:Y Axis Trinamic 驱动程序测试失败。检查电机功率]
[MSG:Z Axis Trinamic TMC2130 Step:GPIO(15) Dir:GPIO(2) CS:GPIO(17) Disable:None Index:3 R:0.110 Limits(-300.000,0.000)]
[MSG:Z Axis Trinamic 驱动程序测试失败。检查电机功率]
[MSG:PWM spindle Output:GPIO(25), Enbl:GPIO(4), Dir:None, Freq:5000Hz, Res:13bits]
[MSG:Local access point GRBL_ESP started, 192.168.0.1]
[MSG :Captive Portal Started]
[MSG:HTTP Started]
[MSG:TELNET Started 23]
[MSG:Mist coolant on pin GPIO(21)]
[MSG:X Axis limit switch on pin GPIO(36)]
[MSG:Y Axis limit switch on pin GPIO( 39)]
[MSG:Z 轴 GPIO(34) 引脚上的限位开关]
[MSG:GPIO(22) 引脚上的探针]
Grbl 1.3a [‘$’寻求帮助]

$32=1
ok
M4 S100
[MSG:M4 requires laser mode or a reversable spindle]
error:20 (Unsupported command)

带 PWM 主轴的激光模式不接受 M4 命令 #946 Spark-Concepts 添加了 漏洞 有些东西不工作标签 2021 年 7 月 17 日
带 PWM 主轴的激光模式不接受 M4 命令 #946

SPI_DAISY_4X_XYZ 有
#define SPINDLE_TYPE SpindleType::RELAY

中继主轴不支持激光模式,否则不可逆。

带 PWM 主轴的激光模式不接受 M4 命令 #946

工单名称中的“with PWM Spindle”与“Using the SPI_DAISY_4X_XYZ machine definition with no changes”不一致。

带 PWM 主轴的激光模式不接受 M4 命令 #946
作者

我在这里使用了这个机器文件:https ://github.com/bdring/Grbl_Esp32/blob/main/Grbl_Esp32/src/Machines/spi_daisy_4axis_xyz.h

PWM 定义的第 68 行,带有 GPIO 25(输出)和 GPIO 4(启用)。

我注意到机器名和 .h 文件名不匹配。

带 PWM 主轴的激光模式不接受 M4 命令 #946

M4要和PWM一起工作,必须定义一个方向管脚,否则没办法逆时针走。如果你想使用激光模式,你必须使用 SpindleType::Laser

带 PWM 主轴的激光模式不接受 M4 命令 #946
作者

好的 – 请帮我快速检查一下。为了使激光模式工作,我们需要定义一个新的机器文件,该文件具有:

主轴类型::激光
LASER_OUTPUT_PIN
LASER_ENABLE _PIN
$Gcode/LaserMode=on

这对吗?

带 PWM 主轴的激光模式不接受 M4 命令 #946
所有者

LASER_ENABLE_PIN 是可选的,仅在您的激光器需要时使用。

带 PWM 主轴的激光模式不接受 M4 命令 #946
作者

复制到 Laser_Enable_pin :)。

主要问题是:打开 LaserMode(实时设置)是否允许您从 PWM 驱动主轴转到接受来自 Lightburn 的 M3 和 M4 命令的 PWM 驱动激光器?

从上面的讨论中,我认为我们需要为 PWM 驱动的激光器定义一个新的机器文件,并在我们从 pwm 主轴切换到 pwm 激光器时推送固件更新——这是正确的吗?

带 PWM 主轴的激光模式不接受 M4 命令 #946
所有者

如果您在机器定义中定义两者,则可以在运行时从 PWM 切换到激光。然后你只需发送 $Spindle/Type=Laser 或 $Spindle/Type=PWM 来切换类型。他们可以使用相同的引脚或单独的引脚。

https://github.com/bdring/Grbl_Esp32/wiki/Spindle-Types#overview

带 PWM 主轴的激光模式不接受 M4 命令 #946

我们正在研究的新代码几乎已准备好进行测试,可让您在单个机器配置中设置多个主轴。每个主轴都有一个工具编号范围,例如旋转主轴可能是工具编号 0..9,而激光可能是工具编号 10 及以上。当您发出 GCode M6 Tn 命令时,n 的主轴被激活。

在旧代码中,您可以在同一个机器文件中定义 SPINDLE_OUTPUT_PIN 和 LASER_OUTPUT_PIN。您可以通过发出 $Spindle/Type=Laser 或 $Spindle/Type=PWM 从主轴切换到主轴。要启用或禁用激光模式,您发出 $laser/mode=on(或 off)。如果您在使用激光主轴时始终需要激光模式,则只需离开$ laser/mode = ON,因为选择了PWM(旋转)主轴时,忽略了rlaser/mode。

带 PWM 主轴的激光模式不接受 M4 命令 #946
作者

谢谢先生们!我不知道您可以将 GPIO 分配给多个主轴功能。进行了更改,并且效果很好!