开源改变世界

限位开关问题 #1124

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

关闭
kyjak 打开了这个问题 2016 年 11 月 3 日 · 24条评论
关闭

限位开关问题#1124

kyjak 打开了这个问题 2016 年 11 月 3 日 · 24条评论

注释

限位开关问题 #1124
kyjak 评论了 2016 年 11 月 3 日  

我将限位开关设置为常闭 NC,
CPU 映射定义如下。我的问题是在查看详细输出时,
我将限位开关标志清除为 000,当我按下开关时,它有效地转到“1”。
但是,在运行 gcode 时,按下开关不会触发任何动作。
它应该暂停/中断执行,但没有任何反应,知道这是否是
代码中的错误?
$5=1
$21=1

#define LIMIT_DDR DDRC
#define LIMIT_PIN PINC
#define LIMIT_PORT PORTC
#define X_LIMIT_BIT 6 // mega Digital Pin 31
#define Y_LIMIT_BIT 5 // mega Digital Pin 32
#define Z_LIMIT_BIT 4 // mega Digital Pin 33
#define LIMIT_INT PCIE0 // 引脚更改中断使能引脚
#define LIMIT_INT_vect PCINT0_vect
#define LIMIT_PCMSK PCMSK0 // 引脚改变中断寄存器
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // 所有限制位

限位开关问题 #1124

你想让它做什么?您是否配置了硬限制?
在文档中查看 21 美元https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

限位开关问题 #1124
作者
kyjak 评论了 2016 年 11 月 3 日  

是的,硬限制打开,开关被触发,但是当达到限制时没有任何反应,没有执行中断 = 没有硬限制警报。
GRBL 日志:
空闲,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:000
空闲,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:000
空闲,MPos:0.000 ,0.000,0.000,WPos:0.000,0.000,0.000,Lim:010
空闲,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:010
空闲,MPos:0.000,0.000,0.000,WPos:0.000 ,0.000,0.000,限制:000

限位开关问题 #1124
作者

更新更多信息 – 归巢时警报响起。但是,在不损坏机器的任何操作期​​间,这不应该起作用吗?

限位开关问题 #1124

可能是因为您使用的是 NC 开关。我从来没有尝试过。
所以我不确定反转标志是否像您预期的那样在硬限制下工作。
你能在没有开关的情况下进行测试吗?

限位开关问题 #1124

我应该使用 NC 开关工作 我的设置是
$5=1
$21 = 1
$22 = 1
我已经从开关附加上拉 1k 到 IOREF
我会客人你已经正确连接了串联而不是并联的开关

限位开关问题 #1124
作者
kyjak 评论了 2016 年 11 月 4 日  

Electrokean:我宁愿坚持使用 NC 开关,我认为它们比 NO 提供更多的安全性。

vMeph:我将开关串联 GND->SW1->SW2->Limit PIN。不要使用电阻器,相信这个配置它们已经过时了,因为内部上拉应该打开 [没有在 config.h 中禁用它]。
他们工作,但只是为了归巢,我想在任何 XYZ 旅行期间也让警报响起,知道这是我的错吗,或者 grbl 没有这个功能?

限位开关问题 #1124

我有外部上拉,但没有移除内部上拉和开关和 gnd 之间的 47 uf 盖帽,我遇到了导致误报的噪声问题并且解决了我的问题(没有禁用 config.h)
但是为了什么你描述了他们在家 $H 期间触发的工作,只是在正常的 XYZ 旅行模式下不工作,有点奇怪,grbl 有那个功能,一定是有问题,

限位开关问题 #1124
作者

vMeph:但是你的开关是 NO,对吧?我认为如果您使用 NC,噪音问题会更好。不确定如何调试问题,也想为其他人提供帮助/修复。

限位开关问题 #1124

我的开关是 NC

限位开关问题 #1124
作者

你能展示一下连接接线的草图以供比较吗?

限位开关问题 #1124

我变成这样
限位开关问题 #1124

限位开关问题 #1124
作者

我做了你的设置,它的工作方式和我的完全一样。我上传了一个问题的视频。正如您将看到的,限位开关将被触发到“1”,但机器移动不会停止,因此不会创建警报。
https://youtu.be/apzkxUgY7uY

限位开关问题 #1124
vMeph 评论了 2016 年 11 月 12 日  

我不知道你用的是什么 arduino 或者你有什么版本我假设你有 arduino UNO
我不是专家会更好一些人输入但是我看到你的防御看起来不正确,我正在寻找新版本的 grbl你那里的防御看起来不同
这是来自 grbl 1.1 的防御

#define LIMIT_DDR DDRB
#define LIMIT_PIN PINB
#define LIMIT_PORT PORTB
#define X_LIMIT_BIT 1 // Uno Digital Pin 9
#define Y_LIMIT_BIT 2 // Uno Digital Pin 10
#ifdef VARIABLE_SPINDLE // Z Limit 引脚和主轴启用交换以访问引脚上的硬件 PWM 11.
#define Z_LIMIT_BIT 4 // Uno 数字引脚 12
#else
#define Z_LIMIT_BIT 3 // Uno 数字引脚 11
#endif
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT) ) // 所有限制位

看起来你已经定义了

#define LIMIT_DDR DDRC
#define LIMIT_PIN PINC
#define LIMIT_PORT PORTC

应该就像你已经设置了 PORTC DDRC 和 PINC,从我在 grbl 1.1 上看到的信息是
PORTB DDRB 和 PINB

我假设你使用了错误的寄存器

我获得信息的链接在这里
https://github.com/gnea/grbl (arduino uno)
https://github.com/gnea/grbl-Mega (arduino mega)

在你的情况下,保存你的机器配置设置清理你的arduino eprom等可能是个好主意。并开始新的安装?

grbl 1.1 是新版本,它仍然是测试版,但到目前为止没有重大问题,它有新的选项,如实时覆盖进给速度、激光选项等。
我对它很满意

限位开关问题 #1124
作者
kyjak 评论了 2016 年 11 月 12 日  

我更改了端口映射,这样我就可以在 2560 顶部使用 RAMPS 板(绘制端口/引脚图很痛苦,如果有人需要可以分享)。根据 2560 规范设置的引脚/端口 – 自定义分配。我当然遵循引脚必须共享相同端口的规则。
同样,正如您在视频中看到的那样,开关被触发。只有闹钟不响。

限位开关问题 #1124
成员

@kyjak: 我觉得最好分享一下你所做的所有修改,否则无法帮助你。如果做得不正确,引脚中断分配可能会很棘手。

仅供参考,v0.9 上的 Mega2560 编译选项完全由用户支持。从默认构建更改内容时可能会出现错误。在 Grbl v1.1 成为 master 并且我将新内容移植到 Mega 分支之前,我将仅对 v1.0+ Mega 版本提供有限的支持。

限位开关问题 #1124
作者

没问题,http:
//brana.sk/grbl.zip 我检查了最新的 GRBL,修改了 cpu_map.h,添加了 cpu_map 以进行斜坡修改。没有回购服务器,否则我会通过 git 共享。

限位开关问题 #1124
成员
香奈儿 评论了 2016 年 11 月 12 日  

@kyjak: 匆匆看了一眼。您可能需要检查您的 PORTE 引脚是否有引脚更改中断。它看起来不像,但话又说回来,我只是看了一眼数据表。

您还定义了一个 PORTE 引脚两次以执行两种不同的操作。

限位开关问题 #1124
作者
kyjak 评论了 2016 年 11 月 12 日  

好吧,根据规格 [不是很深的专家],我假设“/INTx”表示中断可用性。或者?
5 PE3 ( OC3A/AIN1 ) 数字引脚 5 (PWM)
6 PE4 ( OC3B/INT4 ) 数字引脚 2 (PWM)
7 PE5 ( OC3C/INT5 ) 数字引脚 3 (PWM)

更正:感谢 Chamnit,供参考和其他人使用,需要 PIN CHANGE INT,在引脚图中别名为“PCINT”。我会尝试重新布线并发布进度,再次感谢线索!

限位开关问题 #1124
成员

请参阅数据表摘录。端口 E 上除引脚 0 外的所有引脚均无引脚更改中断。

限位开关问题 #1124

限位开关问题 #1124

@109JB 那里没有那个上限的原因是什么?
对于 NC 开关,您建议使用什么接线?

限位开关问题 #1124

我想我不需要它,但感觉我过去有一些噪音问题,我最终选择在那里设置一个上限以避免任何漂浮,到目前为止再也没有错误触发
但我应该有一天尝试使用它感觉当我遇到噪音问题时,我以前没有开关

限位开关问题 #1124
作者
kyjak 评论了 2016 年 11 月 13 日  

深入研究数据表有帮助,使用端口 K 进行限制,PCIE2,感谢你们,我现在了解它是如何工作的。在连接探头和控件之后,如果有人感兴趣,我会在网上发布专有技术。不确定此设置是否与新的 GRBL 兼容,RAMPS 是否兼容可能是个问题。

喜欢 (0)