Un connecteur sacrificiel (connector saver en anglais) est une pièce bon marché et remplaçable, placée entre l'unité sous test (UUT) et le banc de test : c'est elle, et non le banc, qui encaisse l'usure de chaque branchement. Quand ses contacts sont usés, on la remplace en quelques minutes sans toucher au câblage du banc. On parle aussi de carte d'usure, de carte sacrificielle ou de port saver pour les ports RF des instruments.

Pourquoi un banc de test a besoin d'un connecteur sacrificiel
La plupart des connecteurs d'un produit sont prévus pour être branchés quelques fois : une fois à l'assemblage, quelques fois en service. Un poste de test en production les branche des centaines de fois par semaine.
| Famille de connecteur | Cycles d'accouplement typiques | Cycles par jour à 1 UUT toutes les 5 min (8 h) |
|---|---|---|
| JST SH, GH, PH (fil-carte) | 30 à 50 | 96 |
| Carte-à-carte mezzanine | 30 à 100 | 96 |
| Circulaire MIL, D-Sub | 500 | 96 |
Un connecteur de banc spécifié pour 50 cycles est hors spécification avant la fin de la première équipe. Au-delà, la résistance de contact augmente et les contacts perdent leur force de rétention. Le poste produit alors des échecs intermittents qui ressemblent à des défauts produit : une ligne moteur qui décroche quelques millisecondes, une trame de télémétrie perdue, une mesure de courant qui dérive.
Le connecteur sacrificiel reporte cette usure sur une pièce conçue pour être jetée.
Comment fonctionne un connecteur sacrificiel
Le connecteur sacrificiel a deux connecteurs :
| Côté | Fréquence de branchement | Usure |
|---|---|---|
| Côté UUT | À chaque essai | Forte, la carte est remplacée quand elle est usée |
| Côté banc | Seulement au remplacement de la carte | Négligeable |
Le câble de l'UUT se branche sur la carte sacrificielle. La carte se branche une seule fois sur le banc, par un connecteur détrompé. Quand le connecteur côté UUT atteint sa limite de cycles, on dévisse la carte et on la remplace : le côté banc ne voit qu'un cycle de plus.
Formes courantes
| Forme | Usage typique |
|---|---|
| Adaptateur en ligne (fiche d'un côté, embase de l'autre) | Testeurs de faisceaux MIL circulaires, D-Sub, Micro-D |
| Carte sacrificielle (petit PCB à deux connecteurs) | Connecteurs fil-carte sur drones, ESC, packs batterie |
| Bloc de pointes pogo | Connecteurs carte-à-carte contactés directement dans un lit à clous |
| Port saver | Ports RF et hyperfréquences des instruments (SMA, N, 4.3-10) |
Concevoir une carte sacrificielle
Une carte sacrificielle pour un petit connecteur fil-carte est un PCB deux couches de quelques centimètres. Les points ci-dessous viennent de la carte en photo, conçue pour un banc de test d'ESC de drone :
| Composant | Rôle |
|---|---|
| Embase JST SH 10 broches | Côté UUT : reçoit le câble de l'ESC à chaque essai |
| Embase IDC 2x5 coudée | Côté banc : une seule nappe porte les lignes de l'ESC et le bus I2C |
| EEPROM M24C02 (I2C 0x50) | Stocke le numéro de série de la carte et son compteur de cycles |
| Deux trous M2.5 | Fixent la carte au banc, remplacée au tournevis |
Un seul connecteur côté banc
Le côté banc est rarement branché : on le choisit pour le détrompage, la disponibilité des câbles et le nombre de broches, pas pour la taille.
- Un seul connecteur pour tout ce que porte la carte, pour la remplacer avec un seul câble.
- Un connecteur détrompé (embase IDC à jupe, JST PH, Molex Micro-Fit) pour que le câble ne puisse pas entrer à l'envers. Une version à verrou si le câble risque d'être tiré.
- Une famille avec des câbles standard du commerce. Une nappe IDC 10 voies se trouve partout et relie la broche n à la broche n.
- Une embase coudée quand le câble part le long de la carte, pour que la fiche ne se dresse pas sous les mains de l'opérateur.
Ne faire passer que les signaux utilisés par le test
Ne router que les lignes que le test lit ou pilote. Laisser les broches d'alimentation inutilisées par le banc sur des pastilles isolées, et les indiquer en sérigraphie. Sur la carte de l'ESC, la tension batterie reste sur une pastille non connectée : elle n'atteint jamais le banc par la carte. Vérifier chaque nouveau câble UUT au multimètre avant la première mise sous tension : un câble inversé amène quand même la tension batterie sur une broche de signal.
Garder un brochage lisible
- Intercaler des masses entre les signaux sur une nappe : sur la carte de l'ESC, les broches 1 et 7 sont à la masse.
- Imprimer le brochage en sérigraphie et repérer la broche 1. Quand le dessus est plein, le dessous est libre.
- Couler un plan de masse sur les deux couches.
Rendre la carte facile à remplacer
- Deux vis (M2.5 ou M3) dans des trous nus, écrous maintenus dans le banc.
- Laisser la place pour un doigt autour de tout verrou.
- Repérer chaque composant en sérigraphie, y compris l'EEPROM et son adresse.
Protéger le côté instrument
Les résistances série et les diodes d'écrêtage vont côté banc, pas sur la carte sacrificielle. La carte est souvent remplacée ; la protection ne doit pas l'être.
Donner une mémoire à la carte
Une EEPROM I2C de 2 kbit coûte quelques centimes et rend la carte traçable. Le poste la lit au début de chaque essai :
| Adresse | Contenu |
|---|---|
| 0x00 à 0x0F | Numéro de série, ASCII, complété par des zéros |
| 0x10 à 0x13 | Compteur de cycles, entier non signé 32 bits, little endian |
Le compteur est sur la carte, pas sur le poste : il la suit quand elle change de banc. L'EEPROM coûte deux lignes de signal sur le connecteur du banc (SDA, SCL), plus le 3,3 V et la masse. Relier sa broche de protection en écriture à la masse pour que le poste puisse mettre à jour le compteur, et garder les résistances de tirage I2C côté banc.
Lire l'EEPROM de la carte avec TofuPilot Framework
Dans TofuPilot Framework, l'EEPROM est un plug et le contrôle est une phase en début de procédure. Le plug ci-dessous utilise smbus2 sur un bus I2C Linux, par exemple un poste Raspberry Pi. Sur un banc où le bus I2C appartient à un microcontrôleur, le plug envoie les deux mêmes transactions à travers lui.
plugs/connector_saver.py38 lines
# EEPROM M24C02 de la carte sacrificielle : numéro de série et compteur de cycles.import structimport timefrom smbus2 import SMBus, i2c_msgclass ConnectorSaver: ADDRESS = 0x50 SERIAL, CYCLES = 0x00, 0x10 # numéro de série sur 16 octets, puis un compteur uint32 def __init__(self, bus=1): self.bus = SMBus(bus) def __del__(self): self.bus.close() def read(self, offset, length): write = i2c_msg.write(self.ADDRESS, [offset]) read = i2c_msg.read(self.ADDRESS, length) self.bus.i2c_rdwr(write, read) return bytes(read) def write(self, offset, data): # Les pages de la M24C02 font 16 octets : une écriture reste dans une seule page self.bus.i2c_rdwr(i2c_msg.write(self.ADDRESS, [offset, *data])) time.sleep(0.005) # cycle d'écriture interne def serial(self): return self.read(self.SERIAL, 16).rstrip(b"\x00\xff").decode() def count_mating(self): (cycles,) = struct.unpack("<I", self.read(self.CYCLES, 4)) if cycles == 0xFFFFFFFF: # EEPROM vierge cycles = 0 cycles += 1 self.write(self.CYCLES, struct.pack("<I", cycles)) return cyclesLa phase enregistre le numéro de série et le compteur comme mesures :
# Lit l'identité de la carte et compte cet essai comme un cycle d'accouplement.def check_connector_saver(measurements, connector_saver): measurements.saver_serial = connector_saver.serial() measurements.saver_mating_cycles = connector_saver.count_mating()La procédure déclare le plug et pose la limite de remplacement sur le compteur. À 80 % d'une spécification de 50 cycles, l'essai échoue au cycle 41 et demande à l'opérateur de changer la carte avant qu'elle ne produise de faux échecs :
# Contrôle du connecteur sacrificiel, première phase de la procédureplugs: - name: Connector Saver key: connector_saver python: plugs.connector_saver:ConnectorSavermain: - name: Check Connector Saver python: phases.saver:check_connector_saver measurements: - name: Saver Serial key: saver_serial - name: Saver Mating Cycles key: saver_mating_cycles validators: - operator: "<=" expected_value: 40Quand remplacer un connecteur sacrificiel
Remplacer sur un nombre de cycles, pas sur une panne. Une carte usée échoue de façon intermittente, et un échec intermittent coûte plus cher à diagnostiquer que la carte à remplacer.
| Approche | Méthode |
|---|---|
| Limite de cycles fixe | Remplacer à 50 à 80 % des cycles spécifiés du connecteur côté UUT |
| Contrôle de résistance de contact | Mesurer une boucle connue à chaque prise de poste ; remplacer au-delà d'une limite |
| Seuil de taux d'échec | Remplacer quand le rendement au premier passage du poste baisse alors que les autres postes tiennent |
Suivre l'usure avec TofuPilot
Avec la phase EEPROM, chaque essai envoyé à TofuPilot porte le numéro de série de la carte par laquelle il est passé et son compteur de cycles à ce moment-là.
- Suivre la mesure
Saver Mating Cyclessur les essais de la procédure : le compteur monte à chaque essai et retombe à chaque remplacement, donc une carte proche de sa limite se voit avant que l'essai échoue. - Lire
Saver Serialsur un essai en échec pour le rattacher à une carte. Des échecs groupés aux compteurs élevés désignent la carte, pas le produit. - Comparer le rendement du poste à celui des autres postes qui exécutent la même procédure. Une baisse sur un seul poste, avec des échecs répartis sur des mesures sans rapport, désigne le banc.
Sans EEPROM, le nombre d'essais d'un poste depuis le dernier remplacement donne le même compteur, à condition de noter la date de chaque remplacement. Une carte qui s'use trop vite désigne un problème mécanique : un câble tiré en biais ou un banc mal aligné.
