Le contrôle qualité en production s'organise en quatre portes : à la réception (IQC), en cours de fabrication (IPQC), en fin d'assemblage (FQC) et avant expédition (OQC). Chaque porte intercepte une classe de défauts différente, et un défaut qui franchit une porte coûte environ dix fois plus cher à détecter à la suivante. Ce guide explique ce que chaque porte contrôle, qui en est responsable, comment fonctionne l'échantillonnage et comment suivre le rendement par porte avec TofuPilot.

Les quatre portes qualité
| Porte | Nom complet | Quand | Responsable typique | Ce qu'elle détecte |
|---|---|---|---|---|
| IQC | Incoming Quality Control | Arrivée des composants fournisseur | Ingénieur qualité fournisseur | Mauvaise référence, composants hors spécification, lots contrefaits ou endommagés |
| IPQC | In-Process Quality Control | Pendant l'assemblage | Ingénieur procédé | Dérive du procédé, défauts de brasage, erreurs d'assemblage, contamination |
| FQC | Final Quality Control | Unité entièrement assemblée | Ingénieur test | Défaillances fonctionnelles, défauts de sécurité, défauts cosmétiques |
| OQC | Outgoing Quality Control | Avant expédition | Qualité / logistique | Emballage abîmé, mauvaise étiquette, mauvaise quantité, dérive fonctionnelle tardive |
Chaque porte est un point de décision. Le matériel qui échoue est mis en quarantaine, retravaillé ou rejeté. Le matériel qui passe avance. Les quatre portes forment ensemble le plan qualité d'une ligne de production, et chacune produit des données de test exploitables.
Pourquoi l'ordre compte : le coût de l'échappement
La règle empirique classique en électronique est le 1-10-100 : un défaut qui coûte 1 à détecter en réception coûte environ 10 pendant l'assemblage et environ 100 une fois le produit terminé. Un défaut qui atteint le client coûte encore bien plus en retours, en intervention terrain et en réputation.
Concrètement, un lot de condensateurs défectueux détecté à l'IQC, c'est une bobine renvoyée au fournisseur. Le même lot détecté au FQC, c'est des composants à dessouder sur des centaines de cartes assemblées. Détecté sur le terrain, c'est un rappel.
Cette asymétrie est la raison d'être de l'IQC et de l'IPQC. Personne ne veut payer quatre inspections ; tout le monde veut éviter de payer l'échappement.
IQC : contrôle qualité à la réception
L'IQC inspecte les matières premières et les composants à leur arrivée. Il empêche les entrants défectueux d'entrer sur la ligne avant qu'aucune valeur ne leur ait été ajoutée.
| Contrôle | Méthode |
|---|---|
| Inspection visuelle | Dommages d'emballage, étiquettes correctes, indicateurs d'humidité sur les bobines MSD |
| Contrôle dimensionnel | Mesure au pied à coulisse ou MMT par rapport au plan |
| Test électrique par échantillonnage | Mesure des paramètres clés (résistance, capacité, tension directe) sur un échantillon |
| Vérification des certificats | Certificat de conformité, déclaration RoHS, codes de date et de lot |
L'IQC ne teste pas chaque pièce. Il suit un plan d'échantillonnage par acceptation, généralement issu de l'ANSI/ASQ Z1.4 (successeur de la MIL-STD-105E), indexé sur un Niveau de Qualité Acceptable (NQA, ou AQL en anglais).
Échantillonnage AQL : exemple concret
Une bobine de 1 000 résistances arrive et votre plan est le Niveau d'inspection général II avec un AQL de 1,0 %.
| Paramètre | Valeur |
|---|---|
| Taille du lot | 1 000 (tranche 501 à 1 200) |
| Lettre code | J |
| Taille d'échantillon | 80 pièces |
| Nombre d'acceptation (Ac) | 2 défauts ou moins : lot accepté |
| Nombre de rejet (Re) | 3 défauts ou plus : lot rejeté |
Vous mesurez 80 résistances. Deux sont hors tolérance, le lot est accepté. Trois, et toute la bobine repart. Un AQL plus serré (0,65 %) ou un passage en inspection renforcée après des rejets répétés réduit le nombre d'acceptation.
Enregistrer chaque mesure échantillonnée, et pas seulement le verdict du lot, transforme l'IQC en tableau de bord fournisseur. Un fournisseur dont les pièces passent mais dérivent vers la limite est un fournisseur sur le point d'échouer.
IPQC : contrôle qualité en cours de fabrication
L'IPQC surveille le procédé pendant qu'il tourne. Il détecte la dérive avant qu'elle ne produise un lot d'unités défectueuses.
| Contrôle | Méthode |
|---|---|
| SPI après sérigraphie | Mesure automatisée du volume et du décalage de pâte à braser |
| AOI après refusion | Inspection optique automatisée des joints brasés et du placement |
| Inspection de la première pièce | Contrôle complet de la première unité après tout réglage ou changement de série |
| Contrôles ponctuels horaires | L'opérateur vérifie les dimensions ou couples clés |
| Surveillance des paramètres procédé | Profil de four, pression, poids de dépose dans les limites de contrôle |
L'IPQC est le domaine de la maîtrise statistique des procédés (SPC). Une carte de contrôle sur le volume de pâte ou la température de pic de refusion montre la dérive des heures avant que l'AOI ne commence à signaler des défauts. Les étapes d'inspection automatisée (SPI, AOI et AXI) produisent chacune un pass/fail par carte plus des mesures à tendancer.
Sur une nouvelle ligne ou après une modification de conception, le contrôle de première pièce est formalisé en inspection du premier article (FAI).
FQC : contrôle qualité final
Le FQC teste le produit entièrement assemblé par rapport à sa spécification. C'est là qu'ont lieu le test fonctionnel, le test de sécurité et l'inspection cosmétique.
| Contrôle | Méthode |
|---|---|
| Test fonctionnel | L'équipement de test automatique (ATE) exerce chaque fonction contre ses limites |
| Test de sécurité | Hipot (tenue diélectrique), continuité de terre, courant de fuite |
| Inspection cosmétique | Rayures, bosses, jeux, alignement des étiquettes |
| Vérification de la calibration | Paramètres calibrés confirmés dans la spécification et stockés par numéro de série |
Le FQC est généralement une inspection à 100 % pour le fonctionnel et la sécurité, et par échantillonnage pour le cosmétique. Comme chaque unité passe un test fonctionnel ici, le FQC est la source principale de votre volume de données de test et l'endroit où le rendement au premier passage est habituellement mesuré.
OQC : contrôle qualité avant expédition
L'OQC est le dernier contrôle avant l'expédition. Il vérifie que le contenu du carton correspond à la commande et prélève un échantillon pour confirmer que rien n'a dérivé entre le FQC et l'emballage.
| Contrôle | Méthode |
|---|---|
| Intégrité de l'emballage | État du carton, calage, sachet barrière et déshydratant |
| Vérification des étiquettes | Référence, numéro de série, lot et marquages réglementaires conformes à la commande |
| Comptage des quantités | Correspond au bon de colisage et au bon de commande |
| Retest par échantillonnage | Prélèvement d'unités selon l'AQL et relance du test fonctionnel |
Un échec à l'OQC coûte cher car le produit est fini et emballé. C'est aussi le signe que le FQC a laissé passer quelque chose : un échec OQC doit déclencher une revue de la couverture du FQC, pas seulement une reprise du lot.
L'OQC est un contrôle ponctuel. Pour s'assurer que les unités continuent de fonctionner après expédition, les fabricants ajoutent le test de fiabilité continu (ORT), qui prélève des unités sur la ligne et les soumet à des tests de stress selon un calendrier.
Prérequis
- Python 3.10+
- OpenHTF installé (
pip install openhtf) - SDK Python TofuPilot installé (
pip install tofupilot)
Étape 1 : écrire une procédure de test par porte
Gardez chaque porte comme une procédure distincte. TofuPilot suit le rendement par procédure, donc une procédure par porte vous donne directement le rendement IQC, IPQC, FQC et OQC au lieu d'un seul chiffre mélangé.
import openhtf as htffrom openhtf.util import units@htf.measures( htf.Measurement("resistance_ohm") .in_range(minimum=4700, maximum=5100) .with_units(units.OHM), htf.Measurement("marking_matches_po").equals(True),)def phase_iqc_sample(test): """IQC : une résistance échantillonnée sur la bobine entrante.""" test.measurements.resistance_ohm = 4850 test.measurements.marking_matches_po = Trueimport openhtf as htffrom openhtf.util import units@htf.measures( htf.Measurement("paste_volume_pct") .in_range(minimum=80, maximum=120) .with_units(units.PERCENT), htf.Measurement("reflow_peak_C") .in_range(minimum=235, maximum=250) .with_units(units.DEGREE_CELSIUS),)def phase_ipqc_first_piece(test): """IPQC : première pièce après changement de série, valeurs du SPI et du profileur de four.""" test.measurements.paste_volume_pct = 104 test.measurements.reflow_peak_C = 243import openhtf as htffrom openhtf.util import units@htf.measures( htf.Measurement("output_voltage_V") .in_range(minimum=4.9, maximum=5.1) .with_units(units.VOLT), htf.Measurement("hipot_leakage_mA") .in_range(maximum=0.5) .with_units(units.MILLIAMPERE),)def phase_fqc(test): """FQC : test fonctionnel et de sécurité sur l'unité finie.""" test.measurements.output_voltage_V = 5.01 test.measurements.hipot_leakage_mA = 0.12import openhtf as htffrom openhtf.util import units@htf.measures( htf.Measurement("output_voltage_V") .in_range(minimum=4.9, maximum=5.1) .with_units(units.VOLT), htf.Measurement("label_matches_order").equals(True),)def phase_oqc_sample(test): """OQC : unité échantillonnée prélevée dans le lot emballé.""" test.measurements.output_voltage_V = 5.00 test.measurements.label_matches_order = TrueLa procédure OQC réutilise volontairement les limites de tension du FQC. Si la même mesure dérive entre le FQC et l'OQC sur le même numéro de série, vous avez un problème de manutention ou de stockage, et TofuPilot affichera les deux runs côte à côte sous ce numéro de série.
Étape 2 : envoyer chaque porte vers TofuPilot
Chaque procédure envoie ses résultats indépendamment. TofuPilot relie les runs par numéro de série : un lot IQC, la première pièce IPQC fabriquée à partir de ce lot, puis les runs FQC et OQC de l'unité finie se retrouvent sur une seule chronologie.
from tofupilot.openhtf import uploadtest = htf.Test(phase_fqc)test.add_output_callbacks(upload())test.execute(test_start=lambda: input("Scanner le numéro de série : "))Utilisez le même schéma dans les trois autres fichiers. Pour l'IQC, scannez l'identifiant de bobine ou de lot comme numéro de série. Pour l'IPQC, scannez la carte de première pièce. Pour l'OQC, scannez l'unité échantillonnée.

