FMDS/RAMS
29/11/2023

Fiabilité d’un Produit : Méthodes Simples

La Fiabilité : définition, explication et exemple. Dit « Reliability » en Anglais, ce concept est souvent associé à la Maintenabilité et la Disponibilité. Comment rendre un Système fiable ?

Définition

La Fiabilité d’un Système correspond à son fonctionnement correct pendant toute sa durée de vie attendue, et sous toutes les conditions rencontrées sur le terrain.

C'est le "F" de FMDS (ou le R de RAMS, en Anglais).

Pour être fiable, un Système doit être robuste aux environnements qu’il rencontre, à sa charge opérationnelle, et à ses détériorations internes.

On associe souvent une notion de probabilité à la Fiabilité : la probabilité que le Système délivre ses fonctions pendant X années dans tels environnements et à telles charges de travail.

Exemple :

  • Un dispositif médical faisant un séjour dans l’estomac d’un patient doit résister à l’attaque chimique de l’acide gastrique
  • Un pédalier de vélo doit pouvoir tenir les X milliers de coups de pédales donnés par le cycliste
  • Un circuit intégré faisant tourner du code (un processeur par exemple) au sein d’un smartphone doit pouvoir réaliser ses fonctions sans surchauffer et se dégrader prématurément
 fiabilité reliability tracteur workhorse FMDS RAMS RAM FMD
Voici un Produit qui doit fonctionner dans des conditions difficiles (intempéries, forts couples moteur, détériorations diverses)

Objectifs

Les objectifs de l’assurance Fiabilité d’un Système sont les suivants :

  • Empêcher les défaillances (en identifiant les causes et en les supprimant)
  • Réduire la probabilité des défaillances
  • Réduire les conséquences des défaillances
  • Analyser de manière quantitative les défaillances qui surviennent, pour en tirer du savoir, des méthodes et du retex (pour améliorer son produit ou la conception des suivants)

Vous noterez qu’on retrouve ici 2 des 3 considérations habituelles d’une Analyse de Risque :

  • Jouer sur la probabilité d’un risque (en diminuant la fréquence de la cause)
  • Jouer sur la gravité d’un risque (en jouant sur l’effet de la conséquence)

Comme on dit: il vaut mieux prévenir que guérir. Il est toujours très complexe et coûteux de rafistoler un Produit sur la fin de son développement pour le fiabiliser.

C15 citroen fiabilité reliability FMDS RAMS RAM FMD
Une fiabilité à toute épreuve

Association à la Disponibilité et à la Maintenabilité

On associe souvent l’idée de Fiabilité à celle de la Disponibilité et de la Maintenabilité. On parle alors de FMD (RAM – Reliability, Availability, Maintenability en Anglais). Et parfois on ajoute dans le même sac la notion de Sécurité pour parler de FMDS (RAMS).

Qu’on associe la Disponibilité et la Maintenabilité à la Fiabilité ou non, ces caractéristiques restent importantes et sont bien à considérer comme des exigences (non fonctionnelles) de notre Produit. Ainsi, les activités permettant d’assurer ces caractéristiques doivent bien être intégrées dès le début au processus Projet.

FMDS RAMS Fiabilité reliability schéma scheme FMD RAM
FMDS / RAMS

Pour cet article, nous nous focalisons sur la Fiabilité.

Comment Fiabiliser un Système qu’on est en train de concevoir ?

C'est pas sorcier Fiabilité reliability FMD RAM FMDS RAMS
Hé dis donc Jamy, c'est une bonne question ça !

Pendant les phases de Spécification, Conception, Développement, Intégration, Vérification, Validation et Qualification les activités suivantes sont nécessaires :

  • Compréhension progressive des environnements qui s’appliquent sur le Produit (Mécanique, Thermique, Chimique, Électromagnétique) et du stress induit sur ses composants
  • Compréhension progressive de la charge de travail opérationnelle de votre Produit (charge d’un processeur, chocs mécaniques provoqués par l’utilisation-même du Système etc.) et du stress induit
  • Identification progressive des modes de défaillance résultants de ces stress (via modélisation et simulations, tests en usine ou terrain, analyses écrites, analogies etc..)
  • Mitigation proactive de ces modes de défaillance (en jouant sur la probabilité des causes, ou la gravité des conséquences)

