¿El diseño del circuito basado en los valores mínimo / máximo es una buena práctica?

32

Una y otra vez estoy discutiendo con un colega mío sobre la pregunta anterior. Cuando diseño un circuito para producción en masa (> 10k / a), quiero hacerlo robusto frente a todas las variaciones posibles de los parámetros de los componentes que conozco. Esto significa, por ejemplo:

  • Parámetros BJT como VBE, ganancia actual, etc. vs. sesgo y temperatura
  • Tolerancias, dependencias de temperatura, envejecimiento y soldadura deriva de pasivos
  • Vida útil de los componentes

Además, considero inaceptable cualquier violación de las calificaciones máximas absolutas en condiciones normales de funcionamiento.

Como entiendo a mi colega, él considera que es un negocio inútil preocuparse por los parásitos y cosas por el estilo. Solo ponlo todo junto y prueba si funciona, eso es todo. Pon algunas piezas en la cámara de calor, envejécelas y si aún funcionan después, habrás terminado. Tiene más experiencia en diseño de electrónica comercial que yo, pero realmente no me gusta ese enfoque. Estoy convencido de que, como ingeniero, debería haber pensado en cualquier parte de un circuito antes de construirlo por primera vez.

¿Mi enfoque es simplemente un perfeccionismo enfermo o es algo razonable? Ya he descubierto que a muchos diseñadores electrónicos no les importa el diseño robusto ...

    
pregunta christoph

7 respuestas

49

La ingeniería no solo se trata de crear diseños robustos, sino de crear un diseño que cumpla con algunas especificaciones. Por lo general, los diseñadores jóvenes no entienden completamente que los factores económicos son parte de la especificación . El problema es que a veces esos factores económicos no están bien especificados (lo que a menudo es culpa de la gerencia), pero se espera que un buen diseñador considere también aspectos no estrictamente técnicos en sus diseños, como:

  • Costes relacionados con la lista de materiales: ¿a quién le importa si el 1% de las unidades falla en el campo si es más económico enviar una nueva al cliente en lugar de hacer que todas sean más confiables?

  • Tiempo de comercialización: a quién le importa si las unidades son más confiables si nuestros competidores envían sus cosas con un mes de anticipación.

  • Obsolescencia programada: (triste y no respetuosa con el medio ambiente, pero normalmente es así): ¿por qué deberíamos enviar unidades que pueden durar 20 años si las comercializamos para poder trabajar? para 5 (e hicimos un precio más bajo por eso)?!?

  • etc.

Todo esto depende del campo al que se dirige el diseño que está creando, por supuesto. Si apunta a un mercado en el que una sola falla podría costar vidas (digamos un desfibrilador nuevo), aplicará más márgenes de seguridad a su diseño (y se verá obligado a hacerlo, en algunos casos, por los estándares de seguridad obligatorios). / p>

Las especificaciones más estrictas son buenas si, por ejemplo, estás diseñando una placa de misión crítica para una sonda espacial para una misión de ~ 1G $ a Pluto. En ese caso, realmente querrá prever lo imprevisible y probar cualquier pequeña cosa que pueda salir mal. ¡Pero esto está compensado, económicamente, por el riesgo de ser demandado (o despedido) por la NASA porque su código de MCU de mierda hizo que toda la misión fuera mal!

Para recapitular, los diseñadores experimentados de éxito saben cómo gestionar todos estos factores económicos. Por supuesto, algunos de ellos son realmente inteligentes y realmente entienden todos los delicados equilibrios necesarios para que un proyecto sea exitoso (ya sea el nuevo iMostUselessMuchHypedphone de Apple o los mejores instrumentos para detectar bacterias en un cometa). Algunos, increíbles pero verdaderos, tienen suerte y encuentran el nicho correcto donde "¿Funciona el prototipo después de haber sido maltratado un poco? ¡De acuerdo! ¡Vamos a enviarlo!" mantra funciona bien!

