评论
我不确定,也许是间接的,因为我想支持 G33.1(刚性线程),这需要正交编码器支持。
这很可能需要内核更改,首先在内核中实施 G33.1 可能会有所帮助。实施 ELS 功能的难易程度取决于一个人的技能组合?
我无法以任何有意义的方式回答这个问题,因为我不知道这样做需要什么。
如果使用配置为正交解码的 32 位定时器,是否超过 100K?您必须检查 Blackpill 上是否提供所需的引脚… 也许这个项目可以作为参考? |
如果这些数据可用并且可以在插件级别以某种方式配置,那么人们可以读取和重置当前主轴和线性轴同步点,那就太好了
你的意思是每秒 100k 脉冲?这相当于 3000rpm 左右,听起来不错。
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 并且有一些想法和见解。我打算深入研究 grblHAL 插件和示例,grblHAL 看起来非常强大,如果 ELS 的想法适合这里,那就太好了 |
如果计数器类似于 MSP432 正交编码器外设,它应该可以轻松处理 100K+ RPM,IIRC 它可以处理 20MHz+ 输入。
它已经可以通过hal.spindle结构获得,但我想我必须添加一个方向属性。配置是通过 $-setting(s)。
这是棘手的部分。例如,编码器数据是否应该导致通过规划器发送的运动命令,或者它是否应该直接驱动步进中断回调……
我知道,但是我从未将它们中的任何一个配置为编码器输入。
与其说是 ELS,不如说是完全的 CNC 控制一直是我关注的焦点。我知道 Clough42s 项目有一段时间了,我发现这很有趣——至少单轴运动可以使用他的方法。多轴同步运动(想想锥形螺纹)可能有点复杂…… 如果我们能合作完成这项工作,那就太好了。我的车床完全由 CNC 控制,所以我无法测试 ELS 功能。但是,我希望我可以修改它以支持刚性攻丝,这将与 ELS 共享一些代码。 |
你好。
首先,非常感谢您为这个项目所做的所有工作!
我正在寻找一个可以用作具有 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?
非常感谢,抱歉阅读时间过长