开源改变世界

限位开关接线 #96

推推 grbl 3年前 (2023-01-21) 131次浏览
打开
tklus 打开了这个问题 2017 年 1 月 18 日 · 328条评论
打开

限位开关接线#96

tklus 打开了这个问题 2017 年 1 月 18 日 · 328条评论

注释

限位开关接线 #96

大家早上好,
有人可以在 Wiki 上添加一个页面来解释连接 NC 限位开关的正确方法吗?也许绘制了示意图。一段时间以来,我一直对此感到困惑,而且我所看到的信息有限,显示了如何将 NC 限位开关正确连接到 GRBL。也很高兴知道还需要什么电阻器。以及需要更改哪些 GRBL 设置。

我将限位开关设置为 NO,除了错误触发的问题外什么都没有。我想让限位开关在 NC 设置中工作。

谢谢!
蒂姆

限位开关接线 #96
贡献者

@tklus: 我也想看看这个,但我不是电气工程师,不想给出不好的建议。

限位开关接线 #96

出色地。我只是将我的开关连接在引脚 9、10、12 和地之间。不需要电阻,因为关闭了内部上拉。可能是电机线感应导致开关误触发。我焊接了一些小电容器来处理这个问题。

限位开关接线 #96
作者

你在哪里安装了小帽?原理图?

限位开关接线 #96
f0立方米 评论了 2017 年 1 月 18 日  

我想我是这样做的(我现在不能去我的 nc 检查它):

要实现零误触发的 100% 完美限位开关操作,您需要做的就是:3 个小电容器。
对于每个电容器,将负极连接到接地轨,将正极连接到控制器上的一个限制检测引脚。在运行 GRBL 的 arduino 上,这些是引脚 9,10, &11/12(取决于 grbl 版本)。
对于 Shapeokos,我发现 .47uf 在所有情况下都是完美的。

来源:http ://www.instructables.com/id/End-Stop-Limit-Switch-Problems/?ALLSTEPS#intro

限位开关接线 #96

顺便说一句:有些人在靠近开关的地方添加了电容器,这对开关去抖动很有用。我宁愿让它靠近 arduino 以减少噪音和去抖动。每当开关线靠近电机线时,它们就会产生一些感应,这可能大到足以触发限位销。

限位开关接线 #96
作者

是这样的吗?
限位开关接线 #96

限位开关接线 #96

