Contact me: hankecnc@gmail.com

将 I2C I/O 扩展器添加到卡 #50

推推 grbl 3年前 (2023-01-29) 534次浏览
打开
tknapstad 打开了这个问题 2018 年 11 月 8 日 · 6条评论
打开

将 I2C I/O 扩展器添加到卡#50

tknapstad 打开了这个问题 2018 年 11 月 8 日 · 6条评论

注释

将 I2C I/O 扩展器添加到卡 #50

我建议在卡上添加一个 I2C I/O 扩展器,以提供更大的灵活性并解决使用 SD 卡等时的限制。这里是 TI 的示例。

TCA9555 16 位 I2C I/O 扩展器

这增加了 16 条 I/O 线,仅使用 ESP32 板上的 3 个引脚(SDA、SCL 和中断引脚),这些引脚可承受 5V、ESD 保护并提供漏极开路输出。非常适合限位开关、喷雾、探头、门等。

它只会使 BOM 成本增加约 1.50 美元。

将 I2C I/O 扩展器添加到卡 #50
所有者

我将其添加到路线图中。您所谈论的大多数 I/O 使用中断。我看到有一个中断引脚选项。我得再看看那个。

您对如何将其添加到 cpu_map.h 和 config.h 有什么建议吗?

将 I2C I/O 扩展器添加到卡 #50
作者
特纳普斯塔德 评论了 2018 年 11 月 8 日  

另一种选择是 Microchip 的这种芯片,它有两条中断线,每个 8 针端口一条。多消耗一个 ESP32 引脚,但提供更多灵活性:
https ://www.microchip.com/wwwproducts/en/MCP23018

直到现在我还没有看过代码。我的初步印象和想法:

  • 我认为不需要修改 config.h
  • 需要添加 ioexp.h/.cpp 模块来处理 IO 扩展器中断和 I2C 通信。
  • 引脚号可以在 ioexp.h 中定义。IO 扩展器引脚的高位可以设置为 1,因此我们从 127 开始(#define GPIO_EXP_NUM_1 127)
  • 在 cpu_map.h 中包含 ioexp.h,以便我们可以将 IO 扩展器引脚分配给 PROBE_PIN 等函数
  • 至少 Arduino 函数 pinMode、digitalRead、digitalWrite 和 attachInterrupt 需要一个抽象级别,这样我们就可以从 Grbl 代码中以相同的方式处理常规引脚和 IO 扩展器引脚。我建议添加一个 gpio.h/.cpp 模块来处理这个问题。必须重构现有代码以调用即“gpio_set_pin_mode”而不是 Arduino“pinMode”函数。
  • IO 扩展器中断处理程序必须读取所有引脚的状态并调用适当的现有中断处理程序(例如,如果触发了任何限位开关,则调用 isr_limit_switches)

大多数工作似乎是为 GPIO 处理(pinMode 等)创建抽象层并为 IO 扩展器实现 I2C 协议。

将 I2C I/O 扩展器添加到卡 #50 bdring 添加了 增强 新功能或要求标签 2018 年 11 月 10 日
将 I2C I/O 扩展器添加到卡 #50

我从未使用过它,但我一直在寻找 I2C IO 扩展器并遇到了这些:
https ://www.semtech.com/uploads/documents/sx150x_89b.pdf

Digikey 以 2.55 美元的价格出售它们,
它们是 QFN

Sparkfun 有一个分线板,也有代码。

将 I2C I/O 扩展器添加到卡 #50
创客天堂 评论了 2019 年 2 月 5 日  

便宜的 PCF8575 作为端口扩展器怎么样?那里有很多芯片和模块,就简单性而言,它几乎是黄金标准。

http://www.ti.com/lit/ds/symlink/pcf8575.pdf

此外,端口扩展器可用于释放 I/O 以在 ESP32 上进行额外的步进/方向驱动,诸如停止或主轴速度之类的反馈会进入扩展器。

将 I2C I/O 扩展器添加到卡 #50

这家伙用esp8266和移位寄存器来控制GRBL 8轴。https://github.com/gcobos/grblesp和 youtube 视频https://www.youtube.com/watch?v=EGESCcurkwA对于一个好的控制器,我们需要像 g2core 一样的 9 轴https://github.com/synthetos/g2

将 I2C I/O 扩展器添加到卡 #50

最后的人都来到了PLC。这就是为什么我试图用这种模块化设计来解决所有这些 I/O 问题。
https://gitlab.com/m10cube/m10
恐怕我们在重新设计方面有点落后(新 PCB 是 90×90),但你明白了。欢迎任何帮助

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
增强新功能或要求
项目

还没有

发展

没有分支机构或拉取请求

6人参加
将 I2C I/O 扩展器添加到卡 #50将 I2C I/O 扩展器添加到卡 #50将 I2C I/O 扩展器添加到卡 #50将 I2C I/O 扩展器添加到卡 #50将 I2C I/O 扩展器添加到卡 #50将 I2C I/O 扩展器添加到卡 #50

喜欢 (0)