Simplificando muchos comparadores de ventanas

Tengo 8 termistores y debo asegurarme de que cada uno de ellos esté dentro de una ventana de temperatura. Todos tienen la misma ventana y no me importa cuál o cuántos están dentro del rango válido, solo necesito saber si todos están dentro de la (misma) ventana o no. Esta será una solución solo de hardware, por lo que la secuenciación de software de las lecturas de ADC está fuera de discusión.

Mi mejor solución actualmente es usar un montón de circuitos integrados comparadores e implementar un comparador de ventana separado para cada termistor. Para optimizar la solución, puedo usar varios comparadores cuádruples, cada uno con una salida de drenaje abierto para poder conectarlos todos. Aún así, en esencia es el mismo circuito. Los voltajes de referencia/disparo que puedo hacer una vez, amortiguar y luego suministrar a todos los comparadores.

Me siento estúpido por simplemente arrojar un montón de comparadores al problema. No estoy seguro de si hay una mejor manera, principalmente estoy tratando de optimizar el espacio de la placa. ¿Conoces alguna forma creativa? Por ejemplo, seleccione los voltajes mínimos/máximos de todos los termistores y use un comparador de ventana única (EDITAR: dos comparadores ofc), que en mi humilde opinión conduciría a una solución más grande y, por lo tanto, no es una buena respuesta, solo lo menciono como inspiración.

EDITAR: Sé que una solución basada en software sería la mejor. Es por eso que lo mencioné desde el principio y por adelantado para evitar que todos lo sugieran. La razón por la que el problema se define de esta manera es porque se trata de un circuito de seguridad y las especificaciones requieren que implemente una solución solo de hardware además de un monitor de software. Entonces, la solución basada en software ya está ahí, "solo" necesito encontrar la mejor manera de implementar la basada en hardware.

Puede multiplexar las entradas a un comparador de ventana. Pero entonces necesitaría algo para secuenciar las mediciones y combinar los resultados. La restricción "sin software" es una molestia, ya que podría hacer todo esto con un microcontrolador con un ADC incorporado, lo que daría como resultado la huella más pequeña que puedo ver. Como soy un tipo de hardware, lamento admitirlo, pero un uC y un programa pequeño son difíciles de superar aquí.
Si la precisión que desea no es demasiado 'ajustada', puede usar una compuerta OR de diodo con una resistencia desplegable para el límite de ventana alto impulsado por los termistores a través de un diodo de cada uno. El voltaje de la resistencia será el voltaje más alto menos una caída de diodo. Repita para la ventana baja con una resistencia pull up y diodos de polaridad invertida. | Si bien dijo que esto no iba a ser una solución de software, es probable que un Arduino dedicado (o simplemente un procesador de elección que realice únicamente esta tarea) sea casi tan compacto y de bajo costo.
"La secuenciación por software de las lecturas de ADC está fuera de discusión". Con eso has tirado por la borda la solución más sencilla y pequeña.
¿POR QUÉ no software? 3 opiniones hasta ahora sugieren que es la mejor opción A MENOS QUE haya una razón específica para no usarlo. (Central eléctrica, MBT, ...)
¿Qué estándar es este que requiere los dos sistemas independientes y uno de ellos es solo de hardware? He visto especificaciones para sistemas implementados de forma independiente, pero la redundancia proporciona la confiabilidad necesaria. Podría implementar dos sistemas de verificación basados ​​en micro para el espacio de un solo hardware, por ejemplo.
@Russel: Pensé en diodo-OR-ing para seleccionar max, pero por min no se me ocurrió que solo puedo poner los diodos en reversa, lo cual es genial. ¿No se pueden omitir los pulldown/ups siempre que la mayor diferencia entre dos voltajes NTC esté por encima de la caída de Vf de un solo diodo (que será ultrabaja debido a la baja corriente)? O tal vez no con las corrientes de fuga inversa del diodo...
¿Se considera software una FPGA?
ultima: la resistencia es casi tal vez no necesaria, PERO le da a los diodos "algo para masticar". voltaje de diodo definido Sin un valor de resistencia o demasiado alto, obtiene una carga mínima pero umbrales mal definidos.
Aquí hay un IC comparador de ventana 6x y aquí hay un IC comparador de ventana cuádruple . No hay 8, por desgracia. | Puede satisfacer la necesidad con 4 comparadores de drenaje abierto cuádruple LM339. Estos se pueden obtener en QFN de 1,7 mm x 1,7 mm (3 mm x 3 mm incluidas las almohadillas) o TSSOP de 6,4 x 5 mm Hoja de datos aquí
¿Están aislados eléctricamente cada uno de los termistores? ¿Simplificaría el diseño una solución con un puente de Wheatstone? Esa sería una forma simple de verificar que todos estén a la misma temperatura (4 termistores en cada puente). Mida la corriente a través del puente y el voltaje en uno de los puntos medios será suficiente para verificar que todos estén a la misma temperatura (corriente) y que es la temperatura 'correcta' (voltaje)? Si el puente está desequilibrado, uno de los termistores es diferente de los demás.

