Test de déverminage pour l'électronique : guide complet
Le test de déverminage (burn-in) fait fonctionner les produits sous contrainte pendant une période prolongée pour détecter les défaillances de mortalité infantile avant qu'elles n'atteignent les clients. C'est l'équivalent matériel de « laissez tourner toute la nuit et voyez si ça plante ». TofuPilot suit les résultats de déverminage aux côtés de vos autres tests de production pour une traçabilité complète des unités.
Qu'est-ce que le test de déverminage
La courbe en baignoire décrit les taux de défaillance électronique dans le temps :
- Mortalité infantile (début de vie) : taux de défaillance élevé, décroissant. Causée par les défauts de fabrication, les joints de soudure faibles, les composants marginaux.
- Vie utile : taux de défaillance faible et constant.
- Usure : taux de défaillance croissant en fin de vie.
Le déverminage cible la région de mortalité infantile. En faisant fonctionner le produit sous contrainte pendant des heures ou des jours, vous accélérez le processus de vieillissement et forcez les unités faibles à défaillir en usine plutôt que sur le terrain.
Paramètres de déverminage
| Paramètre | Plage typique | Objectif |
|---|---|---|
| Température | 55-85°C (élevée) | Accélérer les défaillances activées thermiquement |
| Tension | 10-20% au-dessus du nominal | Contraindre l'alimentation et les régulateurs |
| Durée | 24-168 heures | Temps suffisant pour que les unités faibles défaillent |
| Intervalle de surveillance | Toutes les 1-4 heures | Détecter les défaillances au moment où elles surviennent |
| Vérification fonctionnelle | Avant et après, plus périodique | Vérifier que l'unité fonctionne toujours |
Mise en place du déverminage avec TofuPilot
Test fonctionnel pré-déverminage
Exécutez toujours un test fonctionnel avant le déverminage pour établir une référence.
from tofupilot import TofuPilotClient
client = TofuPilotClient()
def pre_burn_in_test(serial):
vcc = measure_voltage()
current = measure_current()
temp = measure_temperature()
client.create_run(
procedure_id="BURN-IN-PRE-CHECK",
unit_under_test={"serial_number": serial},
run_passed=True,
steps=[{
"name": "Pre-Burn-In Baseline",
"step_type": "measurement",
"status": True,
"measurements": [
{"name": "vcc_3v3", "value": vcc, "unit": "V", "limit_low": 3.25, "limit_high": 3.35},
{"name": "current_ma", "value": current * 1000, "unit": "mA", "limit_low": 30, "limit_high": 60},
{"name": "board_temp_c", "value": temp, "unit": "°C"},
],
}],
)Surveillance périodique pendant le déverminage
Enregistrez les mesures à intervalles réguliers pendant la période de déverminage.
import time
def burn_in_monitor(serial, duration_hours=48, check_interval_hours=4):
checks = int(duration_hours / check_interval_hours)
for check in range(1, checks + 1):
elapsed = check * check_interval_hours
# Mesurer sans retirer l'unité de la chambre de déverminage
vcc = measure_voltage()
current = measure_current()
temp = measure_temperature()
passed = 3.20 <= vcc <= 3.40 and current * 1000 <= 80
client.create_run(
procedure_id="BURN-IN-MONITOR",
unit_under_test={"serial_number": serial},
run_passed=passed,
steps=[{
"name": f"Hour {elapsed} Check",
"step_type": "measurement",
"status": passed,
"measurements": [
{"name": "hours_elapsed", "value": elapsed, "unit": "h"},
{"name": "vcc_3v3", "value": vcc, "unit": "V", "limit_low": 3.20, "limit_high": 3.40},
{"name": "current_ma", "value": current * 1000, "unit": "mA", "limit_high": 80},
{"name": "chamber_temp_c", "value": temp, "unit": "°C"},
],
}],
)
if not passed:
print(f"ÉCHEC à l'heure {elapsed} : {serial}")
return False
time.sleep(check_interval_hours * 3600)
return TrueTest fonctionnel post-déverminage
Après le déverminage, exécutez le même test fonctionnel qu'avant. Comparez les mesures pré et post.
def post_burn_in_test(serial):
vcc = measure_voltage()
current = measure_current()
client.create_run(
procedure_id="BURN-IN-POST-CHECK",
unit_under_test={"serial_number": serial},
run_passed=True,
steps=[{
"name": "Post-Burn-In Verification",
"step_type": "measurement",
"status": True,
"measurements": [
{"name": "vcc_3v3", "value": vcc, "unit": "V", "limit_low": 3.25, "limit_high": 3.35},
{"name": "current_ma", "value": current * 1000, "unit": "mA", "limit_low": 30, "limit_high": 60},
],
}],
)Analyser les données de déverminage
Comparaison pré vs. post
TofuPilot vous permet de comparer les mesures pré-déverminage et post-déverminage pour la même unité. Recherchez :
| Changement | Ce que cela signifie |
|---|---|
| Aucun changement | L'unité est stable, déverminage réussi |
| Faible décalage (< 1%) | Vieillissement thermique normal, acceptable |
| Décalage important (> 5%) | Dégradation de composant, à investiguer |
| Défaillance pendant le déverminage | Défaut de mortalité infantile détecté |
Suivi du taux de défaillance au déverminage
Suivez le pourcentage d'unités qui échouent pendant le déverminage dans le temps.
| Mois | Unités déverminage | Défaillances | Taux de défaillance |
|---|---|---|---|
| Jan | 1 000 | 8 | 0,8% |
| Fév | 1 200 | 12 | 1,0% |
| Mar | 1 100 | 25 | 2,3% |
Si le taux de défaillance au déverminage augmente, quelque chose a changé dans votre processus de fabrication. Le déverminage fait son travail en détectant ces défauts, mais vous devez trouver et corriger la cause racine.
Quand omettre le déverminage
Le déverminage coûte du temps et de l'argent. Tous les produits n'en ont pas besoin.
| Facteur | Déverminage recommandé | Déverminage optionnel |
|---|---|---|
| Produit critique pour la sécurité | Oui | |
| Coût élevé de défaillance terrain | Oui | |
| Processus mature à haut rendement | Oui | |
| Électronique grand public (sensible au coût) | Oui | |
| Médical/aérospatial/défense | Oui |
Utilisez les données TofuPilot pour prendre cette décision. Si le déverminage détecte 2% des unités et qu'une défaillance terrain coûte 5 000 $ par incident, le déverminage est rentable. S'il détecte 0,01% et qu'une défaillance terrain coûte 50 $, il ne l'est pas.
Surveillance du rack de déverminage
Pour le déverminage en grand volume, vous pouvez avoir des racks avec des dizaines d'unités en déverminage simultanément. Surveillez-les tous via TofuPilot.
Chaque emplacement du rack envoie des mesures périodiques. Le tableau de bord affiche :
- Quels emplacements contiennent actuellement des unités
- Température et consommation électrique actuelles par emplacement
- Les défaillances survenues pendant la période de déverminage
- Le rendement historique du déverminage par position de rack (détecte les problèmes spécifiques au rack comme les mauvaises connexions d'alimentation)
Si la position 12 du rack a un taux de défaillance plus élevé que les autres positions, c'est le rack qui a besoin de maintenance, pas le produit.