Como você ataca um novo quadro?


24

Você recebe seu PCB de volta do fabricante. É um novo design, é claro que você embarcou em todas as partes principais, mas sabe que haverá problemas. Existem muitas coisas que podem causar problemas, por exemplo:

  • Erros no esquema
  • Erros no layout, não encontrados pelo ERC / DRC
  • Peças mal colocadas durante a soldagem
  • Calções e similares durante a soldagem
  • qualquer combinação dos itens acima

Ultimamente, tive duas placas relativamente complexas em que basicamente tive que despovoar todas as placas após a montagem para localizar o erro. Eu encontrei os erros, mas as placas eram sucateadas.

Tentei começar com o mínimo de peças e as que não podem ser soldadas à mão (estou usando pasta, estêncil e torradeira). Normalmente, esse seria o MCU, o conector JTAG e alguns capacitores. Então, estou gradualmente preenchendo outras áreas enquanto as verifico quanto a problemas.

Essa abordagem funciona, mas é realmente lenta. Eu também tenho que comentar / comentar em qualquer código que pressupõe a presença de algum hardware específico.

Alguém tem dicas / sugestões sobre como abordar PCBs recém-projetados?

Edição: Eu estou pensando principalmente sobre o tipo de problemas que deixa sua placa morta, como shorts power rail escondidos, ou qualquer coisa que mexa com o MCU.


2
pode ser uma boa ideia preencher sua fonte de alimentação e distribuição, incluindo tampas de volume e derivação, e depois aplicar a entrada de energia à placa. se você tiver uma tampa de tântalo para trás, saberá às pressas. verifique se o MCU (e etc.) tem as voltagens de alimentação corretas nos pinos corretos, antes de passar para preencher esses dispositivos.
JustJeff 2/11/11

11
Como um comentário secundário, acho que é uma boa prática manter seu código 'modular' como você fez (removendo a funcionalidade de periféricos ausentes). Eu sempre escrevo meu código de forma que ele funcione no modo 'demo' que ignora os periféricos ausentes, mas ainda executa a lógica do programa até ter certeza de que os periféricos foram depurados corretamente. Em seguida, seu programa é executado pelo menos para que você possa saber se foi programado.
AngryEE

2
Ao aplicar a energia de entrada, comece com um limite de corrente baixo.
starblue

11
Deve ser um wiki da comunidade.
Brian Carlton

11
@ Morten - Ah, faz sentido. Você está certo, é improvável que os bonés causem problemas.
Kevin Vermeer #

Respostas:


10

Decidi que a preparação do pão com antecedência é uma perda de tempo, a menos que haja aspectos do desempenho de uma peça que você precise avaliar.

Eu até acho que construir o tabuleiro em pedaços é uma perda de tempo. A depuração inicial de hardware leva apenas um dia ou dois. Quaisquer problemas sutis não aparecerão até a integração do software. Prefiro depurar um circuito (o completo) do que várias reduções ad-hoc do circuito.

Apenas construa a coisa! Monte o quadro inteiro e ligue-o. Veja a tensão de alimentação. Quantos mA ele extrai? Qual parte está queimando quente? Qual parte está quente? Em seguida, tente gravar o firmware em qualquer microcontrolador que esteja na placa. Então comece a escrever o firmware. Acelere o relógio e alterne um alfinete. Obtenha comunicação serial (ou o que seja). Agora escreva programas de teste para cada periférico. Em seguida, crie o dispositivo de teste de produção e comece a escrever o firmware "real".


Editar:

Ao encontrar trilhos presos

Se um trilho de suprimento estiver preso ao terra (mede 0 ohms com um ohmímetro), ligue-o em uma fonte de bancada. Defina a tensão normalmente e o limite de corrente para algumas centenas de mA. Imprima o design da PCB em papel e encontre um DMM que mede microvolts. Meça os microvolts começando nos terminais de suprimento e anote as quedas de tensão na impressão da placa de circuito impresso. Observando as diferenças de microvolt, é possível rastrear exatamente para onde a corrente está indo sem despovoar ou cortar o PCB. Essa técnica é melhor do que usar um ohmímetro, porque você pode bombear muita corrente pelo circuito, mais do que qualquer ohmímetro normal fornecerá.

