注释
我没有看到这些错误,但我注意到一些同步错误。这意味着主轴没有准确地在应该的时候打开/关闭。 我会解决这个问题并继续查看您的问题。 |
我看到你在同一个引脚上有 2 个功能。 #define Y_STEP_PIN GPIO_NUM_33
#define SPINDLE_ENABLE_PIN GPIO_NUM_33
这需要修复。 您可以将响应发送到 $+ 命令吗?这将帮助我复制您的设置。 |
好的,我修复了它,但仍然是一个错误。我尝试 ugs 2.0beta 并获得输出。我认为这与进给率有关。如果我使用相同的 gcode 而不设置主轴类型,它可以工作。 您使用哪些工具进行 gcode 发送?也许我需要更好的工具来调试,这是我的设置中的一个错误。 $+ 输出: ugs 错误。 |
谢谢,我可以使用您的机器定义和设置运行您的文件。我没有收到错误,但我看到了一个解析错误,导致错误值进入 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 分支中。我仍在进行广泛的测试、评论和重构。我希望在几天内将其合并回来。 感谢您在这个问题上的耐心等待。 |
我做了第一次测试,它有效。明天我尝试测试更多。做得好!! |
我只全面测试过无、PWM、激光和 BESC。 VFD 看起来也不错,但我可以提高通信速度。 需要测试继电器和DAC。 |
我对DAC进行了更多测试。我发现,最大输出大约是“m3 s160”。我的主轴最大值为 25000。控制值仅在 0 到 160 之间。 |
DAC 主轴现在应该可以工作了。 |
谢谢你。我的测试完成没有错误。 |
floggy22 评论 on 2 May 2020
如果我使用
SPINDLE_TYPE_DAC
SPINDLE_TYPE_PWM、
SPINDLE_TYPE_LASER,控制器会显示未定义的行为。
有时它会停止但不会崩溃,有时它不会做出反应或仅朝一个方向移动。在某些情况下,它会显示 grbl 错误 ID23 或 ID33
如果我选择 SPINDLE_TYPE_NONE,它可以完美运行,没有任何问题。它只是一个测试机器,我用 nodemcu32 和 esp32devkit1 试试。两个控制器上的结果相同。
您使用的是什么版本的固件?
Lastest master
ets Jun 8 2016 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: Pin:25 上的 DAC 主轴]
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