Simplificando muchos comparadores de ventanas


10

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áles 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 secuencia de software de lecturas de ADC está fuera de discusión.

Mi mejor solución actualmente es utilizar un conjunto de circuitos integrados de comparación e implementar un comparador de ventanas separado para cada termistor. Para optimizar la solución, puedo usar una serie de comparadores cuádruples, cada uno con una salida de drenaje abierto para poder conectarlos a 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 no hay una mejor manera, principalmente estoy tratando de optimizar el espacio de la placa. ¿Hay alguna forma creativa que conozcas? Por ejemplo, seleccione los voltajes mínimo / máximo de todos los termistores y use un comparador de ventana única (EDITAR: dos comparadores de c), 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 menciono esto como inspiración.

EDITAR: Sé que una solución basada en software sería la mejor. Es por eso que lo mencioné al principio y por adelantado para evitar que todos lo sugieran. La razón por la cual 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á allí, "solo" necesito encontrar la mejor manera de implementar la basada en hardware.


1
Puede multiplexar las entradas a un comparador de ventanas. Pero entonces necesitarías 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 resultaría en la huella más pequeña como puedo ver. Como soy un experto en hardware, lamento admitirlo, pero un uC y un pequeño programa son difíciles de superar aquí.
Bimpelrekkie

44
Si la precisión que desea no es demasiado 'ajustada', puede usar un diodo O puerta con una resistencia de extracción para el límite de la ventana alta accionado 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 ventana baja con una resistencia pull-up y diodos de polaridad invertida. El | Si bien dijiste que esto no era una solución de software, un Arduino dedicado (o simplemente un procesador de elección que realiza únicamente esta tarea) puede ser tan compacto y de bajo costo.
Russell McMahon el

1
"la secuencia de software de las lecturas de ADC está fuera de discusión". Con eso has tirado la solución más simple y pequeña.
Oldfart

1
¿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 independientemente, 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.
Olin Lathrop

2
¿Se considera un FPGA como software?
Eric Johnson

Respuestas:


11

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 necesita saber es que todos están bien; eso son 3 fichas, trabajo hecho. (74HC163, 74HC4051, comparador, más algo así como un 555 para registrarlo).

Como dice Andy, el MUX (por ejemplo, 74HC4051) tiene una resistencia de ENCENDIDO bastante baja, por lo que cada termistor se conecta a una entrada analógica, y una resistencia solitaria 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 el MCU y el software.


La fuente de excitación (resistencia) podría estar en el lado "1" del MUX (MUX de bajo ohmio) pero por lo demás +1 por golpearme.
Andy alias

@Andyaka ¡Por eso no me molesté con un esquema! Además, no puedo encontrar 74 (HCT) 4051, 74x163, 74x138 en el editor de sch en línea ... Completaré ese detalle, pero si quieres completar más, valdrá la pena un voto o dos.
Brian Drummond el

Estás en una buena situación, Brian, así que lo dejaré contigo.
Andy aka

1
De acuerdo, 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 indicaría en 1/8 del tiempo. Probablemente no sea tan importante como 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 afecta al multiplexor probablemente también podría hacerlo. Definitivamente una idea que vale la pena seguir, déjame intentar elaborar un esquema más completo y te responderé aquí.
ultimA

Bueno, si lo registra a 4 Hz y la constante de tiempo de su sistema térmico es> 2 segundos, eso es (a) OK y (b) da una tasa de parpadeo bastante prominente (tasa de zumbido, lo que sea). Conoces las características del sistema, solo puedo adivinar.
Brian Drummond el

13

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 voltaje más alta (de varias) y la ponga 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 el 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 los V1 y V2 más altos ganará la batalla para conducir 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. Tal vez estoy equivocado en esto?

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


Tuvimos aproximadamente la misma pregunta hace un tiempo, y creo que esta solución es una joya escondida.
Janka

