开源改变世界

HardLimit 中断问题 #163

推推 grbl 3年前 (2022-10-30) 241次浏览 0个评论
关闭
闷闷不乐 打开了这个问题 on 12 Jan 2013 · 26 条评论
关闭

HardLimit 中断问题#163

闷闷不乐 打开了这个问题 on 12 Jan 2013 · 26 条评论

注释

HardLimit 中断问题 #163

你好,

我不知道这是否是寻求帮助的正确地方,但我找不到任何论坛等。首先让我感谢你们为社区提供这些出色的工具,感谢你们的工作。

我买了一个 shapeoko 并按照 Wiki 中的说明安装了限位开关。本质上,我将限位引脚直接连接到开关,并将开关接地。开关常开。

当我通过发出 $16=1 命令启用限位开关并尝试移动任何轴时,我收到 HARDLIMIT 警报,我必须重置。如果我尝试使用归位功能,我会得到相同的结果。

我知道开关接线正确,我可以测量从开关到地的 5 伏电压。

我把我的振荡器连接到开关上,我注意到当轴移动时,有一个 2 伏的下降,然后又回到 5 伏。我认为这可能会造成错误的中断。我确实有很长的电线,从开关到屏蔽层大约 1 米,所以我怀疑有噪音。

关于如何让这个工作的任何想法,因为我正在学习 Gcode 和 cnc 加工,限位开关是一个很好的想法(我已经将机器运行到侧面)。我很高兴,因为我让主轴启用/禁用工作!

谢谢!

HardLimit 中断问题 #163

嗨,
我也有一个 shapeoko,也遇到了同样的问题。对我来说,这主要发生在我打开或关闭我的 Dremel 时。当我查看示波器时,步进器运行时针脚上有一些噪音,当我打开和关闭 Dremel 时会出现尖峰。我一直在寻找修复它的方法。我在每个引脚和地之间(在微控制器端)添加了一个 0.1 uf 电容器。这降低了步进器运行时开关上的噪音,并且尖峰似乎也更好。当我打开我的 Dremel 时,限位开关可能只有五分之一的跳闸。我认为我会尝试添加一个电阻较低(可能为 1k)的外部上拉电阻,这也应该有所帮助。
我不确定内部上拉是如何工作的。如果我添加一个 1K 电阻,这是否就像让 30k 内部和 1K 外部上拉并联给〜 1K?还是我需要禁用上拉并重新编译代码

顺便说一句,请谨慎接受此建议。我也只是从这一切开始。

HardLimit 中断问题 #163

@sullenx,@kjjordans:如果微控制器的内部上拉是唯一拉高开关输入的东西,那么在它们上接收到足够多的噪声以导致误跳闸也就不足为奇了。如果它们直接由逻辑输出驱动,那将是另一回事,但仅内部上拉 (20…50K) 就足以抵抗噪声。事实上,我已经看到将外部上拉电阻从 4K7 更改为 1K 的情况产生了相当大的不同——所以是的,你绝对应该这样做(当然欢迎使用电容器)。

另一方面,在添加外部上拉后,您真的不需要担心内部上拉 – 您将不再需要它们,因此您可以根据需要禁用它们,但将它们保持打开也完全可以 – 因为您说,它们只是与外部 1K 并行计算,也就是说结果会比 1K 小一点——没什么好关心的。

HardLimit 中断问题 #163

@blinkenlight,@kjjordans 谢谢您的帮助。如果我成功了,我会试一试你的配置并报告。

HardLimit 中断问题 #163
成员

尚尼特 评论 on 16 Jan 2013

@blinkenlight:对于连接硬限制以防止噪音问题的官方解决方案,您有什么建议?我将考虑将其写入 Wiki,以确保共享此解决方案。

此外,并行,如果限制引脚倒置,如何更改此解决方案以解决噪声问题?

HardLimit 中断问题 #163

@chamnit: 这对自认为无所不知的傻瓜来说是一个简单的答案…… :)

