Vous récupérez votre PCB auprès du fabricant. Il s'agit d'un nouveau design, vous avez bien sûr monté toutes les pièces principales, mais vous savez qu'il va y avoir des problèmes. Il y a trop de choses qui peuvent causer des problèmes, par exemple:
- Erreurs dans le schéma
- Erreurs dans la mise en page, non trouvées par l'ERC / RDC
- Pièces égarées pendant le soudage
- Shorts et similaires pendant le soudage
- toute combinaison de ce qui précède
J'ai eu récemment deux cartes relativement complexes où j'ai essentiellement dû dépeupler toutes les cartes après l'assemblage afin de localiser l'erreur. J'ai trouvé les erreurs, mais les planches étaient de la ferraille.
J'ai essayé de commencer avec le strict minimum de pièces et les pièces qui ne peuvent pas être soudées à la main (j'utilise de la pâte, un pochoir et un grille-pain). Il s'agit généralement du MCU, du connecteur JTAG et de quelques condensateurs. Ensuite, je remplis progressivement d'autres zones tout en vérifiant les problèmes.
Cette approche fonctionne, mais est vraiment lente. Je dois également commenter / commenter dans tout code qui suppose la présence d'un matériel particulier.
Quelqu'un a-t-il des conseils / suggestions sur la façon d'aborder les PCB nouvellement conçus?
EDIT: Je pense principalement au type de problèmes qui laisse votre carte morte, comme les shorts de rail d'alimentation cachés ou tout ce qui peut briser le MCU.
la source
Réponses:
J'ai décidé que la planche à pain à l'avance est une perte de temps, sauf s'il y a des aspects des performances d'une pièce que vous devez mesurer vous-même.
Je pense même que la construction de la planche en morceaux est une perte de temps. Le débogage matériel initial ne prend qu'un jour ou deux. De toute façon, aucun problème subtil n'apparaîtra jusqu'à l'intégration du logiciel. Je préfère déboguer un circuit (le circuit complet) que plusieurs réductions ad hoc du circuit.
Construis juste la chose! Assemblez la carte entière et mettez-la sous tension. Regardez la tension d'alimentation. Combien de mA tire-t-il? Quelle partie est brûlante? Quelle partie est chaude? Essayez ensuite de graver le micrologiciel sur le microcontrôleur présent sur la carte. Commencez ensuite à écrire le firmware. Mettez l'horloge en marche et basculez une épingle. Obtenez une communication série (ou autre). Maintenant, écrivez des programmes de test pour chaque périphérique. Ensuite, construisez le montage de test de production et commencez à écrire le "vrai" firmware.
Modifier:
Sur la recherche de rails bloqués
Si un rail d'alimentation est collé à la terre (mesure 0 ohms avec un ohmmètre), alimentez-le sur une alimentation de banc. Réglez la tension normalement et la limite de courant à quelques centaines de mA. Imprimez la conception du PCB sur papier et trouvez un multimètre numérique qui mesure les microvolts. Mesurez les microvolts à partir des bornes d'alimentation et notez les chutes de tension sur l'impression du PCB. En regardant les différences de microvolts, vous pouvez tracer exactement où va le courant sans dépeupler ou découper le PCB. Cette technique est meilleure que l'utilisation d'un ohmmètre car vous pouvez pomper beaucoup de courant à travers le circuit, plus que n'importe quel ohmmètre normal.
Une technique similaire fonctionne pour trouver des traces court-circuitées sur une carte autrement peuplée. Exécutez la carte et utilisez un oscilloscope pour trouver des traces "numériques" situées dans une plage de tension intermédiaire.
la source
Je le fais en remplissant la carte avec le strict minimum au départ, en faisant fonctionner d'abord l'alimentation, puis le MCU, puis en ajoutant les différents sous-systèmes un par un, et en les testant avant de continuer, en écrivant un logiciel de test si nécessaire. Je ne trouve pas du tout le processus lent.
J'ai testé des planches de toute complexité. Cela coûte plus cher mais ça vaut le coup.
la source
Je ne planche que sur de très petits circuits. Ensuite, je soude les petits circuits sur des proto-cartes. Si vous travaillez avec des puces SMD, il est utile d'obtenir les adaptateurs SMD-> Thru-hole.
Cela vous donne essentiellement des «blocs de construction». J'ai ensuite soudé ces blocs de circuits sur un kit de développement ou un ancien PCB avec le MCU que j'essaie d'utiliser. Il a l'air atroce, avec quatre ou cinq petits PCB différents accrochés à un plus grand, mais cela fonctionne.
Une fois que les blocs de construction fonctionnent sur une carte de développement, je passe à un PCB. Si le schéma change du tout lors de la fabrication du PCB, je reviens en arrière et retravaille les blocs de construction et les teste à nouveau sur la carte de développement.
Sur une note latérale, au lieu de commenter le code, vous devriez envisager d'utiliser les directives de préprocesseur #define et #ifdef. Cela facilite considérablement l'ajout et la suppression de blocs fonctionnels de code dans un MCU.
la source
Avec des cartes de toute complexité, il est presque aussi important de développer un plan de test que de développer la carte elle-même. Même au début de la conception de la carte, c'est une bonne idée de savoir ce que vous allez tester, même si l'implémentation n'existe pas encore; "design for test" comme on dit. Assurez-vous d'apporter des signaux clés aux pads des points de test. Essayez de partitionner la conception de manière à ce que les sous-systèmes individuels puissent être créés indépendamment ou de manière aussi indépendante que possible.
la source
Je suppose qu'une question clé est: Quelle est la liste de contrôle avant le vol avant de remettre une planche en production. Ma liste de pré-vol est:
Cette réponse communauté wiki'd.
la source
Ce que les autres gars ont dit est tout à fait valable, mais j'aimerais ajouter ma valeur de 2 cents.
La meilleure chose à faire est de ne pas commettre d’erreur en premier lieu. Il semble stupide de le mentionner, mais trop souvent, cela est ignoré. Faites une revue de conception schématique et PCB. Demandez à plusieurs personnes d'examiner votre conception, même les ingénieurs débutants. Utilisez les vérifications des règles de conception dans votre logiciel. Utilisez n'importe quelle ressource disponible pour vous assurer que votre conception est bonne. Ayez de bonnes pratiques d'ingénierie pour améliorer vos chances d'attraper un bug.
Au cours des 20 dernières années, et après avoir conçu des dizaines et des dizaines de PCB (certains avec 14 couches et 2000 composants), je n'ai eu que DEUX PCB qui étaient inutilisables sur la première série de prototypes. Bien sûr, j'ai eu des bugs, mais seulement deux planches étaient "maçonnées".
Dans tous les cas, les prototypes étaient entièrement remplis avant que je ne commence à les déboguer. Je couperais les rails d'alimentation pour m'assurer qu'il n'y avait pas de short. Faites ensuite une inspection visuelle à l'aide d'un microscope. Ensuite, allumez-le. Après cela, je commencerais une session de test et de débogage méthodique - travaillant sur de petites sections du circuit à la fois jusqu'à ce que tout soit testé et fonctionne. Dans la plupart des cas, je ferais quelques changements et entrerais dans la production en volume avec la prochaine révision du PCB.
Rien de tout cela n'aurait été possible sans d'importants efforts pour réduire les bogues à l'avance.
la source
Sur un design totalement nouveau, je choisis généralement une approche diviser pour mieux régner.
J'essaie d'isoler les principaux blocs architecturaux et d'alimenter chaque section indépendamment en utilisant des commutateurs / alimentations CC / potentiomètres, etc. pour simuler les dépendances nécessaires au fonctionnement du circuit.
Cette approche n'est généralement pas difficile lorsque vous avez affaire à des alimentations - la plupart des convertisseurs n'ont besoin que d'une entrée et peut-être de quelques signaux logiques pour commencer à s'éloigner (et, espérons-le, ne libèrent pas la fumée magique de l'échec).
Les planches qui sont des deuxième / troisième tours (nettoyages) n'ont généralement pas besoin d'une telle diligence. Je ne peux isoler que les parties du circuit qui ont été modifiées, les tester indépendamment et économiser de tester le reste des circuits pour la mise sous tension totale.
N'oubliez pas votre équipement de protection individuelle. Je suis très mal à l'aise d'alimenter quoi que ce soit avec des composants exposés sans mes lunettes de sécurité (et parfois des bouchons d'oreille ...)
la source
Eh bien, l'une des premières étapes pour empêcher les réseaux en court-circuit de se produire en premier lieu est de faire bon usage des vérifications des règles de conception dans votre logiciel de carte. Les deux au niveau schématique pour s'assurer que les filets ne sont pas liés par inadvertance alors qu'ils ne devraient pas l'être; et au niveau du PCB pour assurer des dégagements suffisants entre les filets.
S'il y a des éléments de conception qui n'ont pas été testés, plutôt que de s'attaquer à un tout nouveau design sur une seule carte, j'essaie de construire des cartes de test de preuve de concept et de preuve de performance sur des proto PCB bon marché (comme le service BareBonesPCB de Advanced Circuit - deux couches, pas de masque de soudure, environ 80 $ pour un tour de 24 heures).
Même lorsque je fais une carte complète, sur les cartes de première génération, j'aime mettre beaucoup d'en-têtes en petits groupes. Dans certains cas, vous pouvez remplir deux PCB identiques, l'un avec la partie "stable", avec des broches d'en-tête sortant vers le haut; et un autre avec la partie "test", avec des réceptacles à broches d'entrée inférieures. Si tout se passe bien, vous pouvez alors terminer de remplir les deux tableaux. Ou, vous pouvez faire tourner de nouvelles versions du circuit de "test" que vous pouvez échanger en place.
la source