Como corrigir um erro de design de PCB após a fabricação?


19

Novato 16 anos aqui.

Meu projeto é um mini robô com o pcb como chassi, bateria lipo com circuito de carregador e sensores infravermelhos. Usei LSM6DS33TR para o meu acelerômetro I2C e giroscópio com "resistor de pull-up" 10K de acordo com a folha de dados e ATMEGA328P como microcontrolador.

É a minha primeira vez para projetar e fabricar minha própria placa de circuito impresso industrial. Eu fabriquei os PCBs com JLCPCB. Depois de enviar os arquivos e aguardar a entrega, quando vejo um erro no meu design. Percebi que não liguei os resistores de pull-up para o meu barramento I2C corretamente, pois eles deveriam ser puxados para 3V3.

Minhas perguntas são:

  1. Como redirecionar as conexões ou fazer modificações para fazer com que o SDA e o SCL puxem para fornecer tensão com a PCB já sendo fabricada?
  2. Devo alterar o design e fabricar outra PCB? (Quebrou ):)

Aqui está todo o diagrama esquemático do projeto que eu fiz: (as linhas i2c estão envolvidas) insira a descrição da imagem aqui

CAMADA SUPERIOR: (GND Copper Plane) insira a descrição da imagem aqui

CAMADA INFERIOR: (Avião de cobre 3V3) insira a descrição da imagem aqui


3
Bom trabalho! Felizmente para você, todos nós fizemos coisas assim e passamos pelo processo de corrigi-las. Eu sugeriria a mesma coisa que @Oldfart. Boa sorte para você.
Elliot Alderson

10
Parabéns! Bem-vindo à terra da cabana! :) (você não é um designer de PCB real até ter quebrado o carretel de fio azul? XD)
ThreePhaseEel

4
Para projetos futuros, recomendo que você adicione almofadas extras em alguns dos rastreamentos mais importantes, mesmo que eles não sejam preenchidos, para que você possa conectar os fios a eles, se necessário, e não precisa se preocupar em soldar um fio em um alfinete de um pequeno pacote de IC.
Lareira

6
O que o @Hearth disse pode ser realizado na maioria dos softwares EDA / EDM, criando um componente de ponto de teste com um "pino" e, em seguida, criando uma pegada para esse ponto de teste que é apenas uma pequena almofada de montagem em superfície. Você terá todos esses pontos em toda a sua placa, rotulados, que podem ser usados ​​para mods ou para conectar sondas de osciloscópio. As chances são altas de que sua ferramenta já tenha algo semelhante nas bibliotecas.
TimWescott 26/01

8
Sugiro que você trabalhe com as pranchas que comprou, mesmo que elas não pareçam tão atraentes. Então, se você decidir refazê-lo, será mais provável que tenha encontrado 100% dos problemas.
Spehro Pefhany 26/01

Respostas:


19

Você precisa 'consertar' seu PCB.

Eu faria o que tentei desenhar abaixo: coloque dois resistores pull-up (10K) nas almofadas existentes, causando um curto-circuito. Em seguida, um fio da outra extremidade termina na conexão 3V3 mais próxima.

insira a descrição da imagem aqui

Eu desenhei um resistor SMD, mas você também pode usar os axiais "antiquados".


5
Só queria acrescentar que eu gosto de usar fio enrolado para essas correções, mas qualquer fio sólido fino deve fazer. Eu também estaria inclinado a colocar uma pequena gota de cola sob os resistores para mantê-los no lugar.
Elliot Alderson

3
Um resistor axial THT pode ser mais apropriado, pois não existe um segundo bloco para o SMD. Adicionar cola pode ajudar, mas não tenho certeza se é a melhor solução. Com alguma sorte, os fios do resistor THT serão longos o suficiente para alcançar o local desejado, evitando fiação extra.
Fredled

Eu usei 0603 resistores .. sim, resistores podem ser bons para alcançar as almofadas. Obrigado!
Dave Benemerito 26/01

9

Sua placa tem mais problemas. Por exemplo, os pinos da fonte de alimentação do U5 têm um capacitor em série com eles, que eu acho que deveriam ser as tampas de desacoplamento entre o VCC e o GND. Também não vejo tampas de desacoplamento para o AVR.

No final, pode ser melhor refazer a placa corretamente.


1
Esse problema em particular não é difícil de resolver, no entanto. Provavelmente deve ser um comentário, não uma resposta.
Lareira

2
O problema do VCC com o U5 pode ser corrigido mais ou menos da mesma maneira que o problema do resistor I2C - principalmente porque a outra extremidade precisa ser aterrada e, nesse caso, o OP pode arranhar alguma máscara de solda do plano de terra no lugar certo, coloque a tampa na horizontal e solde as duas extremidades.
TimWescott 26/01

2
Vale ressaltar que a substituição dessas duas tampas por resistores de 0 ohm provavelmente é boa o suficiente. Além disso, esse fio de ligação em ponte não deve ser usado para conectar os capacitores de desacoplamento, porque sua indutância cancelará a capacitância - a abordagem de Tim de se conectar diretamente a um plano de terra funcionará.
Ben Voigt

3
Algumas pessoas não se preocupam com muito trabalho em uma placa e algumas podem ver vários erros como um motivo suficientemente bom para refazer a placa. Então, acho que apontar o fato de que há mais erros no quadro, que podem influenciar a decisão do OP, é uma resposta válida.
importância 26/01

Obrigado por isso! Eu realmente não notei o erro de tampa até esta resposta. Eu não sei o que eu estava pensando naquela época XD. Há realmente muito o que fazer pelo meu erro de PCB. Obrigado!
Dave Benemerito 26/01

9

O barramento I2C pode ser corrigido sem alterações de PCB (os outros problemas encontrados por @Unimportant ainda exigirão atenção).

Simplesmente:

  • Substitua os resistores em série (que estranhamente não têm designadores?) Por um valor baixo adequado para resistores em série, por exemplo, 22 ohms.
  • Ative os resistores de pull-up internos programáveis ​​nos pinos I2C correspondentes do ATMEGA.

Observe que os pullups programáveis ​​não serão exatamente os valores recomendados para o uso do I2C; portanto, você deve recalcular a velocidade máxima com base na nova força de pullup.


Vale a pena notar, mas provavelmente não funcionará com as taxas de dados que uma IMU precisará.
Matt Young

4
@MattYoung: Esse "IMU" tem uma taxa máxima de 1,6ksps, não precisa de nenhuma taxa de dados sofisticada (e os sensores que precisam de alta velocidade não usarão o I2C em primeiro lugar)
Ben Voigt em

Eu considerei os resistores de pull-up internos do atmega e, depois de muita pesquisa, descobri que ele não é adequado para o I2C. Pelo menos para este chip, ele não precisa de taxas sofisticadas. Obrigado por essa informação :)
Dave Benemerito
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.