可以在 [1] 中找到查看高电平和低电平噪声容限等的逻辑电路的噪声敏感性总结概述 – 只是文章的第一部分 – 这表明虽然 TTL 电路在逻辑低电平上的噪声容限较小,但 CMOS那些真的不在乎。当然,在实践中,尤其是在我们的领域 (CNC) 中,没有人真正知道哪种技术连接到哪种技术以及在什么特定的电压水平下,因此具体的工作方式因情况而异(一个特别令人讨厌的情况是具有低电压驱动器的情况)用于 CNC 驱动器上的 LPT 和 5V 输入,这就是为什么人们会看到“不要与笔记本电脑一起使用”的大胖子在所有中国爱好 CNCs 上——尽管这是相反的方向)。驱动器盒可能在传感器输入和 LPT 之间根本没有电路,可能有一个缓冲器,甚至可能有一个施密特触发器(整洁!)。

当然,我从未进行过任何严肃的学术噪声研究,但作为个人喜好,我喜欢将常闭传感器连接到地面,并在靠近输入引脚的地方有相当强的上拉。我觉得这具有以下优点:a)以可靠的方式发生故障(应立即将缺陷/断开检测为开路)和b)对正常/正常/空闲状态,比其他情况更有可能吸收噪音而不拾取它。公平地说,我不知道这是否是行业的普遍做法。

当然还有其他三种可能性(声明为“活动”的逻辑电平和接地或电源开关的设置是两个不同的东西,并且有四种组合 – 显然它们最终必须匹配,但是一个常闭开关接地或通向电源的正常开路都会给我一个有效的高电平)。仅基于上面引用的理论,通向 Vcc 的常闭开关可能比我的解决方案工作得更好,但由于未知的特定硬件,很难以有意义的方式进行概括,而且这对于启用的内部来说效果不佳上拉 – 禁用它们将使电路板没有安装任何外部电阻器,输入浮动/未确定(此外,我怀疑这实际上在实践中工作得更好)。然而,我怀疑这是那些难以确定的单一正确答案主题之一,每次讨论时往往会引发“圣战”。我的偏好如上所述 – 除此之外:做任何对你有用的事情……;)

[1] – http://www.allaboutcircuits.com/vol_4/chpt_3/10.html

HardLimit 中断问题 #163

@chamnit:抱歉-关于您的第二个问题:是否反转引脚仅与我们可能希望获得被动(正常,空闲)状态的最佳噪声容限有关,因为这是我们将看到的 99.9%那个时候,那是我们不想要错误触发的地方。有关噪声容限,请参阅上面的文章 – 但我怀疑是开关连接的方向、拉电阻的值、小电容器的存在/不存在、传感器电缆的类型和具体布局等。 ,对结果的影响比输入电子设备的理论噪声容限要大得多……不过我的 0.02 美元。

HardLimit 中断问题 #163

啊。感谢您的解释!我认为对于电磁噪声并没有一个非常明确的答案,因为航空公司和 FAA 也无法通过飞机上的手机和电子设备来解决这个问题。(或者没有向公众解释为什么他们不能一直保持他们的东西,但那是另一回事。)我想总结一下:有太多因素可以从驱动程序类型中进入,电路板布局、布线接近度、接地、电源波动/噪声、建设性/破坏性干扰等。所以,作为一个公平的评估,我想我应该让 Grbl 在限制方面尽可能地可配置。

HardLimit 中断问题 #163

伙计们,

我尝试添加一个与输入引脚串联的 10K 电阻,以及一个与生长并联的电容器。它对噪音有很大帮助,但是当电机接合时会有 1V 的下降。电容器在平滑下降和上升方面做得很好,但对下降本身无能为力。

如果我提高电容,我会失去开关的响应时间,更大的电阻可以解决问题吗?

我有几个问题:

  1. 我将电容器和电阻器放在开关端,距离微控制器大约 4 英尺的电线,你认为把它放在微控制器端有什么不同吗?
  2. 无论如何改变arduino中的中断灵敏度?如果我能以某种方式操纵它,我可以将其设置为低于 1V 的下降,并解决问题。
HardLimit 中断问题 #163

通过进一步调试,我发现步进器接合和不接合时的电压只是不同。

