开源改变世界!!

3.3v 至 5v 的电平转换器 #931

推推 grbl 2年前 (2023-01-23) 108次浏览

关闭
Moffy 打开了这个问题 2016 年 3 月 11 日 · 14条评论
关闭

3.3v 至 5v 的电平转换器#931

Moffy 打开了这个问题 2016 年 3 月 11 日 · 14条评论

注释

3.3v 至 5v 的电平转换器 #931

如果 GRBL 移动到较新的 ARM 样式板,一些较旧的系统将需要将输出电平从 3.3v 提升到 5v。我包括一个可能的解决方案。
GRBL_3v3_to_5v.pdf
该电路将使用 3 个 14 针 IC,这些 IC 采用 PDIP 或非表面贴​​装封装,便于业余爱好者制作。缓冲器 IC 将进行电平转换并为信号提供驱动。包含一个额外信号“STEP_CLK”,它为 STEP_X_OUT 等信号提供 1us 延迟。这将为在生成步进脉冲之前应用的 DIR_X_OUT 等信号提供合适的设置时间。
这个想法是,STEPPER 定时器中断将同时输出所有 step、dir 和 STEP_CLK,并且步进脉冲上的硬件延迟将提供合适的设置时间。然后,STEPPER 定时器中断会在 10us 后重置步进和 STEP_CLK 脉冲。这会稍微简化 STEPPER 定时器中断。这也意味着随着处理器速度的加快,用于步骤设置时间延迟的周期将减少。
该电路还将具有标题,以便用户可以在正常输出和反相输出之间进行选择,这意味着也可以删除反相掩码。

3.3v 至 5v 的电平转换器 #931

为什么要添加硬件来完成代码已经用几行代码完成的事情?

3.3v 至 5v 的电平转换器 #931

为什么不只使用简单的逻辑电平转换器。这就是它们的用途。

3.3v 至 5v 的电平转换器 #931
贡献者

带有适当上拉/下拉电阻的简单 mosfet(电平转换器)。将
处理任何电压和更多电流。
在 11/03/2016 下午 5:30,“109JB” notifications@github.com写道:

为什么不只使用简单的逻辑电平转换器。这就是它们的
用途。


直接回复此电子邮件或在 GitHub
#931(评论)上查看。

3.3v 至 5v 的电平转换器 #931

小心常见的单 mosfet 电平转换器,例如 Sparkfun 或 Adafruit 的电平转换器。
它们具有相当慢的转换速率(上升和下降时间),并且不能很好地处理快速步进脉冲。
您需要使用像 TXB0104 这样具有主动边沿速率加速的东西。

3.3v 至 5v 的电平转换器 #931
贡献者

同意。并非所有的 mosfets 都是平等的,因此请指定工作的部分。
在 11/03/2016 下午 6:27,“Kean Maizels” notifications@github.com写道:

小心常见的单 mosfet 电平转换器,例如
Sparkfun 或 Adafruit 的电平转换器。
它们具有相当慢的转换速率(上升和下降时间),并且不能
很好地处理快速步进脉冲。
您需要使用
像 TXB0104 这样具有主动边沿速率加速的东西。

