注释
嗨, 顺便说一句,请谨慎接受此建议。我也只是从这一切开始。 |
@sullenx,@kjjordans:如果微控制器的内部上拉是唯一拉高开关输入的东西,那么在它们上接收到足够多的噪声以导致误跳闸也就不足为奇了。如果它们直接由逻辑输出驱动,那将是另一回事,但仅内部上拉 (20…50K) 就足以抵抗噪声。事实上,我已经看到将外部上拉电阻从 4K7 更改为 1K 的情况产生了相当大的不同——所以是的,你绝对应该这样做(当然欢迎使用电容器)。 另一方面,在添加外部上拉后,您真的不需要担心内部上拉 – 您将不再需要它们,因此您可以根据需要禁用它们,但将它们保持打开也完全可以 – 因为您说,它们只是与外部 1K 并行计算,也就是说结果会比 1K 小一点——没什么好关心的。 |
@blinkenlight,@kjjordans 谢谢您的帮助。如果我成功了,我会试一试你的配置并报告。 |
@blinkenlight:对于连接硬限制以防止噪音问题的官方解决方案,您有什么建议?我将考虑将其写入 Wiki,以确保共享此解决方案。 此外,并行,如果限制引脚倒置,如何更改此解决方案以解决噪声问题? |
@chamnit: 这对自认为无所不知的傻瓜来说是一个简单的答案…… 可以在 [1] 中找到查看高电平和低电平噪声容限等的逻辑电路的噪声敏感性总结概述 – 只是文章的第一部分 – 这表明虽然 TTL 电路在逻辑低电平上的噪声容限较小,但 CMOS那些真的不在乎。当然,在实践中,尤其是在我们的领域 (CNC) 中,没有人真正知道哪种技术连接到哪种技术以及在什么特定的电压水平下,因此具体的工作方式因情况而异(一个特别令人讨厌的情况是具有低电压驱动器的情况)用于 CNC 驱动器上的 LPT 和 5V 输入,这就是为什么人们会看到“不要与笔记本电脑一起使用”的大胖子在所有中国爱好 CNCs 上——尽管这是相反的方向)。驱动器盒可能在传感器输入和 LPT 之间根本没有电路,可能有一个缓冲器,甚至可能有一个施密特触发器(整洁!)。 当然,我从未进行过任何严肃的学术噪声研究,但作为个人喜好,我喜欢将常闭传感器连接到地面,并在靠近输入引脚的地方有相当强的上拉。我觉得这具有以下优点:a)以可靠的方式发生故障(应立即将缺陷/断开检测为开路)和b)对正常/正常/空闲状态,比其他情况更有可能吸收噪音而不拾取它。公平地说,我不知道这是否是行业的普遍做法。 当然还有其他三种可能性(声明为“活动”的逻辑电平和接地或电源开关的设置是两个不同的东西,并且有四种组合 – 显然它们最终必须匹配,但是一个常闭开关接地或通向电源的正常开路都会给我一个有效的高电平)。仅基于上面引用的理论,通向 Vcc 的常闭开关可能比我的解决方案工作得更好,但由于未知的特定硬件,很难以有意义的方式进行概括,而且这对于启用的内部来说效果不佳上拉 – 禁用它们将使电路板没有安装任何外部电阻器,输入浮动/未确定(此外,我怀疑这实际上在实践中工作得更好)。然而,我怀疑这是那些难以确定的单一正确答案主题之一,每次讨论时往往会引发“圣战”。我的偏好如上所述 – 除此之外:做任何对你有用的事情……;) |
@chamnit:抱歉-关于您的第二个问题:是否反转引脚仅与我们可能希望获得被动(正常,空闲)状态的最佳噪声容限有关,因为这是我们将看到的 99.9%那个时候,那是我们不想要错误触发的地方。有关噪声容限,请参阅上面的文章 – 但我怀疑是开关连接的方向、拉电阻的值、小电容器的存在/不存在、传感器电缆的类型和具体布局等。 ,对结果的影响比输入电子设备的理论噪声容限要大得多……不过我的 0.02 美元。 |
啊。感谢您的解释!我认为对于电磁噪声并没有一个非常明确的答案,因为航空公司和 FAA 也无法通过飞机上的手机和电子设备来解决这个问题。(或者没有向公众解释为什么他们不能一直保持他们的东西,但那是另一回事。)我想总结一下:有太多因素可以从驱动程序类型中进入,电路板布局、布线接近度、接地、电源波动/噪声、建设性/破坏性干扰等。所以,作为一个公平的评估,我想我应该让 Grbl 在限制方面尽可能地可配置。 |
伙计们, 我尝试添加一个与输入引脚串联的 10K 电阻,以及一个与生长并联的电容器。它对噪音有很大帮助,但是当电机接合时会有 1V 的下降。电容器在平滑下降和上升方面做得很好,但对下降本身无能为力。 如果我提高电容,我会失去开关的响应时间,更大的电阻可以解决问题吗? 我有几个问题:
|
通过进一步调试,我发现步进器接合和不接合时的电压只是不同。 大约是1V。我评论了步进器空闲的代码,我看到了 1V 的下降,但不管步进器运动如何,它都保持在那里(除了非常小的噪音)。你们中的任何人都有这种情况吗? 我能想到的唯一解决方案是从直流电源运行 5V 线路并将其用于逻辑,你们怎么看? |
@sullenx: 不不不不。首先,拾取噪音的部分是电缆;您希望保护元件尽可能靠近微控制器引脚,它们在另一端的效果要差得多(如果串联电阻将开关与电缆分开,而不是电缆与 MCU 分开,则串联电阻对噪声没有任何作用)。其次,虽然串联电阻不会造成伤害,但它通常也无济于事 – 您需要一个电阻将输入拉向5V 直流电源(尽可能靠近 MCU 引脚,与电容器相同) (!)),以帮助内置上拉电阻在这种情况下太弱而无法对抗噪声。并且不要让它大于4.7K,1K更好。 此外,检查您的电缆布线 – 传感器电缆最好不要太靠近或平行于步进电缆。有一个行为不端的 VFD 主轴控制器的朋友不仅必须使用所有屏蔽电缆,而且实际上将它们布线在柔性金属管内以增加屏蔽,并且彼此之间保持一定距离。此外,他必须将他的驱动器盒中的传感器输入电路(传感器没有直接连接到他的 PC 的 LPT – 相当于我们的 MCU 引脚)从通用 TTL 类型更改为施密特触发器类型 – 这有助于创造奇迹,但他仍然没有完成了……! 如果您确定开关直接连接到您的 Grbl MCU(而不是首先通过驱动器盒),那么您应该已经有了这个好处 – ATMega 输入是施密特触发器 – 在 5V 电源下,将输入注册为“低”的阈值约为2V,“高”约为2.5V,迟滞为0.5V;只有 1V 的“下降”甚至不应该出现 – 除非它具有更大的瞬时摆动。如果开关通过驱动器盒,当然这一切都没有实际意义。无论哪种方式,灵敏度都不是逻辑电路的可配置属性——它是由它们构建的技术和它们在芯片内部用于输入的特定电路所决定的——逻辑高是高,逻辑低是低,其他一切都是使用比较器等的模拟电路的领域。反正, |
@sullenx:另外,关于 1V “dip” – 我不确定我是否理解那里发生了什么。是在开关上测量的吗?传感器周围的电压不应该仅仅因为步进器正在运行而改变 – 如果你在它们运行时得到一个稳定的下降,那么那里的东西严重错误接线。您是否使用某种通用接地线将开关接地?他们应该有自己的独立电线连接到驱动器盒或 Grbl MCU,而不是重新使用“已经存在”的其他电线/屏蔽/接地……! |
或者也许 5V 电源不能输出所需的电流?
|
@blinkenlight:事后看来,我在连接电子设备时很少考虑噪音问题,所以我必须重新接线。 我会把元件放在微控制器引脚上,看看效果如何。我正在测量从电线开关端到电线接地侧的电压。 你会说我也应该在微控制器方面进行测量吗? 至于接地,我有点困惑。我的开关由来自 arduino 接地引脚的单根电线连接。Auduino 只为您提供 2 个这样的引脚,因此为每个开关连接单独的 Grnd 线将是一个挑战。除非你的意思是我应该为每个开关从接地引脚连接一根单独的电线,这就是你的意思吗? 我认为在这一点上,我的主要问题实际上是参与/不参与之间的 1V 差异。我要回去重新检查我的接线。不幸的是,我将步进线与开关混合在一起,它们彼此不平行,我将它们交织成圆圈。 |
@sullenx:关于接地:没关系,从 Arduino 接地引脚到开关所需的所有接地的单根电线就可以了。我的意思是,您用于开关的接地不应该是其他电缆上的其他接地线,例如步进电缆的屏蔽层、主轴电缆等。 关于电压骤降——正如所建议的那样,我会确保 Arduino 板上本应稳定的 5V 电源也不会骤降——如果确实如此,那你那里也确实存在严重的供电问题…… |
为您的传感器使用单独的电缆,控制器上的公共接地可以 自己测量 5v 电源,看看它是否下降。你用usb 有一次我遇到了一个问题,从我的 arduino 到我的 特里 2013 年 1 月 18 日星期五上午 10:33,sullenx notifications@github.com写道:
|
@whitetd 有趣!!我正在通过 USB 为 arduino 供电,这有什么不同吗?哦,伙计,我把所有的接线都做好了,看来我得在这里重新做很多工作了:( |
@sullenx:USB 电源不一定是问题 – 我以同样的方式为自己的电路板供电。确实,USB 的电压往往略低于 5V – 另一方面,步进活动不应影响该电源电压。无论如何,所有耗电的东西(如电机驱动器等)都应该有自己的电源。如果您的整个 5V 电源在步进器运行时下降,那么某些东西正在消耗它不应该的东西……当然,如果可能的话,一个单独的 Arduino 非 USB 电源永远不会受到伤害,即使它不应该是必要的。 |
@blinkenlight |
可能值得在电线中进行温度测试以测试开关。在你 |
你好。我有同样的问题。
但我仍然得到误报。我注意到当电机停止时会发生这种情况。 电阻和电容的用途和值可以吗?上限应该达到 5+ 吗? 我要试试:
还有什么提示吗? |
我发现了问题的一部分:我在 config.h X_LIMIT_BIT 中定义为 0,但没有意识到它与 STEPPERS_DISABLE_BIT 相同!!… |
这里有类似的问题。即使步进器没有移动,硬限位警报也会随机跳闸。 添加较小值的上拉电阻没有效果。将快速示波器连接到限制线会显示出一点噪音,但远不足以触发输入。令人抓狂的是,它甚至不会显示触发硬停止的事件。 原来是接地问题。我的 48V DC 电源上的机箱接地与电源接地断开,Arduino 连接到电源接地。一旦我知道在哪里看,很明显:电源接地会比机箱接地高几伏!将所有理由捆绑在一起完全为我解决了这个问题。 |
好的,这样我就可以添加我的 $.02 ….. 我发现设置警报时遇到同样的问题。问题是它没有连接到我的驱动板就做到了,而且我有一个 1k 上拉电阻和 .1Uf 电容。正在使用grbl控制器软件。所以我切换并使用了arduino的终端程序,发现没有设置警报,我可以命令home功能并遇到硬限制,一切都按设计工作。所以看起来GRBL控制器软件有问题。 |
@ElektroGeek:它在待办事项清单上(尽管现在已经很远了)安装一种去抖动功能来帮助减少这个问题,尽管它不会完全消除嘈杂的系统。大多数用户反馈都指出了由于接地不良、风扇或电源太靠近限制信号线或接线怪异引起的电气噪声问题。要尝试的另一件事是添加一个更大的低通电容器,这将有助于降低信号中的噪声水平。很难说适合每个人的最终解决方案是什么,但由于所有系统都有点不同,因此很难拥有一个。 |
另一种方法是在 arduinio 外部调节信号 – 如果需要,靠近机器。回到过去(几十年),我会在微动开关上使用 3 根线(2 根有源,一根公共)连接到 D 型触发器上的 S/R,或者如果开关只有一条线可用,a 74系列单稳态。然后,您可以通过任何需要的方式驱动所有信号——用于长距离或抗噪声的差分信号,或用于较短距离的单端信号。我仍然可以在当地(美国)购买实现此目的的小型接口盒,但可能有很好的工业选择可用于 din 导轨安装。 -安迪 发件人:Sonny Jeon [ mailto:notifications@github.com ] @ElektroGeek https://github.com/ElektroGeek :它在待办事项列表中(尽管现在已经很远了)安装一种去抖动功能来帮助减少这个问题,尽管它不会完全消除嘈杂的系统。大多数用户反馈都指出了由于接地不良、风扇或电源距离限制信号线太近或接线怪异引起的电气噪声问题。要尝试的另一件事是添加一个更大的低通电容器,这将有助于降低信号中的噪声水平。很难说适合每个人的最终解决方案是什么,但由于所有系统都有点不同,因此很难拥有一个。 |
很抱歉再次戳这个问题。有没有办法给我们的限位开关接线正常关闭?虽然很明显这不是设计的意图,但我在这里和那里读到的评论很少,表明你可以。此外,可以使用指向示意图的指针,该示意图显示了如何正确连接带电容器和电阻器的限位 NO 限位开关。我已经设置好它们并开始工作了。但我开始怀疑我的安装。基本上遵循关于 Shapeoko 论坛限位开关接线讨论的建议。但是,这些示意图中不包括电容器。在此处发布了我的设置草图:http ://www.shapeoko.com/forum/viewtopic.php?f=5&t=1268&p=19246#p19246 |
闷闷不乐 评论 on 12 Jan 2013
你好,
我不知道这是否是寻求帮助的正确地方,但我找不到任何论坛等。首先让我感谢你们为社区提供这些出色的工具,感谢你们的工作。
我买了一个 shapeoko 并按照 Wiki 中的说明安装了限位开关。本质上,我将限位引脚直接连接到开关,并将开关接地。开关常开。
当我通过发出 $16=1 命令启用限位开关并尝试移动任何轴时,我收到 HARDLIMIT 警报,我必须重置。如果我尝试使用归位功能,我会得到相同的结果。
我知道开关接线正确,我可以测量从开关到地的 5 伏电压。
我把我的振荡器连接到开关上,我注意到当轴移动时,有一个 2 伏的下降,然后又回到 5 伏。我认为这可能会造成错误的中断。我确实有很长的电线,从开关到屏蔽层大约 1 米,所以我怀疑有噪音。
关于如何让这个工作的任何想法,因为我正在学习 Gcode 和 cnc 加工,限位开关是一个很好的想法(我已经将机器运行到侧面)。我很高兴,因为我让主轴启用/禁用工作!
谢谢!