luc-github 评论 2019 年 3 月 25 日 •
我不知道这是否能回答你的问题,但这个屏幕http://www.panucatt.com/product_p/vikilcd2.htm |
婚戒 评论 2019 年 3 月 26 日
那是一个好兆头。我想我可以试试。 |
价格 评论 2019 年 3 月 26 日 •
只要确保您对步进驱动器附近的走线有良好的屏蔽,因为步进输出可能会产生大量的电噪声。 |
婚戒 评论 2019 年 3 月 26 日
是的,当您在该板上使用 SD 卡时,这些功能不可用。 |
谢谢-然后我了解设计。 |
是的,你可以做到。您需要更改访问 SPI 总线的代码。使用每个 SPI 设备上的 SS 引脚。这是关于在 SPI 总线上隔离设备的精彩视频。https://www.youtube.com/watch?v=_p6m2WwF2Jk&t=467s 不过,我还没有检查您是否有足够的数字引脚来执行此操作,因为每个设备上的每个 SS 引脚都需要 1 个引脚。 就个人而言,我会考虑实现另一个可以从动的轴。 |
婚戒 评论 2019 年 3 月 27 日 •
我有一个在我的Grbl_ESP32 开发板上工作。哇,他们沉默了! 我正在使用这个库。它适用于出色的 ESP32,但许多示例使用 AVR 中的计时器等需要更改为 ESP32 的寄存器。 我正在使用一些便宜的 Fysetc品牌模块。我需要修改焊接跳线以将它们置于 SPI 模式并将一些接头移动到顶部。 我还有很多关于各种模式的学习要做。我确实看到你可以菊花链驱动程序。该库不支持该功能。这将节省大量的 CS I/O 线路。 我目前正在使用独立程序(不是 Grbl_ESP32)进行测试,所以我不知道它在 SD 卡上的表现如何。 |
婚戒 评论 2019 年 3 月 28 日
如果使用 I/O 扩展器,最好有一个带有一点额外功能的扩展器。输入中断以及 PWM 输出。PWM 需要能够以不错的分辨率运行业余伺服系统。 |
我一直在研究 I/O 扩展器,通常它们有 SPI 和 I2C 两种风格。你认为哪一个会是有益的?如果我们已经使用 SPI,它只会为 CS 添加一个额外的引脚 – 另一方面 – 从利用率的角度来看,它可能与 SD 卡读卡器发生冲突。I2C 很好,但是今天卡上的 I2C 引脚呢(GPIO21/22?)它们是用于其他用途还是我们可以将它们用作扩展器? |
婚戒 评论 2019 年 3 月 28 日
我可能可以使用任何一种类型。然而,另一个 SPI 可能会提出问题。我可能会尝试使用非常小的 FPGA 作为 I2C 从设备。它会增加很多灵活性。 伺服 PWM 是许多现有设备的挑战。您正在处理 50Hz 周期中的 1ms 范围。这意味着您基本上只能使用分辨率的 1/20。12 位 PWM 产生的范围小于 8 位。我想我至少想要 ESP32 提供的 16 位。 |
I2C太慢了。SPI将是一个更好的选择。 |
婚戒 评论 2019 年 3 月 29 日
希望速度不是问题,但我会看看 SPI 是否会更好。 |
斯利克索 评论 2019 年 3 月 29 日 •
在这里查看一些好的信息。https://www.lifewire.com/selecting-between-i2c-and-spi-819003 对于快速通信,我们更喜欢 SPI 而不是 I2C。虽然,I2C 肯定有它的位置。即:带 2-4 行 LCD 显示屏。它们可以通过 I2C 库轻松更新。您还可以在 I2C 总线上运行很长的电缆。即:将多个传感器以循环方式连接在一起。 我知道你已经很精明了巴特,你会做出正确的选择:) |
价格 评论 2019 年 3 月 30 日
@Slixxor我不认为速度有问题。在机器启动期间配置步进驱动程序不需要非常快。I2C 完全没问题。 Smoothieboard、MKS-SBase、Cohesion3D 等许多板都已经使用 I2C 进行步进电流配置。没问题。 |
@cprezzi好的,然后使用 I2C |
可能需要更频繁地轮询潜在的缺失步骤。 |
我懒得说。想象一台 1500×1500 毫米的机器,上面有一个大的半张工件。我只能想象到工作结束时零会在哪里结束;) |
婚戒 评论 2019 年 4 月 2 日
…更多测试。 我现在可以在 Grbl_ESP32 中运行 TMC2130 步进器。我现在只是初始化驱动程序,但同一 SPI 总线上的 SD 卡工作正常。 这是我现在设置的内容。我喜欢能够设置保持电流。这会在运动停止可选择的量后减小电流。这是我现在的初始化。
|
我不确定我是否遵循对应于 8 位有效分辨率思想的 1/20。据我了解,这些 PWM 电路通常有一个内部时钟。以Adfruit 在其分线板 ( https://www.adafruit.com/product/815 ) 上推广的 PCA9585 ( https://www.mouser.se/datasheet/2/302/PCA9685-1127478.pdf ) 为例…. 根据 Adafruits 的描述,它具有“每个输出的 12 位分辨率 – 对于伺服系统,这意味着在 60Hz 更新率下的分辨率约为 4us”。我是否遗漏了一些使该芯片成为伺服驱动器的不良候选者的东西? |
婚戒 评论 2019 年 4 月 2 日 •
好吧,现在我按照你的推理。但问题是:我们需要支持 20ms 周期吗?根据维基百科关于伺服器的说法,这似乎来自历史原因,今天的大多数伺服器都可以处理更高的频率 – 重要的是高脉冲的 1-2 毫秒。这就是 Wikipedia 关于伺服系统的说法(https://en.wikipedia.org/wiki/Servo_control):
因此,以 200Hz 刷新率运行将产生 5ms 的循环时间。5ms的1.5ms是10-11有效位分辨率的1/3。10 位分辨率应对应于每位 0.18 度。但我在某处读到标准伺服有一个死区(https://en.wikipedia.org/wiki/Deadband) ……所有的保留,我的数学可以在一天中的这个时候完全关闭:) |
婚戒 评论 2019 年 4 月 3 日
我使用的大多数廉价伺服器都不是“现代”或数字的。它们是模拟的。模拟伺服系统将信号脉冲与连接到轴的电位器位置产生的内部脉冲进行比较。比较产生与位置误差成比例的模拟误差信号。该误差被放大并直接馈送到电机。这会为电机产生功率脉冲。您可以通过尝试将电机移出位置来感受这些脉冲。你可以感觉到脉搏。强度与位移成正比。我发现如果你加快信号频率,电机会运行得非常热并最终失效。 话虽如此,从模拟伺服中获得 8 位分辨率是很困难的。死区通常为 4us – 8us。死区用于防止伺服“狩猎”并耗尽电池。 数字或“现代”伺服系统不关心速率。他们使用脉冲来设定一个目标,然后一个单独的 PID 过程来移动它。如果你对数字舵机进行位移,它会感觉非常不同,并且强烈反对小位移。死区通常可以编程为低速率,甚至可以在某些情况下消除。许多伺服系统声称分辨率为 10 位。不过,这可能是底池上的 ADC 分辨率。 如果您允许用户调整占空比,12 位可能是可以的。不过,您冒着新手烧毁模拟伺服的风险。 |
婚戒 评论 2019 年 4 月 12 日
我很高兴你选择了 SPI,享受吧! |
我的 2x TMC2130 已经在等这个板了! |
婚戒 评论 2019 年 5 月 7 日
伟大的。让我知道我应该如何联系你。 |
婚戒 评论 2019 年 5 月 8 日
DM我在那里制定细节。 |
婚戒 评论 2019 年 5 月 9 日
我的TMC2130 绘图仪控制器现在有一个 GitHub 存储库。 |
婚戒 评论 on 25 Mar 2019
我正在考虑增加对 TMC2130 步进电机驱动器的支持。这些驱动程序有很多很酷的功能,但您只能通过 SPI 访问其中的大部分。
为了节省 I/O 引脚,我想知道是否可以将它们放在与 SD 卡相同的 SPI 总线上。每个 SPI 设备都需要自己的 CS 引脚,但我不需要额外的 MISO、MOSI 引脚。
只是想知道这是否可以在不破坏 SD 功能的情况下完成。驱动程序的大部分 SPI 都是在启动时完成的,也许是为了在工作完成后减少电流。
请不要建议外部 I/O 设备,这不是本次讨论的内容。