Étape 7 — Montage \& Debug
Sommaire du chapitre
- Étape 7 — Montage \& Debug
- Objectifs de l'étape
- Réception des cartes et inspection visuelle
- Assemblage des composants
- Première mise sous tension
- Tests fonctionnels
- Debug matériel
- Gestion des retours vers les étapes précédentes
- Documentation post-debug
- Contrôle à réception
- Ordre de montage recommandé
- Soudure manuelle des composants CMS
- Points de vigilance lors du montage
- Procédure de mise sous tension progressive
- Mesures initiales
- Approche méthodique
- Tests de base utiles
- Les outils de debug
- Méthode de debug systématique
- Problèmes fréquents et leurs causes
- Le multimètre
- L'oscilloscope
- L'analyseur logique
- Le debugger matériel (JTAG/SWD)
Étape 7 — Montage \& Debug
Objectifs de l'étape
L'étape de montage et de debug est celle où le projet prend vie sous forme physique. C'est aussi l'étape la plus imprévisible : même un schéma parfait et un routage soigné peuvent révéler des problèmes lors de la mise en œuvre réelle. Cette étape requiert méthode, patience et équipement adapté.
Réception des cartes et inspection visuelle
Contrôle à réception
À réception des cartes nues du fabricant, effectuer une inspection visuelle avant toute tentative de montage :
Vérifier les dimensions globales de la carte (conformes au PCB dessiné ?)
Contrôler le nombre de couches (repérable par la couleur des tranches du PCB)
Inspecter la qualité du vernis épargne (masque de soudure) : absence de cloques, de zones décollées ou de contaminations
Vérifier la sérigraphie : références lisibles, repères de polarité présents
Contrôler les trous : diamètres corrects, trous plaqués bien métallisés, pas de bouchage accidentel
Mesurer au multimètre la continuité entre les vias critiques et l'absence de court-circuit entre les rails d'alimentation (
VCCetGND)
Un court-circuit mesurable entre VCC et GND sur une carte nue (sans composants) indique une erreur de fabrication ou de routage : ne pas mettre sous tension avant investigation.
Assemblage des composants
Ordre de montage recommandé
L'ordre dans lequel les composants sont soudés est important pour faciliter la manipulation et éviter d'endommager les composants déjà montés :
1. Composants CMS les plus petits : résistances et condensateurs 0402/0603/0805 en premier (ils sont difficiles à placer si des composants plus grands gênent l'accès)
2. Circuits intégrés CMS : SOIC, QFP, QFN — avant les composants traversants qui dépassent
3. Composants traversants (THT) : dans l'ordre croissant de hauteur (résistances, diodes, puis condensateurs électrolytiques, puis connecteurs)
4. Connecteurs : en dernier pour ne pas gêner la soudure des composants voisins
5. Composants sensibles à la chaleur : batteries, certains capteurs — si possible après tout le reste pour limiter l'exposition thermique
Soudure manuelle des composants CMS
La soudure des composants CMS à la main requiert :
Un fer à souder avec une panne fine (type bevel ou chisel de $1\,\text{mm}$ à $2\,\text{mm}$)
De la soudure fine ($0,3\,\text{mm}$ à $0,5\,\text{mm}$ de diamètre, avec flux intégré)
Du flux supplémentaire (paste flux ou flux liquide) pour faciliter la mouillabilité
Une loupe ou microscope binoculaire pour les composants fins (pas $< 0,8\,\text{mm}$)
Des pinces brucelles antistatiques
Technique pour les circuits intégrés multi-broches :
Étamer une broche d'angle du pad PCB
Positionner le CI avec des pinces, maintenir avec un doigt et ressouder la première broche
Vérifier l'alignement de toutes les broches avant de continuer
Souder la broche diagonalement opposée pour fixer définitivement le composant
Souder toutes les broches restantes en appliquant suffisamment de flux
En cas de pont de soudure : aspirer l'excès avec une tresse à dessouder, puis refaire la broche
Points de vigilance lors du montage
Décharges électrostatiques (ESD) : toujours travailler sur un tapis antistatique et porter un bracelet antistatique, particulièrement pour les microcontrôleurs et les circuits RF
Composants polarisés : vérifier la polarité de chaque diode, LED, condensateur électrolytique et circuit intégré avant de souder
Orientation des CI : le repère de broche 1 du composant doit correspondre à celui de l'empreinte sur la carte
Température de soudure : ne pas dépasser $350°C$ pour éviter de soulever les pads ou d'endommager les composants sensibles. Limiter le temps de contact à quelques secondes par broche.
Soudures froides : une soudure terne et granuleuse est une soudure froide — non fiable électriquement. Reprendre avec du flux et plus de chaleur.
Première mise sous tension
Procédure de mise sous tension progressive
Ne jamais mettre une carte prototype directement sous tension depuis une alimentation fixe sans précaution :
Utiliser une alimentation de laboratoire avec limitation de courant (current limiting)
Régler la tension à la valeur nominale et le courant maximum à $100\,\text{mA}$ (ou valeur adaptée selon la consommation théorique du circuit)
Vérifier visuellement qu'aucun composant ne chauffe anormalement (attention : certains courts-circuits sont invisibles mais très chauds)
Augmenter progressivement la limitation de courant si la carte fonctionne normalement
Ne jamais alimenter la carte si le courant consommé dépasse anormalement la consommation théorique — éteindre immédiatement et investiguer
Mesures initiales
Mesurer toutes les tensions d'alimentation aux points de test (comparer avec les valeurs théoriques du schéma)
Mesurer le courant total consommé (comparer avec le budget d'énergie du cahier des charges)
Vérifier la présence de l'horloge du microcontrôleur à l'oscilloscope (sur les broches OSC\_IN/OSC\_OUT)
Vérifier les signaux de reset (actif bas : le signal doit remonter rapidement à l'état HAUT après la mise sous tension)
Tests fonctionnels
Approche méthodique
Le test fonctionnel se conduit de manière méthodique, bloc par bloc, en partant de la base :
1. Alimentation : tester chaque rail d'alimentation indépendamment
2. Microcontrôleur : programmer et vérifier l'exécution d'un programme minimal (clignotement d'une LED, sortie UART)
3. Communication : tester chaque interface de communication (I2C, SPI, UART) avec un programme de test minimal
4. Périphériques : tester chaque capteur, actionneur et interface utilisateur
5. Fonctions complètes : tester le système dans son ensemble
Tests de base utiles
LED blink : le plus basique — une LED qui clignote prouve que le microcontrôleur s'exécute correctement
UART loopback : relier TX et RX ensemble et vérifier que tout caractère envoyé est retourné identiquement
I2C scan : un programme de scan I2C liste toutes les adresses des périphériques détectés sur le bus — moyen rapide de vérifier que tous les composants I2C sont fonctionnels
SPI echo : envoyer une trame SPI connue et vérifier la réponse
ADC test : appliquer une tension connue sur l'entrée ADC et vérifier la valeur numérique lue
Debug matériel
Les outils de debug
Le multimètre
L'outil de base indispensable :
Mode tension DC : vérifier les alimentations, les niveaux logiques statiques
Mode continuité : vérifier les connexions (pistes, soudures), détecter les courts-circuits
Mode résistance : mesurer les résistances de tirage, vérifier les résistances de shunt
Mode diode : vérifier le sens et l'état des diodes et LEDs
L'oscilloscope
Indispensable pour observer les signaux dynamiques :
Observer les signaux de communication (I2C, SPI, UART) et détecter les problèmes de timing
Vérifier les formes d'onde des alimentations (ripple, bruit, transitoires)
Mesurer les temps de montée et de descente des signaux logiques
Déclencher sur un événement spécifique (front d'horloge, impulsion courte) pour capturer des phénomènes rares
Vérifier l'amplitude et la fréquence du signal d'horloge du microcontrôleur
L'analyseur logique
Complémentaire de l'oscilloscope pour les protocoles de communication :
Capturer et décoder automatiquement les trames I2C, SPI, UART, CAN
Vérifier le contenu des données transmises (valeurs des registres, commandes)
Détecter les erreurs de protocole (NAK sur I2C, erreurs de parité UART)
Outils recommandés : Saleae Logic (professionnel), Logic Analyzer USB à bas coût avec Sigrok/PulseView (accessible)
Le debugger matériel (JTAG/SWD)
Pour les microcontrôleurs :
Permet de programmer le microcontrôleur et d'exécuter le programme pas à pas
Visualiser le contenu des registres et de la mémoire en temps réel
Placer des points d'arrêt (breakpoints) sur des instructions ou des accès mémoire
Outils : ST-Link (STM32), J-Link (universel), CMSIS-DAP
Méthode de debug systématique
Face à un dysfonctionnement, adopter une approche rigoureuse :
Formuler une hypothèse : quelle est la cause probable du problème observé ?
Définir un test : quelle mesure ou observation permettrait de confirmer ou d'infirmer cette hypothèse ?
Réaliser le test : mesure au multimètre, observation à l'oscilloscope, test logiciel
Analyser le résultat : confirme ou infirme l'hypothèse ?
Itérer : formuler une nouvelle hypothèse si la première est infirmée
Ne jamais modifier plusieurs paramètres simultanément lors d'une session de debug : si le problème disparaît, il est impossible de savoir laquelle des modifications a été déterminante. Procéder toujours par une modification à la fois.
Problèmes fréquents et leurs causes
La carte ne démarre pas : vérifier l'alimentation (court-circuit ? composant endommagé ?), vérifier le signal de reset, vérifier la présence du programme en flash
Courant anormalement élevé : composant mal orienté (CI inversé, diode inversée), court-circuit de soudure, composant endommagé lors du montage
Composant qui chauffe : alimentation incorrecte (tension trop élevée), composant monté dans le mauvais sens, court-circuit local
Bus I2C non fonctionnel : résistances pull-up manquantes ou mal dimensionnées, adresse incorrecte, inversion SDA/SCL, mauvaise tension logique
Communication UART corrompue : baud rate incorrect, inversion RX/TX, problème de masse commune entre les deux équipements
Programme qui plante aléatoirement : alimentation instable (condensateurs de découplage insuffisants), problème de stack overflow, interruption non gérée
Mesure ADC incorrecte : référence de tension non stable, masse analogique non séparée, couplage capacitif avec les signaux numériques voisins
Gestion des retours vers les étapes précédentes
Certains problèmes détectés lors du debug nécessitent de revenir à une étape précédente du processus :
Erreur de schéma : composant mal connecté, valeur incorrecte → corriger le schéma, relancer ERC, mettre à jour le PCB, regénérer les Gerbers, commander une nouvelle série de cartes
Erreur de routage : piste trop fine, plan de masse insuffisant, signal bruité → modifier le PCB, relancer DRC, regénérer les Gerbers
Erreur de placement : composant inaccessible, condensateur de découplage trop éloigné → modifier le placement et le routage
Erreur de sélection de composant : composant inadapté aux spécifications → modifier le schéma et la BOM
Les retours en arrière font partie intégrante du processus de développement électronique. Un prototype qui fonctionne du premier coup est l'exception. L'objectif est de minimiser le nombre d'itérations grâce à une rigueur maximale dans les étapes amont.
Documentation post-debug
Une fois le prototype validé, documenter les résultats :
Lister les modifications effectuées (fils volants, composants remplacés, corrections au feutre)
Évaluer si les modifications nécessitent une révision du PCB (révision A, B, C...)
Mettre à jour le schéma et le PCB pour refléter l'état final validé
Archiver le dossier complet : schéma, PCB, Gerbers, BOM, fichiers de test, notes de debug