Contact me: hankecnc@gmail.com

步进脉冲间隙,步进电机运动粗糙 #78

推推 grbl 3年前 (2023-01-29) 370次浏览
打开
jimfong1 打开了这个问题 2019 年 1 月 10 日 · 4条评论
打开

步进脉冲间隙,步进电机运动粗糙#78

jimfong1 打开了这个问题 2019 年 1 月 10 日 · 4条评论

注释

步进脉冲间隙,步进电机运动粗糙 #78
jimfong1 评论了 2019 年 1 月 10 日  

在进行灰度光栅扫描时,我一直注意到一些粗略的步进运动。在我的 k40 激光器上,当电机转速更高时(300 毫米/秒或更高),它会更加明显。我拿出逻辑分析仪和 Rigol 示波器来捕获进入驱动器的步进脉冲序列。大约每 15 毫秒,我就会看到 0.3 毫秒的脉冲间隙。这在整个光栅运行中重复。这个短脉冲间隙使电机抖动和振动非常轻微。

G1X200F30000 等标准直线运动就可以了。

https://imgur.com/a/y7gI4Fo
https://imgur.com/a/5Fsxd55
https://imgur.com/a/4asVEh1

https://filebin.net/92esd6nq74p2qsch
Saleae 逻辑捕获数据。您可以免费下载Saleae逻辑程序,打开文件查看。

相同的灰度光栅图像在 grbl-lpc 和 stm32/grbl 端口下运行良好,平滑的步进运动。

我查看了捕获的逻辑分析仪数据,在每个脉冲间隙,有两个非常接近的步进脉冲彼此相邻,如下所示
https://imgur.com/a/Abi8AdP

步进脉冲间隙,步进电机运动粗糙 #78

这可能是由于系统架构 – 程序代码存储在外部 SPI 闪存中,并在产生页面错误时读入内部 RAM 中执行。IIRC 我计算出加载一个页面所需的时间约为 300uS,据我所知,当发生这种情况时,正常处理将暂停。也许您可以在间隙期间检查闪存芯片的 CS 和/或数据线上的活动以验证是否是这样?

步进脉冲间隙,步进电机运动粗糙 #78
所有者

谢谢@jimfong1

我过去看到过一些抖动,但不是那样。它的规模要小得多。自从我比较 RMT 与 bit banging step generation 以来我就没有看过它,但我会再看看它。

IRAM_ATTR 语句通常与中断一起使用,以预加载指令。

我认为问题可能是由于 RTOS 和一些 API 的编写方式造成的。通过 API 访问某些外围设备(如 PWM)可能是问题的一部分。如果您查看 API,通常会发现很多与 RTOS 相关的代码。RMT 功能非常适合生成步骤,但我从未能够让它在中断中正常工作。

也许是时候看看直接访问外围设备了。

步进脉冲间隙,步进电机运动粗糙 #78
作者

我昨天收到了一块 NodeMCU 板,ESP-32S,板上有一个 CP2102 串行芯片。这个串行芯片对于批量 USB 传输似乎真的很慢。我的标准灰度测试需要 120 多秒才能完成。与我的带有 CH340 串行芯片的 ESPduino-32 相比,需要 38 秒才能完成。

这个较慢的 NodeMCU/CP2102 板看到的脉冲间隙非常小,因为它运行光栅的速度非常慢。差距仍然存在,但大约为 0.1 毫秒,因此它不会对抖动(相对于下一步脉冲)产生太大影响,并且电机运行平稳。所以如果你有一块 NodeMCU/CP2102 板,你甚至可能根本不会注意到这个问题。

我订购了另一个不同的 ESP32 开发板,并会在我进行测试时对其进行更新。

步进脉冲间隙,步进电机运动粗糙 #78

@jimfong1 @bdring

也许 i2s 是另一种选择,而不是 RMT?

i2s 是在硬件中完成的,因此来自 DMA 缓冲区的 i2s 数据被移出,既没有代码也没有中断– 即。它应该总是有绝对完美的时机。

唯一需要的代码是在已使用的一半缓冲区耗尽之前从容地重新填充未使用的一半缓冲区。并且 i2s 缓冲区可以很大,在饥饿之前提供更长的时间(足够长以承受@terjeio的 300usec 指令获取执行冻结,例如,或 wifi 中断,或 bigfatOS 决定逃跑去参加的任何其他事情)。

所以,我已经准备好尝试使用 74HC595 串入并出技巧的 i2s ….但后来发现 esp32 已经有了这个:i2s 并行模式
simon-jouet/ESP32Controller#4

我不明白为什么@bdring的电路板不能按原样进行并行 i2。需要考虑的事情…

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

4人参加
步进脉冲间隙,步进电机运动粗糙 #78步进脉冲间隙,步进电机运动粗糙 #78步进脉冲间隙,步进电机运动粗糙 #78步进脉冲间隙,步进电机运动粗糙 #78

喜欢 (0)