开源改变世界

HardLimit 中断问题 #163

推推 grbl 2年前 (2023-01-21) 68次浏览

关闭
sullenx 打开了这个问题 2013 年 1 月 12 日 · 26条评论
关闭

HardLimit 中断问题#163

sullenx 打开了这个问题 2013 年 1 月 12 日 · 26条评论

注释

HardLimit 中断问题 #163

你好,

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

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

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

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

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

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

谢谢!

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
成员

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

也,并行地,如果限制销倒置,如何改变这个噪声问题的解决方案?

HardLimit 中断问题 #163

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

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

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

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

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

HardLimit 中断问题 #163

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

HardLimit 中断问题 #163
成员

啊。感谢您的解释!我认为对于电磁噪声并没有真正明确的答案,因为航空公司和美国联邦航空局无法完全弄清楚飞机上的手机和电子设备。(或者未能向公众解释为什么他们不能一直开着他们的东西,但那完全是另一回事。)我想总结一下:司机类型有太多因素可以影响,电路板布局、布线距离、接地、功率波动/噪声、建设性/破坏性干扰等等。因此,作为一个公平的评估,我想我应该让 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“下降”——我不确定我明白那里发生了什么。这是通过开关测量的吗?传感器周围的电压不应仅仅因为步进电机正在运行而改变——如果它们在运行时电压稳定下降,则说明那里的接线严重错误。您是否使用某种公共接地点将开关接地?他们应该有自己的独立电线连接到驱动器盒或 Grbl MCU,而不是重复使用“已经存在”的其他电线/屏蔽/接地……!

HardLimit 中断问题 #163

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

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


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

HardLimit 中断问题 #163
作者

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

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

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

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

我认为在这一点上,我的主要问题实际上是参与/不参与之间的 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 个这样的引脚,因此为每个开关连接单独的接地线
将是一个挑战。除非你的意思是我应该
从每个开关的接地引脚引出一根单独的电线,那是你的意思吗?

我认为在这一点上,我的主要问题实际上是
参与/不参与之间的 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 直流电源上的底盘接地与电源接地断开,Arduino 连接到电源接地。一旦我知道要看哪里,就很明显了:电源接地会比底盘接地高几伏!将所有理由结合在一起完全解决了我的这个问题。

HardLimit 中断问题 #163

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

HardLimit 中断问题 #163
成员

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

HardLimit 中断问题 #163

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

-安迪

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

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

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

HardLimit 中断问题 #163

不好意思又戳这个issue了。有没有办法连接我们的限位开关常闭?虽然很明显这不是设计意图,但我在这里和那里阅读了一些表明你可以的评论。也,可以使用指向示意图的指针,该示意图显示了如何使用电容器和电阻器正确连接限制 NO 限位开关。我让他们设置并开始工作。但是我开始怀疑我的安装。基本上遵循了 Shapeoko 论坛限位开关接线讨论的建议。但是,这些原理图中不包含电容器。在这里张贴了我的设置草图:http ://www.shapeoko.com/forum/viewtopic.php?f=5&t=1268&p=19246#p19246

喜欢 (0)