注释
我没有看到这些错误,但我注意到一些同步错误。这意味着主轴没有准确地打开/关闭。 我会解决这个问题并继续关注您的问题。 |
我看到你在同一个引脚上有 2 个功能。 #define Y_STEP_PIN GPIO_NUM_33
#define SPINDLE_ENABLE_PIN GPIO_NUM_33
这需要解决。 您可以将响应发送到 $+ 命令吗?这将帮助我复制您的设置。 |
好的,我修复了它,但仍然是一个错误。我尝试 ugs 2.0beta 并获得输出。我认为这与进给率有关。如果我在没有设置主轴类型的情况下使用相同的 gcode,它就可以工作。 您使用哪些工具发送 gcode?也许我需要更好的工具来调试,这是我的设置错误。 $+ 输出: $ 102 = 400.000 错误。 |
谢谢,我可以使用您的机器定义和设置运行您的文件。我没有收到错误,但我看到了导致错误值进入 gcode 的解析错误。 它类似于ESP32 的这个问题。我会找出问题所在以及为什么问题再次发生在我身上。 对不起的问题。 |
我仍在尝试处理您的文件。你能告诉我你用来创建 gcode 的程序吗?你有艺术品的源文件吗,所以我可以在我的 cam 程序中试试。 (StoreProhibited) 错误通常表示 ESP32 正在尝试将某些内容存储在内存中不允许的位置。越界数组或空对象可能会发生这种情况。 您可以通过使用 Arduino IDE 编译和上传固件并将回溯信息插入异常解码器来提供帮助。异常解码器将给出导致问题的确切行以及调用函数的位置。 您需要安装异常解码器。这里有说明我不能从头开始做,因为它必须使用你编译的确切文件。此外,虽然我的行为很奇怪,但我没有遇到任何崩溃。 |
对于这个文件,我使用https://www.estlcam.de/。我有其他使用 Fusion 360 创建的文件和同样的问题。可以在https://svgsilh.com/image/2023449.html找到源文件。 #define GRBL_VERSION “1.1f” 一切都使用同一个文件顺利运行。其他版本我没试过。需要一些时间来设置 Arduino IDE。 顺便说一句,我喜欢你在做什么。这是一个很棒的软件!! |
如果有截屏视频并将日志文件放在最后。也许这有帮助。 堆栈跟踪的结果: 解码堆栈结果 |
堆栈跟踪非常有用。我已经看到一个可能的问题。 |
这里有一些尝试:
到
|
它改变了行为。控制器不再崩溃,但会非常慢。似乎有什么东西阻碍了交流。 |
好的,这是一个很好的线索。代码中存在竞争条件。我将不得不映射该部分代码的整个行为,以了解正确的修复方法。 |
您好,我有类似的问题,所以我也使用了 floggy22 的 gcode 文件。 |
主分支已恢复为工作版本。我们正在努力修复主轴类版本。 |
我想我们发现了问题,ESP32 对带中断的浮点数据类型非常敏感。Grbl 对主轴速度使用浮动值。通常人们不使用带小数点的主轴速度。我们已将类型切换为整数,但可能会移动到固定点值,例如未来的毫转 (100.005 RPM)。最终分辨率仍然取决于 PWM 信号,在 5,000Hz 时约为 13 位。 我不确定为什么主轴类会引发此问题,因为它始终是浮点数。可能存在等待弹出的稳定性问题。 代码在 SpindleClass2 分支中。我仍在进行广泛的测试、评论和重构。我希望在几天内将它合并回来。 感谢您对此问题的耐心等待。 |
我做了第一次测试,它有效。明天我会尝试测试更多。做得好!! |
我只对 None、PWM、Laser 和 BESC 进行了全面测试。 VFD 看起来也不错,但我可以提高通信速度。 需要测试 Relay 和 DAC。 |
我对 DAC 做了更多测试。我发现,最大输出约为“m3 s160”。我的主轴最大值是25000。控制值只能在0到160之间。 |
如果我使用
SPINDLE_TYPE_DAC
SPINDLE_TYPE_PWM、
SPINDLE_TYPE_LASER,控制器会显示未定义的行为。
有时它会停下来但不会崩溃,有时它不会做出反应或只朝一个方向移动。在某些情况下,它显示 grbl 错误 ID23 或 ID33
如果我选择 SPINDLE_TYPE_NONE,它可以完美运行,没有任何问题。它只是一个测试机器,我用 nodemcu32 和 esp32devkit1 试了一下。两个控制器上的结果相同。
您使用的是什么版本的固件?
最新 master
ets 2016 年 6 月 8 日 00:22:57
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:2
负载:0x3fff0018,len:4
负载:0x3fff001c,len:1044
负载:0x40078000,len:8896
负载:0x40080400,len:5828
条目0x400806ac
[MSG:Grbl_ESP32 Ver 1.2a Date 20200428]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:CNC6]
[MSG:Axis count 3]
[MSG:RMT Steps]
[MSG:引脚上的 DAC 主轴:25]
Grbl 1.2a [‘$’寻求帮助]
问题是否可重复?
是的
我添加了我的 maschine 文件,但它也可以通过 test_drive.h 重复并设置一个 SPINDLE_TYPE 而不是 NONE。我使用 CNCjs 1.9,22 和 bCNC 0.9.14-dev 进行了测试。我在 eyecatch 块的 config.h 中禁用了所有选项(wifi、蓝牙、SD 卡……)。
gcode_config_maschine_file.zip