12 votos

Entrada de 12 V en GPIO de 3,3 V, ¿TVS pull down o Schottky pull up?

Estoy construyendo mi propio PLC que tiene que aceptar entradas permanentes de hasta 30 V DC en un STM32F con entradas de 3,3 V.

La entrada conmutada tendrá que trabajar con 8-30 V, pero el 90% del tiempo el voltaje de entrada se fijará en 12 V o 24 V. Las entradas sólo serán interruptores como los finales de carrera, así que no me preocupa detectar entradas de menos de 8 V o entradas de sensores, etc., tampoco me preocupa la velocidad ya que, siendo realistas, lo más rápido que se moverán los interruptores es cada 1 s; sólo necesito estar seguro de que mi microcontrolador está protegido.

Quiero un circuito universal que pueda utilizar en múltiples productos/proyectos de tipos similares, por lo que el número de componentes, el coste y el espacio de la placa de circuito impreso tienen que ser mínimos, así que no quiero utilizar optoacopladores.

Dos ingenieros electrónicos me han recomendado lo siguiente, pero no estoy muy seguro de cuál es la mejor manera:

Enter image description here

¿Debo usar el de arriba o el de abajo? ¿Por qué?

5 votos

No suelo decir esto, pero parece un buen lugar para un optoacoplador.

0 votos

@MattYoung ¿podría actualizar su comentario para decir por qué sería necesario un optoacoplador?

1 votos

El circuito que pregunto en esta pregunta es un circuito de entrada de un PLC de una marca importante.

17voto

Callum Rogers Puntos 6769

En realidad, este es un viejo problema con los PLCs y no es tan simple como sus soluciones previstas.

El mayor problema que tienes es que, además de tener una amplia variedad de voltajes lógicos potenciales que tienes que ser capaz de manejar, los niveles lógicos reales pueden ser mucho más altos que el carril de 3,3V que estás utilizando internamente. Algunos sensores y dispositivos tienen umbrales lógicos por encima de 5V. Por lo tanto, el simple uso de un circuito de corte como usted ha indicado no detectará el nivel bajo de tales sensores.

La etapa de entrada de los PLC debe ser mucho más flexible.

Incluso si el nivel lógico de bajo nivel es aceptable, cada uno de estos circuitos sufre diferentes problemas.

Limitación Zener / TVS.

enter image description here

Este circuito tiene la ventaja de que, para una tensión de entrada conocida, el zener puede ser dimensionado para no permitir nunca que la tensión supere la tensión del carril. Normalmente se elegiría un zener con una tensión inversa menor que la del raíl, pero mayor que el umbral lógico de alto nivel.

Sin embargo, el zener pasará gran parte de su vida en polarización inversa, por lo que pagará una penalización en forma de tiempo de recuperación inversa cuando la señal de entrada caiga, lo que retrasará su señal un poco.

El otro problema con el Zener, es que el voltaje real al que limitará depende de la corriente que lo atraviesa. Por lo tanto, esa tensión dependerá de la tensión de la señal en cierta medida. Por lo tanto, es necesario diseñar la resistencia para la tensión máxima de entrada, y volver a calcular para tensiones más bajas para ver si el zener no está limitando la tensión por debajo de su \$V_{IH}\$ nivel.

Diodo limitador de sobrecarga

enter image description here

Usar el diodo hasta el raíl tiene el problema de que la tensión de salida seguirá superando a Vcc aunque sea por poco. Sin embargo, eso puede seguir siendo perjudicial para la entrada. Además, en este caso el tiempo de recuperación inversa significa que, para los bordes de entrada rápidos, un alto voltaje pasará muy brevemente.

Así que

Dado que ambos circuitos incluyen una resistencia alta en la entrada, ambos requieren que lo que conduce la entrada tenga una baja impedancia de salida. De los dos, la versión zener proporciona una mejor protección, pero a costa del rendimiento. Ninguno de los dos funcionará si \$V_{OL}\$ del sensor conectado > 1,5V más o menos.

Alternativas


Opto-acoplamiento.

Un método común utilizado por los PLC es el uso de optoacopladores.

schematic

simular este circuito - Esquema creado con CircuitLab