大约是1V。我评论了步进器空闲的代码,我看到了 1V 的下降,但不管步进器运动如何,它都保持在那里(除了非常小的噪音)。你们中的任何人都有这种情况吗?

我能想到的唯一解决方案是从直流电源运行 5V 线路并将其用于逻辑,你们怎么看?

HardLimit 中断问题 #163

@sullenx: 不不不不。首先,拾取噪音的部分是电缆;您希望保护元件尽可能靠近微控制器引脚,它们在另一端的效果要差得多(如果串联电阻将开关与电缆分开,而不是电缆与 MCU 分开,则串联电阻对噪声没有任何作用)。其次,虽然串联电阻不会造成伤害,但它通常也无济于事 – 您需要一个电阻将输入拉5V 直流电源(尽可能靠近 MCU 引脚,与电容器相同) (!)),以帮助内置上拉电阻在这种情况下太弱而无法对抗噪声。并且不要让它大于4.7K,1K更好。

此外,检查您的电缆布线 – 传感器电缆最好不要太靠近或平行于步进电缆。有一个行为不端的 VFD 主轴控制器的朋友不仅必须使用所有屏蔽电缆,而且实际上将它们布线在柔性金属管内以增加屏蔽,并且彼此之间保持一定距离。此外,他必须将他的驱动器盒中的传感器输入电路(传感器没有直接连接到他的 PC 的 LPT – 相当于我们的 MCU 引脚)从通用 TTL 类型更改为施密特触发器类型 – 这有助于创造奇迹,但他仍然没有完成了……!

如果您确定开关直接连接到您的 Grbl MCU(而不是首先通过驱动器盒),那么您应该已经有了这个好处 – ATMega 输入是施密特触发器 – 在 5V 电源下,将输入注册为“低”的阈值约为2V,“高”约为2.5V,迟滞为0.5V;只有 1V 的“下降”甚至不应该出现 – 除非它具有更大的瞬时摆动。如果开关通过驱动器盒,当然这一切都没有实际意义。无论哪种方式,灵敏度都不是逻辑电路的可配置属性——它是由它们构建的技术和它们在芯片内部用于输入的特定电路所决定的——逻辑高是高,逻辑低是低,其他一切都是使用比较器等的模拟电路的领域。反正,

HardLimit 中断问题 #163

@sullenx:另外,关于 1V “dip” – 我不确定我是否理解那里发生了什么。是在开关上测量的吗?传感器周围的电压不应该仅仅因为步进器正在运行而改变 – 如果你在它们运行时得到一个稳定的下降,那么那里的东西严重错误接线。您是否使用某种通用接地线将开关接地?他们应该有自己的独立电线连接到驱动器盒或 Grbl MCU,而不是重新使用“已经存在”的其他电线/屏蔽/接地……!

HardLimit 中断问题 #163

或者也许 5V 电源不能输出所需的电流?
2013 年 1 月 18 日上午 12:05,“Asztalos Attila Oszkár”<
notifications@github.com > 写道:

@sullenx https://github.com/sullenx:另外,关于 1V “dip” –
我不确定我是否理解那里发生了什么。是
在开关上测量的吗?传感器周围的电压不应该仅仅
因为步进器正在运行而改变 – 如果你在它们运行时得到一个稳定的下降,那么那里的
东西严重错误接线。您是否使用某种
通用接地线将开关接地?他们应该有自己的独立
电线连接到驱动器盒或 Grbl MCU,而不是重新使用
“已经存在”的其他电线/屏蔽/接地……!


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/163 #issuecomment-12411294。

HardLimit 中断问题 #163

@blinkenlight:事后看来,我在连接电子设备时很少考虑噪音问题,所以我必须重新接线。

我会把元件放在微控制器引脚上,看看效果如何。我正在测量从电线开关端到电线接地侧的电压。

你会说我也应该在微控制器方面进行测量吗?

至于接地,我有点困惑。我的开关由来自 arduino 接地引脚的单根电线连接。Auduino 只为您提供 2 个这样的引脚,因此为每个开关连接单独的 Grnd 线将是一个挑战。除非你的意思是我应该为每个开关从接地引脚连接一根单独的电线,这就是你的意思吗?

