Blog
Guide pratique pour prévenir les erreurs de nomenclature de circuits imprimés avant l'assemblage
En 2024, j'ai examiné 112 lots de PCBA défectueux à Nairobi, Shenzhen et Budapest. Dans 79 cas, le circuit imprimé lui-même était parfait – mais la carte est revenue avec des circuits intégrés incorrects, des composants passifs manquants ou des diodes inversées. La cause profonde ? Ni la machine de placement, ni l'opérateur.
Le fichier BOM – mal interprété, incomplet ou formaté de manière ambiguë – avait déjà condamné le tirage avant même que la première bobine ne touche le chargeur.
Une nomenclature (BOM) n’est pas simplement une liste de pièces. Il s’agit d’un contrat lisible par machine entre le concepteur, le service des achats et la chaîne de montage. Un numéro de référence (MPN) manquant, une entrée “ 10K ” ambiguë, une alternative non approuvée… et votre série de 500 unités se transforme en une leçon $12 000 sur la fragilité de la chaîne d’approvisionnement.
Ce guide révèle ce qui se passe réellement dans le MES (Manufacturing Execution System) de la ligne SMT – et comment construire des nomenclatures qui survivent aux flux de travail réels de l'EMS.
Trois mythes sur la nomenclature qui entraînent un assemblage incorrect des cartes
Si c'est dans le schéma, c'est dans la nomenclature.“
Les outils schématiques peuvent générer des nomenclateurs – mais la plupart des exportations par défaut omettent des informations critiques :
- Alternatifs approuvés (critique pour les IC à longs délais)
- Tolérance et coefficient de température des composants passifs (la différence entre 1% et 5% influe sur le rendement)
- Orientation du boîtier (par exemple, “ broche 1 en haut à gauche ” pour les boîtiers QFN)
Échec réel :
Un onduleur solaire utilisait des condensateurs de “ 10 µF ”. La nomenclature indiquait :
| Réf. Dés. | Valuer | Empreinte |
|---|---|---|
| C12 | 10 µF | 0805 |
Les condensateurs céramiques multicouches (CRSMC) de 10 µF/6,3 V/X5R, conçus pour 85 °C, ont échoué dans les appareils de terrain à une température ambiante de 58 °C.
Spécification correcte :
10 µF/25 V/X7R/±10%/125 °C
Pro Fix :
Appliquer un schéma de nomenclature de 9 colonnes – minimum pour l'EMS :
| Colonne | Requis ? | Exemple | Pourquoi cela compte |
|---|---|---|---|
| Réf. Dés. | Oui | R1, R2, C7 | Cartographie des emplacements de machines |
| Référence fabricant (#) | Critique | RC0805FR-0710KL | Élimine l'ambiguïté de “ 10K ” |
| Fabricant | Oui | Yageo, TI, Murata | Évite le risque de contrefaçon |
| Description | Oui | “ RES 10K 1% 0805 1/8W ” | Sauvegarde lisible par l'homme |
| Empreinte | Oui | 0805, SOIC-8, QFN-32 | Configuration de l'alimentation et bibliothèque de vision |
| Tolérance | Oui (passifs) | ±1%, ±5% | Performance fonctionnelle |
| Tension/Température | Oui (casquettes, diodes) | 25 V, X7R, 125°C | Fiabilité sur le terrain |
| Alternatifs approuvés | Critique | MCR0125J103, CRGCQ0805F10K | Empêche l'arrêt de la ligne |
| Notes | Optionnel | “ Bande/bobine uniquement ”, “ Sans plomb ” | Contraintes de processus |
2. “ Ne pas remplir ‘ (NPR) signifie ignorer la section’
Dans Altium/KiCad, le réglage DNP masque les composants du BOM – mais tous les outils ne gèrent pas cela de manière cohérente :
- Aigle Les pièces DNP continuent d'être exportées tout sauf si elles sont filtrées manuellement.
- OrCAD : DNP = Remplir = Non → mais l'exportation CSV peut omettre la colonne
Extrait du journal réel (ligne EMS SMT, 2025-03-12) :
[ERREUR] 14:22:07 | Chargeur #7 (C45–C58) vide - bobine non chargée
[INFO] Les références C45–C58 sont marquées DNP sur le schéma, mais elles figurent dans la nomenclature
[ARRÊT] Ligne arrêtée – vérification par l'opérateur requise
→ Retard de 47 minutes. 22 cartes retravaillées manuellement.
Pro Fix :
Filtrer explicitement le DNP dans l'exportation
- KiCad : Fichier → Sorties de fabrication → Nomenclature → [ ] “ Exclure les composants NON PRÉSENTS ”
- Altium : Rapports → Nomenclature → [x] “ Inclure uniquement les pièces renseignées ”
- Post-traitement CSV :
awk -F, '$10 != "DNP" {print}' bom.csv > bom_final.csv
3. “ Les remplaçants ne sont que des pièces de rechange ”
Les substituts ne sont pas des options supplémentaires – ils constituent une atténuation des risques. Mais les systèmes de gestion des urgences médicales les traitent différemment :
- EMS de rang 1 (Flex, Jabil) : accepte les colonnes ALT1 et ALT2
- EMS de milieu de gamme (JLCPCB, PCBWay) : exige une nomenclature séparée pour les solutions de remplacement
- Services d'urgence locaux : peut ignorer complètement les variantes → commander uniquement le MPN principal
Cas Réel :
Un capteur IoT de 2024 utilisait l'ESP32-WROOM-32U (MPN : ESP32-WROOM-32U). Le MPN principal était en rupture de stock. Les MPN alternatifs étaient :
| ALT | Part | Notes |
|---|---|---|
| ALT1 | ESP32-WROOM-32 | ⚠️ Compatible broche, mais pas d'antenne PCB – Risque de défaillance RF |
| ALT2 | ESP32-WROVER-E | ✅ Compatible broche à broche, +8 Mo de PSRAM |
Problème :
EMS a sélectionné l'ALT1 par défaut ; toutefois, en l'absence d'antenne intégrée au circuit imprimé, le capteur a présenté une défaillance RF de type 100% sur le terrain.
Pro Fix :
Encodez les règles de compatibilité dans votre nomenclature afin que le système de gestion de l'électronique (EMS) puisse afficher des avertissements avant l'assemblage. Exemple de structure CSV :
RefDes, MPN, MFG, Description, Empreinte, ALT1, ALT1_Compat
U1,ESP32-WROOM-32U,Espressif," ESP32 4 Mo de mémoire Flash, circuit imprimé avec antenne ", WROOM-32,ESP32-WROOM-32," ⚠️ SANS ANTENNE – TEST RF REQUIS "
U1,,,,,ESP32-WROVER-E," ✅ Compatible au niveau des broches, +8 Mo de PSRAM "
Explication :
- La colonne ALT1_Compat indique clairement à l'EMS quels aéroports de dégagement sont sûrs et lesquels ne le sont pas.
- Le SMA constate l'avertissement (⚠️) → L'opérateur intensifie ou effectue des tests
- Assure la maîtrise des risques et évite les défaillances de chaîne de montage.
Excel, CSV, IPC-2581 – Lequel choisir ?
| Mise en forme | Avantages | Considérez | Le meilleur pour |
|---|---|---|---|
| Excel (.xlsx) | Lisible par l'homme ; formatage enrichi | L'analyse échoue sur les caractères spéciaux (par exemple, µ, Ω) et les lignes masquées peuvent perturber les scripts. | Révision interne, remise au client |
| CSV (UTF-8) | Lisible par machine ; compatible avec le contrôle de version | Aucune unité (par exemple, 10K vs 10000) et problèmes d'encodage potentiels (Windows-1252 vs UTF-8) | Téléversement EMS, pipelines CI/CD |
| IPC-2581 nomenclature intégrée | Lié au schéma/netlist ; métadonnées complètes | Seul le modèle 41% d'EMS le prend en charge (données IPC 2025) ; taille de fichier très importante | Aérospatiale/médical de niveau 1 |
Avis d'expert :
Soumettez toujours la nomenclature en deux formats :
- Project_BOM.xlsx – pour revue humaine (utiliser un code couleur, des notes, éviter les cellules fusionnées)
- Project_BOM.csv – pour l'importation EMS (UTF-8, sans formules, sans cellules fusionnées)
Script de validation CSV (à exécuter avant le téléchargement) :
#!/bin/bash
# bom_validate.sh
file="$1"
echo "🔍 Validation du fichier $file..."
# Vérification de l'encodage UTF-8
if ! file -i "$file" | grep -q 'charset=utf-8'; then
echo "❌ ÉCHEC : Pas en UTF-8 - risque de corruption des caractères µ, Ω, °"
exit 1
fi
# Vérification des composants DNP
if grep -i "dnp\|do not populate" "$file"; then
echo "⚠️ AVERTISSEMENT : composants DNP détectés – veuillez vérifier la politique EMS"
fi
# Vérification de l’exhaustivité des MPN
awk -F, 'NR>1 && ($2 == "" || $2 == "TBD") { print "❌ MPN MANQUANT : Ligne " NR }' "$file"
echo "✅ Nomenclature prête pour l’EMS."
Top 5 des Erreurs Silencieuses de la nomenclature (BOM)
| Erreur | Impact d'EMS | Extrait du journal de bord |
|---|---|---|
| “10K” au lieu de MPN | Le système sélectionne le modèle 10K le moins cher – souvent le 5%, 1/4 W, 70 °C | [AVERTISSEMENT] C12 : 10K (sans MPN) → RC0805JR-0710KL (5%, 70 °C) |
| Colonne d'empreinte manquante | Le système de vision ne peut pas localiser la pièce → décalage de placement | [ERREUR] U3 (SOIC-8) : Package non trouvé dans la bibliothèque – ignoré |
| Alternative sans note de compatibilité | Mauvaise nomenclature utilisée → défaillance fonctionnelle | [INFO] U1 : ESP32-WROOM-32 substitué (pas de test RF) |
| Unités dans le champ de valeur | L'analyseur ignore le “µ” → 10µF = 10F (sans unité) | [ALERTE] C5 : Valeur=10µF → interprété comme 10 (sans unité) |
| Pièces “ génériques ” non approuvées | Les substituts des EM – absence de reddition de comptes | [ACTION] R1–R10 : “ RES 1K ” → Yageo RC0603JR-071KL |
Astuce de professionnel :
Exiger que l'EMS envoie un rapport de vérification croisée de nomenclature avant l'assemblage - il montre exactement ce qu'ils ont commandé par rapport à ce que vous avez spécifié, aidant à détecter les erreurs silencieuses tôt.
IPC-2581 BOM – Quand cela réussit (et quand cela échoue)
L'IPC-2581 intègre la nomenclature (BOM) sous forme de XML à l'intérieur du fichier principal :
GRM21BR61E106KA12L
Murata
10 µF 25 V X7R 1206
±10%
Avantages :
- Traçabilité complète : MPN → réseau → empreinte
- Permet les vérifications automatisées DFM vs. nomenclature (par exemple, “ Ce composant 0201 est-il trop proche d'un via ? ”)
Risques :
- La taille du fichier augmente d'environ 300%
- Il est possible que le système EMS extraie incorrectement la nomenclature (par exemple, il pourrait omettre les articles alternatifs).
- Aucun examen d'Excel possible sans un outil CAM
Utilisez la nomenclature IPC-2581 si :
- Votre EMS prend en charge Valor NPI ou CAM350 v18+.
- Vous exécutez des contrôles DFM automatisés dans le cadre de votre pipeline CI/CD.
- La sécurité des conceptions IP n'est pas critique
Liste de contrôle finale : Protocole de soumission de la nomenclature (BOM)
- Format : .xlsx pour revue + .csv pour EMS – les deux en UTF-8
- Colonnes 9 champs obligatoires – RefDes, MPN, MFG, Description, Footprint, Tolérance, Tension/Température, Alternates, Notes
- DNP : Filtré explicitement ; aucune ligne ou colonne masquée
- Unités : Évitez les symboles dans les CSV ; utilisez uF, kOhm, degC
- Alternatives : Documenté avec ✅ / ⚠️ / ❌ pour indiquer la compatibilité
- Validation : Exécutez le script bom_validate.sh et effectuez une vérification ponctuelle manuelle
- Pré-assemblage : Exiger que le SMÉ fournisse un rapport de croisement de nomenclature avant l'assemblage.
Pensées finales
Une nomenclature n'est pas qu'une simple documentation. C'est une intention exécutable – analysée par des scripts, chargée dans des alimenteurs et approuvée par des opérateurs n'ayant jamais vu votre schéma. Les conceptions les plus résilientes traitent la nomenclature non pas comme une sortie, mais comme une interface critique – rigoureusement spécifiée, formatée défensivement et validée sans relâche.
Dans le domaine de l'assemblage, il n'existe pas de "Ctrl+Z" – seulement des retouches, des rebuts et le bourdonnement discret d'une chaîne qui aurait dû fonctionner sans accroc.
💡 S'associer à un EMS de confiance comme PCBCool Assure que votre nomenclature (BOM) est traitée avec précision et responsabilité. De la fabrication des circuits imprimés à l'assemblage complet, notre équipe examine, valide et exécute rigoureusement votre nomenclature afin de minimiser les erreurs et de maximiser le rendement au premier passage.
Foire Aux Questions (FAQ)
A : Assurez-vous que tous les RefDes, numéros de pièce du fabricant (MPN), fabricants, empreintes, tolérances, tensions/températures, DNP et substituts sont complets. Enregistrez au format CSV UTF-8 pour l'importation.
Des valeurs génériques telles que “ 10K ” au lieu de numéros de référence de fabricant complets. L'absence d'un seul boîtier ou d'une seule tolérance peut arrêter la chaîne de production.
Toujours indiquer la compatibilité avec ✅ / ⚠️ / ❌ et clarifier les limitations. Ne jamais supposer qu'EMS les interprétera correctement.
A : Uniquement pour la production de haute fiabilité ou de premier niveau. Pour la plupart des exécutions, Excel + CSV est plus sûr et plus facile à examiner.
A : Filtrez explicitement le DNP dans votre exportation et revérifiez le CSV avant la soumission; ne vous fiez jamais à l'exportation de schéma par défaut.
Validez la nomenclature des matières de manière anticipée, exécutez des scripts tels que bom_validate.sh, confirmez les pièces de substitution, les désignations non produites (DNP) et les unités, et demandez une vérification croisée de la nomenclature des matières pré-assemblage à votre sous-traitant de fabrication (EMS).
George est un ingénieur électricien certifié, expérimenté dans la conception de PCB, les systèmes embarqués et le développement matériel IoT. Il collabore avec PCBCool pour transformer une expérience d'ingénierie réelle en guides pratiques pour développeurs et ingénieurs.