注释
我目前使用 16 微步的 20 齿滑轮。这相当于 80 步/毫米。 以 7000mm/min 的速度,这应该等于步频: 我不认为原始 CPU 性能会成为问题,因为我发现启用/禁用动态功率缩放不会影响速度。 我有一个可以测试的 ESP32。它具有 FPU,你认为我会比 SAM3X8E 更快吗? 您是否有任何关于您的软件与 teensy/ESP32 相结合的能力(光栅扫描速度)的信息? |
也试试编程端口 – 我得到了高进给率,但我没有连接电机,所以无法判断它是否口吃。卡顿可能是由于 USB 外围设备开销/IRQ 优先级造成的。
它应该是因为它有一个 FPU——虽然与 ARM M4F/M7 内核相比,它的速度相当慢。
我已将 Teensy 4.1 驱动器推至70.000 毫米/分钟以上,同样没有电机。我没有分析过 ESP32 驱动程序,所以我不知道它的功能。 |
我再次检查了到期。我实际上得到了运行 grbl 的 UNO 的 5 倍左右的性能。所以进步很大。 我也尝试过使用串口,这个性能实际上有点差。我只能让端口在 115200 运行,所以这可能是其中的一部分。
高进给率是什么意思? 使用串行端口(我无法达到 115200 波特以上)我只能获得 2500 毫米/分钟的进给率。 看来我应该试试 ESP32 |
@terjeio有什么让我很困惑。。 出于好奇,我 但是,接收缓冲区似乎已被填满(通常在任何时候都有 20-40 个字节空闲)。我无法理解的是,如果是 USB 数据传输问题,那么接收缓冲区肯定也会被饿死吗?或者 MCU 上是否有额外的开销,导致数据不够快地从接收缓冲区中取出? (顺便说一下,H743 的运行时间略低于 10 分钟,而 Teensy4.1 的运行时间略低于 20 分钟,因此 H743 端口看起来很有希望)。 |
啊哈,是的。我没有注意到,但始终是 17.89s,对应于 240MHz 的定时器时钟速率。 顺便说一句,在查找时,我注意到步进计时器的计算不一定正确。我需要将 x2 乘数的检查添加到 driver_init() – 其他 STM32 设备也可能相同..?
|
在测试我即将进行的激光重建时,我在 Teensy 4.1 板上以 256 步/毫米的速度在 18000 毫米/分钟发现了这个问题。我想达到 36000 毫米/分钟左右,但我们将在本周末将硬件安装到激光器中后看看情况如何。我正在使用 LightBurn 生成 G 代码,并将 LightBurn 或 ioSender 作为我的发件人。 使用光栅中的垂直框作为我的测试文件,我将它们的宽度和间距更改得更近,直到控制器似乎开始滞后。一旦我达到大约 2x2mm(宽度/间隙)的间距,电机的指令速度就会听得见下降,ioSender 报告为 17119mm/min。Lightburn 也会发生这种情况,但我看不到进给率。一旦间距达到 1mmx1mm,速度就会下降到 12119mm/min,并且 ioSender 会开始卡顿,而不会开启积极的缓冲。间距低至 0.5 毫米,进给速度低至 8569 毫米/分钟。我认识到这对于 g 代码规划器来说是一个极端情况,但它是一个有趣的边缘情况。只要激光功率在减速期间表现正常,我就会认为这是一个优雅的“失败”。 明天有更多时间进行测试的想法: |
@SRFirefox出于兴趣,你能分享你的测试文件吗?谢谢! |
是的。这些中的每一个都设置为18000mm / min。玩得开心!另外:更改 step/mm 设置什么也没做。 |
这个问题被转移到讨论中。
你可以在那里继续对话。前往讨论 →
怪胎 评论 3月10日
大家好,
我为 Arduino Due (SAM3X8E) 编译了 grblHAL。我之前在 Arduino Uno (328p) 上使用过 grbl。
我发现 uno 对于光栅扫描图像来说太慢了。所以我希望在到期时有更好的表现。
可悲的是我仍然不能超过 7000 毫米/分钟的雕刻速度。(上面的卡顿/抖动运动)
我的 DIY 雕刻机/切割机在物理上能够达到 20000 毫米/分钟的移动速度和 4000 毫米/s² 的加速度。
所以我希望能达到这些速度。
我在 Mac 上使用了带有 Lightburn 的 nativ usb 串行接口。
我将光刻设置为 2Mbaud。
我可以验证串行连接不是问题,因为可归档的最大速度没有随着串行波特率的降低而改变。
我尝试将 grbl/config.h 中的 BLOCK_BUFFER_SIZE 增加到 512
我还尝试增加/减少 ACCELERATION_TICKS_PER_SECOND(50 到 200)。
最后尝试更改 SEGMENT_BUFFER_SIZE。
在雕刻灰度时,我无法达到更高的速度。
有什么想法可以提高速度吗?
谢谢你的支持。