评论
|
长期以来,人们一直在思考如何实现这一点。理想情况下,在 sd 卡打印开始后,可以在面板屏幕上自动执行此操作。所以你不要因为移动到调谐菜单而浪费时间,时间很关键,几秒钟就可以改变一切。我同意它也应该在调谐菜单中.. 因为如果你有一个桥接层,那么让上面的层更受挤压是一件好事,以补偿流量损失。但是在打印开始后应该有一个机制,也许是一个 gcode 来触发调整,例如 20 秒,然后显示恢复正常。 你是如何解决这个问题的? |
|
顺便说一句,0.1 毫米不够准确,0.01 毫米或 0.02 更合适。然后您也可以执行单个步骤。并避免浮动计算。 |
|
为什么还要尝试将其用于缓冲的移动命令?你没有改变逻辑坐标(gcode 指的那些),只有实际的电机位置,那么为什么不让控件直接脉冲步进器独立于运动缓冲区?步进率足够低以至于不需要加速(如果不是完全没有意义的话),并且固件不需要记住这些步骤已经发生。我想我什至曾经看到有人在硬件中实现了这一点,完全在固件之外并隐藏起来。 |
|
因为: 您可以在主程序中轮询 z-pin 状态,然后等到 ISR 忙于其他事情。但这非常难看,因为您在非常近的地方发出两个“步骤”,这可能会导致步骤因加速而丢失。等待是唯一可能的,如果你轮询两次来测量 ISR 延迟。 如果您假设当前执行的行中没有 z 移动,也许可以简化解决方案。可以在缓冲区中检查它。但是你不能调整“jorised”对象。 |
|
可以从主程序添加到 current_block->steps_z 吗?在最后一次从 ISR 读取 current_block->steps_z 之后,以及在下一个块 -> 当前块转换发生之前,这种情况发生的可能性很小。然而,交互地这并不重要…… |
|
我的理解是 joris 模式不会影响第一层,无论如何你都想在第一层使用它。似乎向 Z 步进驱动器发送脉冲所花费的时间无论如何都不太可能干扰实际的 Z 移动,并且一次一步应该不足以摆脱加速,但它不应该在进行 Z 移动时太难阻止该功能。 |
|
@我你不能简单地添加到 current_block,因为 bresenham 算法。 而且我认为应该有 gcode 让 LCD 显示 z-pos-tune 为 S[seconds]。( |
|
如果您希望考虑集成,请重新打开或创建一个带有拉取请求的新问题。 |


我厌倦了仅仅因为 z 轴零位置未对齐而重新开始打印。
在我的 Ultimaker 上,我通常只是抓住主轴并用手转动它几下,
同时机器正在打印裙子。
我的其他机器有两个用于 z 轴的主轴,或者该机构
完全隐藏。没有机会手动高度覆盖……
这就是为什么我实现了一些帮助功能,可作为 G 代码或
“LCD 命令”使用,它在运行时更改打印高度 ( 1 )。
虽然“LCD 命令”可直接从“调谐菜单”获得,但
G 代码变体显然需要一个允许您手动
发送命令的软件(那些自定义 Printrun 用户按钮非常适合此操作;-)
这可以如果您从 SD 卡打印,也可以这样做。
每次单击(或命令)都会向上/向下移动 z 轴。命令
本身以及高度可以在 configuration.h 中设置,但被限制
(硬编码)为“每次点击”0.1mm,因为 z 轴现在可以移动到 0 ( 2 ) 以下。
is change 已经“投入生产”了几个星期,在四台
不同的机器上进行了测试并且真的很好用(对我来说 ;-)。
会有人对这个小帮手感兴趣吗?
在这里试试:https ://github.com/FMMT666/Marlin
我没有做“pull request”,因为我还不完全熟悉 Github
,我不确定这个改变对其他人是否有意义。
让我知道…
( 1 )
实际上,注入的命令仍然被缓冲。
所有其他解决方案似乎都不太安全,但它通常 ™
在裙子轮廓的下一个 1..2 边上执行。
( 2 )
因为这可以被视为危险操作,所以
命令被执行为“G666”;-)