Respuestas (7)

Un comparador de ventana, un contador de 3 bits y un mux analógico 8:1 para conectar un termistor al comparador.

Si todo lo que necesitas saber es que todos están bien; son 3 fichas, trabajo hecho. (74HC163, 74HC4051, comparador, más algo así como un 555 para cronometrarlo).

Como dice Andy, el MUX (p. ej., 74HC4051) tiene una resistencia de ENCENDIDO bastante baja, por lo que cada termistor se conecta a una entrada analógica y una sola resistencia en el otro lado proporciona un divisor de voltaje. Si todos los termistores están conectados a GND, la resistencia va a 5V.

esquemático

simular este circuito : esquema creado con CircuitLab

Si necesita grabar/mostrar CUÁLES están fuera de especificación, comience a agregar circuitos como un decodificador de 3-8 líneas (un IC más, 74HC138) para controlar ocho LED; los culpables se turnarán para parpadear.

Si necesita más que eso, busque la MCU y el software.

La fuente de excitación (resistencia) podría estar en el lado "1" del MUX (MUX de bajo ohmio) pero, de lo contrario, +1 por ganarme.
@Andyaka ¡Por eso no me molesté con un esquema! Además, no puedo encontrar 74(HCT)4051, 74x163, 74x138 en el editor de programas en línea... Completaré ese detalle, pero si desea completar más, valdrá la pena un voto o dos.
Estás en racha, Brian, así que te lo dejo.
Vale, idea interesante. Hay un pequeño problema en la salida, ya que si un solo termistor está fuera de rango, por ejemplo, la salida literalmente solo me lo diría en 1/8 del tiempo. Probablemente no sea un gran problema ya que podría alimentar la salida de win.comp. a un registro de desplazamiento con salidas de drenaje abierto. Necesitaría cronometrarlo, pero lo mismo que empuja el multiplexor probablemente también podría hacerlo. Definitivamente una idea que vale la pena seguir, déjame tratar de encontrar un esquema más completo y te responderé aquí.
Bueno, si lo registra a 4 Hz y la constante de tiempo de su sistema térmico es> 2 segundos, eso está (a) bien y (b) da una frecuencia de parpadeo bastante prominente (velocidad de zumbido, lo que sea). Conoces las características del sistema, solo puedo adivinar.
@ultimA Puede usar un filtro RC LP común con un diodo en paralelo con la resistencia. De esta manera, se elevará instantáneamente, por lo que si está alto 1/8 del tiempo no es un problema, porque el diodo lo mantendrá.
Estoy aceptando esto. La belleza de esta respuesta es que se amplía muy bien para 2x o más NTC sin costos adicionales significativos y sin componentes adicionales (o +1). TBH en mi caso de uso específico (estoy "solo" usando 8 termistores), 8 win.comps implementados ingenuamente son aún más pequeños tanto en costo como en BOM/espacio, pero no juzgaré únicamente en función de mis necesidades. Como dije, esta respuesta se puede usar casi sin modificaciones para 16 o incluso 32 NTC, en cuyo caso es un claro ganador. Muy agradable. Simplemente no olvide agregar un oscilador y un registro de desplazamiento de drenaje abierto, y la solución está completa.

