Validation des tests de production à grande échelle avec TofuPilot
Faire fonctionner un test sur 10 prototypes est différent de le faire tourner sur 10 000 unités de production. À grande échelle, vous devez valider non seulement le produit, mais le processus de test lui-même. Vos limites sont-elles correctes ? Votre test est-il répétable ? Détectez-vous les vrais défauts sans créer de faux échecs ? Les analyses de TofuPilot aident à répondre à ces questions.
Ce que signifie la validation des tests de production
La validation des tests de production (PVT) répond à trois questions :
- Les limites de test sont-elles correctes ? Des limites trop serrées causent de faux échecs. Des limites trop larges laissent passer des unités défectueuses.
- Le test est-il répétable ? La même unité testée deux fois doit donner le même résultat.
- Le test est-il efficace ? Détecte-t-il les défauts qu'il est censé détecter ?
Étape 1 : Analyser les distributions de mesures
Après avoir exécuté votre test sur les 100 à 200 premières unités de production, analysez les distributions de mesures dans TofuPilot.
import numpy as np
from tofupilot import TofuPilotClient
client = TofuPilotClient()
runs = client.get_runs(
procedure_id="FINAL-FUNCTIONAL-V3",
limit=200,
)
# Extraire les valeurs de mesure
vcc_values = []
for run in runs:
for step in run.get("steps", []):
for m in step.get("measurements", []):
if m["name"] == "vcc_3v3":
vcc_values.append(m["value"])
values = np.array(vcc_values)
print(f"N: {len(values)}")
print(f"Moyenne: {np.mean(values):.4f} V")
print(f"Écart-type: {np.std(values, ddof=1):.4f} V")
print(f"Min: {np.min(values):.4f} V")
print(f"Max: {np.max(values):.4f} V")
print(f"Étendue: {np.max(values) - np.min(values):.4f} V")Ce qu'il faut observer :
| Observation | Action |
|---|---|
| Distribution centrée dans les limites, Cpk > 1,33 | Les limites sont bien définies |
| Distribution asymétrique vers une limite | Enquêter sur le biais du procédé |
| Distribution plus large que prévu | Resserrer le procédé ou élargir les limites |
| Valeurs aberrantes au-delà de 3 sigma | Examiner ces unités spécifiques |
| Distribution bimodale | Deux populations, probablement des lots mélangés |
Étape 2 : Calculer la capabilité du procédé
Le Cpk indique dans quelle mesure votre procédé s'inscrit dans les limites de test. TofuPilot fournit les données de mesure ; vous calculez le Cpk.
import numpy as np
def calculate_cpk(values, lsl, usl):
mean = np.mean(values)
std = np.std(values, ddof=1)
cpu = (usl - mean) / (3 * std)
cpl = (mean - lsl) / (3 * std)
cpk = min(cpu, cpl)
return cpk, mean, std
# Données issues de TofuPilot
vcc_values = [3.30, 3.31, 3.29, 3.32, 3.30, 3.31, 3.29, 3.30, 3.33, 3.31]
lsl, usl = 3.25, 3.35
cpk, mean, std = calculate_cpk(vcc_values, lsl, usl)
print(f"Cpk : {cpk:.2f}")
print(f"Moyenne : {mean:.3f} V")
print(f"Écart-type : {std:.4f} V")
if cpk >= 1.67:
print("Excellente capabilité du procédé")
elif cpk >= 1.33:
print("Capabilité du procédé acceptable")
elif cpk >= 1.0:
print("Marginale. Envisager de resserrer le procédé ou d'élargir les limites")
else:
print("Capabilité insuffisante. Action requise")| Cpk | Signification | DPMO (approx.) |
|---|---|---|
| 2,0 | Excellent | 0,002 |
| 1,67 | Très bon | 0,6 |
| 1,33 | Bon | 63 |
| 1,0 | Marginal | 2 700 |
| 0,67 | Insuffisant | 45 500 |
Étape 3 : Valider la répétabilité du test (R&R de jauge)
Testez la même unité plusieurs fois pour mesurer la répétabilité de votre système de test.
from tofupilot import TofuPilotClient
client = TofuPilotClient()
# Tester la même unité 30 fois
serial = "GRR-GOLDEN-001"
for i in range(30):
vcc = measure_voltage()
client.create_run(
procedure_id="GRR-FUNCTIONAL-V3",
unit_under_test={"serial_number": serial},
run_passed=True,
steps=[{
"name": "Power Rail",
"step_type": "measurement",
"status": True,
"measurements": [{
"name": "vcc_3v3",
"value": vcc,
"unit": "V",
"limit_low": 3.25,
"limit_high": 3.35,
}],
}],
)Après 30 tests, analysez la dispersion dans TofuPilot :
| Métrique | Objectif | Signification |
|---|---|---|
| R&R % de la tolérance | < 10 % | Excellent système de mesure |
| R&R % de la tolérance | 10-30 % | Acceptable, à surveiller |
| R&R % de la tolérance | > 30 % | Le système de mesure doit être amélioré |
Si la mesure de votre test varie de 0,04 V sur la même unité et que votre tolérance est de 0,10 V, cela représente 40 % de R&R. Votre test est trop bruité pour distinguer de manière fiable les bonnes unités des mauvaises.
Étape 4 : Optimiser les limites de test
Utilisez les données de production pour optimiser les limites. L'objectif : détecter les vrais défauts sans rejeter les bonnes unités.
Resserrer les limites
Si le Cpk > 2,0 et que vous n'observez aucun faux échec, vos limites sont peut-être trop larges. Des limites plus serrées détectent les unités marginales avant qu'elles ne deviennent des défaillances terrain.
Élargir les limites
Si le Cpk < 1,0 et que vous observez des faux échecs (des unités qui échouent au test mais fonctionnent parfaitement sur le terrain), vos limites sont trop serrées pour la capabilité actuelle de votre procédé.
Limites dynamiques
Certaines équipes utilisent les données TofuPilot pour définir les limites en fonction de la distribution de production :
# Calculer les limites à partir des données de production
mean = 3.310
std = 0.015
# Limites à 4 sigma pour un Cpk = 1,33
dynamic_low = mean - 4 * std # 3.250
dynamic_high = mean + 4 * std # 3.370Étape 5 : Surveiller à grande échelle
Une fois votre test validé, surveillez-le en continu. La montée en charge introduit de nouvelles variables :
- Différents opérateurs
- Différents lots de composants au fil des mois
- Usure des fixtures sur des milliers de cycles
- Changements environnementaux (saison, humidité)
- Dérive de calibration des équipements
Les tableaux de bord de tendances de TofuPilot font remonter ces changements. Mettez en place une surveillance pour :
- Tendance du FPY : Détecter les baisses de rendement en quelques heures
- Tendance du Cpk : Détecter la dégradation de la capabilité du procédé en quelques jours
- Décalage de la moyenne des mesures : Détecter la dérive avant qu'elle ne cause des défaillances
- Changements du Pareto des défaillances : Détecter les nouveaux modes de défaillance précocement
Liste de contrôle de validation
Avant d'approuver un test pour la production en volume :
- Les distributions de mesures sont normales (ou de forme attendue)
- Cpk > 1,33 pour toutes les mesures critiques
- R&R < 30 % pour toutes les mesures
- Aucun faux échec sur les 200 dernières unités
- Le test détecte les modes de défaut connus (vérifié avec des unités défectueuses connues)
- Le temps de cycle du test respecte les exigences de débit
- Toutes les stations produisent des résultats équivalents (corrélation inter-stations)