Uma técnica semelhante funciona para encontrar traços em curto em um tabuleiro preenchido. Execute a placa e use um escopo para encontrar traços "digitais" que estejam em uma faixa de tensão intermediária.


Eu usei a mesma abordagem. Geralmente funciona, mas algumas vezes voltou a me morder bastante. Na última vez, era um slot aparentemente inocente sob um conector que havia sido revestido durante a fabricação e curto-circuitos no solo e nos aviões. Minha culpa foi inteiramente, mas foi um erro frustrante e difícil de encontrar.
morten 4/11

11
Para usar a abordagem "Just build the thing", acho que preciso pedir mais do que um único PCB.
morten

Eu já vi sondas "squeaker" usadas para uma finalidade semelhante - para focar no curto. Infelizmente, não consigo encontrar um link para o produto.
Toybuilder 04/04


20

Eu faço isso preenchendo a placa com o mínimo necessário inicialmente, colocando o suprimento funcionando primeiro, depois o MCU, adicionando os vários subsistemas um de cada vez e testando-os antes de continuar, escrevendo o software de teste conforme necessário. Não acho o processo lento.

Eu tenho placas de qualquer complexidade testada. Custa extra, mas vale a pena.


3
ele só tem um grande bug encontrado esta maneira de torná-lo muito mais rápida
Kortuk

11

Eu só brinco com circuitos muito pequenos. Depois, soldo os pequenos circuitos em proto-boards. Se você trabalha com chips SMD, ajuda a obter os adaptadores SMD-> Thru-hole.

Isso basicamente fornece "blocos de construção". Em seguida, soldo esses blocos de circuito em um kit de desenvolvimento ou em um PCB antigo com o MCU que estou tentando usar. Parece atroz, com quatro ou cinco PCBs pequenos diferentes pendurados em um maior, mas funciona.

Depois que os blocos de construção estão trabalhando em uma placa de desenvolvimento, mudo para uma PCB. Se as mudanças esquemáticos em tudo ao mesmo tempo que o PCB, eu voltar e refazer os blocos de construção e testá-los na placa dev novamente.


Em uma nota lateral, em vez de comentar o código, você deve usar as diretivas #define e #ifdef do pré-processador. Torna significativamente mais fácil adicionar e remover blocos funcionais de código em um MCU.


Parece que eu faço isso e sinto que é uma maneira muito boa de desenvolver um design. Também possibilita a reutilização de peças posteriormente.
Trygve Laugstøl

9

Com quadros de qualquer complexidade, é quase tão importante desenvolver um plano de teste quanto o próprio quadro. Mesmo no início do design do quadro, é uma boa idéia saber o que você testará, mesmo que a implementação ainda não exista; "projetar para teste", como eles dizem. Certifique-se de trazer os principais sinais para os blocos de pontos de teste. Tente particionar o design para que subsistemas individuais possam ser criados de forma independente ou o mais independente possível.


Hmm, ótima sugestão! Por alguma razão, eu nunca pensei sobre "design para teste" neste contexto antes.
morten

2
você pode levá-lo ao próximo nível, projetando o recurso de autoteste. isso aumenta a complexidade da sua placa, mas pode facilitar a verificação do projeto e ainda oferece a opção de incluir autotestes de inicialização no seu produto em campo.
JustJeff 2/11/11

8

Suponho que uma pergunta importante seja: Qual é a lista de verificação antes do voo antes de você liberar um quadro para produção. Minha lista pré-vôo é:

  1. Revisão esquemática do projeto
    1. Nomes de rede e portas fora de folha
    2. Pinos da fonte de alimentação conectados
  2. RDC esquemático
  3. Esfoliação de pegada
    1. Número completo de peça do fabricante
    2. O número da peça corresponde à pegada na placa de circuito impresso e à pinagem no esquema
    3. O número do pino da pegada é "lado direito para cima" e correto
    4. Dimensões da pegada verificadas duas vezes quanto a tamanhos, folgas, recortes, etc.
    5. Os conectores de acoplamento estão orientados corretamente; pinos 1 a 1, 2 a 2, etc.
  4. PCB Dimensões e orifícios
  5. DRC PCB
  6. O Fab Drawings possui todas as camadas e chamadas.

Esta resposta wiki da comunidade.


5

