开源改变世界

有支持非标准几何机器的简单方法吗? #183

推推 grbl 3年前 (2023-01-21) 132次浏览

关闭
davidelang 打开了这个问题 2017 年 4 月 29 日 · 3条评论
关闭

有支持非标准几何机器的简单方法吗?#183

davidelang 打开了这个问题 2017 年 4 月 29 日 · 3条评论

注释

有支持非标准几何机器的简单方法吗? #183

我在看马斯洛数控机床 ( https://www.kickstarter.com/projects/1830738289/maslow-cnc-a-500-open-source-4-by-8-foot-cnc-machine ) 它有非常不标准的几何形状(立式机器,顶角上的电机/编码器,路由器悬挂在两个电机上)。

该项目有一个非常原始的 g 代码解释器。我想知道是否有一种简单的方法可以将移动他们编写的硬件的运动学代码与 grbl 具有的更成熟和强大的 g 代码处理、解释和运动规划结合起来。

由于马斯洛的机制,实际的运动处理非常不同,所以我希望只有几个功能必须被覆盖。Maslow 类似于 Delta 打印机,但通过调整链接的长度而不是链接末端的垂直位置来工作。它还使用闭环系统代替步进器(h 桥控制电机的速度/方向,然后使用编码器检测轴的位置)

我对代码做了一些挖掘,并通过计划器跟踪命令执行,但我不确定是什么处理了计划的结果,将其转化为实际的机器运动。看起来它可能在 stepper.c 中,但我不确定。

有支持非标准几何机器的简单方法吗? #183
贡献者

查看 COREXY 标志,了解如何实现不同的运动学。

有支持非标准几何机器的简单方法吗? #183
作者

好的,我想我知道转换是如何工作的。一个令人头疼的问题是它不是线性转换。调整一个电机不会使工具沿直线移动,即使将两个电机设置为以给定的速度移动也不会使其沿直线移动(少数特殊情况除外)。事实上,在给定方向上移动 1mm 将需要不同的移动,具体取决于移动开始时您在工作区中的位置(有关简化版本,请参见http://2e5.com/plotter/V/design/

所以你不能把大的动作计划成“在电机 1 上以 X 步/秒的速度移动,在电机 2 上以 Y 步/秒的速度移动”,你必须迭代“我有 X 毫米要移动,我会做它分 Y 步,每一步都需要计算才能知道下一步要做什么。

然后将其与闭环控制相结合(对电机 1 施加 10% 的功率,对电机 2 施加 15% 的功率,然后如果电机 1 移动得太快,则施加较少的功率),事情变得非常“有趣”:-)

做更多的挖掘,我认为正确的答案是保持步进计算不变,然后用完全不同的代码替换电机控制(它看起来像是在 stepper.h/c 中完成的)所需步进率作为一系列计算位置并“追踪”它们以最小化实际位置和计算位置之间的误差。

这听起来合理吗?

有支持非标准几何机器的简单方法吗? #183
贡献者

Grbl 假定轴不是动态耦合的(即笛卡尔坐标轴)。马斯洛不是。你可以让它与 Grbl 的运动规划器一起工作,但它不是最佳的。也就是说,马斯洛在激进切割方面效率不高。它必须用两块大砖(字面意思)来压住它才能保持下来。因此,您永远无法达到需要最佳规划器的性能上限。

喜欢 (0)