开源改变世界!!

Z 限位开关不工作 #1128

推推 grbl 2年前 (2022-10-31) 349次浏览 0个评论
关闭
JoshuaFM 打开了这个问题 2016 年 11 月 12 日 · 14 条评论
关闭

Z限位开关不工作#1128

JoshuaFM 打开了这个问题 on 12 Nov 2016 · 14 条评论

注释

Z 限位开关不工作 #1128

好的,所以我已将我的 x、y 和 z 限位开关连接到 arduino cnc shield,发生的情况是,当我从 x 或 y 按下开关时,它会检测到它并停止,但是当我按下 Z 时,什么也没有发生。

我检查了我的接线,一切正常,我在引脚上使用了万用表,X 和 Y 有 5 伏,而 Z 有 0 伏。我知道他们有 5v,因为他们有一个内部上拉电阻,但我的 Z 发生了什么?为什么它不起作用?

Z 限位开关不工作 #1128

来自维基:
https ://github.com/grbl/grbl/wiki/Connecting-Grbl

对于启用了可变主轴 PWM 的 Grbl v0.9:(注意:Z 限制和
主轴使能引脚已交换,因为我们必须访问
D11 上的硬件 PWM 才能使可变主轴 PWM 输出工作。)我们仍在更新此
通过权衡未来的选择,目前的引脚配置。我们
只想更换一次引脚。敬请关注!

2016 年 11 月 12 日星期六上午 10:34,JoshuaFM notifications@github.com写道:

好的,所以我已将我的 x、y 和 z 限位开关连接到 arduino cnc shield,
发生的情况是,当我从 x 或 y 按下开关时,它会检测到它并
停止,但是当我按下 Z 时,什么也没有发生。

我检查了我的接线,一切正常,我在
引脚上使用了万用表,X 和 Y 有 5 伏,而 Z 有 0 伏。我知道他们有
5v,因为他们有一个内部上拉电阻,但
我的 Z 发生了什么?为什么它不起作用?


您收到此消息是因为您订阅了此线程。
直接回复此邮件,在 GitHub
#1128上查看,或将帖子静音
https://github.com/notifications/unsubscribe-auth/AHuHwjO4FXW6rZmzXcrtkak5u4v8cIKeks5q9YgSgaJpZM4KwX-v

Z 限位开关不工作 #1128

经济学人 评论 on 29 Jan 2017  

你好约书亚FM!

我遇到了同样的问题(z 轴的限位开关不起作用)。
除了你的问题,当限位开关关闭时,我的整个 arduino(UNO 克隆)崩溃了。
我的假设是,这种影响是由限位引脚上的短路引起的。
我浏览了源代码并发现了以下内容:
引脚 12 的功能(z 轴限制的输入或可变主轴的输出)取决于包含文件“config.h”中定义的VARIABLE_SPINDLE
CPU 映射文件“cpu_map_atmega328p.h”和“cpu_map_atmega2560.h”中缺少此包含文件。
因此,根据 arduino-compiler 编译源代码的顺序,部分代码可能会在没有正确设置的情况下编译。
我在“cpu_map_atmega328p.h”中添加了包含文件“config.h”,如下所示:
`
…….
#ifndef cpu_map_h
#define cpu_map_h

#include “config.h”

#ifdef CPU_MAP_ATMEGA328P // (Arduino Uno) Grbl 官方支持。

// 定义串口引脚和中断向量。
#define SERIAL_RX USART_RX_vect
#define SERIAL_UDRE USART_UDRE_vect
……
`
重新编译并下载到arduino后,一切都按预期工作:
z限位开关的功能正常,引脚11上的可变主轴也工作。

也许你也可以在你的项目中试试这个。

总而言之,整个 grbl 项目很棒!!感谢作者和所有贡献者!

Z 限位开关不工作 #1128

斯特布托斯 评论 2017 年 3 月 3 日  

大家好,