发件人:Bertus Kruger [ mailto:notifications@github.com ]
发送时间:2016 年 3 月 11 日星期五下午 3:43
收件人:grbl/grbl grbl@noreply.github.com
主题:回复:[grbl] 3.3v 至 5v 电平转换器(#931

带有适当上拉/下拉电阻的简单 mosfet(电平转换器)。将
处理任何电压和更多电流。
在 2016/03/11 下午 5:30,“109JB” < notifications@github.com <mailto:
notifications@github.com >> 写道:

为什么不只使用简单的逻辑电平转换器。这就是它们的
用途


直接回复此电子邮件或在 GitHub
#931(评论)上查看。


直接回复此电子邮件或在 GitHub<
https://github.com/grbl/grbl/issues/931#issuecomment-195180596&gt;上查看。


直接回复此电子邮件或在 GitHub
#931(评论)上查看。

3.3v 至 5v 的电平转换器 #931

我应该澄清一下——TXB0104 可能有点矫枉过正,因为它是双向的,这也是边缘加速发挥作用的部分原因。
任何具有相当快的传播时间并且可以处理所需逻辑电平电压的单向逻辑器件都可以。例如,许多 74LVT/74LVC/74VHC 设备在 5V 下运行时被正确指定为处理 3.3V 逻辑电平输入。不过,其中大部分都没有 DIP 格式。

3.3v 至 5v 的电平转换器 #931

问题不在于 mosfet 规格,而在于上拉电阻的使用。您需要推挽式输出以获得快速上升和下降时间。否则,您很可能会错过步进脉冲。

3.3v 至 5v 的电平转换器 #931

如果您使用的是带光隔离输入或光隔离分线板的步进驱动器,您可能只需要更换限流电阻以适应较低的驱动电压(检查 GPIO 是否可以处理 LED 驱动电流)。

3.3v 至 5v 的电平转换器 #931
作者

“为什么要添加硬件来完成代码已经用几行代码完成的事情?”

因为有时硬件可以做得更好。设置时间的 1us 延迟很尴尬,如果你想要 1us,尤其是在更快的 cpu 上,你必须引入一个等待循环。这是燃烧周期,当它们可以做其他事情时什么都不做。
如果你使用 MOSFET 电平转换器,你将需要用 74HCT14 来缓冲它们,如果你只是想缓冲,只需使用 74HCT14 它将可靠地从 3.3v 转换为 5v,同时提供高驱动电流来驱动电缆的电容. 不需要特定级别的翻译器。

“(检查 GPIO 是否可以处理 LED 驱动电流)。”

使用 74HCT14 的另一个好理由。但是如果你要添加一个缓冲区,一些额外的门可以增加功能。如果您使用 3 输入或非门 (74HCT27),并且 3 个输入连接到每个 STEP_X、Y、Z 输出,并且其输出连接到 R1,则 STEP_CLK 输出是不必要的。这些芯片每个仅需 10 美分,并且可以从多家制造商处轻松获得。

3.3v 至 5v 的电平转换器 #931

“如果你使用 MOSFET 电平转换器,你将需要用 74HCT14 来缓冲它们,”

为什么?我接触过在 Arduino Due 上使用 TinyG2 的人,他们报告说廉价的逻辑电平转换器单独工作就可以很好地连接到外部步进驱动器。

难道不是另一种选择是使用高速光耦合器来执行电平转换吗?

3.3v 至 5v 的电平转换器 #931
贡献者

步进驱动器可以处理哪些速度信号?

前几天我看了 A4988 驱动程序,我认为它们最高可以达到
300Khz…(有人能确认这个数字吗?)
2016 年 12 月 3 日上午 11:38,“109JB” notifications@github。 com写道:

“如果你使用 MOSFET 电平转换器,你将需要
用 74HCT14 来缓冲它们,”

为什么?我接触过在 Arduino Due 上使用 TinyG2 的人,他们
报告说廉价的逻辑电平转换器单独工作就可以很好地
连接到外部步进驱动器。

难道不是另一种选择是使用高速光耦合器来执行
电平转换吗?


直接回复此电子邮件或在 GitHub
#931(评论)上查看。

3.3v 至 5v 的电平转换器 #931
作者

74HCT14 实际上是一个 6 通道 MOSFET 电平转换器(反相),适用于 3.3v 至 5v,还提供高输入阻抗/低输出阻抗,并且不需要偏置组件。它是通用的,只需几美分,并且有多种包装可供选择。查看数据表,特别是 74HCT 版本。它还提供滞后作用,有助于防止振荡并提高抗噪性。

3.3v 至 5v 的电平转换器 #931

我的 CNC 使用更大的步进驱动器,其中大部分的规格大约为 200-400 KHz 最大步进率。不确定较小的驱动程序。

3.3v 至 5v 的电平转换器 #931
作者

不需要“STEP_CLK”输出的电平转换器/缓冲器的改进版本。我使用一个 NPN 晶体管和 4 个电阻作为 3 输入或非门。
GRBL_3v3_to_5v.pdf
时序延迟值也得到改进,因此更接近 1us。

喜欢 (0)