La compréhension est progressive car à mesure qu’on liste les Besoins client et qu’on définit son Système (la descente du V, si jamais vous exploitez un cycle en V), on a une idée de plus en plus claire de comment ce dernier va fonctionner et de comment le client va l’utiliser. Ainsi, les sollicitations sur le Produit et les conséquences se font de moins en moins obscures et vous devenez petit à petit capables d’identifier les éventuels problèmes et prendre des décisions sur les barrières à adopter proactivement dans votre architecture (logicielle, électroniques, mécaniques, etc.).

L’astuce est d’être rigoureux, systématique et le plus exhaustif possible à chaque étape. Le diable se cache dans les détails, et c’est la multiplication des petits oublis qui finissent par donner un Produit non fiable !

Exemple : vous développez un robot chirurgien à embarquer dans un char, capable d'opérer à cœur ouvert des soldats lors d'un roulage à pleine vitesse (soyons fous, qui peut le plus peut le moins !)

  • Vous vous dites initialement que l'environnement vibratoire à considérer pour votre robot chirurgien est le même que pour tout système embarqué militaire et vous achetez un exemplaire du standard MIL-STD-810 pour vous aider... Jusqu'à comprendre que cet environnement est certainement valable pour la base de votre robot (solidaire du châssis véhicule) mais pas spécialement pour les bras tenant les scalpels et qui se trouvent en porte-à-faux de la structure du robot (il y a une fonction de transfert à déterminer)
  • Toujours au début, vous vous dites que vous allez pouvoir intégrer votre processeur favori dans le Système. Mais toutes contraintes prise en compte par ailleurs (alimentation, coûts, ...) vous devrez finalement prendre un processeur moins performant, qui sera donc plus souvent soumis à des charge CPU importantes. Vous avez en plus peut-être sous-estimé les calculs qui se dérouleront dans ce processeur.
  • Vous vous rendez compte via simulations ou prototypages que certaines cartes électroniques dans vos bras robotisés finissent par casser en essais du fait de vibrations importantes sollicitant un mode propre dans le PCB qui finit par rompre. Du fait des calculs que le processeur doit délivrer en situation, il chauffe, et finit lui par ne plus jamais démarrer.
  • Heureusement que vous avez vu ces écueils tôt dans la conception ! Vous allez pouvoir changer le mode de fixation de vos cartes pour éviter la casse, et ré architecturer votre logiciel pour qu'il soit moins gourmand en ressources machine.
surgeon robot fiabilité reliability chirurgien FMDS RAMS RAM FMD
Attention au dos-d'âne

En quoi mon Produit et mon Projet seront impactés par les exigences de Fiabilité ?