这看起来确实是我的问题的解决方案,但源代码修改(#include“config.h”)没有帮助。

我为所有 3 轴(最小和最大)安装了限位开关。所有 NO 连接。

我将 21 美元和 22 美元设置为 1,将 5 美元设置为 0;
发出 $H 时,z 轴开始移动,但当 z 限位开关被触发时,无法识别。相反,z 轴继续移动,撞到机械端。

到目前为止,我为故障排除所做的工作:

  • 用万用表确保接线正常 -> 好的
  • 挂在 DSO 上以检查噪音/干扰 -> 干净的信号 -> 好的
  • 设置状态报告标志以启用限位开关指示($ 10 = 19)并测试6个开关中的每一个:状态报告正确指示每个针迹,根据其是否触发。

现在我一头雾水,绝望了。
任何帮助表示赞赏!

顺便说一句:我编译时启用了 config.h #define VARIBLE_SPINDLE,因此将 z-limit 开关连接到 PIN 12,将主轴启用信号连接到 PIN 11(测试了变量“主轴速度”并且确定)

我正在使用带有 grbl 盾牌的 arduino uno。

Z 限位开关不工作 #1128

还有一件奇怪的事情:我试图在 config.h
#define HOMING_CYCLE_1 (1<<Z_AXIS)
#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))中更改归位轴的顺序
…这样它首先尝试使用 x 和 y,但是:在 arduino IDE 中编译的所有内容都没有问题,上传时也没有任何错误或警告:完全没有效果

似乎 config.h 中的条目在归位时不起作用,但会在其他区域(例如状态报告)中考虑

Z 限位开关不工作 #1128

你是如何上传到 Arduino 的?如果使用 Arduino IDE,库文件夹中是否只有一个 grbl 固件实例。如果您有多个实例,则在上传/编译中使用哪个文件是命中或错过。

Z 限位开关不工作 #1128

首先我用arduino编译和上传。
但后来我也直接用 ArduinoBuilder (grbl 9f) 上传了预编译的 hex 文件:相同的行为
奇怪的是,状态报告正确识别所有开关的开关状态。因此,我会说这不是硬件问题。

Z 限位开关不工作 #1128

@SteBuTOS首先,您可能应该在https://github.com/gnea/grbl/上迁移到 grbl 1.1,因为不再建议将 grbl 0.9 用于新安装或请求支持。

其次,如果您更改了 HOMING_CYCLE 定义顺序并重新编译/上传了更改,并且对归位没有任何影响 – 那么您没有修改 grbl 的正确副本。确保您拥有和正在编辑的唯一副本位于 Arduino 库文件夹下,名为 grbl。即使您已重命名它们,也不能有其他副本。

第三,您可能知道这一点,但始终最好先归位 Z,以便 XY 归位可以避开障碍物。

Z 限位开关不工作 #1128

@eociar您重新添加#include config.h到 cpu 映射包括的评论没有多大意义。cpu 映射包含文件仅供 grbl.h 使用,该文件已包含 config.h。
因此,除非您使用非标准程序进行编译,否则可能发生这种情况的唯一方法是,如果您有一个未按此顺序执行包含的旧版本,但这似乎不太可能,因为该代码区域并没有真正在很长一段时间内改变。

Z 限位开关不工作 #1128

大家好
我有grbl不识别Z轴限位开关的问题,通过重读grbl各个版本的特性找到了答案。在 0.9x 版本中,D9 (X) D10 (Y) D12 (Z) 引脚分配给限位开关,而 cnc 屏蔽使用 D9 (X) D10 (Y) D11 (Z) 引脚。由 grbl 的 0.8c 版本完美解释,我在 Arduino UNO 上重新加载了 0.8c 固件,现在一切正常。

Z 限位开关不工作 #1128

您可以轻松地将cnc屏蔽适应新版本的grbl,弯曲需要交换的cnc屏蔽引脚,您可以焊接arduino底部的2根电线并连接到弯曲引脚

Z 限位开关不工作 #1128

很棒的想法和解决方案,非常感谢。

Z 限位开关不工作 #1128

在 grbl 1.1 中,如果您不需要为可变主轴输出电压打开硬件 PWM 输出,只需注释掉 config.h 中的 VARIABLE_SPINDLE 行即可使其正常工作。

Z 限位开关不工作 #1128

想要感谢 arjun1299 – 注释掉 VARIABLE_SPINDLE 为我解决了这个问题 – 在 config.h 本身中有详细的解释。您需要删除以前的 Arduino 库,重新编译并重新上传。我的 Z 限位开关现在可以工作了 – 谢谢!!

Z 限位开关不工作 #1128

上述步骤回答了这个问题,但是对于不确定执行此操作的确切步骤的任何人:

首先测试什么是有效的,什么是无效的。使用通用 Gcode 发送器之类的东西连接到 arduino,(波特率可能必须为 115200)

在此处更改 $10= <<numbers
将更改您获得的报告类型。
发送 $$ 会告诉你你的 arduino 有什么设置

对我来说,输入 $10=17
然后发送:?
给了我一个以
Lim:000结尾的结果
1=限位开关已触发
顺序这 3 个零指的是:X > Y > Z

按住 endstop 并发送 ? 允许您检查状态。

然后我在 Github 上下载了 grbl 1.1 文件。提取它(使用例如winrar)并使用记事本++打开文件:
grbl-master\grbl\config.h

按 CTRL + F 搜索:VARIABLE_SPINDLE
对我来说这是第 247 行 – 然后我在前面放了两个斜杠,所以它显示为:
//#define VARIABLE_SPINDLE // 默认启用。评论禁用。

然后我保存了文件。

使用arduino官方电脑程序:
Sketch>include library>add .ZIP library

导航到文件时,您需要在 grbl-master 文件夹中选择 grbl 文件夹。

然后确保你连接到你的arduino:工具>端口>你的com端口号在这里
还确保在工具>板下,你选择了正确的arduino板,例如’uno’

然后,草图>包含库>grbl(在底部)
然后草图>验证/编译

然后按向右箭头图标上传。

关闭 arduino 程序。
在通用 gcode 发送器上连接到您的板。您可能会玩弄 $10= 上的数字,
但现在对我来说,输入 $10=17
然后?
当我按下 z 限位开关时,限制字段上的第一个数字显示为 1。
林:100

如果你看到了,它应该可以工作。如果需要一组常闭和常开限位开关,您还可以根据需要反转限位开关。通过将 $5= 设置为 1 来反转

我花了很多时间阅读有用的文章,尽管这篇文章给出了正确的答案,但知道如何注释和编译什么是一件小事。我从未发布过,只使用过帮助文章.. 所以希望在 5 年内这会对某人有所帮助。

祝您有美好的一天,希望这可以为您节省几个小时的故障排除时间 o7

Z 限位开关不工作 #1128
喜欢 (0)

您必须 登录 才能发表评论!