开源改变世界

关于电子丝杠的问题 #238

推推 grbl 3年前 (2023-02-08) 255次浏览
打开
ddovod 打开了这个问题 1月8日 · 4条评论
打开

关于电子丝杠的问题#238

ddovod 打开了这个问题 1月8日 · 4条评论

评论

关于电子丝杠的问题 #238
多沃德 评论了 1月8日

你好。
首先,非常感谢您为这个项目所做的所有工作!
我正在寻找一个可以用作具有 CNC 功能的车床的电子导螺杆的项目,因此车床可以在手动模式(具有方便的进给率配置和其他半自动功能)或 CNC 模式下使用。到目前为止我发现的所有项目要么是 els-only 要么是 cnc-only,所以我决定尝试采用 grblHAL 来执行 els 任务,并可能将其实现为带有自定义控制面板、mpg、操纵杆、显示器等的插件没关系。这个想法是以接近实时的方式向 grblHAL 提供基于操纵杆和其他输入状态的命令。例如,G33 可用于螺纹加工,G93-95 用于车削,G1 用于槽或齿轮等异步操作,并以某种方式获取主轴位置以将其用作分度头。
我的设置是 stm32f411 blackpill + 2 个步进器 + 1800ppr 正交编码器。编码器有 3 个输出:2 个带相移(A 和 B)和索引 (Z) 的脉冲。据我所知,grblHAL 接受来自编码器的 2 个输入(A 和 Z 或 B 和 Z)。看起来它假设旋转总是沿一个方向进行,所以如果我输入 G33 Z-100 K1,等待 Z 达到 -50,停止主轴并沿相反方向运行,托架仍将朝 Z 移动-100,如有错误请指正。我知道完全支持反向旋转对于 G33 来说毫无意义,因为在反向运行 gcode 没有意义。但我在手动车削中看到非常常见的用例,当您有时停止主轴、测量零件、重新启动、车削等时,当主轴停止时,您可能会不小心将其向后移动几度,并且该位置变得无效。为了解决这个问题,固件无论如何都应该使用来自编码器的所有 3 个输入,所以第一个问题是:忽略主轴的向后旋转有多难(考虑 3 个输入),但是当它再次开始向前旋转时,保持像以前一样跟踪线程?或者一般来说,将此行为作为单独的模式/gcode/mcode 来实现会更容易、更正确?像以前一样跟踪线程?或者一般来说,将此行为作为单独的模式/gcode/mcode 来实现会更容易、更正确?像以前一样跟踪线程?或者一般来说,将此行为作为单独的模式/gcode/mcode 来实现会更容易、更正确?
第二点与主轴角度与直线轴位置同步点的精确配置有关。有时我需要恢复一个线程,所以我需要将切割器放在线程之间,保存“同步位置”并在同步模式下像往常一样运行它。有时我需要剪一根多头线,所以我需要剪一根线,将新的“同步位置”设置得更远 0.2 毫米或更远 40 度左右,剪另一根线,再次移动它等等。所以第二个问题是:你计划支持这样的东西,或者是否可以通过插件轻松实现?
总的来说,您认为在 CNC 固件之上制作 els 值得吗?
另外,grblHAL 理论上可以在带有 1800 PPR 编码器的 f411 blackpill 上处理多少 rpm?
非常感谢,抱歉阅读时间过长

关于电子丝杠的问题 #238 ddovod 更改了标题 关于电子铅幕的问题 关于电子丝杠的问题 1月8日
关于电子丝杠的问题 #238
贡献者
terjeio 评论了 1月8日

所以第二个问题是:你打算支持这样的事情吗?

我不确定,也许是间接的,因为我想支持 G33.1(刚性线程),这需要正交编码器支持。

使用插件很容易实现吗?

这很可能需要内核更改,首先在内核中实施 G33.1 可能会有所帮助。实施 ELS 功能的难易程度取决于一个人的技能组合?

总的来说,您认为在 CNC 固件之上制作 els 值得吗?

我无法以任何有意义的方式回答这个问题,因为我不知道这样做需要什么。

另外,grblHAL 理论上可以在带有 1800 PPR 编码器的 f411 blackpill 上处理多少 rpm?

如果使用配置为正交解码的 32 位定时器,是否超过 100K?您必须检查 Blackpill 上是否提供所需的引脚…

也许这个项目可以作为参考?

关于电子丝杠的问题 #238
作者
多沃德 评论了 1月8日  

这需要正交编码器支持

如果这些数据可用并且可以在插件级别以某种方式配置,那么人们可以读取和重置当前主轴和线性轴同步点,那就太好了

超过 100K

你的意思是每秒 100k 脉冲?这相当于 3000rpm 左右,听起来不错。

您必须检查 Blackpill 上是否提供所需的引脚

STM32,特别是f411,有4个能够处理正交编码器信号的定时器,它根据旋转方向自动维护一个寄存器值。在 blackpill 上,PA15 和 PB3 是 T2 通道 1 和 2,这些引脚现在在 blackpill 上用作 SPINDLE_PULSE_PIN 和 SPINDLE_INDEX_PIN。TIM2 是支持编码器模式的 32 位定时器。我不熟悉您计划为其实现主轴同步的其他硬件,但考虑将这 2 个输入用作 A+B 而不是 A+Z 并以编程方式计算 Z 可能是有意义的。

实施 ELS 功能的难易程度取决于一个人的技能组合?

是的,当然,但我假设您可能已经考虑过 ELS 并且有一些想法和见解。我打算深入研究 grblHAL 插件和示例,grblHAL 看起来非常强大,如果 ELS 的想法适合这里,那就太好了

关于电子丝杠的问题 #238
贡献者
terjeio 评论了 1月8日  

你的意思是每秒 100k 脉冲?

如果计数器类似于 MSP432 正交编码器外设,它应该可以轻松处理 100K+ RPM,IIRC 它可以处理 20MHz+ 输入。

如果这些数据可用并且可以在插件级别以某种方式配置,那就太好了

已经可以通过hal.spindle结构获得,但我想我必须添加一个方向属性。配置是通过 $-setting(s)。

因此可以读取和重置当前主轴和线性轴同步点

这是棘手的部分。例如,编码器数据是否应该导致通过规划器发送的运动命令,或者它是否应该直接驱动步进中断回调……

STM32,特别是f411,有4个能够处理正交编码器信号的定时器

我知道,但是我从未将它们中的任何一个配置为编码器输入。

我假设您可能已经考虑过 ELS 并且有一些想法和见解。

与其说是 ELS,不如说是完全的 CNC 控制一直是我关注的焦点。我知道 Clough42s 项目有一段时间了,我发现这很有趣——至少单轴运动可以使用他的方法。多轴同步运动(想想锥形螺纹)可能有点复杂……

如果我们能合作完成这项工作,那就太好了。我的车床完全由 CNC 控制,所以我无法测试 ELS 功能。但是,我希望我可以修改它以支持刚性攻丝,这将与 ELS 共享一些代码。

关于电子丝杠的问题 #238
作者
多沃德 评论了 1月8日

非常感谢 Terje,我想我应该首先尝试为 grblHAL 实现一些想法和连接。让这个问题保持开放状态,下次我会带着更具体的问题回来

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

还没有

发展

没有分支机构或拉取请求

2名参加者
关于电子丝杠的问题 #238关于电子丝杠的问题 #238

喜欢 (0)