Hay demasiados grados de libertad para comprender "todas" las posibles fallas. Sin embargo, existen técnicas para identificar y mitigar fallas al principio del ciclo de diseño (es decir, antes de la publicación general).
Actividades de tiempo de diseño (pre-hardware)
La revisión por pares siempre es una excelente manera de encontrar errores. Pídale a alguien que analice su diseño y prepárese para defenderse de sus preguntas (¡o reconozca que encontraron un error y lo arreglan!) No hay sustituto para el escrutinio, y los ojos frescos a menudo ven cosas que los cansados no pueden ver. Esto funciona tanto para hardware como para software: los esquemas se pueden revisar tan fácilmente como el código fuente.
Para el hardware, como han dicho otros, un DFMEA ( Modo de falla de diseño y análisis de efectos ) es una buena recomendación. Para cada componente, pregúntese "qué sucede si esto se corta" y "qué sucede si esto se abre en circuito abierto", y anote su análisis. Para los circuitos integrados, también imagine lo que sucede si los pines adyacentes están en cortocircuito entre sí (puentes de soldadura, etc.)
Para el firmware, se pueden usar herramientas de análisis de código estático (MISRA, lint, etc.) para revelar errores ocultos en el código. Cosas como punteros flotantes y igualdad en lugar de comparar (= vs ==) son 'oopsies' comunes que estas herramientas no se perderán.
Una teoría escrita de la operación también es muy útil, tanto para hardware como para software. Una teoría de la operación debería describir en un nivel bastante alto cómo funciona el sistema, cómo funcionan las protecciones, la secuencia, etc. Simplemente expresando cómo debe fluir la lógica a menudo lleva a uno a darse cuenta de que algunos casos pueden haberse pasado por alto ("Um, waitasec, ¿qué pasa con esta condición? ")
Prueba de nivel de prototipo
Una vez que tenga el hardware en la mano, es hora de ponerse a "trabajar".
Después de realizar todo el análisis teórico, es crucial caracterizar con precisión cómo funciona el dispositivo dentro de las especificaciones. Esto se conoce comúnmente como prueba de validación o calificación. Todos los extremos permitidos deben ser probados.
Otra actividad de calificación importante es el análisis de estrés de componentes. Cada parte se evalúa frente a su voltaje / corriente / temperatura máximos, en una condición operativa definida. Para garantizar la robustez, se debe aplicar una pauta de reducción adecuada (no exceda el 80% del voltaje, el 70% de la potencia, etc.)
Solo una vez que sepa cómo están las cosas en condiciones normales puede comenzar a especular sobre anormalidades externas o múltiples anormalidades como las que está describiendo. Una vez más, el modelo DFMEA (qué sucede si sucede X) es un buen enfoque. Piense en cualquier cosa posible que un usuario pueda hacer a la unidad: salidas cortas, unir señales, derramar agua sobre ella, pruébelas y vea qué sucede.
Una prueba HALT (prueba de vida altamente acelerada ) también es útil para este tipo de sistemas. La unidad se coloca en una cámara ambiental y se ejerce de temperatura mínima a máxima, entrada y salida mínima y máxima, con vibración. Esto encontrará todo tipo de problemas, tanto eléctricos como mecánicos.
Este también es un buen momento para hacer algunas pruebas de fuzz incrustadas : ejercite todas las entradas más allá de sus rangos esperados, envíe galimatías a través de UART / I2C, etc. para encontrar agujeros en la lógica. (Las rutinas de I2C con golpes de bits son conocidas por bloquear el bus, por ejemplo).
La prueba de conflictos es una buena manera de demostrar robustez. Desactive las funciones de protección como sobretemperatura, sobrecarga, etc. y aplique tensión hasta que algo se rompa. Lleve la unidad a la temperatura más alta posible hasta que algo falle o se produzca algún comportamiento errático. Sobrecargue la unidad hasta que falle el tren motriz. Si algún parámetro falla solo ligeramente por encima de las condiciones del peor de los casos, es una indicación de marginalidad y es posible que deba revisarse alguna consideración de diseño.
También puede adoptar el enfoque del siguiente nivel y probar físicamente algunas de sus conclusiones de DFMEA: en realidad, haga los cortos y las aperturas y los cortos y vea qué explota.
Otras lecturas
Mi experiencia es en conversión de energía. Tenemos un estándar de la industria llamado IPC-9592A que es un esfuerzo para estandarizar cómo se deben calificar los productos en términos de qué pruebas y cómo se deben hacer. Muchos de los tipos de pruebas y metodologías mencionadas en este documento podrían utilizarse fácilmente en otras disciplinas eléctricas.