Por cierto, un buen diseñador siempre debe tener cuidado con los requisitos que se le dan. A veces las personas que te dan las especificaciones realmente no saben lo que quieren o necesitan. Incluso la comunicación entre el diseñador y el cliente (o la gerencia) podría ser engañosa. Por ejemplo, si un cliente solicita una estación barométrica que se pueda controlar de forma remota que pueda funcionar bien durante el invierno, ¡ importa si es de Alaska o de Arabia Saudita! Un buen diseñador debe elaborar las especificaciones con el cliente, si está en condiciones de hacerlo, y un diseñador exitoso generalmente puede hacer las preguntas correctas para concretar las especificaciones reales del diseño para hacer el cliente contento.

Puedo entender que para algunos ingenieros es obligatorio trabajar en todos los detalles, especialmente para algunas personas apasionadas que realmente aman crear cosas que funcionan bien. No es un error en sí mismo, pero es importante comprender que la capacidad de hacer concesiones es parte de la ingeniería. Con la experiencia, esta habilidad mejorará, especialmente si trabajas con buenos diseñadores senior.

También podría descubrir que trabaja para un empleador con estándares demasiado bajos para su gusto y esto podría empujarlo a buscar otro trabajo. Pero esto se debe hacer después de obtener un poco más de experiencia, aprender algunos trucos del oficio y hacer que sea más "apetecible" para un mejor empleador.

    
respondido por el Lorenzo Donati
20

Estoy contigo 100%. Dicho esto, hay cosas (por ejemplo, hFE) en las que tienes que confiar en que las cosas no van demasiado mal entre (por ejemplo) dos puntos garantizados y que nada en la física y en las curvas típicas sugeriría algún tipo de comportamiento extraño.

Si utiliza un enfoque de corte y prueba, lo que en realidad puede ser la forma práctica de lidiar con parásitos complejos, por lo menos descubra qué tan lejos del desastre puede estar al evaluar los límites o el margen de fase, etc. Eso también es un trabajo , y eso está bien.

El problema con el enfoque caótico es que si no sabe algo como el envejecimiento del optoacoplador o ciertos tipos de deriva u otros efectos a largo plazo y comienza a tener un 10% de fallas de campo después de un año o dos. O terminas con un 5% o 10% de fallidos porque algunos componentes son más típicos que otros, y el 5-10% de los no fallidos fallan más adelante en el campo en condiciones difíciles de reproducir.

Todavía no me he quemado por el riesgo que he tomado con ambos ojos abiertos: evaluados, probados y revisados, incluso si la pieza estaba fuera de sus condiciones operativas recomendadas o uso previsto. Siempre es algo que no fue considerado y salió del jardín izquierdo. Pensar en todas las cosas que pueden salir mal es cómo minimizar esos problemas. Incluso si no son "tu culpa". Algunas de ellas son cosas a nivel de sistemas que no tienen nada que ver directamente con el diseño. Por ejemplo, una fuente de alimentación que se enciende y apaga 5x en 2 segundos no debe fallar, pero puede que no esté en las especificaciones, por lo que es posible que no esté diseñada o probada.

Violar las calificaciones máximas absolutas es casi siempre una mala idea realmente , incluso en los rincones más alejados del espacio de diseño (temperatura ambiente máxima, carga máxima, voltaje de entrada máximo, ventilación mínima, etc.). Puede haber algunos casos extraños donde se pueda justificar. Algunos productos solo tienen que funcionar una vez, por ejemplo.

Para el enfoque opuesto, consulte Muntzing . La venta de condensadores de bypass seguramente se desplomaría si esa práctica fuera aceptada.

    
respondido por el Spehro Pefhany
10

