3.3 V GPIO上的12 V输入,TVS下拉还是肖特基上拉?


12

我正在构建自己的PLC,该PLC必须接受高达30 V DC的永久输入到具有3.3 V输入的STM32F中。

开关输入必须在8-30 V的电压下工作,但是90%的时间输入电压将固定在12 V或24V。输入只能是限位开关之类的开关,因此我不会为检测而烦恼输入小于8 V或来自传感器等的输入,我也不担心速度,因为实际上开关将以最快的速度每1秒移动一次;我只需要确保微控制器受到保护即可。

我想要一个通用电路,可以在相似类型的多个产品/项目中使用,因此组件数量,成本和PCB空间必须最小,因此我真的不想使用光耦合器。

两名电子工程师建议了以下建议,但我不太确定哪种方法最好:

在此处输入图片说明

我应该使用顶部的还是底部的?为什么?


5
我通常不会这么说,但这听起来像是光耦合器的好地方。
马特·杨

@MattYoung您能否更新您的评论以说明为什么需要光耦合器?
理查德·钱伯斯

1
该电路是我在这个问题询问是从各大品牌PLC的输入电路。
罗恩·拜尔

Answers:


17

对于PLC来说,这实际上是一个古老的问题,而不是您想要的解决方案那么简单。

您面临的最大问题是,您还需要处理各种各样的潜在逻辑电压,实际逻辑电平可能远远高于内部使用的3.3V电源轨。一些传感器和设备的逻辑阈值高于5V。因此,仅使用您已指出的截止电路就不会从此类传感器检测到低电平。

PLC的输入级需要更加灵活。

即使可以接受低电平逻辑电平,这些电路也会遭受不同的问题。

齐纳/ TVS限制。

在此处输入图片说明

该电路的优势在于,对于已知的输入电压,齐纳管的大小可以设置为永远不允许电压超过电源电压。通常,您会选择一个齐纳二极管,其反向电压小于电源电压,但高于高电平逻辑阈值。

但是,齐纳二极管将在其整个寿命中产生大量的反向偏置,因此当输入信号下降时,您将以反向恢复时间的形式付出代价,这会延迟信号的衰减。

VIH

过轨限流二极管

在此处输入图片说明

使用二极管至电源轨存在一个问题,就是输出电压仍将仅超过Vcc。但是,这仍然可能不利于输入。此外,在这种情况下,反向恢复时间意味着,对于快速的输入沿,高电压将使其短暂通过。

所以

VOL

备择方案


光耦合。

PLC使用的常见方法是使用光耦合器。

原理图

模拟该电路 –使用CircuitLab创建的原理图

这种方法为您带来了隔离和接地分离的额外好处。问题是您需要在传感器和输入之间进行某种形式的信号调理,以确保LED以正确的阈值点亮,并且正确的电流通过LED馈送。这种调节可以是上面所示的简单电阻器,也可以是包含某种比较器的复杂电路。

光耦合器的速度也是一个限制因素。但是,通常使用此方法,因为它可以为您提供完全的灵活性。

模拟输入调理

另一种方法是接受模拟形式的信号,将其与具有迟滞的变量参考进行比较,然后以这种方式生成逻辑电平。

原理图

模拟该电路

显然,需要选择包括比较器在内的组件以适应最大输入电压。所示电路非常简单,如果使用滤波器,稳压器,ESD保护等,则可能会变得更加复杂。

组合

出于隔离的原因,您可以将上述内容组合在一起,并让比较器为光耦合器的LED提供恒定电流驱动器。

如果要开发产品,则将所有组件组装在一个小的插入式模块中,该模块可以插入“母”板上的卡边缘插槽中,就像它们用于PC中的卡一样。这样一来,您可以很容易地更换它们。该方法还使您可以使用其他输入类型,例如,光纤输入。


2
BJT或FET是否不是一种良好,安全,便宜的方式?好的,信号将被反转,但是软件可以解决该问题。真正的问题,不要试图变得聪明。
DiBosco '17

VOL

感谢您的详细回答,我已经更新了我的问题,以回答您提到的一些问题。输入电压将为8-30v,最大频率为1s
Terry Gould

@TerryGould很酷,那么我已经向您展示了几乎所有您需要知道的内容:)
Trevor_G

如果输入耐受5V电压,它会发生很大变化吗?STM32F上有很多,绝对最大值为5.3V。另外,Vih为0.7 * Vdd,因此对于3.3V电源轨为2.3V。
Jan Dorniak '17

5

100k太高了。它将由附近的几乎所有继电器或开关操作触发。如果您问我,对于PLC来说不是很可靠。

实际上有PLC的标准和规定。由于您希望所有PLC供应商在安装中都具有类似的行为,因此,如果各种型号可以毫无问题地相互连接,那就太好了。

例如,仅当它吸收至少〜2 mA且高于10V时,输入才认为它为。(IEC 61131-2) iec 61131-2

您无法通过无源器件精确地做到这一点,这就是为什么存在诸如SN65HVS880之类的零件的原因。

在我之前的回答中,我给出了一个示意性示例,说明如何使用被动元素*来接近这种行为。

简单的100K和BAT54S并不可靠,我可以从经验中告诉您。

plc输入示例
先前的答案

*单独的施密特触发器不是必需的


2

两者都是可以接受的。您需要确保电阻的尺寸正确,以便输入电流不会导致输入电压降至V_IH以下,但是对于CMOS,这是微不足道的,因为输入电流非常小(100k几乎可以确定是很好的)

对于第二个问题,唯一的警告是,您需要确保3.3v的总负载永远不小于30V / 100k(是您输入的次数很多倍),否则3.3V电压轨可能会上拉至可能损坏其上设备的电压。如果将Micro置于睡眠模式,则消耗的电量可能很少。

另一个需要注意的是,在两种情况下,100k电阻均与输入电容一起充当低通滤波器,从而降低了输入速度。如果输入电容为10pF,则它们的最大触发速率约为100kHz,延迟约为2微秒。


VOL

“如果连接的传感器的VOL大于1.5V左右,则两者都不起作用。” -从GPIO到地之间增加一个电阻,以形成分压器。问题解决了!
布鲁斯·雅培
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.