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.
fonte
Respostas:
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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 é:
Esta resposta wiki da comunidade.
fonte
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.
fonte
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 ...)
fonte
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.
fonte