开源改变世界!!

求助2.5D铣床 #883

推推 grbl 2年前 (2023-01-23) 112次浏览

关闭
Louisdew 打开了这个问题 2016 年 1 月 15 日 · 7条评论
关闭

求助2.5D铣床#883

Louisdew 打开了这个问题 2016 年 1 月 15 日 · 7条评论

注释

求助2.5D铣床 #883

我正在尝试使用 grbl 来控制 2.5d 铣床。我的 Z 轴是螺线管。我试图使用 Z Dir 引脚来控制它,但这效果不佳。它可以通过 -Z 命令正常下降,但一旦发送下一个 XY 命令,它就会恢复正常。然而,发件人仍然认为它是否定的。
是否有可以配置为使 Z 方向引脚(或其他引脚)以这种方式运行的远离设置?
谢谢,

求助2.5D铣床 #883

有人对此有任何进展吗?我正在做同样的事情。

我目前的计划是将一个 d 型触发器连接到 z 轴的方向和步进输出,方向作为数据,步进作为时钟。因此,每次采取新步骤时都会锁定方向状态。

如果有人对此有 grbl 固件修复程序,我很乐意将它放在这里。快速查看代码,很明显,我需要一段时间才能找到负责的代码,更不用说在不破坏某些东西的情况下进行更改了。

求助2.5D铣床 #883

您应该能够通过将 DIR 连接到数据引脚并将 STEP 连接到时钟引脚来实现这一点,
因为 DIR 输出已预先设置为 STEP。
确保使用支持 GRBL 板电压的数字 IC。

为什么你需要这样做呢?你连接的是什么驱动,
电气接口是怎么设计的?

在我正在转换为 CNC 的 Proxxon FF230 上,我使用的是 Leadshine DM856,我
只需将我的 DIR 和 STEP 引脚连接到驱动器。
由于 DIR 和 STEP 在激活时设置为输出高电平,因此它们驱动 DM856 中的 LED。
LED 阴极简单地连接到 0V。

鲍勃。

在 25/04/2016 13:23,djowen40 写道:

有人对此有任何进展吗?我正在做同样的事情。

我目前的计划是将一个 d 型触发器连接到
z 轴的方向和步进输出,方向作为数据,步进作为时钟。
因此,每次采取新步骤时都会锁定方向状态。

如果有人对此有 grbl 固件修复程序,我很乐意将它放在这里。快速查看
代码,很明显,我需要一段时间才能找到
负责的代码,更不用说在不破坏某些东西的情况下进行更改了。


您收到此消息是因为您订阅了此线程。
直接回复此邮件或在 GitHub
#883(评论)上查看

Southern Assemblies Ltd
手机:+447758256558
电子邮件:info@southern-assemblies.co.uk
G+: https: //plus.google.com/113190327999615741877
推特:@SA__Ltd
在英格兰和威尔士注册:08149202
增值税注册号 GB183 8073 87

求助2.5D铣床 #883
成员

这不是 Grbl 的问题,而是对其坐标系工作方式的误解(这是减法 CNC 的标准)。

求助2.5D铣床 #883
朗瓦特 评论了 2016 年 4 月 26 日  

它可以用于绘图仪之类的东西,负动作变成落笔,正动作变成落笔。
我认为一个简单的 hack 就可以了,就像这样:
uint8_t dirmask = DIRECTION_MASK; if(~(st.step_outbits & (1<<Z_STEP_BIT)) dirmask &= ~(1<<Z_DIRECTION_BIT); DIRECTION_PORT = (DIRECTION_PORT & ~dirmask) | (st.dir_outbits & dirmask);

求助2.5D铣床 #883

@maaadbob我不确定您的回复是针对我还是@Louisdew. 如果它是针对我的,硬件将是定制的。基于 nano 和 DRV8825 驱动程序。机器本身是一个旧的 PCB 电路厂,原始驱动程序是基于 RS232 的,软件早已失效。

@chamnit 抱歉,如果我冒犯了我,我无意暗示这是 grbl 设计的问题,而更多的只是我试图为我的特定解决方案实现的目标。grbl 是一个很棒的开源项目,我和许多其他人一样感谢人们付出的所有辛勤工作。

@langwadt二维绘图仪本质上是设计概念。Z 轴高度在每次运行时手动设置。感谢您的建议,我将四处看看并将结果发回。如果它有效,我想可能会有其他人感兴趣。虽然我同意应用程序是有限的。

求助2.5D铣床 #883
成员

@djowen40: 我的错。我误读了这个问题。我想我知道问题出在哪里,它涉及方向销设置方式的相对较新的变化。我必须检查以确保它从最后一个已知方向重置自身。但是,如果您的机器可以容忍在螺线管移动时停止,您可以使用冷却剂或主轴启用/逆时针销来控制螺线管,而不是 z 轴。

求助2.5D铣床 #883
乔文40 评论了 2016 年 4 月 28 日  

大家好,

@langwadt接近正确。除非我把我的脸弄错了。新变量 (dirmask) 似乎需要可变,并且 if 语句的测试需要测试 z 轴上步骤的确切条件。我试过什么@langwadt写了一个逻辑非变体 if(!(st.step_outbit … 但无论 z 轴在做什么,if 语句都永久返回 true,因此永久捕获 Z 方向状态

什么工作如下:
对于那些找不到它的人,在 stepper.c 中的 ISR(TIMER1_COMPA_vect) 函数下进行了更改。请注意,我没有测试对 ISR 运行时间长度的不利影响,但我希望影响很小

注释掉该行:
DIRECTION_PORT = (DIRECTION_PORT & ~DIRECTION_MASK) | (st.dir_outbits & DIRECTION_MASK);

然后添加以下两行:
volatile uint8_t dirmask = DIRECTION_MASK;
if(((st.step_outbits ^ step_port_invert_mask) & 1<<Z_STEP_BIT) != 1<<Z_STEP_BIT) dirmask &= ~(1<<Z_DIRECTION_BIT);

两条新线测试 X 轴是否要迈出一步。如果是,则 DIRECTION_PORT 将更新为 Z 轴方向。如果 z 轴不采取步骤,则 Z 方向的奇数值在方向端口中保持不变。(实际上,您并没有捕获奇数状态,而只是没有从当前端口状态中清除它。

希望这有助于任何尝试构建使用螺线管激活 Z 轴的 2D 绘图仪/2.5D CNC 的人。

PS 以防万一在破解后不是很明显,您可以使用 z 轴的方向引脚作为螺线管的开/关信号。

喜欢 (0)