@ Janka, ¿tal vez puedas encontrarlo y vincularlo? Me gustaría verlo.
Andy aka

+1 Me gusta esto. Tal vez 4 LM324s + un cableado o LM393 y ya está. Puede filtrar el * & * $$ para evitar falsos disparadores.
Spehro Pefhany

Tuve la impresión de que no fue hace más de un mes y tenía la palabra magnitud , pero creo que estaba equivocado: no puedo encontrarlo.
Janka

¡Hola! Gracias por su respuesta. Aunque creo que esto realmente aumenta los costos en todos los aspectos. La construcción ingenua de 8 comparadores de ventanas 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. Por lo general, la diferencia en el número de circuitos integrados reales es menor debido a los amplificadores cuádruples, pero sin embargo no es una victoria.
ultimA

3

Sugerencias para mejorar las soluciones multiplexadas para su uso como circuito de seguridad: haga que una de las entradas del multiplexor se preajuste 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 maneje el multiplexor con un contador (síncrono es el mejor) que tiene un poco más de resolución de la que necesita (y se registra dos veces más rápido): el bit de contador menos significativo genera una excelente señal de disparo para que pueda cargar el estado del comparador en un flipflop D activado por el borde después de que tuvo suficiente tiempo para asentarse, y esta señal de disparo también puede activarse de forma segura por lógica dependiendo del estado del contador a diferentes flipflops D (por ejemplo, uno para cada termistor, o uno para los termistores y uno para el self -probar canales 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 solo punto de falla, el hecho de que esté utilizando un comparador de ventanas debería evitar que un corto o abierto completo en un termopar se lea mal como un falso OK (sesgo en consecuencia).


3

Aquí hay un IC comparador de 6 ventanas y aquí hay un IC comparador de cuatro ventanas .
No 8, por desgracia.

Puede satisfacer la necesidad con 4 comparadores de drenaje abiertos LM339 de cuatro años.
Estos se pueden tener en
QFN de 1.7 mm x 1.7 mm (3 mm x 3 mm incluyendo 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 pullup de salida única.


Hola. Sí, también mencioné en la pregunta original que es posible usar matrices, lo que sin lugar a dudas reduce el recuento de CI. Supongo que la pregunta era más sobre si es posible reducir el recuento de componentes usando una arquitectura diferente que solo usando dispositivos de integración más altos. Acepté la respuesta de Brian, porque con 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 bajo número de NTC como <8, pero nada más que eso y esa solución es un claro ganador. Sin embargo, gracias (también por sus comentarios anteriores).
ultimA

2

¿Por qué tan complejo?

U2 + será max (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 está seguro de lo que quiere realmente hacer cuando se produce alguna de estas condiciones, pero conducir un transistor / FET / SCR vienen a la mente.



-2
Principalmente estoy tratando de optimizar el espacio de la placa.
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 mantenerse al día con 8 termistores. Puede crear trivialmente 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 como para ser efectivamente instantáneo.

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


66
Sí, no, te equivocas. No hay religión involucrada, simplemente hay momentos en 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 no tiene sentido, la respuesta correcta tiene valor docente para todos. Pero, por supuesto, hay una razón para ello, que he proporcionado en una edición al final de la pregunta.
ultimA

66
Construir un caso de seguridad para un sistema de software (como la pregunta editada puede ser necesaria) puede ser mucho más costoso que construir un sistema de hardware simple e independiente.
Brian Drummond el

3
Lo que diga no cambia el hecho de que su respuesta sea incorrecta, grosera e inútil
MCG

3
Entrando solo porque puedo. La solución "Usar un micro", aunque pertinente en muchos casos, es realmente irrelevante aquí. Después de todo, este es un foro de electrónica y publicar respuestas sobre cómo hacerlo de forma lineal es una respuesta más instructiva. Si no fuera por otra razón que resaltar cuánto más barato y más pequeño sería usar un micro.
Trevor_G
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.