Les activités de Fiabilité influent sur :

  • La conception du Système (on va ajouter des barrières ici et là, sous formes d'exigences supplémentaires issues de vos mitigations trouvées pour les risques identifiés)
  • Son IVVQ (Intégration, Vérification, Validation, Qualification)

En effet, l’architecture du Système et sa façon d’être vérifié doivent tenir compte des objectifs de Fiabilité. Nous sommes donc en plein dans l’Ingénierie Systèmes !

Exemple :

  • Vous définissez de nouvelles contraintes pour votre développement logiciel qui permettront d'avoir un logiciel le plus léger et efficace possible pour tourner sur votre processeur
  • Vous incluez dans vos tests d'IVVQ des scénarios particuliers censés pousser votre processeur dans ses retranchements, plusieurs heures durant.

Comment concrètement prendre en compte la Fiabilité dans sa Conception d’un Produit ?

Okay, c’est bien beau tout ça, mais je fais comment ?

Adopter une démarche d’Ingénierie Systèmes

C’est le nerf de la Guerre : une démarche claire et structurée de conception de son Système est la clé pour réussir à le développer de manière sereine et avoir à la fin un produit validé, qualifié, certifié.

cycle en v design thinking agile aurélien nardini un système sans problème FMDS RAMS RAM FMD
La méthodes d'Ingénierie Système que je propose, alliant Cycle en V, Agile et Design Thinking

Pourquoi ? Car la clarté d’esprit que cela apporte sur le Système qu’on est en train de développer (vision exhaustive des opérations, fonctions, et composants qui le constituent) permet tout de suite de repérer les éventuels futurs problèmes et ainsi intégrer dès la phase de design les solutions/contournements efficaces (et non des petites améliorations de fortune). On parle de « Design for Reliability ».

Les barrières et autres exigences qui ressortiront des mitigations de ces risques de Fiabilité deviennent donc partie intégrante de la Spécification du Produit et doivent être répondues (et vérifiées !) avec soin.

kludge car reliability fiabilité FMDS RAMS RAM FMD
Quand on fiabilise son Système uniquement sur la fin du Projet

Adopter une démarche réactive purement de type « Prototypage – Test – Correction » peut fonctionner, mais n’est pas optimale en tant que telle. Beaucoup de temps, d’argent et d’énergie seront perdus pour apporter des corrections a posteriori sur des générations successives de prototypes qui vont empiler les pansements sur jambes de bois jusqu’à devenir … Le produit final ! Par simple manque de temps sur la fin du projet.

Mieux vaut adopter une philosophie proactive.

NOTA : La démarche d’Ingénierie Systèmes que je propose (cf. plus haut) combine le meilleur des 2 mondes : philosophie proactive (on réfléchit aux exigences, on les analyse etc.) et réactive (on fait des tests de dérisquage régulièrement) !

Prototyper, modéliser

On est ici dans la philosophie « a posteriori » dont je parle plus haut. Cela dit, comme je le propose dans le Cycle en V Hybride, « a posteriori » ne veut pas forcément dire « en fin de Projet » !

A mesure que notre Produit se dessine petit a petit lors de sa conception, on peut en créer des représentations plus ou moins concrètes pour réaliser des tests et corriger le tir si problème.

cycle en v design thinking agile aurélien nardini un système sans problème dérisquage prototypage tests modélisation FMDS RAMS RAM FMD
Les petites remontées de cycle intermédiaires proposées ici sont là pour ça !

Exemple de représentations utiles de son Produit :

  • Modèles (CAO 3D, Simulink, SysML, jeux d'équations…)
  • Prototypes (impression 3D, ébauches, …, premiers de série)

Exemples de tests réalisables avec :

  • Tests en charge réels ou simulations (processeur en full capacité, pédalier mis en rotation, …)
  • Tests en environnement (CEM, Chimique…)

Exemples de résultats, et mitigations à envisager alors :

  • Le processeur galère beaucoup trop --> alléger les opérations logicielles, ou changer de modèle de processeur ? (voir mon article sur les Smart Little People pour quelques idées...)
  • Le pédalier (ou son modèle 3D) casse au bout de 60% des coups de pédale envisagés sur sa durée de vie souhaitée --> Renforcer sa structure, changer de matériau, …
  • L'électronique chauffe trop et finira par se détériorer --> positionnement de radiateurs actifs ou passifs aux endroits pertinents, ...

Le but est vraiment de tester au plus tôt son Produit vis-à-vis de sa Fiabilité, et le corriger pour supprimer ces problèmes au plus tôt.

FMDS RAMS RAM FMD test pédalier reliability fiabilité
Alors, ça tient ?

Phases IVVQ : la Qualification

L’un des juges de paix (si ce n’est LE juge de paix) pour savoir si le Produit qu’on a conçu est fiable est la campagne de Qualification réalisée en fin de Projet.

Il s’agit ici de faire subir au Produit dans sa définition finale un ensemble de tests très sollicitant, et de vérifier sa bonne marche avant, pendant et après ces tests.

NOTA : Pour la qualification, on va utiliser le Produit final. Contrairement à ce que j’évoque dans la partie « Prototyper, modéliser » plus haut.

électronique fiabilité electronics reliability FMDS RAMS RAM FMD
Tests de cartes électroniques en étuve thermique

Exemple de tests :

  • Faire fonctionner le Système « à fond » (processeur chargé au max par exemple) pendant qu’il subit vibrations et chocs mécaniques sur pot vibrant
  • Faire fonctionner le Système pendant qu’il subit des variations de températures en étuve thermique
  • Faire fonctionner le Système pendant qu’il est immergé dans l’eau
  • Faire fonctionner le Système pendant qu’il subit des agressions électrique et électromagnétiques
  • Etc.

On peut aussi avoir à qualifier son packaging, en le faisant tomber de 2m et en vérifiant le bon démarrage du Produit après déballage par exemple. Tout dépend du Projet et du périmètre de votre Système.

Mais comment vérifier que mon Système sera fiable pendant 10 ans ? Je ne vais pas le faire vibrer pendant 10 ans, si ? En effet, non, on ne va pas le faire vibrer pendant 10 ans.

Afin de réduire considérablement la durée de ces essais, on va utiliser un ensemble de lois plus ou moins empiriques telles que la Loi de Basquin.

Dans le cas des vibrations par exemple, ces lois vont vous permettre de définir la durée de test, l’amplitude et la fréquence des vibrations, à partir de la durée, l’amplitude et la fréquence des vibrations qui seront rencontrées dans la vie réelle par votre Produit. Le raisonnement est que des amplitudes plus sévères appliquées pendant 3h sur votre Produit vont être équivalentes aux amplitudes réellement subies pendant 10 ans par lui. On parle de Highly Accelerated Life Testing (HALT).

satellite test vibration reliability fiabilité FMDS RAMS RAM FMD
Un satellite s'apprête à passer un test sur pot vibrant

D’autres lois existent selon le domaine de sollicitations (thermique, mécanique,…) qui nous intéresse. Il faut aller chercher dans la littérature pour les connaître.

Rassurez-vous, si vous ne voulez pas rechercher ces lois, les comprendre et les appliquer par vous-même, il existe d’autres solutions plus efficaces :

  • Le laboratoire chez qui vous réalisez les tests devraient être capables de vous conseiller sur les tests à passer et comment les dimensionner,
  • Les textes normatifs et standards industriels peuvent vous donner directement les tests à passer

Planifier les activités de Fiabilité

Si vous voulez mettre un effort particulier sur la maîtrise de la Fiabilité de votre Produit (car il doit avoir une durée de vie particulièrement longue par exemple), alors écrire un plan spécifique en début de projet est une bonne idée.

Contenu minimum du plan :

  • Les activités de Fiabilité (quelles modélisations, quels tests de vos prototypes ou du produit final…)
  • A quel moment réaliser ces tâches
  • Pour quels objectifs
  • Les personnes ou équipes responsables de ces activités

Le texte GEIA-STD-0009 (Reliability Program Standard for Systems Design, Development and Manufacturing) peut être utilisé pour identifier les activités à faire. Et également le MIL-STD-785.

Quelques mots pour terminer

L’effort de fiabilisation d’un Produit n’est pas négligeable. Si vous vous embarquez dans cette route, il va falloir modéliser son Système, le prototyper, le tester plusieurs fois au cours de sa réalisation. Des logiciels, du matériel, du temps et des compétences dédiés seront alors nécessaires. Tout ceci aura un coût, en plus de rajouter du délai. L’ingénieur Systèmes et le Chef de Projet doivent quantifier (€) main dans la main ces travaux et décider de si le jeu en vaut la chandelle en termes de retour sur investissement. Si ce n’est pas le cas (coûts induits > gains), alors il faut adapter ces travaux de Fiabilisation pour rentrer dans les coûts.

Comme pour la Sécurité et la Sûreté, il n’y a pas d’outil magique ou de process à taille unique pour tous les Produit. Assurer la fiabilité passe par un ensemble d’activités à mener rigoureusement et au bon moment pour identifier les problèmes et les résoudre proactivement. Ces travaux doivent être facilités dans un cadre managérial adapté et conscient des enjeux.

Aurélien NARDINI

Un Système Sans Problème est une ressource de connaissances et de savoir-faire pratiques, avec exemples concrets.

Que vous soyez Chef de Programme, Chef de Projet, Architecte Système, Ingénieur, Manager dans l'Industrie, Etudiant ou Curieux de l'Ingénierie, vous êtes au bon endroit.

Au travers d'articles publiés régulièrement, découvrez ou révisez les Processus, Méthodes, Outils et Astuces utiles pour concevoir et piloter dans les domaines du Software, Firmware, de l’Électronique, et de la Mécanique.
 
Parce-qu'un produit fiable et industrialisable ne s'improvise pas !