Trois méthodes de test dominent la fabrication de PCBA : le test in-circuit (ICT), le test fonctionnel (FCT) et la sonde volante. Chacune détecte des défauts différents à des coûts différents. La plupart des lignes de production en utilisent deux ou trois en combinaison. Ce guide les compare pour vous aider à choisir la bonne stratégie de test pour votre produit.
Comparaison rapide
| ICT | FCT | Sonde volante | |
|---|---|---|---|
| Ce qu'il teste | Composants individuels | Comportement au niveau carte | Composants individuels |
| Défauts détectés | Mauvaise valeur, manquant, court-circuit, circuit ouvert | Alimentation, communications, firmware, performances | Identique à l'ICT |
| Temps de test | 5-30 secondes | 30 secondes - 5 minutes | 1-10 minutes |
| Coût de fixation | 5 000-50 000 $ | 1 000-10 000 $ | Aucun (sans fixation) |
| Délai NRE | 4-8 semaines | 1-2 semaines | Heures (programmation seule) |
| Volume idéal | 10K+ unités/an | Tout volume | Prototypes, < 5K unités/an |
| Automatisation | Entièrement automatisé | Entièrement automatisé | Entièrement automatisé |
| Accès à la carte | Lit de clous (nécessite des pads de test) | Connecteurs + sondes | Sondes (pas de fixation) |
| Programmation | Logiciel constructeur | Python/LabVIEW/personnalisé | Logiciel constructeur |
Test In-Circuit (ICT)
L'ICT presse une fixation à lit de clous contre la carte et teste chaque composant individuellement. Il vérifie que les bons composants sont aux bons endroits avec les bonnes valeurs.
Ce que détecte l'ICT
| Défaut | Méthode de détection |
|---|---|
| Mauvaise valeur de résistance | Mesure de résistance |
| Composant manquant | Détection de circuit ouvert |
| Court-circuit de soudure | Détection de court-circuit |
| Mauvaise polarité (condensateur, diode) | Test de capacité/diode |
| Broches de CI ouvertes | Boundary scan (JTAG) |
| Problèmes de connexion BGA | Limité (uniquement les broches accessibles) |
Coûts de l'ICT
| Élément | Coût typique |
|---|---|
| Fixation (lit de clous) | 5 000-50 000 $ selon la complexité de la carte |
| Délai de la fixation | 4-8 semaines |
| Machine ICT | 50 000-500 000 $ (capital) |
| Temps de test par carte | 5-30 secondes |
| Développement du programme | 2 000-10 000 $ |
Quand utiliser l'ICT
- Haut volume (10K+ cartes/an). Le coût de la fixation s'amortit sur le volume.
- Cartes complexes avec beaucoup de passifs. L'ICT excelle dans la vérification des valeurs de résistances/condensateurs.
- Assemblage CMS avec taux de défauts connus. L'ICT détecte les défauts d'assemblage avant le FCT.
- Quand vous avez besoin d'un temps de test rapide. 5-30 secondes vs minutes pour le FCT.
Quand éviter l'ICT
- Faible volume (< 5K/an). Le coût de la fixation ne justifie pas le volume.
- Cartes simples (< 50 composants). Le FCT seul détecte la plupart des défauts.
- Itération de conception rapide. La fixation change à chaque révision de carte.
- Conceptions avec beaucoup de BGA. L'ICT ne peut pas accéder aux pads BGA sans boundary scan.
Test fonctionnel (FCT)
Le FCT teste la carte en tant que système fonctionnel. Vous la mettez sous tension, exécutez le firmware et vérifiez le comportement. Le FCT détecte des défauts que l'ICT manque : bugs firmware, problèmes de timing, performances analogiques et interactions au niveau système.
Ce que détecte le FCT
| Défaut | Méthode de détection |
|---|---|
| Défaillance du régulateur de tension | Mesure des rails d'alimentation |
| Mauvais firmware | Requête de version |
| Échec de communication | Vérification de réponse UART/SPI/I2C |
| Consommation de courant excessive (court-circuit) | Mesure de courant |
| Mauvaise fréquence de quartz | Mesure de fréquence |
| Dérive de calibration ADC/DAC | Mesure analogique |
| Autotest échoué | Commande d'autotest firmware |
Coûts du FCT
| Élément | Coût typique |
|---|---|
| Fixation de test (pogo pins + connecteurs) | 1 000-10 000 $ |
| Délai de la fixation | 1-2 semaines |
| Instruments (DMM, alimentation, etc.) | 2 000-20 000 $ (unique, réutilisable) |
| Temps de test par carte | 30 secondes - 5 minutes |
| Développement du script | Python + OpenHTF (outils gratuits) |
Quand utiliser le FCT
- Chaque carte de production devrait avoir un FCT. C'est la vérification finale avant l'expédition.
- Tout volume. Le faible coût de fixation le rend viable même pour 100 unités/an.
- Après l'ICT. Le FCT vérifie le comportement système que l'ICT ne peut pas tester.
- Comme seul test pour les cartes simples. Si la carte a < 50 composants, le FCT seul peut suffire.
FCT avec Python et TofuPilot
import openhtf as htffrom openhtf.plugs import BasePlugfrom openhtf.util import unitsfrom tofupilot.openhtf import TofuPilotclass BoardPlug(BasePlug): """Interface carte pour le FCT.""" def setUp(self): self._voltages = iter([3.31, 5.01, 1.81]) self._current = 0.12 def read_voltage(self) -> float: return next(self._voltages) def read_current(self) -> float: return self._current def query_firmware(self) -> str: return "2.1.0" def tearDown(self): pass@htf.measures( htf.Measurement("rail_3v3").in_range(3.2, 3.4).with_units(units.VOLT), htf.Measurement("rail_5v0").in_range(4.8, 5.2).with_units(units.VOLT), htf.Measurement("rail_1v8").in_range(1.7, 1.9).with_units(units.VOLT),)@htf.plug(board=BoardPlug)def test_power(test, board): test.measurements.rail_3v3 = board.read_voltage() test.measurements.rail_5v0 = board.read_voltage() test.measurements.rail_1v8 = board.read_voltage()@htf.measures( htf.Measurement("firmware_version").equals("2.1.0"), htf.Measurement("idle_current").in_range(0.05, 0.20).with_units(units.AMPERE),)@htf.plug(board=BoardPlug)def test_system(test, board): test.measurements.firmware_version = board.query_firmware() test.measurements.idle_current = board.read_current()def main(): test = htf.Test( test_power, test_system, procedure_id="FCT-001", part_number="PCBA-100", ) with TofuPilot(test): test.execute(test_start=lambda: input("Scanner le numéro de série : "))Chaque mesure est envoyée à TofuPilot avec les limites, les unités et le statut réussite/échec. Vous obtenez automatiquement le FPY, le Cpk et le Pareto des défaillances.
Sonde volante
Les machines à sonde volante utilisent des sondes motorisées qui se déplacent vers chaque point de test. Aucune fixation nécessaire. La machine se programme à partir de vos fichiers Gerber et de la liste de nets.
Ce que détecte la sonde volante
Les mêmes défauts que l'ICT : courts-circuits, circuits ouverts, mauvaises valeurs, composants manquants. Certaines machines ajoutent :
- Mesure de capacité
- Mesure d'inductance
- Intégration boundary scan (JTAG)
- Tests fonctionnels basiques (limités)
Coûts de la sonde volante
| Élément | Coût typique |
|---|---|
| Fixation | 0 $ (sans fixation) |
| Temps de mise en route | Heures (à partir des Gerber + liste de nets) |
| Machine | 100 000-500 000 $ (capital) |
| Temps de test par carte | 1-10 minutes (selon les points de test) |
| Coût par carte chez le CM | 5-50 $ selon la complexité du programme |
Quand utiliser la sonde volante
- Prototypes et premiers articles. Zéro coût de fixation, mise en route rapide.
- Faible volume (< 5K/an). Moins cher que les fixations ICT.
- Itération de conception. Pas de fixation à modifier quand la carte change.
- BGA complexes. Certaines machines à sonde volante peuvent tester les pads BGA via boundary scan.
Quand éviter la sonde volante
- Haut volume. Trop lent (1-10 minutes vs 5-30 secondes pour l'ICT).
- Quand vous avez besoin du FCT de toute façon. La sonde volante ne remplace pas le FCT pour les tests au niveau système.
- Contraintes budgétaires chez le CM. Certains sous-traitants facturent un supplément pour le temps de sonde volante.
Stratégie de test par volume
| Volume (unités/an) | Stratégie recommandée | Pourquoi |
|---|---|---|
| 1-100 (prototype) | FCT uniquement | Faible volume, fixation simple, détecte la plupart des défauts |
| 100-1 000 | Sonde volante + FCT | La sonde volante détecte les défauts d'assemblage, le FCT les problèmes système |
| 1 000-10 000 | Sonde volante ou ICT + FCT | Évaluer le ROI de la fixation ICT en haut de la fourchette |
| 10 000-100 000 | ICT + FCT | La fixation ICT est rentabilisée, temps de test rapide |
| 100 000+ | AOI + ICT + FCT | Couverture complète, débit maximal |
Stratégie de test par complexité de carte
| Complexité de carte | Composants | Tests recommandés |
|---|---|---|
| Simple (driver LED, carte capteur) | < 50 | FCT uniquement |
| Moyenne (carte MCU, dispositif IoT) | 50-200 | Sonde volante + FCT |
| Complexe (multi-rail, signal mixte) | 200-500 | ICT + FCT |
| Très complexe (RF, numérique haute vitesse) | 500+ | AOI + ICT + FCT + spécialisé |
Comparaison de couverture
| Type de défaut | AOI | ICT | Sonde volante | FCT |
|---|---|---|---|---|
| Composant manquant | Oui | Oui | Oui | Parfois |
| Mauvaise valeur | Non | Oui | Oui | Parfois |
| Court-circuit de soudure | Oui | Oui | Oui | Parfois |
| Joint de soudure froid | Oui | Non | Non | Parfois |
| Pierre tombale | Oui | Non | Non | Non |
| Mauvaise polarité | Non | Oui | Oui | Parfois |
| Bug firmware | Non | Non | Non | Oui |
| Problème de rail d'alimentation | Non | Non | Non | Oui |
| Échec de communication | Non | Non | Non | Oui |
| Dégradation des performances | Non | Non | Non | Oui |
Aucune méthode de test unique ne détecte tout. La combinaison de l'ICT (ou sonde volante) pour les défauts d'assemblage et du FCT pour les défauts système vous offre la meilleure couverture.