Comment attaquez-vous un nouveau tableau?

24

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.

morten
la source
2
peut être une bonne idée de remplir votre alimentation et distribution, y compris les bouchons en vrac et de dérivation, puis d'appliquer la puissance d'entrée à la carte. si vous avez une casquette en tantale à l'arrière, vous le saurez rapidement. puis vérifiez que le MCU (et etc.) a les bonnes tensions d'alimentation aux bonnes broches, avant de passer à peupler ces appareils.
JustJeff
1
En guise de commentaire secondaire, je pense que c'est une bonne pratique de garder votre code «modulaire» comme vous l'avez fait (suppression des fonctionnalités pour les périphériques manquants). J'écris toujours mon code de manière à ce qu'il fonctionne dans un mode «démo» qui ignore les périphériques manquants mais continue à parcourir la logique du programme jusqu'à ce que je sois sûr que les périphériques sont correctement débogués. Ensuite, votre programme s'exécute au moins afin que vous puissiez savoir s'il a été programmé.
AngryEE
2
Lorsque vous appliquez la puissance d'entrée, commencez par une limite de courant faible.
starblue
1
Devrait être un wiki communautaire.
Brian Carlton
1
@Morten - Ah, c'est logique. Vous avez raison, il est peu probable que les plafonds causent des problèmes.
Kevin Vermeer

Réponses:

10

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.

2 tours
la source
J'ai utilisé la même approche. Cela fonctionne généralement, mais à quelques reprises, il est revenu me mordre assez mal. Cette dernière fois, il s'agissait d'une fente apparemment innocente sous un connecteur qui avait été plaqué pendant la fabrication et qui avait court-circuité le sol et les avions d'alimentation. Ma faute, mais c'était une erreur frustrante et difficile à trouver.
morten
1
Pour utiliser l'approche "Just build the thing", je pense que je dois commander plus d'un seul PCB.
morten
J'ai vu des sondes "squeaker" utilisées dans un but similaire - pour se concentrer sur le court. Malheureusement, je ne trouve pas de lien vers le produit.
Toybuilder
20

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.

Leon Heller
la source
3
cela ne prend qu'un seul bug majeur trouvé de cette façon pour le rendre beaucoup plus rapide
Kortuk
11

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.

ajs410
la source
Cela ressemble à la façon dont je le fais, ce qui me semble être une très belle façon de faire évoluer un design. Il permet également de réutiliser des pièces ultérieurement.
Trygve Laugstøl
9

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.

JustJeff
la source
Hmm, super suggestion! Pour une raison quelconque, je n'ai pas vraiment pensé à la "conception pour le test" dans ce contexte auparavant.
morten
2
vous pouvez passer au niveau supérieur en concevant des capacités d'auto-test. il ajoute à la complexité de votre carte, mais il peut faciliter votre vérification de conception, et vous donne même la possibilité d'inclure des auto-tests de mise sous tension dans votre produit sur le terrain.
JustJeff
8

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:

  1. Revue de conception schématique
    1. Noms de réseau et ports hors feuille
    2. Broches d'alimentation connectées
  2. Schéma RDC
  3. Gommage empreinte
    1. Numéro de pièce complet du fabricant
    2. Le numéro de pièce correspond à l'empreinte sur le PCB et au brochage dans le schéma
    3. Le numéro de broche de l'empreinte est "côté droit" et correct
    4. Les dimensions de l'empreinte sont vérifiées pour la taille des trous, le dégagement, les restrictions, etc.
    5. Les connecteurs femelles sont correctement orientés; broches 1 à 1, 2 à 2, etc.
  4. PCB Dimensions et trous
  5. PCB DRC
  6. Fab Drawings a toutes les couches et les légendes.

Cette réponse communauté wiki'd.

Toybuilder
la source
5

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.

user3624
la source
Certains fabricants (comme 4pcb) proposent même des tests DFM gratuits sur vos gerbers. Ces tests gratuits sont un bon ajout au DRC de vos outils PCB.
ajs410
4

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 ...)

Adam Lawrence
la source
1
+1 pour la protection des yeux / des oreilles! J'ai entendu une fois un DAC exploser de l'autre côté du laboratoire - le gars qui y travaillait avait une tache aveugle temporaire dans sa vision pendant environ 5 minutes!
Toybuilder
3

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.

Toybuilder
la source
les en-têtes sont excellents, surtout si vous devez retravailler ou ajouter des fonctionnalités plus tard, ou si vous avez besoin de sorties de débogage impromptues. J'aime aussi l'idée de faire un BareBones pour de petits protos ... pourrait bien le faire moi
ajs410