评论
|
谢谢 2 面 SMT 仅对于一组零件来说会非常昂贵。我可以将图案放在接线端子前面(未焊接)。如果您安装了连接器,您仍然可以仅在垂直模式下使用接线盒。 |
无论哪种方式。对于底部安装的 SMT 东西,我认为它不会被填充,只有焊盘,以便用户可以根据需要进行手工焊接。 |
在我的打印机板上,0.1 焊盘位于步进模块和接线端子之间,但这种布置需要一些额外的空间。我最近对两台带有 RAMPSy 板的 3D 打印机进行了翻新,因此对紧密包装的板的印象不如以前。摸索所有间隔很近的连接器变得乏味。使控制板尽可能小对于 DIY 机器来说似乎并没有那么大的价值,因为它不太可能在每个可能的维度上都针对空间进行优化。 |
您有 SMT 零件号吗?我想看看FP。 |
JST 部件是 S4B-XH-SM4-TB DigiKey PN 是 455-2262-1-ND |
光耦输入?PC817 opto 是 5 美分。 |
@MitchBradley 这是我在另一个控制器上使用的电路。你认为有办法消除诊断跳线吗?也许使用在线电阻器来保护任何战斗输出。 |
你用这些跳线做什么,你甚至需要它们吗?如果我对 Diag 的理解是正确的,它也会将 3V3 接地。我的意思是当你有一个外部传感器时,唯一的问题可能会发生。然后他们两个都可以给 ua 停止或错误,但这不是更好吗?是否可以通过软件停用 Stallguard? |
此外,我会建议您在 esp32 前面的 5v 导轨中安装一个大电容器,因为 esp32 在 wifi 上吸收高达 200ma 的电流,甚至可以在短时间内达到 400ma,这会导致 esp32 失败/重启。我不确定您的电路板是否发生过这种情况。从这个页面得到它(德语):https ://arduino-hannover.de/2018/07/25/die-tuecken-der-esp32-stromversorgung/ |
|
我担心虐待。就像 TMC 开得很高并且开关闭合一样。 |
TMC2130/5160 默认是正确的 – 漏极开路 – 因此它驱动高电平的唯一方法是通过将 1 写入 GCONF 寄存器的位 12 或 13 来主动将 DIAGn 输出重新配置为推挽。很明显,它被设计为线或连接 – 似乎他们在 TMC2209 上弄错了,然后修复了它。 |
感谢您澄清这一点,我认为它们具有相同的诊断布局。@MitchBradley @bdring关于 stallguard 跳线的问题,您可以使用与门,因此如果两者之一处于低状态,则 esp 的输出也很低。但这仍然不适用于 tmc2209,因为它在故障时驱动很高。 |
接近传感器 目前该电路使用隔离的5v电源。它需要找到一个便宜的隔离 12v。要么从 5v 或 12v 到 24v。电阻应移至接地侧。 这些是 3 线传感器,所以我需要添加更多端子。我不确定对于少数使用它们的人来说,增加成本和尺寸是否值得。 |
我想知道在概念上类似于主轴模块的输入模块概念是否是个好主意。它可以允许不同类型的传感器、电压和连接类型。 |
听起来不错,但在我看来,如果模块更通用就更好了。所以你可以把任何模块放在任何插槽中。但我想这太矫枉过正了。我在谈论主轴模块。 |
或者你的插槽是通用的吗? |
让我们研究一下输入模块和通用模块的分支。我认为它可以工作。这将需要将更多信号路由到模块区域。连接器需要更多的引脚,但如果有用的话,模块可以只与部分引脚匹配。 另一种可能性是使用 I2C I/O 扩展器或 I2S 输入扩展器。我们已经有了前者的代码;后者需要更多的软件工作。 |
尺寸可能与主轴模块不同。我会尝试一些想法,看看会发生什么。 我认为输入模块可以设计为每个大约 4 个输入。这样一个 3 轴可能会使用一个而一个 6 轴会使用 2 个。 我认为它们应该可以在没有 I2C 的情况下使用。如果您想将 I2C 或 ADC 放在输入模块上,只要使用的 4 个 I/O 可以支持它们即可。 任何功能都应该放在模块上,包括光电、电源、滤波器等。 |
I2C 只需要 2 个引脚,一个仅输出,一个双向。然后使用第三个中断。MCP23017 可为您提供 16 个任意组合的外部输入/输出,受连接器空间和信号调理支持电路的限制。良好的 I2C ADC 也很容易获得。或者通过 I2C 与 ATTiny 交谈,并在同一部分获得 GPIO 和 ADC。 |
I2S 输入绝对是可能的,我们选择了 I2SO 命名约定以允许 I2SI 作为一个选项。74xx597 是 ‘165 的替代品。’597 的优点是输入是边沿触发的,而 ‘165 是锁存的。边沿触发更兼容 I2S 成帧方案。另一方面,至少有一个带有施密特触发器输入的 ‘165 (Nexperia 74LV165)。与 I2C 相比,I2S 输入支持电平变化中断有点困难,但可以做到。 我认为 I2SO 和 I2S1 可以使用相同的时钟和帧线,从而将额外 GPIO 的数量减少到 1 个。 |
这是我正在探索的另一种可能性,即重新使用 I2S0_WS 和 I2S0_BCK。但我认为 |
我没有足够详细地研究 ESP32 I2S 接口的这方面,无法确定。在我对 I2S 音频编解码器进行了大量工作的另一个 SoC 上,可以选择使用公共时钟进行输入和输出。我只是猜测这是一个足够常见的用例,ESP32 可能会支持它。 也就是说,我计划围绕 STM32 微处理器制作一个非常灵活的输入模块。它们价格低廉,并且可以做很多真正有用的事情,例如,除了裸 I/O 之外,还可以卸载显示、编码器处理和菜单系统等功能。我发现这些可能性如此引人注目,以至于我认为这比走 I2SI 路线更能节省时间。 |
我曾考虑过将输入卸载到另一个微控制器,但我不喜欢引入另一个 [在这里插入血淋淋的图片] 非关键的事情,如显示、铃声、口哨声等没有问题,但任何 MCU 必须与 使用 TTL IC,可以轻松使用 320kHz [通过 I2S 端口最大 40MHz] 的 BCK,这将导致每个输入的采样率为 10kHz x4xx165s 被选为负载锁存器,因为输入“现在”上的数据是我想要的,因为我认为即使我 Bleeptech 对牛顿第二定律的推论:质量 * 速度 = “哎哟!真他妈疼!” 编辑以处理丢弃的小数位.. |
如果时钟与输出时钟相同,则比特率为 8 MHz,帧速率(采样率)为 250 kHz。然后您可以选择中断处理器查看数据的频率。 我不明白你说的闩锁是什么意思。’597 还具有与移位级分开的输入触发器。不同之处在于控制信号排序的细节。 我认为延迟可以在 100 us 范围内,前提是会有 CPU 负载来持续轮询它。 关于其他 MCU 论点,我可能无话可说;很难反驳 FUD(恐惧、不确定、怀疑)立场。 |
让我们考虑一个使用具有 15 个 GPIO 的 STM32F030($1)的 14 位 I/O 扩展器的具体示例。使用一个 GPIO 作为 TxD 连接到 ESP32 UART RxD,波特率为 1 MHz。STM32上的代码本质上是
ESP32 代码在字符可用时中断并更新端口掩码。只有当值发生变化时才会发生这种情况,因此中断不频繁、及时且非常容易处理。延迟在 1 MHz 时约为 20 位时间,因此为 20 uS。 使类似的东西可靠比我们使 I2S 输出正确工作所经历的要容易得多。在 I2SO 案例中,这种努力是值得的,因为该方案的属性与步进完美匹配。输入不是这种情况。 我选择 14 位是因为它很适合廉价的微型计算机。扩展到更多位是微不足道的,但需要具有更多引脚的部件,并且 I/O 模块格式很快就会耗尽连接器空间。可以通过更快地运行 UART 来减少延迟;它可能至少会达到 2 Mhz 甚至 4,但这似乎不值得。 |