我认为在这一点上,我的主要问题实际上是参与/不参与之间的 1V 差异。我要回去重新检查我的接线。不幸的是,我将步进线与开关混合在一起,它们彼此不平行,我将它们交织成圆圈。

HardLimit 中断问题 #163

@sullenx:关于接地:没关系,从 Arduino 接地引脚到开关所需的所有接地的单根电线就可以了。我的意思是,您用于开关的接地不应该是其他电缆上的其他接地线,例如步进电缆的屏蔽层、主轴电缆等。

关于电压骤降——正如所建议的那样,我会确保 Arduino 板上本应稳定的 5V 电源也不会骤降——如果确实如此,那你那里也确实存在严重的供电问题……

HardLimit 中断问题 #163

为您的传感器使用单独的电缆,控制器上的公共接地可以
,4.7k 电阻到 5v。到送入开关和盖子的电线。在控制器盒中
接地。
用于切换的电线上的内嵌射频楔块或铁氧体磁珠可能有助于在嘈杂的环境中使用。

自己测量 5v 电源,看看它是否下降。你用usb
供电吗?

有一次我遇到了一个问题,从我的 arduino 到我的
步进控制器的接地连接很差,这导致了头痛。

特里

2013 年 1 月 18 日星期五上午 10:33,sullenx notifications@github.com写道:

@blinkenlight https://github.com/blinkenlight:事后诸葛亮,我
在连接电子设备时很少考虑噪音问题,所以
我必须重新接线。

我会把元件放在微控制器引脚上,看看效果如何。
我正在测量从电线开关端到电线接地
侧的电压。

你会说我也应该在微控制器方面进行测量吗?

至于接地,我有点困惑。我的开关由
来自 arduino 接地引脚的单根电线连接。Auduino 只
为您提供 2 个这样的引脚,因此为每个开关连接单独的 Grnd 线
将是一个挑战。除非你的意思是我应该
为每个开关从接地引脚连接一根单独的电线,这就是你的意思吗?

我认为在这一点上,我的主要问题实际上是
参与/不参与之间的 1V 差异。我要回去重新检查我的接线。
不幸的是,我将步进线与开关混合在一起,它们彼此
不平行,我将它们交织成圆圈。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/163 #issuecomment-12435050。

HardLimit 中断问题 #163

