Entrada de 12 V no GPIO de 3,3 V, TVS puxado para baixo ou Schottky puxado para cima?


12

Estou construindo meu próprio PLC que precisa aceitar entradas permanentes de até 30 V DC em um STM32F com entradas de 3,3 V.

A entrada comutada terá que funcionar com 8 a 30 V, mas 90% do tempo a tensão de entrada será fixada em 12 V ou 24 V. As entradas serão apenas interruptores, como interruptores de limite, por isso não me preocupo em detectar entradas inferiores a 8 V ou entradas de sensores, etc., também não estou preocupado com velocidade, pois, realisticamente, o mais rápido que os comutadores se movem é a cada 1 s; Eu só preciso ter certeza de que meu microcontrolador está protegido.

Eu quero um circuito universal que possa ser usado em vários produtos / projetos de tipos semelhantes, para que a contagem de componentes, o custo e o espaço da placa de circuito impresso tenham que ser no mínimo, para que eu realmente não queira usar optoacopladores.

Dois engenheiros eletrônicos recomendaram o seguinte, mas não sei ao certo qual é o melhor caminho:

Digite a descrição da imagem aqui

Devo usar o superior ou o inferior? Algum porque?


5
Normalmente não digo isso, mas isso parece um bom lugar para um acoplador óptico.
Matt Young

@ MattYoung, você pode atualizar seu comentário para dizer por que um acoplador óptico seria necessário?
Richard Chambers

1
O circuito sobre o qual pergunto nesta pergunta é um circuito de entrada de um PLC de uma grande marca.
Ron Beyer

Respostas:


17

Na verdade, esse é um problema antigo dos CLPs e não é tão simples quanto as soluções pretendidas.

O maior problema que você tem é que, além de ter uma grande variedade de tensões lógicas em potencial com as quais você precisa lidar, os níveis lógicos reais podem ser muito maiores do que o trilho de 3,3V que você está usando internamente. Alguns sensores e dispositivos têm limites lógicos acima de 5V. Como tal, o simples uso de um circuito de corte, como você indicou, não detectará o nível baixo desses sensores.

O estágio de entrada dos CLPs precisa ser muito mais flexível.

Mesmo que o nível lógico de baixo nível seja aceitável, esses circuitos sofrem problemas diferentes.

Limitação de Zener / TVS.

insira a descrição da imagem aqui

Esse circuito tem o benefício de que, para uma tensão de entrada conhecida, o zener pode ser dimensionado para nunca permitir que a tensão exceda a tensão do trilho. Normalmente, você escolheria um zener com uma tensão reversa menor que o trilho, mas maior que o limite lógico de alto nível.

No entanto, o zener gastará muito do seu viés de inversão de vida, portanto, você pagará uma penalidade na forma de tempo de recuperação reversa quando o sinal de entrada cair, o que atrasará um pouco o sinal.

O outro problema com o Zener é a tensão real em que ele limitará, depende da corrente através dele. Como tal, a tensão dependerá da tensão do sinal até certo ponto. Portanto, é necessário projetar o resistor para a tensão máxima de entrada e recalcular para tensões mais baixas para verificar se o zener não está limitando a tensão abaixo do seu nível .VEuH

Diodo limitador sobre trilho

insira a descrição da imagem aqui

O uso do diodo até o trilho tem o problema de que a tensão de saída ainda excederá a Vcc, apenas um pouco. No entanto, isso ainda pode ser prejudicial para a entrada. Além disso, nesse caso, o tempo de recuperação reversa significa que, para bordas de entrada rápidas, uma alta voltagem passará muito rapidamente.

então

Como esses dois circuitos incluem um alto resistor na entrada, ambos exigem que o que está dirigindo a entrada tenha uma baixa impedância de saída. Dos dois, a versão zener fornece melhor proteção, mas ao custo de desempenho. Nenhum deles funcionará se do sensor conectado> 1.5V ou mais.VOeu

Alternativas


Opto-acoplamento.

Um método comum usado pelos CLPs é usar optoacopladores.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Este método oferece o benefício adicional de isolamento e separação do solo. O problema é que você precisa de alguma forma de condicionamento de sinal entre o sensor e a entrada para garantir que o LED acenda no limiar correto e que a quantidade correta de corrente seja alimentada através do LED. Esse condicionamento pode ser o resistor simples mostrado acima, ou um circuito complexo que inclui algum tipo de comparador.

