开源改变世界!!

我该如何修改代码,以便我只能驱动协调的步进电机? #63

推推 grbl 2年前 (2023-02-08) 182次浏览
关闭
joonasstenvall 打开了这个问题 2021 年 8 月 25 日 · 5 条评论
关闭

我该如何修改代码,以便我只能驱动协调的步进电机?#63

joonasstenvall 打开了这个问题 2021 年 8 月 25 日 · 5 条评论

评论

我该如何修改代码,以便我只能驱动协调的步进电机? #63

您好,我在使用 accelstepper 时遇到问题,同时使用多个步进器时缺乏加速。所以我想直接从 marlin/grbl 中取出代码。我应该怎么做?我正在阅读代码并试图理解它,但它有很多多余的东西。

有什么方法可以轻松使用动作代码吗?
我在我的代码
[axis1][axis2][axis3][position1]
[axis1][axis2][axis3][position2]
[axis1][axis2][axis3][position3]中保存了这样的位置

根据我有限的知识,我确定 grbl 可以向前看并计划接下来的动作。但我不知道我会怎么做。

感谢您的时间!

我该如何修改代码,以便我只能驱动协调的步进电机? #63
贡献者

您必须通过从(许多)其他文件中添加/替换所需的代码来使 planner.c 和 stepper.c 工作。调用 plan_buffer_line() 对运动进行排队。这将是很多工作……

如果您不介意拖入所有内容,您可以为 grblHAL 编写一个插件来接管控制并调用 motion_control.c 中的 mc_line() 来排队运动。

accelstepper 是 Arduino 库吗?如果是这样,grblHAL 代码库并不是最适合的,因为它针对 32 位处理器进行了优化。如果需要 8 位支持,那么 IMO Grbl 是更好的选择。或者可能有其他库可用于控制多个电机?

我该如何修改代码,以便我只能驱动协调的步进电机? #63
作者
乔纳斯滕瓦尔 评论了 2021 年 8 月 25 日  

Accelsteppers 协调的步进运动没有加速度。我的印象是 grblHAL 使用中断?那是在哪里设置的?我正在使用 teensy,所以我找到了一些其他文件来设置一些东西。
也许我应该查看插件行,但我也不太确定……

我该如何修改代码,以便我只能驱动协调的步进电机? #63
贡献者

我的印象是 grblHAL 使用中断?

是的。

那是在哪里设置的?

在处理器特定的 driver.c 代码中。

我该如何修改代码,以便我只能驱动协调的步进电机? #63

你有一个从 grbl 接管控件的起点吗?也许我可以在插件代码中花点时间(真)或者那是个坏主意吗?

我该如何修改代码,以便我只能驱动协调的步进电机? #63
贡献者

你有一个从 grbl 接管控件的起点吗?

不是真的 – 取决于你想做什么。有一些可用的模板和一些插件可以给你一些想法。

也许我可以在插件代码中花点时间(真)或者那是个坏主意吗?

我认为只要您调用 mc_line() 来执行动作,它就应该可以工作。当规划器缓冲区已满时它将阻塞。如果您需要从串行端口输入以进行生成运动,那么它会稍微复杂一些。