Étape 3 : lire le rendement et les défaillances par porte
Avec une procédure par porte, la vue Analytics répond aux questions que se pose réellement chaque responsable de porte :
- Rendement par porte. IQC, IPQC, FQC et OQC ont chacun leur propre rendement au premier passage. Une chute sur une porte désigne une équipe.
- Principales défaillances par porte. Un Pareto des mesures en échec vous dit si le FQC échoue sur la tension ou sur le hipot, et si cela a changé cette semaine.
- Qualité fournisseur. Filtrez les runs IQC par lot fournisseur pour voir le taux de rejet et la dérive des mesures par fournisseur.
- Traçabilité complète. Ouvrez n'importe quel numéro de série expédié et remontez l'OQC, le FQC, l'IPQC et le lot IQC d'où viennent ses composants. Voir comment construire une traçabilité complète des unités pour la configuration des sous-ensembles.

Erreurs fréquentes
| Erreur | Conséquence | Correctif |
|---|---|---|
| Un seul rendement mélangé | Un problème fournisseur ressemble à un problème de station de test | Une procédure par porte |
| N'enregistrer que pass/fail à l'IQC | Aucune alerte précoce quand un fournisseur dérive vers la limite | Stocker les mesures échantillonnées, pas seulement le verdict |
| Sauter l'OQC parce que le FQC est à 100 % | Des erreurs d'emballage et d'étiquetage partent chez le client | Garder un échantillon AQL léger et un contrôle d'étiquette |
| Limites différentes au FQC et à l'OQC | Des unités passent l'un et échouent l'autre sans cause racine | Partager les définitions de limites entre les deux procédures |
| Pas de numéro de série à l'IQC | Impossible de remonter d'une panne terrain au lot de composants | Utiliser l'identifiant de bobine ou de lot comme numéro de série IQC |
