¿Entrada de 12 V en 3.3 V GPIO, TVS bajado o Schottky levantado?

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

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

Quiero un circuito universal que pueda usar en múltiples productos/proyectos de tipos similares, por lo que el número de componentes, el costo y el espacio de PCB deben ser mínimos, por lo que realmente no quiero usar optoacopladores.

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

Ingrese la descripción de la imagen aquí

¿Debo usar el de arriba o el de abajo? ¿Nada porque?

No suelo decir esto, pero suena como un buen lugar para un optoacoplador.
@MattYoung, ¿podría actualizar su comentario para decir por qué se necesitaría un optoacoplador?
El circuito sobre el que pregunto en esta pregunta es un circuito de entrada de un PLC de marca importante.

Respuestas (3)

En realidad, este es un problema antiguo con los PLC y no es tan simple como las soluciones previstas.

El mayor problema que tiene es que además de tener una amplia variedad de voltajes lógicos potenciales que necesita poder manejar, los niveles lógicos reales pueden ser mucho más altos que el riel de 3.3V que está usando internamente. Algunos sensores y dispositivos tienen umbrales lógicos superiores a 5V. Como tal, el simple uso de un circuito de corte como ha indicado no detectará el nivel bajo de dichos 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.

ingrese la descripción de la imagen aquí

Este circuito tiene la ventaja de que, para un voltaje de entrada conocido, el zener puede dimensionarse para que nunca permita que el voltaje exceda el voltaje del riel. Normalmente, elegiría un zener con un voltaje inverso más pequeño que el riel, pero más alto que el umbral lógico de alto nivel.

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

El otro problema con el Zener es que el voltaje real al que se limitará depende de la corriente que lo atraviesa. Como tal, ese voltaje dependerá del voltaje de la señal hasta cierto punto. Por lo tanto, debe diseñar la resistencia para el voltaje de entrada máximo y volver a calcular para voltajes más bajos para ver si el zener no limita el voltaje por debajo de su V yo H nivel.

Diodo limitador sobre riel

ingrese la descripción de la imagen aquí

Usar el diodo hasta el riel tiene el problema de que el voltaje de salida aún excederá a Vcc, aunque sea solo un poco. Sin embargo, eso todavía puede ser perjudicial para la entrada. Además, en este caso, el tiempo de recuperación inverso significa que, para flancos de entrada rápidos, un alto voltaje lo atravesará muy brevemente.

Asi que

Dado que ambos circuitos incluyen una resistencia alta en la entrada, ambos requieren que lo que sea que esté impulsando la entrada tenga una impedancia de salida baja. De los dos, la versión zener ofrece una mejor protección, pero a costa del rendimiento. Ninguno de los dos funcionará si V O L del sensor adjunto > 1.5V más o menos.

Alternativas


Optoacoplamiento.

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

esquemático

simular este circuito : esquema creado con CircuitLab

Este método le brinda el beneficio adicional del aislamiento y la separación del suelo. El problema con esto es que necesita algún tipo de acondicionamiento de señal entre el sensor y la entrada para garantizar que el LED se encienda en el umbral correcto y que la cantidad correcta de corriente se alimente a través del LED. Ese acondicionamiento podría ser la resistencia simple que se muestra arriba o un circuito complejo que incluye un comparador de algún tipo.

La velocidad del optoacoplador también es un factor limitante. Sin embargo, este método se usa comúnmente porque le brinda total flexibilidad.

Acondicionamiento de entrada analógica

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

esquemático

simular este circuito

Obviamente, los componentes, incluido el comparador, deben elegirse para adaptarse a los voltajes de entrada máximos. El circuito que se muestra es bastante simple, puede volverse mucho más complejo con filtros, reguladores, protección ESD, etc.

Combinación

Por razones de aislamiento, puede combinar lo anterior y hacer que el comparador alimente un controlador de corriente constante al LED de un optoacoplador.

Si estuviera desarrollando un producto, ensamblaría todo eso en un pequeño módulo enchufable que podría enchufarse en los zócalos del borde de la tarjeta en una placa "madre", como se usan para las tarjetas en las PC. De esa manera, puede reemplazarlos fácilmente si uno se fríe. Ese método también le permite hacer que otros tipos de entrada estén disponibles, por ejemplo, una entrada de fibra óptica.

¿No sería un BJT o un FET una forma buena, segura y económica de hacer esto? Está bien, la señal se invertiría, pero el software lo arreglaría. Pregunta genuina, sin tratar de ser inteligente.
@DiBosco El mismo problema de V O L no necesariamente siendo 0 V.
Gracias por su respuesta tan detallada, acabo de actualizar mi pregunta para responder algunos de los problemas que mencionó. El voltaje de entrada será de 8-30v con una frecuencia máxima de 1s
@TerryGould genial, entonces ya te he mostrado casi todo lo que necesitas saber :)
¿Cambiaría mucho si la entrada fuera tolerante a 5V? Muchos en STM32F lo son, con un máximo absoluto de 5,3 V. También Vih es 0.7 * Vdd, por lo que 2.3V para un riel de 3.3V.
Un pequeño detalle, pero si no me equivoco, ¿no debería ser un PNP el transistor en esa disposición de optoacoplador?
@ penguin359 en realidad para optoacopladores no importa. Ya que es activado por luz. Se puede utilizar en el lado alto o en el lado bajo.

100k es demasiado alto. Se dispararía desde casi cualquier relé o operación de conmutación cercana. No es realmente confiable para un PLC si me preguntas.

En realidad, existen normas y reglamentos para los PLC . Dado que le gustaría que todos los proveedores de PLC tuvieran un comportamiento similar en las instalaciones, y sería bueno si varios modelos pudieran conectarse entre sí sin problemas.

Por ejemplo, la entrada solo lo considera encendido cuando se hunde al menos ~ 2 mA y está por encima de 10 V. (CEI 61131-2)CEI 61131-2

No puedes conseguir esto precisamente con pasivos, por eso hay piezas como 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 confiables, te lo puedo decir por experiencia.

ejemplo de entrada plc
respuesta anterior

*el disparador schmitt separado no es esencial

Ambos son aceptables. Deberá asegurarse de que la resistencia tenga el tamaño correcto para que la corriente de entrada no haga 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)

Con el segundo, la única advertencia es que deberá asegurarse de que la carga total en 3.3v nunca sea inferior a 30V / 100k (veces, independientemente de la cantidad de entradas que tenga), o de lo contrario, el riel de 3.3 V podría subirse a un voltaje que podría dañar los dispositivos en él. Si pones el micro en modo de suspensión, podría dibujar tan poco.

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, lo que ralentiza las entradas. Si hay una capacitancia de entrada de 10pF, tendrán una velocidad de conmutación máxima de aproximadamente 100 kHz y un retraso de aproximadamente 2 microsegundos.

Tampoco funciona si V O L del sensor adjunto > 1.5V más o menos.
"Ninguno funciona si el VOL del sensor adjunto es > 1,5 V más o menos". - agregue una resistencia de GPIO a tierra para formar un divisor de voltaje. ¡Problema resuelto!