Contact me: hankecnc@gmail.com

支持GPIO扩展器MCP23017/MCP23S17 #153

推推 grbl 3年前 (2023-02-05) 400次浏览
关闭
dzervas 打开了这个问题 2021 年 12 月 3 日 · 16条评论
关闭

支持GPIO扩展器MCP23017/MCP23S17#153

dzervas 打开了这个问题 2021 年 12 月 3 日 · 16条评论

评论

支持GPIO扩展器MCP23017/MCP23S17 #153

请描述您希望实现的功能
我希望能够使用 MCP23017/MCP23S17 扩展 ESP32 上可用的 GPIO。它添加了 16 个带有内部上拉和下拉的 GPIO,并且有一个中断通道以避免定期对其进行 ping 操作

为什么您认为这会改进 FluidNC?
它会增加大量的 GPIO,在成本、走线(SPI 或 I2C)和计算能力(有中断)方面非常便宜

你需要这个功能做什么?
我正在设计一块用于 MPCNC 的电路板,它主要关注的是对 SPI/UART 驱动程序的支持和电路的简单性,因此它主要可以在 CNC 上进行铣削

您知道其他需要此功能的用户吗?
大概?我认为你的其他板使用移位寄存器来驱动 step/dir 引脚,但在我看来最好用直接 GPIO 驱动它们,并且只使用扩展器(无论是 GPIO 扩展器还是移位寄存器)来控制/限位开关

支持GPIO扩展器MCP23017/MCP23S17 #153 dzervas 添加了 增强 新功能或要求标签 2021 年 12 月 3 日
支持GPIO扩展器MCP23017/MCP23S17 #153
合作者
最后 评论了 2021 年 12 月 3 日  

我们非常了解引脚扩展器。我家里有几个。

我最近制作了一块带有 PCA 引脚扩展器的电路板,并为其实现了必要的引脚功能。它并不像您想象的那么简单……扩展器引起的时间延迟是非常真实的,这使得它对大多数用户来说不切实际(并且他们会破坏他们没有想到的东西)。例如,硬探测可能会成为一个问题,以及限制可重复性等。在我的用例中,这些事情并不是真正的问题——但我也在同一块板上使用 I2SO 和 GPIO 端口是有原因的。我什至不会考虑用引脚扩展器驱动电机。

主要问题是,虽然引脚扩展器通过 ISR 告诉您某个引脚命中,但您不知道哪个引脚已命中。弄清楚这一点需要时间。你不能在这段时间内采取行动——因为你不知道它是停止按钮、探测按钮、“暂停”按钮还是“播放”按钮。这些固件的行为是完全不同的。

对于大多数用户,我只使用 I2SO 移位寄存器。它们也更便宜,并且已被证明可以在非常高的步进率下工作。这应该为大多数 DIY 机器上的任何东西释放大量 GPIO 空间。如果我不是在做需要大量输入引脚的实验性工作,我就不会考虑这些扩展器。

支持GPIO扩展器MCP23017/MCP23S17 #153
作者

哦哦,你显然比我看到了更多的“战争”。这清除了它,我要使用 I2SO 移位寄存器

我正在关闭票证,因为添加对定义不稳定的东西的支持是一个非常糟糕的主意。

谢谢你!继续摇摆,终于有一个合理的 CNC 固件了!❤️