Haré un análisis de los peores casos de circuitos donde los valores de los componentes pueden tener un efecto significativo en el rendimiento del circuito; por ejemplo, la ganancia de un amplificador operacional donde esa ganancia es importante para el siguiente circuito conectado a la salida del amplificador operacional. Y haré el mismo análisis para una fuente de alimentación de conmutación, por lo que puedo esperar que los voltajes estén dentro de los límites esperados. (Al ser principalmente un diseñador digital, los amplificadores operacionales y las fuentes de alimentación son casi el límite de mi experiencia analógica). LTSpice se puede usar para llevar a cabo dicho análisis. Pero no me importa la tolerancia de una resistencia de pull-up, por ejemplo; no se puede esperar que varíe lo suficiente para hacer una diferencia.

Aunque no se menciona en la pregunta, este tipo de análisis a veces también es importante para los diseños digitales. Las hojas de datos para la mayoría de los circuitos integrados digitales incluyen tiempos mínimos y máximos para varios parámetros, como los tiempos de configuración y de espera. Cuando se combinan varios IC juntos, a veces las variaciones de tiempo en otros chips, incluidos los retrasos de propagación, causarán problemas para cumplir con estos requisitos de tiempo. En particular, me he encontrado con problemas como este al interactuar con los recuerdos.

Con respecto al tema de la obsolescencia planificada, esto a veces es necesario por razones económicas. Por ejemplo, una batería Li-Poly puede tener una vida útil prevista de solo tres o cuatro años. ¿Proporciona una manera para que el cliente cambie la batería? O lo guardas en un estuche cerrado, como lo hace Apple con sus iPhones, donde la batería solo se puede cambiar en una de sus tiendas (a menos que el cliente haya comprado una herramienta secreta y siga un video en YouTube).

Otro ejemplo es un modem celular. Hace un par de años, al trabajar en un proyecto utilizando un módem celular solo para la transmisión de datos, se tomó la decisión de utilizar un módem 2G en lugar de 3G, aunque sabíamos que el 2G se eliminaría gradualmente. La razón fue que el módem 2G costó la mitad del precio del 3G. Encontramos un proveedor que prometía que 2G estaría disponible para la vida útil esperada del dispositivo.

    
respondido por el tcrosley
9

Creo que la estrategia que es mejor seguir depende del tipo de producto que estés diseñando. Si es algo simple y no crítico, solo una implementación de un circuito en la hoja de datos de un IC. Entonces, probablemente, el enfoque de su colega es lo suficientemente bueno. Se garantiza que el IC y otros componentes funcionan sobre lo que se especifica. No hay mucha necesidad de un cheque extra.

Pero si (por ejemplo) estás diseñando una referencia de voltaje muy precisa sin utilizar un IC, las cosas que mencionas serán más importantes ya que las variaciones influirán en el rendimiento.

Pero si diseñas de forma "inteligente", puedes compensar muchas cosas. Por ejemplo, el VBE de un BJT, en el diseño de IC, usamos el espejo actual en todas partes, ya que los transistores de entrada y salida se hacen en el mismo paso de fabricación, son casi idénticos y las diferencias en VBE no importan mucho. En un diseño discreto (fuera de chip), puede usar un opamp para hacer un espejo de corriente precisa. Simplemente use resistencias precisas y un opamp de desviación baja, por ejemplo. Un espejo de corriente se puede hacer más preciso mediante el uso de resistencias de emisor, por ejemplo, o una implementación del circuito de compensación de corriente de base.

Con la experiencia, puedes reconocer las partes críticas de las menos críticas. Pero si no lo sabes (sin experiencia), investigar la sensibilidad a las variaciones ahora te dará una idea.

Creo que el truco es mantener una actitud práctica y poner las variaciones en perspectiva: ¿qué importa, qué no? ¿Dónde necesito una investigación completa y dónde no se necesita?

    
respondido por el Bimpelrekkie
2

Depende de qué tan robusto necesites que sea el diseño.

La ingeniería tiene que ver con compensaciones. Si desea que el diseño sea lo más robusto posible, entonces su enfoque es correcto.

Iría aún más lejos y aplicaría un factor de fudge más allá de los valores mínimo / máximo de la hoja de datos, a menos que sepa mucho sobre cómo llegó el fabricante a esos valores.