A velocidade do acoplador óptico também é um fator limitante. No entanto, esse método é comumente usado porque oferece flexibilidade total.

Condicionamento de entrada analógica

Outro método é aceitar o sinal de forma analógica, compará-lo a uma referência variável com histerese e gerar o nível lógico dessa maneira.

esquemático

simule este circuito

Obviamente, os componentes, incluindo o comparador, precisam ser escolhidos para acomodar as tensões máximas de entrada. O circuito mostrado é bastante simples, pode ficar muito mais complexo com filtros, reguladores, proteção ESD etc.

Combinação

Por motivos de isolamento, você pode combinar o que foi dito acima e fazer com que o comparador ligue um driver de corrente constante ao LED de um optoacoplador.

Se eu estivesse desenvolvendo um produto, reuniria tudo isso em um pequeno módulo de plug-in que pudesse ser conectado aos soquetes da borda da placa em uma placa "mãe", como eles usam para placas em PCs. Dessa forma, você pode substituí-los facilmente caso se frite. Esse método também permite disponibilizar outros tipos de entrada, por exemplo, uma entrada de fibra óptica.


2
Um BJT ou um FET não seria uma maneira boa, segura e barata de fazer isso? OK, o sinal seria invertido, mas o software corrigia isso. Pergunta genuína, não tentando ser inteligente.
DiBosco

VOeu

Obrigado pela sua resposta muito detalhada, acabei de atualizar minha pergunta para responder a alguns dos problemas mencionados. Tensão de entrada será 8-30v com uma freq máximo de 1s
Terry Gould

@TerryGould arrefecer, então eu já demonstraram você praticamente tudo o que você precisa saber :)
Trevor_G

Mudaria muito se a entrada fosse tolerante a 5V? Muitos no STM32F são, com o máximo absoluto em 5,3V. Vih também é 0.7 * Vdd, então 2.3V para um trilho de 3.3V.
Jan 17 Jan

5

100k é muito alto. Seria acionado por quase qualquer operação de relé ou comutação nas proximidades. Não é realmente confiável para um PLC, se você me perguntar.

Na verdade, existem padrões e regulamentos para CLPs . Como você deseja que todos os fornecedores de PLC tenham comportamento semelhante nas instalações, seria bom se vários modelos pudessem ser conectados entre si sem problemas.

Por exemplo, a entrada apenas considera-se uma sobre quando é que afunda pelo menos ~ 2 mA e é acima de 10V. (IEC 61131-2) iec 61131-2

Você não pode conseguir isso precisamente com passivos, e é por isso que existem peças como SN65HVS880.

Na minha resposta anterior, dei um exemplo esquemático de como você pode tentar se aproximar desse comportamento com passivos *.

Um simples 100K e um BAT54S não serão confiáveis, posso dizer isso por experiência própria.

exemplo de entrada plc
resposta anterior

* gatilho schmitt separado não é essencial


2

Ambos são aceitáveis. Você precisará garantir que o resistor esteja dimensionado corretamente para que a corrente de entrada não faça com que a tensão de entrada caia abaixo de V_IH, mas com o CMOS isso é trivial, pois a corrente de entrada é tão pequena (100k é quase certamente bom)

Com o segundo, a única ressalva é que você precisará ter certeza de que a carga total em 3,3v nunca será menor que 30V / 100k (vezes quantas entradas você tiver), ou então o trilho de 3,3V poderá ser puxado até uma tensão que pode danificar os dispositivos. Se você colocar o micro no modo de suspensão, isso pode atrair muito pouco.

A outra ressalva é que, em ambos os casos, o resistor de 100k age com a capacitância de entrada como um filtro passa-baixo, o que torna as entradas mais lentas. Se houver capacitância de entrada de 10pF, eles terão uma taxa de alternância máxima de cerca de 100kHz e um atraso de cerca de 2 microssegundos.


VOeu

"Nem funciona se o VOL do sensor conectado for> 1,5V ou mais." - adicione um resistor do GPIO ao terra para formar um divisor de tensão. Problema resolvido!
Bruce Abbott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.