注释
我们没有任何资源可以在模拟引脚上使用 TWI 接口来扩展 I/O 吗? |
我没有玩过 Arduino 的 TWI/I2C 接口,也不熟悉它们的工作原理。引脚是否可以重新分配。不管怎样,这就是我提出这个问题的原因。可能有很多我不知道的不同硬件和外部接口。那么 TWI 接口是否只需要 A4 和 A5 引脚?这些是不是需要留着以后扩展用? |
现在我想起来了,TWI 接口是否是我们可以连接外部 SD 卡而无需将其集成到 grbl 中的好方法?我知道 FAT 库太大了,基本上会占用 grbl 的内存空间。 |
是的,TWI 专门使用这些引脚。它是硬件 TWI,不是软件。 与 Uno 相比,SD 卡访问更可能是 Arduino Mega 的任务。 |
很高兴知道。谢谢!同意使用 Mega 或类似的 SD 卡,但我想看看我们可以在功能方面将什么塞进 Uno。使用 TWI 可能是一种方法,但很难说库使用了多少内存,尽管它看起来并没有那么多。无论如何,这将是 v0.9 或 v1.0 功能,但我认为保留这两个引脚以备将来使用是个好主意。 所以这是一个更新的提议布局:
|
桑尼,你对这个话题有什么进一步的想法吗?我认为 D9 和 D10 很可能是第 4 轴,并且限制/归位将结合在一起。另外,循环启动、进给保持和 Grbl 复位引脚是否会处于低电平状态?不确定其他的慢跑针是如何工作的,但大概它们也处于低电平状态? |
不,不是此刻。几个月前,我开始玩循环启动/保持/重置控件,但并没有走得太远。我想我因为信号的去抖动和如何处理它而分心了。不确定高/低有效。 就组合限位销而言,我认为这些销主要仅用于归位。硬限位可以通过将限位开关直接连接到 Arduino 复位引脚来完成,这将冻结步进器并完全重置 Grbl。如果归位例程更改为一次归位一个轴,那么一个针应该没问题。一旦归位程序全部解决,我仍在考虑安装软限制。 我没有想太多关于慢跑销如何工作,但我想切换会简单地启动和停止运动。+/- 的方向是高或低。轴选择可以是增量切换,每次按下都会在 x、y、z(和 a)轴之间循环。同样,去抖可能是一个需要解决的问题。 |
谢谢回复。是的,我想我们之前讨论过去抖动。必须在某处找到另一个计时器或以某种方式构建采样器/积分器。逻辑标准是低电平有效,所以我认为这是最有可能的输入。归巢是一种权衡。我一次做一个轴,因为它更简单。 |
曾经总是可以在硬件中去抖动。这是几个门。使用 i2c 端口扩展器进行额外的输入和输出将非常容易。使用 i2c 代码也非常简单。如果有人感兴趣,我可以进行硬件设计和示例 i2c 代码。它还将提供一种直接的方式来驱动外部设备,例如 LCD 面板等。我在想一对端口扩展器提供额外的 16 个端口和 8 个去抖动电路,你可以跳转到任何输入。 然而,请注意,3 轴上有 3 个用于限位开关的引脚。这是假设 AXIS_MIN 和 AXIS_MAX 的开关是“或”在一起的吗?有两个开关,AXIS_MAX 和 AXIS_MIN 让回家、校准等生活变得更轻松,不是吗? |
不确定这是否仍然有效,但我很想看看/玩一个与此一起使用的端口扩展器的例子。尝试为我的 GRBL 设置添加一些额外功能:SD 卡、显示器、慢跑/快速拨盘、轴选择等。 |
我想看看是否有人需要以任何特定方式重新分配 PIN 以更好地适应硬件/屏蔽。,因为他们中的很多人使用更高数量的数字引脚用于 SD 卡或第 4 轴。据我所知,大多数人需要将 Arduino 的前 9 个数字引脚设置在同一个位置 (0-8),用于串行通信、步进脉冲、方向和启用。现在,较高的引脚 (9-13) 已分配给主轴和限制/归位。
关于将引脚移至模拟端的另一个问题线程已经进行了一些讨论。即主轴和限位销,并将限位销减少到一个销,而不是每个轴一个。我们还将为那些希望拥有用于进给保持、循环开始(又名恢复)和中止的物理按钮的人们添加运行时命令的引脚输出。
例如,这是一个建议的引脚布局。
这是另一个添加慢跑引脚的建议: