评论
在 M42 之前放置一个 M400。 我可以缓冲 M42,但我们需要另一个 MCU。(内存有限) |
为什么对机器有影响的非缓冲命令不总是 在 2013 年 11 月 28 日 08:43,ErikZalm notifications@github.com写道:
|
因为 Pin toggling 可以用于 UN- 或缓冲。
|
@ErikZalm在命令之前放置 M400 会导致托架针对 M42 命令达到零速度。我试图在托架组件平稳通过期间激活焊料分配器,而不会减慢速度。我什至无法通过查看代码来判断 M106 是如何缓冲的,而 M42 不是,但我希望它们都被缓冲。 我还想提一下,Marlin 非常棒,是一项伟大的工作,感谢您让这一切成为现实。 |
IIrc 风扇销做你
|
@bkubicek你是对的,我已经将我的空气电磁阀连接到风扇电线并且它可以工作。但是对于发生在运动中的更高级的 CNC 操作(利用前瞻缓冲区),最好有更多的工具头操作选项。答案似乎是使用其他引脚将 M106 命令与用于设置模式的 M42 复用,但这是一个问题。但是没有选择,因为显然没有足够的 RAM 来缓冲当前 CPU 的 M42 命令。 |
M42 命令显然是在串行函数看到命令时执行的,而不是当机器的托架到达 g 代码列表中的那个点时。例如(从 0 处的 X 开始):
G1 X100
M42 P40 S255
G1 X200
M42 P40 S0
我希望它移动到 X100,打开引脚,然后将 X 移动到 200 并关闭引脚。但是,一旦串行处理程序接收到 M42 命令,它就会打开和关闭引脚——甚至在托架开始移动之前。
如果将 M42 P40 命令替换为 M106,则它可以正常工作。我什至没有在代码中看到一个是如何缓冲的而另一个不是——它们都在同一个 switch 语句中。(M106 只控制风扇,M42 可以控制任何管脚)
M42 命令应与运动命令一起缓冲以便更有用。我必须在风扇控制器上安装一个焊膏分配螺线管,以使我的机器正常工作。