最好的解决方案是添加光电耦合器(如 TLP185 http://uk.farnell.com/toshiba/tlp185-y-se/optocoupler-phototrans-3-75kv/dp/2524262):

  • 处理器引脚不再以电流方式连接到末端开关(没有 ESD 噪声会影响处理器)
  • 光电耦合器抑制高频噪声
    这是我的 Arduino Uno 扩展板的原理图。
    限位开关接线 #96
    限位开关接线 #96
    限位开关接线 #96
限位开关接线 #96

电容器靠近 MCU 引脚,串联电阻器连接到开关,它提供了一些 ESD 保护并与电容器形成低通。上拉大小使开关电流至少为几毫安,低阻抗对干扰不太敏感,大多数开关需要最小电流才能可靠

限位开关接线 #96

您可能想阅读有关去抖动的文章:http
://www.labbookpages.co.uk/electronics/debounce.html 另外:

限位开关接线 #96
作者

@luben111,这是一个很好的盾牌。它们可以出售吗?

限位开关接线 #96
鲁本111 评论了 2017 年 1 月 19 日  

@tklus,我可以组织这些模块的一些小制作。让我知道您是否有兴趣,我将计算我可以实现的组装模块和套件的价格。

这不是该板的最新版本。新版本具有硬件 ENABLE 保护 – 上电后 Enable 信号保持非活动状态 1.5 秒(独立于 Arduino 板)以避免电机自发运动。有时在加电后你可以听到带有 GRBL 的机器发出像“grrr”这样的短噪音,这会烧毁你的驱动程序(由加电后控制器引脚的初始浮动引起) – 在添加硬件以保持 ENABLE 处于非活动状态之后状态 1.5s 一切正常。

限位开关接线 #96

顺便说一句,关于电容器与开关并联的一些想法:

  1. 在开关触点上并联添加大电容器不是一个好主意——从长远来看,您会遇到开关故障。原因是当开关打开时,电容器会向电源 (5V) 充电,而当开关闭合时,大电流会通过触点(峰值电流可能超过 10-20A 几 uS)。通常,小型开关的额定电流较低,并且与水分结合使用时,开关的使用寿命可能会大大缩短。如果添加与开关并联的电容器,它应该是 10-100nF 陶瓷,X7R 级。

  2. 电解电容内部感应较大,因此电解电容无法抑制所有高频噪声。您会注意到,在所有与电解电容器并联的电源中,它们都放置了一些陶瓷电容器来抑制高频噪声。所以在数字输入端加电解电容对高频噪声没有抑制作用。

  3. 微控制器引脚没有施密特触发器输入,通过添加大电容器,电压电平将缓慢移动。当电压缓慢通过 0-1 阈值时,微控制器电流可能会显着增加,并且硅内部可能会发生一些内部高频振荡。这可能会导致控制器挂起,并使设计更容易受到噪音的影响。

限位开关接线 #96

@luben111,也许可以串联一个电阻来限制帽放电时的高电流?

限位开关接线 #96

旧点阵有限位开关并联103小电容。大电容不利于降噪。

限位开关接线 #96
鲁本111 评论了 2017 年 1 月 19 日  

@parnz– 添加串联电阻器将延长开关的使用寿命并降低噪声,但会使没有施密特触发器的数字引脚上缓慢移动电压电平的问题变得更糟。当电压在通过 0-1 阈值时缓慢变化时,输入作为良好的模拟放大器(将放大周围的所有高频噪声)加上控制器跳跃的电流消耗。

也不在最后一个地方你会延迟开关反应,对于高速它可能是一个问题。

我不建议在大型电解电容器上添加电阻器。

限位开关接线 #96

@luben111实际上 ATmega328 确实在所有数字输入上都有施密特触发器,但我同意电容器绝对不应该是电解电容器,而理想情况下是陶瓷电容器,其值约为 100nF。
任何明显更大的需求都意味着您需要实施其他降噪技术,例如较低值的上拉电阻、电缆铁氧体、屏蔽电缆、星形接地,甚至光隔离。
顺便说一句,你的盾牌看起来真不错 :)

限位开关接线 #96

@electrokean– 我不确定 Atmel I/O 是否具有施密特触发器(TWI CLK 和 DATA 除外)
http://www.avrfreaks.net/forum/inputs-gpios-avr32-family-have-schmitt-trigger-feature

我曾在 Atmel 工作多年,开发他们的电容式传感器,我们依靠输入端没有施密特触发器来运行 QTouch 技术。

在数据表中,您可以看到低输入电平和高输入电平之间的差距——这不是施密特滞后现象,而是输入作为模拟放大器工作的危险区域。您需要明确查看为引脚列出的施密特触发器功能。

还有一个理由相信输入端没有施密特触发器 – Atmel 硅非常快(20MHz)并且施密特触发器设计与高速架构不兼容,因为下降/上升沿的延迟不同

限位开关接线 #96

@luben111好的,但是该链接与 AVR32 有关,它是不同类别的 MCU。
我承认 Atmel 的数据有点不清楚,前阵子我也不确定,但请看一下当前版本的 ATmega328P 完整数据表(Arduino Uno 用于典型的 grbl 使用示例)
http: //www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
请参阅第 18.2 节 – 图 18-2 显示了一个施密特触发器缓冲器,它在文本 18.2 中进行了描述。 5 关于睡眠模式。在图 18-5 中也是如此。在施密特触发器缓冲器之前显示了一个“领结”传输门,但这实际上是一个模拟开关。
最后,图 33-25 至 33-27 显示了 I/O 引脚阈值和迟滞。
数据表在表 32-10 中特别提到了与 TWI 特性相关的“施密特触发器输入滞后”,但对我来说,以上所有内容似乎仍然表明所有数字输入上的施密特触发器输入。
如果你能证明相反的东西,我很乐意得到纠正。