Creo que la respuesta no SW de Brian es la mejor, pero aquí hay una solución puramente analógica. Use un circuito que inherentemente elija la entrada de mayor voltaje (entre varias) y la coloque en la salida. Lo mismo ocurre con el circuito para el voltaje más bajo.

Considere el rectificador de precisión: -

ingrese la descripción de la imagen aquí

Produce un voltaje de salida que sigue al voltaje de entrada en todo su rango positivo. Ahora considere lo que sucede cuando tiene dos entradas como esta: -

ingrese la descripción de la imagen aquí

Cualquiera de V1 y V2 que sea más alto ganará la batalla para impulsar la línea de salida. Paso y repita para 8 entradas, luego haga lo mismo con diodos conectados inversamente y tendrá una solución que genera dos voltajes de salida que representan los niveles más alto y más bajo de varias fuentes de voltaje diferentes.

No estoy al 100%, pero creo que puedes reutilizar los amplificadores operacionales para los voltajes más bajos. ¿Quizás me equivoque en esto?

Luego use comparadores en ambas líneas para determinar si uno de los ocho podría estar fuera de rango.

Tuvimos más o menos la misma pregunta hace un tiempo, y creo que esta solución es una joya escondida.
@Janka, ¿quizás puedas encontrarlo y vincularlo? Me gustaría verlo.
+1 me gusta esto. Tal vez 4 LM324 + un cable o LM393 y listo. Puede filtrar el *&*$$ para evitar activaciones falsas.
Tenía la impresión de que era hace no más de un mes y tenía la palabra magnitud , pero creo que me equivoqué: no la encuentro.
¡Hola! Gracias por su respuesta. Aunque creo que esto en realidad aumenta los costos en todos los aspectos. Construir ingenuamente 8 comparadores de ventana como en la pregunta original requiere 16 comparadores. Esta solución propuesta también necesita 16 solo para construir min+max, luego 4 adicionales para la comparación real más una matriz de diodos. Ofc, la diferencia en la cantidad de circuitos integrados reales es menor debido a los amplificadores operacionales cuádruples, pero, sin embargo, no es una victoria.
@ultimA No estoy 100% seguro, pero creo que un amplificador operacional que se usa para detectar un límite positivo también se puede usar (quizás con dos resistencias adicionales) para detectar un límite negativo. Lo que significa solo 8 amplificadores operacionales más el comparador. Como dije, no estoy al 100%. ¿Quizás plantear una nueva pregunta (por el bien de todos y, con suerte, por placer) para ver si se pueden evitar la mitad de los amplificadores operacionales?

Sugerencias para mejorar las soluciones multiplexadas para su uso como circuito de seguridad: Tener una de las entradas del multiplexor preestablecida a una entrada que se conoce fuera de la ventana segura (o incluso dos entradas, una debajo de una arriba). Verifique que haya una respuesta de "ventana exterior" del comparador cuando se seleccionan las entradas relevantes en el multiplexor.

Mejor controle el multiplexor con un contador (síncrono es mejor) que tenga un poco más de resolución de la que necesita (y tenga una frecuencia de reloj dos veces más rápida): el bit de contador menos significativo genera una excelente señal de activación para que pueda cargar el estado del comparador en un borde activó el flip-flop D después de que tuvo suficiente tiempo para establecerse, y esta señal de activación también puede ser activada de forma segura por lógica dependiendo del estado del contador a diferentes flip-flops D (por ejemplo, uno para cada termistor, o uno para los termistores y uno para el propio -canales de prueba que sugerí anteriormente).