@whitetd 有趣!!我正在通过 USB 为 arduino 供电,这有什么不同吗?哦,伙计,我把所有的接线都做好了,看来我得在这里重新做很多工作了:(

HardLimit 中断问题 #163

@sullenx:USB 电源不一定是问题 – 我以同样的方式为自己的电路板供电。确实,USB 的电压往往略低于 5V – 另一方面,步进活动不应影响该电源电压。无论如何,所有耗电的东西(如电机驱动器等)都应该有自己的电源。如果您的整个 5V 电源在步进器运行时下降,那么某些东西正在消耗它不应该的东西……当然,如果可能的话,一个单独的 Arduino 非 USB 电源永远不会受到伤害,即使它不应该是必要的。

HardLimit 中断问题 #163

@blinkenlight
是的,这是有道理的。我周末去看看。感谢大家的帮助!

HardLimit 中断问题 #163

可能值得在电线中进行温度测试以测试开关。在你
拆散你所拥有的之前。另请查看 USB 电缆的布线方式。arduino 上的
额外过滤器盖也可能有所帮助,只是限制了
您可以使用 USB 添加的内容。

HardLimit 中断问题 #163

你好。我有同样的问题。
我这样做了:

  • 重新排列电缆,使传感器电缆不会“接触”电机电缆或电源电缆。
  • 为每个传感器 (3x) 添加了 10Kohm 作为上拉电阻(传感器电缆 — 10K — 5+)
  • 为 GND 添加了 104 帽(传感器电缆 — CAP — GND)

但我仍然得到误报。我注意到当电机停止时会发生这种情况。

电阻和电容的用途和值可以吗?上限应该达到 5+ 吗?

我要试试:

  • 使用 1K 欧姆而不是 10k
  • 对传感器使用屏蔽电缆。

还有什么提示吗?
谢谢

HardLimit 中断问题 #163

我发现了问题的一部分:我在 config.h X_LIMIT_BIT 中定义为 0,但没有意识到它与 STEPPERS_DISABLE_BIT 相同!!…
我已经解决了这个问题,然后再试一次,我有很多误报。我会再试一次电阻和电容模块。

HardLimit 中断问题 #163

这里有类似的问题。即使步进器没有移动,硬限位警报也会随机跳闸。

添加较小值的上拉电阻没有效果。将快速示波器连接到限制线会显示出一点噪音,但远不足以触发输入。令人抓狂的是,它甚至不会显示触发硬停止的事件。

原来是接地问题。我的 48V DC 电源上的机箱接地与电源接地断开,Arduino 连接到电源接地。一旦我知道在哪里看,很明显:电源接地会比机箱接地高几伏!将所有理由捆绑在一起完全为我解决了这个问题。

HardLimit 中断问题 #163

好的,这样我就可以添加我的 $.02 ….. 我发现设置警报时遇到同样的问题。问题是它没有连接到我的驱动板就做到了,而且我有一个 1k 上拉电阻和 .1Uf 电容。正在使用grbl控制器软件。所以我切换并使用了arduino的终端程序,发现没有设置警报,我可以命令home功能并遇到硬限制,一切都按设计工作。所以看起来GRBL控制器软件有问题。

HardLimit 中断问题 #163

@ElektroGeek:它在待办事项清单上(尽管现在已经很远了)安装一种去抖动功能来帮助减少这个问题,尽管它不会完全消除嘈杂的系统。大多数用户反馈都指出了由于接地不良、风扇或电源太靠近限制信号线或接线怪异引起的电气噪声问题。要尝试的另一件事是添加一个更大的低通电容器,这将有助于降低信号中的噪声水平。很难说适合每个人的最终解决方案是什么,但由于所有系统都有点不同,因此很难拥有一个。

HardLimit 中断问题 #163

另一种方法是在 arduinio 外部调节信号 – 如果需要,靠近机器。回到过去(几十年),我会在微动开关上使用 3 根线(2 根有源,一根公共)连接到 D 型触发器上的 S/R,或者如果开关只有一条线可用,a 74系列单稳态。然后,您可以通过任何需要的方式驱动所有信号——用于长距离或抗噪声的差分信号,或用于较短距离的单端信号。我仍然可以在当地(美国)购买实现此目的的小型接口盒,但可能有很好的工业选择可用于 din 导轨安装。

-安迪

发件人:Sonny Jeon [ mailto:notifications@github.com ]
发送时间:2013 年 11 月 26 日,星期二 7:30 AM
收件人:grbl/grbl
主题:回复:[grbl] HardLimit 中断问题(#163

@ElektroGeek https://github.com/ElektroGeek :它在待办事项列表中(尽管现在已经很远了)安装一种去抖动功能来帮助减少这个问题,尽管它不会完全消除嘈杂的系统。大多数用户反馈都指出了由于接地不良、风扇或电源距离限制信号线太近或接线怪异引起的电气噪声问题。要尝试的另一件事是添加一个更大的低通电容器,这将有助于降低信号中的噪声水平。很难说适合每个人的最终解决方案是什么,但由于所有系统都有点不同,因此很难拥有一个。

直接回复此电子邮件或在 GitHub #163(评论)上查看。图片已被发件人删除。

HardLimit 中断问题 #163

很抱歉再次戳这个问题。有没有办法给我们的限位开关接线正常关闭?虽然很明显这不是设计的意图,但我在这里和那里读到的评论很少,表明你可以。此外,可以使用指向示意图的指针,该示意图显示了如何正确连接带电容器和电阻器的限位 NO 限位开关。我已经设置好它们并开始工作了。但我开始怀疑我的安装。基本上遵循关于 Shapeoko 论坛限位开关接线讨论的建议。但是,这些示意图中不包括电容器。在此处发布了我的设置草图:http ://www.shapeoko.com/forum/viewtopic.php?f=5&t=1268&p=19246#p19246

HardLimit 中断问题 #163
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

喜欢 (0)

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