Pero hacer eso tiene un costo: en dinero, en un esfuerzo que podría dedicarse a otras cosas, en el tiempo de comercialización. No todos los diseños tienen que ser tan robustos.

Si está diseñando una bomba atómica (y quiere estar realmente seguro de que no se dispara por accidente), o un desfibrilador cardíaco o una sonda espacial, probablemente valga la pena asumir esos costos.

Si estás diseñando un juguete tamagouchi que se venderá por $ 5, probablemente no.

Hasta cierto punto, su colega tiene razón: para muchos propósitos, un diseño conservador que apunte al rango medio de parámetros funcionará bien el 99.99% del tiempo sin la necesidad de un análisis y pruebas exhaustivos.

Si el fallo en el 0.01% de los casos es aceptable, entonces está bien. De verdad.

Debe evaluar la compensación entre el costo de la optimización del diseño y lo que obtiene a cambio de ello.

    
respondido por el nerdfever.com
1

Todas las respuestas que has recibido son muy buenas. Sin embargo, hay otro aspecto que siento que no se ha abordado. Tu y la reputación de tu empresa . En mi caso, preferiría "errar" del lado de "robustez". La razón es que obtendría una reputación por diseñar circuitos que funcionen de manera confiable en diferentes condiciones, y mi compañía obtendría una reputación por proporcionar productos confiables. Todas las (más) otras consideraciones, las dejaría a mi gerente / supervisor.
Si mi diseño es demasiado costoso, o va a tomar demasiado tiempo construirlo y probarlo, permitiría que mi gerente me "rechace" y me diga que modifique el diseño para que cueste menos o se haga más rápido, etc. Por lo tanto, sí usar valores mínimos / máximos es una buena práctica

    
respondido por el Guill
0

Diseñar un dispositivo que funcione si los componentes tienen una combinación de comportamientos permitidos por su hoja de datos es una buena práctica cuando es práctico. Desafortunadamente, muchas hojas de datos no especifican los comportamientos de los dispositivos con detalles suficientes para que sean factibles.

Como ejemplo simple, supongamos que uno toma un 74HC374 y conecta las salidas Q0-Q5 directamente a las entradas D2-D7, con el fin de utilizarlo como un registro de desplazamiento de 2x4 bits. Tales diseños son comunes y funcionan bien en la práctica. Sin embargo, una hoja de datos típica especificará que un dispositivo tiene un tiempo de propagación mínimo de 0 ns (lo que significa que la salida podría cambiar instantáneamente en respuesta al borde del reloj) y un tiempo de espera mínimo de 2 ns (lo que significa que el comportamiento del dispositivo no está garantizado si los cambios de entrada dentro de 2 ns de un borde del reloj). En la práctica, es poco probable que un dispositivo para el que cualquier entrada funcione mal si cambia 2 ns después de que un borde del reloj tenga salidas que cambien más rápido que eso, pero nada en la hoja de datos lo garantiza. En teoría, se podría garantizar un comportamiento correcto del circuito agregando un circuito de retardo RC en cada salida antes de que se devuelva a la siguiente entrada, pero en la práctica tales cosas casi nunca se hacen cuando las salidas de una parte regresan a otras entradas de la misma parte que son operados por el mismo reloj.

No estoy seguro de que exista alguna razón en particular por la que los fabricantes generalmente no proporcionen la información suficiente para garantizar el comportamiento correcto del dispositivo (por ejemplo, especificando que el tiempo de propagación más rápido de cualquier dispositivo en un lote, medido desde cuando el reloj sube por encima de VIL , excederá al menos __ns más que el tiempo de espera del dispositivo más lento en el lote, medido desde cuando el reloj se eleva por encima del VIH), pero generalmente no lo hacen; Si bien sería posible agregar circuitos adicionales para garantizar un comportamiento correcto en todas las combinaciones de parámetros, hacerlo a veces puede duplicar el costo de los circuitos involucrados.

    
respondido por el supercat

Lea otras preguntas en las etiquetas