O que os outros caras disseram é válido, mas eu gostaria de adicionar meus 2 centavos.

A melhor coisa absoluta a fazer é não cometer erros em primeiro lugar. Parece bobagem mencionar isso, mas muitas vezes isso é negligenciado. Faça uma revisão esquemática e de design de PCB. Peça a várias pessoas que olhem para o seu projeto - até engenheiros iniciantes. Use as verificações de regra de design em seu software. Use qualquer recurso disponível para garantir que seu design seja bom. Tenha boas práticas de engenharia para melhorar suas chances de detectar um bug.

Nos últimos 20 anos, e tendo projetado dezenas e dezenas de PCBs (alguns com 14 camadas e 2.000 componentes), só tive DOIS PCBs que eram inutilizáveis ​​na primeira rodada de protótipos. Claro que tive bugs, mas apenas duas placas foram "emparedadas".

Em todos os casos, os protótipos foram totalmente preenchidos antes de eu começar a depurá-los. Eu usaria os trilhos para garantir que não houvesse shorts. Em seguida, faça uma inspeção visual usando um microscópio. Em seguida, ligue-o. Depois disso, eu começava uma sessão metódica de teste e depuração - trabalhando em pequenas seções do circuito por vez até que tudo estivesse testado e funcionando. Na maioria dos casos, eu faria algumas alterações e entraria em produção em volume com a próxima revisão do PCB.

Nada disso seria possível sem grandes esforços para reduzir os erros na frente.


Alguns fabricantes (como 4pcb) oferecem até testes DFM gratuitos em seus gerbers. Esses testes gratuitos são uma boa adição ao DRC das ferramentas de PCB.
Ajs410

4

Em um design totalmente novo, geralmente adoto uma abordagem de dividir e conquistar.

Tento isolar os principais blocos arquitetônicos e energizar cada seção de forma independente, usando interruptores / fontes CC / potenciômetros etc. para simular as dependências necessárias para que o circuito funcione.

Essa abordagem geralmente não é difícil quando você está lidando com fontes de alimentação - a maioria dos conversores precisa apenas de entrada e talvez de alguns sinais lógicos para começar a mudar (e esperamos não liberar a fumaça mágica da falha).

As placas que são segundo / terceiro giros (limpezas) geralmente não precisam de tanta diligência. Posso isolar apenas partes do circuito que foram alteradas, testá-las de forma independente e salvar o restante do circuito para o all-in power-up.

Não esqueça seu equipamento de proteção individual. Estou muito desconfortável em ligar qualquer coisa com componentes expostos sem meus óculos de segurança (e às vezes tampões para os ouvidos ...)


11
+1 para a proteção dos olhos / ouvidos! Certa vez, ouvi um DAC explodindo do outro lado do laboratório - o cara que trabalhava nele tinha um ponto cego temporário em sua visão por cerca de 5 minutos!
Toybuilder

3

Bem, uma das primeiras etapas para impedir que redes em curto aconteçam é fazer bom uso das verificações de regras de design no software da sua placa. Tanto no nível esquemático, para garantir que as redes não sejam inadvertidamente ligadas quando não deveriam estar; e no nível PCB, para garantir folgas suficientes entre as redes.

Se houver elementos de design que não foram testados, em vez de abordar um design totalmente novo em uma placa, tento criar placas de teste de prova de conceito e de desempenho em PCBs proto baratos (como o serviço BareBonesPCB da Advanced Circuit - dois sem máscara de solda, cerca de US $ 80 por um turno de 24 horas).

Mesmo quando eu faço uma prancha completa, nas pranchas da primeira geração, gosto de colocar muitos cabeçalhos avançados. Em alguns casos, você pode preencher dois PCBs idênticos, um com a parte "estável", com pinos de cabeçalho saindo para o topo; e outro com a parte "testando", com receptáculos de pinos de entrada inferiores. Se tudo der certo, você poderá concluir o preenchimento das duas placas. Ou, você pode girar novas versões do circuito de "teste" que você pode trocar no lugar.


os cabeçalhos são ótimos, especialmente se você precisar refazer ou adicionar recursos posteriormente, ou se precisar de saídas de depuração inesperadas. Eu também gosto da idéia de fazer um BareBones para pequenas protos ... só poderia fazer isso sozinha
ajs410
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.