Este método le ofrece la ventaja añadida del aislamiento y la separación de la tierra. El problema es que se necesita algún tipo de acondicionamiento de la señal entre el sensor y la entrada para asegurar que el LED se enciende en el umbral correcto, y que la cantidad correcta de corriente se alimenta a través del LED. Ese acondicionamiento podría ser la simple resistencia mostrada arriba, o un circuito complejo que incluya un comparador de algún tipo.

La velocidad del optoacoplador también es un factor limitante. Sin embargo, este método se utiliza habitualmente porque ofrece una flexibilidad total.

Acondicionamiento de la entrada analógica

Otro método es aceptar la señal de forma analógica, compararla con una referencia variable con histéresis y generar el nivel lógico de esa forma.

schematic

simular este circuito

Obviamente, los componentes, incluido el comparador, deben elegirse para adaptarse a las tensiones de entrada máximas. El circuito mostrado es bastante simple, puede ser mucho más complejo con filtros, reguladores, protección ESD, etc.

Combinación

Por razones de aislamiento, podrías combinar lo anterior, y hacer que el comparador alimente un driver de corriente constante al LED de un opto-acoplador.

Si yo desarrollara un producto, reuniría todo eso en un pequeño módulo enchufable que pudiera conectarse a los zócalos de los bordes de la tarjeta en una placa "madre", como las que se usan para las tarjetas en los PC. De este modo, se pueden sustituir fácilmente en caso de que una de ellas se estropee. Ese método también permite disponer de otros tipos de entrada, por ejemplo, una entrada de fibra óptica.

2 votos

¿No sería un BJT o un FET una forma buena, segura y barata de hacerlo? De acuerdo, la señal se invertiría, pero el software lo arreglaría. Es una pregunta genuina, no intento hacerme el listo.

0 votos

@DiBosco El mismo problema de \$V_{OL}\$ no siendo necesariamente 0 V.

0 votos

Gracias por su respuesta tan detallada, acabo de actualizar mi pregunta para responder a algunas de las cuestiones que ha mencionado. La tensión de entrada será de 8-30v con una frecuencia máxima de 1s

5voto

JukesOnYou Puntos 398

100k es demasiado alto. Se dispararía desde casi cualquier relé u operación de conmutación cercana. En mi opinión, no es muy fiable para un PLC.

En realidad hay normas y reglamentos para los PLC . Ya que se querría que todos los proveedores de PLCs tuvieran un comportamiento similar en las instalaciones, y estaría bien que varios modelos pudieran conectarse entre sí sin problemas.

Por ejemplo, la entrada sólo la considera un en cuando está hundiendo al menos ~2 mA y está por encima de 10V. (IEC 61131-2) iec 61131-2

Esto no se consigue precisamente con los pasivos, por lo que existen piezas como el SN65HVS880.

En mi respuesta anterior he dado un ejemplo esquemático de cómo puedes intentar acercarte a este comportamiento con pasivos*.

Un simple 100K y un BAT54S no serán fiables, te lo digo por experiencia.

plc input example
respuesta anterior

*Disparador schmitt no esencial

2voto

Danielb Puntos 324

Ambos son aceptables. Tendrás que asegurarte de que la resistencia tiene el tamaño correcto para que la corriente de entrada no provoque que el voltaje de entrada caiga por debajo de V_IH, pero con CMOS esto es trivial ya que la corriente de entrada es muy pequeña (100k es casi seguro que está bien)

Con el segundo, la única advertencia es que tendrás que asegurarte de que la carga total en 3,3v nunca es inferior a 30V/100k (multiplicado por el número de entradas que tengas), o de lo contrario el carril de 3,3 V podría ser arrastrado hasta un voltaje que podría dañar los dispositivos en él. Si pones el micro en modo de reposo, podría consumir esa cantidad.

La otra advertencia es que en ambos casos la resistencia de 100k actúa con la capacitancia de entrada como un filtro de paso bajo, que ralentiza las entradas. Si hay una capacitancia de entrada de 10pF tendrán una tasa de conmutación máxima de unos 100kHz y un retardo de unos 2 microsegundos.

0 votos

Ninguno de los dos funciona si \$V_{OL}\$ del sensor conectado > 1,5V más o menos.

0 votos

"Ninguno de los dos funciona si el VOL del sensor conectado > 1,5V o así". - añade una resistencia de GPIO a tierra para formar un divisor de tensión. Problema resuelto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X