Exporter un fichier de placement depuis l'EDA — aussi appelé CPL (Component Placement List), fichier centroïde ou XYR / .pos — et l'envoyer sans le réconcilier avec la BOM en cours et le plan de montage est l'une des premières causes de blocage NPI et de composants polaires montés à l'envers. Un CSV parfaitement importé par le logiciel de programmation SMT peut quand même décaler un connecteur entier (origine de bibliothèque sur Pin 1 plutôt qu'au centre du corps), tourner les diodes et CI de 180°, ou monter un composant marqué DNP (do not populate).
L'approvisionnement et les substitutions relèvent de la nomenclature (BOM) PCBA, tandis que la CPL gouverne les coordonnées physiques, l'appartenance top/bottom et l'angle de rotation de la buse. Réconcilier la CPL avant envoi exige un contrat de coordonnées en sept points, plus une réconciliation d'ensembles avec la BOM et une vérification visuelle par superposition.
1. Le contrat en sept points pour coordonnées et orientation
La machine SMT ne lit pas les symboles du schéma — elle pilote une buse à vide vers des décalages (X, Y) numériques relatifs aux fiducials de la carte, puis tourne l'embout de θ degrés par rapport à l'orientation du composant dans la poche du ruban. Avant l'export (par ex. KiCad 9.0 File → Fabrication Outputs → Component Placement, ou Generates Pick and Place Files dans Altium), vérifier ces sept points :
| Paramètre CPL | Convention à expliciter à l'export | Erreur courante | Contrôle avant envoi |
|---|---|---|---|
| 1. Origine de référence (0,0) | Point unique (généralement coin inférieur gauche du contour ou Drill/Place File Origin dédié), identique aux fichiers Gerber/perçage |
CPL exportée sur l'origine absolue de la feuille alors que Gerber utilise une origine perçage auxiliaire — décalage global de tous les composants | Superposer les centroïdes CPL sur les couches pâte Gerber top/bottom et contrôler les fiducials (FID1–FID3) |
| 2. Unités et précision | mm explicite (recommandé, 3–4 décimales) ou mil/inch en en-tête |
Unité non indiquée ou arrondie décentrant BGA 0,35--0,40 mm et 0201 | Vérifier les valeurs (X, Y) maximales contre les dimensions réelles du contour |
| 3. Point de référence centroïde | Centre géométrique du corps (point de préhension de la buse), pas Pin 1 | Connecteurs, cages, DPAK/SOT dont l'origine bibliothèque est restée sur Pin 1 — échec de préhension ou pose décentrée | Inspecter un à un connecteurs asymétriques, selfs et barrettes dans l'overlay couche pâte |
4. Face (Top/Bottom) |
Indicateur de face clair (Top/Bottom ou T/B) ou fichiers séparés |
Condensateurs de découplage bottom ou traversants faussement marqués Top |
Réconcilier les comptages top/bottom avec les ouvertures pâte de chaque face |
| 5. Convention X bottom | Préciser si le X bottom est vu à travers la carte depuis le dessus ou en miroir horizontal (Negate bottom X) |
Le CAD a déjà mis en miroir et l'ingénieur inverse une seconde fois dans Excel — toute la face bottom retournée | Vérifier avec un composant bottom asymétrique contre la vue pâte Gerber bottom |
| 6. Rotation (θ) | Angle trigonométrique de l'orientation zéro bibliothèque vers l'orientation posée (0°--360°) | Empreintes dessinées à 90° ou 180° d'écart avec le standard ruban IPC-7351 / EIA-481 — polaires montés inversés | Croiser les repères Pin 1 / cathode du plan de montage avec les boîtiers réels |
7. Périmètre de pose et DNP |
Expliciter si les empreintes DNP/DNI, fiducials et points de test sont exclus de la CPL ou marqués dans une colonne d'état |
Le CAD exporte aussi les empreintes non posées — Exclude from position files ou filtre DNP non activé |
Réconcilier l'ensemble des références Fit de la BOM éclatée avec celles de la CPL |
2. Réconciliation en pratique : trois erreurs CPL classiques d'un coup
Télécharger notre pack d'exercice autonome pour voir comment la réconciliation d'ensembles complète la vérification visuelle de polarité. Carte exemple TRAIN-C / Variante A (30,0 × 13,0 mm, SMT top uniquement, origine bas-gauche, DNP exclu de la CPL, convention diode D1 : 0° = marque cathode vers la gauche) :
- Fichiers d'exercice : bom.csv, cpl-bad.csv, cpl-good.csv, assembly-drawing.svg, verify.py et mode d'emploi.
Étape 1 : réconcilier la CPL entrante avec la BOM (cpl-bad.csv)
La bom.csv contient trois composants SMT Fit (R1, R2, D1) et un condensateur DNP (C3). Face à assembly-drawing.svg, la cpl-bad.csv révèle trois erreurs qui, non corrigées, produisent un échec d'assemblage certain :
Constat dans cpl-bad.csv |
Type d'erreur | Origine dans le flux CAO | Correction dans cpl-good.csv |
|---|---|---|---|
R2 totalement absent (seuls R1, D1, C3 présents) |
Composant requis manquant (missing:R2) |
Empreinte cochée par erreur "Exclude from position files" ou marquée "Virtual/Mechanical" | Décocher l'exclusion et restaurer R2 à (14, 8), Top, 0° |
C3 présent à (22, 8), Top, 0° |
DNP inclus par erreur (unexpected:C3) |
DNP saisi dans un champ texte libre au lieu de la propriété native DNP du CAO ; ou export sans activer "Exclude DNP footprints" |
Activer l'exclusion DNP native et retirer C3 de l'ensemble posé |
D1 avec Rotation_deg = 180 (à (18, 8)) |
Polarité inversée (orientation:D1) |
L'empreinte bibliothèque dessine la cathode à droite en 0°, contraire au contrat « 0° = cathode à gauche » du plan | Rotation ramenée à 0° (cpl-good.csv), et cathode physique revérifiée contre sérigraphie/plan |
Étape 2 : exécuter le script de vérification et comprendre ses limites
Dans le dossier assets, python verify.py compare les deux CPL à l'ensemble attendu ({R1, R2, D1}), repère les références en double et vérifie le contrat d'orientation de D1 :
{"file": "cpl-bad.csv", "errors": ["missing:R2", "unexpected:C3", "orientation:D1"], "count": 3}
{"file": "cpl-good.csv", "errors": [], "count": 0}
Noter la frontière entre réconciliation d'ensembles et vérification géométrique :
- Le script compare les deux tables et capture immédiatement les références manquantes (
R2), les DNP excédentaires (C3) et les lignes en double (éclater d'abord les lignes BOM groupées commeR1, R2, R5en références individuelles avant de compter). - Mais aucun script tabulaire ne peut savoir que
180°est erroné pourD1— la règle d'orientation physique doit d'abord être établie depuis le plan de montage, les couches cuivre/pâte Gerber et la fiche composant, par un humain ou le système optique CAM.
3. Pourquoi les coordonnées (X, Y) seules ne fixent pas l'orientation
Même avec un centroïde (X, Y) parfaitement centré entre les deux pads, une rotation de 90° ou 180° reste invisible tant que trois repères indépendants ne sont pas alignés :
- Fiche composant et standard ruban EIA-481 : définit l'orientation du composant physique dans la poche du ruban par rapport aux trous d'entraînement (angle de préhension 0°).
- Orientation zéro de la bibliothèque CAO (0°) : selon IPC-7351, le zéro peut être Level A (Pin 1 en haut à gauche pour les CI, cathode diode à gauche) ou Level B (Pin 1 en bas à gauche) ; les bibliothèques tierces (SnapEDA, Ultra Librarian, SamacSys ou maisons historiques) mélangent souvent les deux sur une même carte.
- Marques de polarité du plan de montage : des repères clairs sur le contour du composant — point Pin 1, barre cathode (
|◀),+des condensateurs polarisés, détrompeur de connecteur — placés où l'AOI peut les lire après pose.
Règle pour les éditions de table : ne pas ajouter uniformément +90° ou +180° à une colonne de rotation dans Excel — sauf à savoir précisément comment le logiciel de programmation SMT de l'assembleur (Valor, Unicam, Fuji Flexa, Yamaha YSUP…) mappe le 0° CAO sur l'orientation du ruban en feeder. Mieux : marquer sur le plan de montage les familles polaires et asymétriques — diodes, LED, tantale/électrolytiques, BGA/QFN/QFP, SOT-23/SOT-89, capteurs/micros directionnels — et exiger un contrôle premier article (FAI) avec superposition signée.
4. Diagnostiquer les anomalies systématiques à l'import CPL
Quand l'assembleur superpose votre CPL aux couches pâte Gerber en CAM, la forme de l'anomalie désigne directement la cause :
| Anomalie visuelle dans l'overlay CAM | Cause côté export/import | Correction correcte |
|---|---|---|
| Tous les composants décalés du même vecteur (Δ X, Δ Y) | Origine CPL ≠ origine Gerber/perçage | Réexporter CPL et Gerber sur le même Drill/Place File Origin (ou aligner les deux sur le coin bas-gauche + FID1) |
| Positions dilatées d'un facteur 25,4× ou 0,03937× | Conflit d'unités (mil vs mm) ou facteur d'échelle à l'import |
Déclarer l'unité en en-tête (mm) et réimporter à 1:1 |
| Top correct, bottom retourné en miroir | Negate bottom X du CAD combiné à une seconde transformation miroir côté CAM |
Convenir avec CAM si le bottom est attendu « vu à travers » ou « en miroir X » ; ne commuter que d'un côté (CAD ou CAM) |
| Chips centrés mais connecteurs/selfs décalés sur Pin 1 | Origine d'empreinte au Pin 1 plutôt qu'au centre du corps | Déplacer l'origine de préhension de l'empreinte au centre géométrique (ou laisser CAM accrocher le centroïde au centre du cadre du groupe de pads) |
| Une famille de CI entière tournée de 90° (ex. tous les SOIC-8) | Bibliothèque dessinée verticalement à 0° alors que la bibliothèque feeder attend 0° horizontal | Corriger l'offset de rotation du boîtier dans la bibliothèque machine selon le point Pin 1 du plan de montage |
5. Soumettre un dossier PCBA synchronisé
Pour éviter EQ NPI, erreurs de polarité et dérives de révision, le dossier de montage PCB ou PCBA clé en main doit regrouper les fichiers synchronisés suivants (aspects achats dans le guide de contrôle d'erreurs BOM) :
- Fichier centroïde/placement (
.csvou.pos) ou package intelligentODB++/IPC-2581: contenantDesignator,Mid X (mm),Mid Y (mm),Layer/Side (Top/Bottom),Rotation (deg),Package/Footprint,Comment/Value. - BOM révisionnée avec colonne
DNP: chaque SMTFitde la BOM apparaît exactement une fois dans la CPL ; chaqueDNPest clairement marqué. - Plan de montage PDF couleur (vues top/bottom) : références, contours, points Pin 1, barres cathode et origine (0,0) visibles.
- Couches Gerber pâte et cuivre (
GTP/GBP,GTL/GBL) : permettant le superposition automatique centroïde-pad en CAM avant découpe du pochoir et programmation SMT.
Les équipes montage SMT et montage PCB de HILPCB exécutent sur tout dossier entrant un contrôle automatique de superposition BOM-CPL-Gerber centroïde — centres de corps, polarité Pin 1/cathode contre la fiche et exclusions DNP sont vérifiés avant la première pose, puis bouclés par AOI 3D et contrôle premier article (FAI). Demander un devis avec Gerber, BOM et CPL — un dossier complet reçoit typiquement une revue DFM/DFA sous 2 heures.
Questions fréquentes
Pourquoi ma CPL a-t-elle moins de lignes que la BOM ?
D'abord vérifier si la BOM regroupe plusieurs références par ligne (Qty 4 : C1, C2, C3, C4 = 1 ligne BOM, mais 4 lignes CPL). Puis éclater la BOM en références unitaires et retrancher les postes exclus : DNP, mécaniques (vis, entretoises, dissipateurs), éléments de carte nue (fiducials, points de test, trous de montage) et câblage manuel — rien de tout cela ne passe par les machines.
Faut-il mettre les composants DNP dans le fichier de placement ?
Les deux conventions fonctionnent si elles sont cohérentes et documentées — mais le plus sûr est d'exclure les DNP du fichier machine (ou d'exporter une colonne d'état Fitted/DNP strictement identique à la BOM). L'erreur la plus dangereuse est un DNP noté en passant dans une remarque BOM alors que la même référence reste une ligne de pose normale dans la CPL.
Différence entre origine Pin 1 et centroïde de placement ?
À la création d'empreinte, l'origine (0,0) est souvent placée sur Pin 1 pour faciliter les calculs de pads. Or la buse SMT doit saisir le composant au centre géométrique du corps (centre de gravité), sinon il bascule à haute vitesse. Les EDA modernes (KiCad, Altium) calculent le centre depuis le cadre pads/sérigraphie ou utilisent un attribut Component Center — vérifier manuellement connecteurs et selfs asymétriques.
Un fichier CPL est-il encore nécessaire avec Gerber X3 ou ODB++ ?
ODB++, IPC-2581 et Gerber X3 intègrent centroïdes, contours, Pin 1 et attributs BOM directement dans le jeu de données fabrication/montage, éliminant la plupart des erreurs d'origine et de miroir. Cependant, même en ODB++/IPC-2581, il faut toujours fournir une BOM contrôlée (avec MPN approuvés et marquage DNP révisé) et le plan de montage PDF — pour la vérification de polarité en contrôle premier article.