Para estar aún más seguro, duplique todo el circuito. Si bien los termistores y las entradas asociadas siguen siendo teóricamente un único punto de falla, el hecho de que esté utilizando un comparador de ventana debería evitar que un termopar completamente corto o abierto se interprete erróneamente como un falso OK (sesgo en consecuencia).

Aquí hay un IC comparador de ventana 6x y aquí hay un IC comparador de ventana cuádruple .
No hay 8, por desgracia.

Puede satisfacer la necesidad con 4 comparadores de drenaje abierto cuádruple LM339 de antaño.
Estos se pueden obtener en
QFN de 1,7 mm x 1,7 mm (3 mm x 3 mm incluidas las almohadillas)
o TSSOP de 6,4 x 5 mm

Hoja de datos aquí

También necesitaría voltajes de referencia de ventana superior e inferior (3 resistencias) y un solo pullup de salida.

Hola. Sí, también mencioné en la pregunta original que es posible usar matrices, lo que indiscutiblemente reduce el recuento de IC. Supongo que la pregunta era más sobre si es posible reducir el número de componentes usando una arquitectura diferente que simplemente usando dispositivos de mayor integración. Acepté la respuesta de Brian, porque usando solo 5-6 componentes físicos puedes construir un circuito para 16 o incluso 32 termistores con esa solución. Tal vez no para un número bajo de NTC como <8, pero algo más que eso y esa solución es un claro ganador. Sin embargo, gracias (también por sus comentarios anteriores).

¿Por qué tan complejo?

U2+ será máximo (entradas) - caída de diodo.

U1- será min (entradas) + caída de diodo.

R3,4,5 establece umbrales. Si es demasiado bajo en cualquier entrada, U1- cae por debajo del umbral en U1+, U1out sube. Si es demasiado alto en cualquier entrada, U2+ se eleva por encima del umbral. U2out va alto.

No estoy seguro de lo que realmente quiere hacer cuando ocurre cualquiera de las condiciones, pero me viene a la mente conducir un transistor / FET / SCR.

Puede comprar circuitos integrados de comparación de ventanas para ahorrar espacio en la placa. Por ejemplo, TPS3700 , LTC1042 , LMV7231 (hex) o MAX969 (cuádruple).

Principalmente estoy tratando de optimizar el espacio del tablero.
Me siento estúpido por simplemente arrojar un montón de comparadores al problema.

La solución obvia es usar un microcontrolador con al menos 8 entradas A/D. El resto es firmware.

Incluso un micro lento puede seguir el ritmo de 8 termistores. Puede crear de forma trivial un sistema que responda en menos de un milisegundo, por ejemplo. Eso debería ser mucho más rápido que el tiempo de respuesta de los termistores para ser efectivamente instantáneo.

Usted dice que la secuenciación de lecturas A/D está "fuera de discusión", pero no dio justificación para este requisito arbitrario. Un pequeño microcontrolador ocupará menos espacio en la placa que un montón de comparadores. Dado que optimizar el espacio del tablero es principalmente lo que busca, esto es algo que debe explorar seriamente.

Sí, no, te equivocas. No hay religión involucrada, simplemente hay momentos en los que una solución basada en hardware es un requisito, punto. No veo por qué necesito justificar mis requisitos, porque incluso si piensas que el requisito es una tontería, la respuesta correcta tiene valor didáctico para todos. Pero, por supuesto, hay una razón para ello, que proporcioné en una edición al final de la pregunta.
Construir un caso de seguridad para un sistema de software (como aclara la pregunta editada puede ser necesario) puede ser mucho más costoso que construir un sistema de hardware independiente simple.
Lo que digas no cambia el hecho de que tu respuesta sea incorrecta, grosera e inútil.
Interviniendo solo porque puedo. La solución "Usar un micro", aunque pertinente en muchos casos, realmente es irrelevante aquí. Después de todo, esto es un foro de electrónica y publicar respuestas sobre cómo hacerlo de forma lineal es una respuesta más instructiva. Aunque no sea por otra razón que para resaltar lo más barato y pequeño que sería usar un micro.