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

33

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 parámetros de componentes que conozco. Esto significa por ejemplo:

  • Parámetros BJT como VBE, ganancia de corriente, etc. frente a polarización y temperatura
  • Tolerancias, dependencias de temperatura, envejecimiento y deriva de soldadura de pasivos
  • Vida útil de los componentes.

Además, considero que cualquier violación de las clasificaciones máximas absolutas en condiciones normales de operación es inaceptable.

Según tengo entendido, mi colega considera que es un negocio inútil preocuparse por los parásitos y cosas por el estilo. Simplemente póngalo todo junto e intente si funciona, eso es todo. Coloque algunas piezas en la cámara de calor, envejezca y si aún funcionan después, ya ha terminado. Tiene más experiencia en el diseño de productos electrónicos comerciales 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 perfeccionismo enfermo o tiene algo razonable? Ya he descubierto que a muchos diseñadores electrónicos no les importa el diseño robusto ...

christoph
fuente

Respuestas:

49

La ingeniería no se trata solo 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 (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, tales como:

  • Costos relacionados con la lista de materiales: a quién le importa si el 1% de las unidades fallan 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 planificada: (triste, y no es amigable con el medio ambiente, pero generalmente es así): ¿por qué deberíamos enviar unidades que pueden durar 20 años si las comercializamos para poder trabajar por 5 (y obtuvimos un precio más bajo punto para eso)?!?

  • etc.

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

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

En resumen, los diseñadores exitosos y experimentados saben cómo manejar todos estos factores económicos. Por supuesto, algunos de ellos son realmente inteligentes y realmente comprenden todos los delicados equilibrios necesarios para llevar un proyecto al éxito (ya sea el nuevo Apple iMostUselessMuchHypedphone o los mejores instrumentos para detectar bacterias en un cometa). Algunos otros, increíbles pero verdaderos, son afortunados y encuentran el nicho correcto donde "¿Funciona el prototipo después de haber sido maltratado un poco? ¡Ok! ¡Vamos a enviarlo!" mantra funciona bien!

Por cierto, un buen diseñador siempre debe desconfiar de los requisitos que se le dan. A veces las personas que le 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 pide una estación barométrica remotamente controlable que puede funcionar bien durante el invierno, que hace importa si él es de Alaska o de Arabia Saudita! Un buen diseñador debe resolver 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 feliz al cliente.

Puedo entender que para algunos ingenieros es convincente resolver todos los detalles, especialmente para algunas personas apasionadas que realmente adoran crear cosas que funcionen 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 experiencia, esta capacidad mejorará, especialmente si trabaja junto 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 debe hacerse después de obtener un poco más de experiencia y aprender algunos trucos del oficio y hacerlo más "apetitoso" para un mejor empleador.

Lorenzo Donati apoya a Monica
fuente
55
+1: 'bueno', 'malo', 'mejor' etc. siempre debe entenderse en un contexto. El primer paso de la ingeniería es identificar (¡a veces cuantificar!) El contexto, que a menudo es mucho más amplio que solo las especificaciones explícitas. Solo después de eso puede comenzar la verdadera diversión.
Wouter van Ooijen
Muy buen analisis. +1
MathieuL
De hecho, trabajo en una empresa bastante joven con un solo diseñador electrónico que tiene más de 10 años de experiencia laboral. Y estamos buscando desesperadamente un ingeniero senior durante meses y ni siquiera tenemos aplicaciones significativas. ¡Esos tipos son realmente difíciles de encontrar! Por cierto, ¿hay algún libro que enseñe cómo hacer buenos circuitos (pautas para un joven ingeniero)?
christoph
1
Vea esta respuesta mía para un libro imprescindible para diseñadores de EE (Art Of Electronics 3rd ed.). También hay Seekrets analógicos que están disponibles en PDF de forma gratuita .
Lorenzo Donati apoya a Mónica el
Sí, preordené "The Art Of Electronics" antes de su lanzamiento, pero mi esposa solo me dejaba leerlo en el trabajo;). Gracias por las otras referencias!
christoph
20

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

Si utiliza un enfoque de cortar y probar, que en realidad puede ser la forma práctica de tratar con parásitos complejos, por ejemplo, descubra qué tan lejos del desastre puede estar probando los límites o el margen de fase, etc. Eso también funciona, y eso es bueno.

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

Todavía tengo que quemarme por un riesgo que he asumido con ambos ojos abiertos: evaluado, probado y revisado, incluso si la parte estaba fuera de las condiciones de funcionamiento recomendadas o del uso previsto. Siempre es algo que no se consideró y salió del campo izquierdo. Pensar en todas las cosas que posiblemente pueden salir mal es cómo puede minimizar esos problemas. Incluso si no son 'tu culpa'. Algunos de ellos son cosas de nivel de sistema que no tienen nada que ver directamente con el diseño. Por ejemplo, una fuente de alimentación que se enciende y apaga 5 veces en 2 segundos no debería fallar, pero es posible que no esté en las especificaciones, por lo que es posible que no esté diseñada o probada.

