This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我使用 LSF0108和 PCF8575通过2米长的导线分别为我的电机生成 PWM 信号和切换控制信号(步长和方向信号)。
我意识到 LSF0108可以将 PWM 信号转换为5V、但一旦我连接电机控制信号、它们就被钳位到2.5V 左右。 可能是因为 LSF0108和 PCF8575无法为加载供电。
但是、我想问、在我的情况下、我应该使用哪些最好的 IC 来帮助降低钳位效应?
要解释有关我尝试生成的控制信号的更多信息、请执行以下操作:
我的电机需要3个信号并提供1个反馈信号(因此、在5V 时总共4个信号)。 我的控制器为3.3V。
为了向电机发送3个信号(2个连续高/低信号和1个 PWM 信号)、我使用了 PCF8575 (2个控制两个高/低信号)和 LSF0108直接从控制器传输 PWM 信号。
和要接收电机的反馈信号(反馈信号为 PWM 信号)、我在控制器上使用 SN74HCS245QPWRQ1 > 33 Ω 阻尼电阻> LSF0108 > 3.3V GPIO。
因此、对于所有三种选择(PCF8575 -发送良好的输出信号)、LSF0108 (通过长导线发送良好的 PWM 信号)和 SN74HCS245QPWRQ1 (接收 PWM 信号)、我都在寻找一些良好的选择。
到目前为止、我的结论是、我需要电压跟随器运算放大器来发送良好的信号和接收 PWM 信号(例如、发送信号的低阻抗和接收信号的高阻抗)。
但我需要一些好的建议来为 我的设计选择合适的组件。 我有10个电机与我的控制器持续进行大量的信号通信。
一些抗噪技巧也会有所帮助。
LSF 不会缓冲信号(它是一个无源开关)、并且最适合于开漏信号。
运算放大器用于模拟信号。 对于数字信号、您只需使用普通逻辑缓冲器即可。 要将3.3V 转换为5V、请使用具有 TTL 兼容输入的缓冲器、例如 SN74AHCT125。 要将5V 转换为3.3V、请使用任何具有可过压输入的缓冲器、例如 SN74AHC1G125。
感谢 您的回复 Clemens Ladisch。
要将3.3V 转换为5V、我必须首先放置 I2C 扩展器、以便 PCF8575能够在所有端口引脚上提供5V 输出。 现在、正如您提到的、我将需要一个缓冲器、那么与 SN74AHCT125类似、我是否可以使用任何8位缓冲器? 因此、我可以使用更少的组件、并且可以在一个 IC 中容纳更多信号?
您认为 SN74HCS245-Q1 可以实现吗?
为了从5V 转换为3.3V、首先我使用 SN74HCS245-Q1 来清除后面的波形、使用了33 Ω 电阻器和 LSF0108。 您认为我需要在这里更改什么吗?
如果上述 IC 不是正确的选择、请提供一些建议、以便我可以与8位通道配合使用。
您好、Jigar、
SN74HCS245具有正输入钳位二极管、这将使您能够与该器件进行降压转换、但前提是每个输入端都有一个串联电阻(以限制流经钳位二极管的电流)。 您只需从3.3V 为'HCS245供电、并在每个输入端添加串联电阻器以限制电流。 1KOhm 通常就足够了。
本视频将介绍其工作原理 :https://training.ti.com/zh-tw/clamp-diodes-and-cmos-logic-devices?context=1139265-1148876
该视频将此电路作为使用具有输入钳位二极管的器件进行降压转换的示例。
正如 Clemens 所说、您还可以使用任何具有过压耐受输入的器件(例如、输入端没有正钳位二极管)。 我可以推荐的一个示例是 SN74LVC244。 您只需从3.3V 为'LVC244供电、输入最高可达5.5V。
感谢 Emrys Maier
这对我们有很大帮助。 这样我就可以将输入信号从5V PWM 转换为3.3V。
是否有人建议将3.3V 转换为5V 的最佳选择? 因为我的主要问题是向电机发送 PWM 信号、这会导致信号被钳制、而不是在接收信号时。 那么、可能是一个可以驱动负载的缓冲器。 但我不确定哪一项是具体的。
此外、电机侧(集成电机驱动器)电子器件可接受5V 至24V 信号。 因此、我假设它们不会导致该正钳位、LSF0108 (根据电流电路)可能无法驱动信号。
您好、Jigar、
很高兴我能提供帮助。
我知道、将单向逻辑信号从3.3V 转换为5V 的方法实际上有两种。
第一个是克莱明的推荐-这无疑是一个简单而良好的解决方案。 您可以使用任何由5V 供电的 TTL 兼容型 CMOS 器件、它将接受3.3V 信号并将其转换为5V 信号。 这种方法的一个缺点是通常比使用双电源电压转换器更耗电。
以下是我们的 TTL 兼容型输入8通道缓冲器列表、它们可能适合您: https://www.ti.com/logic-voltage-translation/buffers-drivers-transceivers/noninverting/products.html#p480=8;8&p776=TTL-Compatible%20CMOS&p1498=Catalog
您还可以使用 TTL 兼容型输入收发器-通常,如果您要向同一方向发送8个通道,这些收发器上的引脚会更容易使用。 以下是可能起作用的收发器列表: https://www.ti.com/logic-voltage-translation/buffers-drivers-transceivers/general-purpose/products.html#p1498=Catalog
为了帮助简化、如果我采用这种方法、我首先选择 SN74AHCT245。
另一种选择是使用双电源转换器、例如 SN74LXC8T245。 这实际上是我的首选、因为它是一款相对较新的转换器、具有许多有用的功能。
以下是可能起作用的所有8位转换器的列表: https://www.ti.com/logic-voltage-translation/voltage-translators-level-shifters/direction-controlled/products.html#p848=8;8&p634max=5;5.5
非常感谢。 这几乎解决了所有问题。
在总结之前、我将提出最后几个问题。
现在、我使用 PCF8575 I2C GPIO 扩展器将5V 信号传输到电机驱动器。
我检查了它的数据表、它还能够提供50mA 的输出电流。
下面是我的电流电路:
现在、我的问题是、如果上述电路可以与 SN74LXC8T245配合使用、那么为什么不与 PCF8575配合使用? 为什么我需要在那里执行额外的步骤?
是要将 PWM 信号传输到电机驱动器我 现在将使用 SN74LXC8T245、而不是 LSF0108、但除了 PWM 之外、我还需要发送另外两个状态电平信号(方向和使能信号)。 它将只是逻辑高电平或逻辑低电平。
我当时正靠 PCF8575来做这个把戏。 通过1k 上拉电阻、我将从中获得5V 的电压。 一旦我连接电机连接器、使能信号和方向信号 只被钳位到2V! 恐怕即使使用 SN74LXC8T245、也会实现相同的效果!
那么、我正在寻找导致此问题发生的确切原因?
此外、我发送到电机驱动器的 PWM 信号(来自 LSF0108)实际上比 PCF8575好! 请参阅以下内容:
我希望通过将 LSF0108替换为 SN74LXC8T245、可以帮助我获得0-5V 的完整 PWM 信号。
您好、Jigar、
[引用 userid="503693" URL"~/support/logic-group/logic/f/logic-forum/1051131/lsf0108-looking-for-good-ic-selection-to-send-pwm-signals-to-motors-lsf-doesn-t-seem-to-be-working/3889613 #3889613">现在、我的问题是、如果上述电路可以与 SN74LXC8T245配合使用、那么为什么不与 PCF8575配合使用? 为什么我需要在那里执行额外的步骤?我不是 PCF8575的专家、但它看起来像是一个开漏器件、因此它没有正驱动强度。 在这种情况下、1k 欧姆电阻器完全可以将线路电压保持在5V、因此当它尝试驱动"高电平"时、它基本上只是将1k 上拉电阻器连接到负载。
LXC 转换器具有推挽输出、因此它可以在低电平和高电平状态下驱动电流。
您是否考虑切换到移位寄存器而不是 I2C I/O 扩展器? 如果您只需要额外的输出、则可以使用 SN74HCS595或类似器件添加8个输出和一次输出、它们非常易于控制。
感谢你的参与。 移位寄存器是理想的、但在这里、我的控制信号来自3.3V、对于移位寄存器、它们期望控制信号和输出电压都是 Vcc 的函数。 因此我想不能使用它。 但这确实是一个很好的选择。可以使用 LSF0108为电平转换器提供5V 的控制信号。
如果我喜欢使用移位寄存器 、那么由于它们能够提供足够的电流、您认为 1k 上拉电阻是否足够好? 可从上拉电流中汲取5mA 电流、从移位寄存器中汲取大约7mA 电流。 此外、当电平处于低电平时、它还具有超过5mA 的灌电流能力。
1k 上拉电阻不会驱动5mA——它只会在电压下降5V 时产生这么大的电流,这意味着输出电压为0V。
获得任何合理的驱动强度,通常需要大约50欧姆或更低的上拉电阻,这是不可行的--这就是为什么有推挽式输出设备的原因。 HCS 推挽输出在两侧的驱动强度约为25欧姆(数据表的典型特性部分中有一个输出电阻图)。
如果您使用移位寄存器替换 I2C I/O 扩展器、则应该不再需要上拉电阻器、因为它具有推挽输出。
您可以选择一个具有 TTL 兼容输入的移位寄存器、这将使您具有3.3V 输入和5V 输出。 例如、SN74AHCT595是一个不错的选择。
我最近发布了一系列视频、其中详细介绍了不同类型的逻辑输入的工作原理以及所有规格的含义、请访问 :https://training.ti.com/node/1139265
我还在 https://training.ti.com/node/1139264?context=1139264上详细介绍了 LSF 转换器的工作原理
您好、Jigar、
此列表经过过滤、以显示具有 TTL 兼容输入的移位寄存器:
-
您的滤波器仅包含具有推挽输出的器件、但"595函数被列为三态输出、这只是一个也可以置于高阻抗状态的推挽输出。