限位开关接线 #96

@electrokean我必须同意你的观点,Atmega328 内部有施密特触发器 – 图 33-27 与施密特特性(滞后)有关。

限位开关接线 #96

最初的问题不是关于使用 NC 极连接限位开关以消除所有噪声并添加电容和电阻器吗?此外,您似乎还获得了更多防止断线的保护。那么关于使用 NC 技术连接限位开关的讨论在哪里以及 GRBL 中的设置是什么?

限位开关接线 #96
f0立方米 评论了 2017 年 1 月 21 日  

chamnit 在 wiki 中为限位开关接线创建了一个标题。也许这里的一些专家可以帮助做一个(或一些选项)描述来制作一个好的限位开关接线?
https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

限位开关接线 #96
作者

@Lemonhawk,谢谢你让这个回到主题。

据我了解,在常闭系统中不需要电容器和电阻器。而grbl有设置在常闭系统中运行。

我想知道应该如何连接以及应该在 grbl 中更改哪些设置。

谢谢!
蒂姆

限位开关接线 #96

NO vs NC 不会降低噪音,它只会改变噪音的原因。如果没有,噪音有时会使开关看起来像是被按下了,但实际上没有。对于 NC,噪声有时会使开关看起来好像没有被按下。

限位开关接线 #96

我曾经有很多错误的触发器,我不知道你们是如何接线的,但我的 NC 开关带有内部上拉和外部上拉,带有 1k 电阻器连接到 arduino IOREF 引脚和 arduino swuitchitchitch 引脚和 GND 之间的电容器和再也没有错误的触发

限位开关接线 #96

但是喜欢@tklus如果在 wiki 页面上提供此类关闭信息以及 NC 开关的正确原理图,那将是一件好事。

限位开关接线 #96
作者

@vMeph, 你的连接是否像我上面发布的示意图一样?虽然我没有画电阻。

限位开关接线 #96

@tklus你的原理图显示连接到 NO Switch

我已经用屏蔽电缆设置了所有机器,并且我已经用这样的 NC 连接了我的开关,并且在 grbl 设置上更改为 $5=1,再也不会因错误触发而增加问题

限位开关接线 #96

我改用 NC 开关的一个原因是噪音问题,而且在我看来 NC 开关是一个更好的选择,因为让我们假设开关坏了,如果他们连接到 NC,机器将停止,如果是 NO机器不会停止

我会同意什么@chamnit 说“但我不是电气工程师,不想给出不好的建议”

如果有人是一名电气工程师并且不了解什么是插入 NC 开关的更好选择,并在维基页面上提供带有清晰原理图的信息,那就太好了,因为似乎关于这个主题有很多争论,有些人说就像这个和那个说的是那样,变得有点不清楚该怎么做

限位开关接线 #96
作者

@vMeph只是为了澄清和学习,请参阅图片的附加标记
限位开关接线 #96

限位开关接线 #96

VMeph,我认为您的图中不需要电阻器或电容。限位开关端口设置为使用内部上拉,在正常操作中,引脚保持接地,从而防止噪声触发限位动作。如果我们只需要设置 $5=1 那么我们就完成了。我想我们都在寻求就此达成一致。我真的厌倦了在其中一个 Arduino 引脚上放置一个 47uf 的上限 – 我认为上面的图表之一显示 0.47uf,但典型的噪声上限将是 0.01 或 0.001 以消除 HF 噪声。对于 NC,我认为上限毫无价值。

限位开关接线 #96
作者

@Lemonhawk,这也是我所希望的。

限位开关接线 #96

But there is a simple software solution to this problem : Which could be added to GRBL as an option:
It is : “SOFTWARE DEBOUNCING” within GRBL !
Grbl already has debouncing for HOMING switches.
But why no debouncing option for limit switch function ?!

喜欢 (0)