La violación de los valores nominales máximos absolutos es casi siempre una muy mala idea, incluso en los rincones más lejanos del espacio de diseño (temperatura ambiente máxima, carga máxima, tensión de entrada máxima, mínima de ventilación, etc.). Puede haber algunos casos extraños en los que pueda justificarse. Algunos productos solo tienen que funcionar una vez, por ejemplo.

Para el enfoque opuesto, vea Muntzing . Las ventas de condensadores de derivación seguramente caerían si esa práctica fuera aceptada.

Spehro Pefhany
fuente
10

Haré un análisis del peor de los casos de los 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 conmutada para poder esperar que el voltaje esté dentro de los límites esperados. (Siendo principalmente un diseñador digital, los amplificadores operacionales y las fuentes de alimentación son el límite de mi experiencia analógica). LTSpice se puede utilizar para llevar a cabo dicho análisis. Pero no me importa la tolerancia de una resistencia pull-up, por ejemplo; no se puede esperar que varíe lo suficiente como para marcar la 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 retención. Cuando se combinan varios circuitos integrados, 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 esperada de solo tres o cuatro años. ¿Proporciona una manera para que el cliente cambie la batería? ¿O lo guarda dentro de una caja cerrada, 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 módem celular. Hace un par de años, cuando trabajaba en un proyecto que usaba un módem celular solo para la transmisión de datos, se tomó la decisión de usar un módem 2G en lugar de 3G, aunque sabíamos que 2G se eliminaría gradualmente. La razón fue que el módem 2G cuesta la mitad del precio del 3G. Encontramos un operador que prometió que 2G estaría disponible para ellos durante la vida útil esperada del dispositivo.

tcrosley
fuente
9

Creo que la mejor estrategia a seguir depende del tipo de producto que esté 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 sea lo suficientemente bueno. El IC y otros componentes están garantizados para trabajar sobre lo que se especifica. No hay mucha necesidad de un cheque extra.

Pero si (por ejemplo) está diseñando una referencia de voltaje muy precisa sin usar un IC para eso, todas las cosas que menciona se vuelven más importantes ya que las variaciones influirán en el rendimiento.

Pero si diseña de forma "inteligente", puede 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 (sin chip), podría usar un opamp para hacer un espejo actual preciso. Solo use resistencias precisas y un opamp de bajo desplazamiento, por ejemplo. Un espejo de corriente se puede hacer más preciso utilizando resistencias de emisor, por ejemplo, o una implementación de circuito de compensación de corriente base.

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

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

Bimpelrekkie
fuente
2

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

La ingeniería se trata de compensaciones. Si desea que el diseño sea lo suficientemente robusto, entonces su enfoque es correcto.

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

Pero hacerlo tiene un costo: en dinero, en un esfuerzo que podría dedicarse a otras cosas, a tiempo para el mercado. No todos los diseños deben ser tan robustos.

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

Si está 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 apunta al rango medio de parámetros funcionará bien el 99.99% del tiempo sin la necesidad de análisis y pruebas exhaustivos.

Si la falla 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.

nerdfever.com
fuente
1

Todas las respuestas que has recibido son muy buenas. Sin embargo, hay otro aspecto que creo que no se ha abordado. Tu reputación y la de tu empresa . En mi caso, preferiría "errar" del lado de la "robustez". La razón es que me ganaría una reputación por diseñar circuitos que funcionen de manera confiable en diferentes condiciones, y mi empresa obtendría una reputación por proporcionar productos confiables. Todas (la mayoría) 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, dejaría que mi gerente me rechazara y me dijera que modifique el diseño para que cueste menos o se haga antes, etc. Entonces, , usar valores min / max es una buena práctica .

Guill
fuente
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 del dispositivo con suficiente detalle para que eso sea viable.

Como un ejemplo simple, suponga que uno toma un 74HC374 y conecta las salidas Q0-Q5 directamente a las entradas D2-D7, con el propósito de usarlo 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 0ns (lo que significa que la salida podría cambiar instantáneamente en respuesta a un borde de reloj) y un tiempo de retención mínimo de 2ns (lo que significa que el comportamiento del dispositivo no está garantizado si la entrada cambia dentro de 2ns de un borde del reloj). En la práctica, un dispositivo para el cual cualquier entrada podría funcionar mal si cambia 2ns después de un borde de reloj es poco probable que tenga salidas que cambien más rápido que eso, pero nada en la hoja de datos lo garantiza. En teoría, uno podría garantizar el comportamiento correcto del circuito al agregar un circuito de retardo RC en cada salida antes de que se retroalimente a la siguiente entrada,

No estoy seguro de si hay alguna razón particular por la que los fabricantes generalmente no brindan información suficiente para garantizar el comportamiento correcto del dispositivo (por ejemplo, al especificar que el tiempo de propagación más rápido de cualquier dispositivo en un lote, medido desde que el reloj sube por encima de VIL, excederá por al menos __ns más 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 bajo todas las combinaciones de parámetros, hacerlo a veces puede duplicar el costo de los circuitos involucrados.

Super gato
fuente