19 votos

¿Cómo arreglar un error de diseño de PCB después de la fabricación?

Novato de 16 años aquí.

Mi proyecto es un mini robot con la pcb como chasis, batería lipo con circuito cargador, y sensores infrarrojos. He utilizado LSM6DS33TR para mi acelerómetro I2C y giroscopio con 10K "resistencia de pull-up" de acuerdo con la hoja de datos, y ATMEGA328P como microcontrolador.

Es la primera vez que diseño mi propia placa de circuito impreso industrial y la fabrico. He fabricado las placas de circuito impreso con JLCPCB. Después de enviar los archivos y la espera de la entrega, cuando me doy cuenta de un error de mi diseño. Me di cuenta de que no he conectado las resistencias de pull-up para mi bus I2C correctamente, ya que debe ser tirado hasta 3V3.

Mis preguntas son:

  1. ¿Cómo puedo redirigir las conexiones o hacer modificaciones para hacer el pull-up de SDA y SCL a la tensión de alimentación con la PCB ya fabricada?
  2. ¿Debo cambiar el diseño y fabricar otra placa de circuito impreso? (Broke ):)

Aquí está el diagrama esquemático completo del proyecto que hice: (las líneas i2c están rodeadas) enter image description here

CAPA SUPERIOR: (Plano de cobre GND) enter image description here

CAPA INFERIOR: (Plano de cobre 3V3) enter image description here

3 votos

¡Buen trabajo! Afortunadamente para ti todos hemos hecho cosas como esta y hemos pasado por el proceso de arreglarlas. Iba a sugerir lo mismo que @Oldfart. Mucha suerte para ti.

10 votos

¡Enhorabuena! ¡Bienvenido al país de la chapuza! :) (¿No eres un verdadero diseñador de PCB hasta que no has sacado la bobina de cable azul? XD)

4 votos

Para futuros proyectos, te recomiendo que añadas almohadillas adicionales en algunas de las trazas más importantes, incluso si no se pueblan, para que puedas conectar cables a ellas si es necesario, y no tengas que preocuparte de soldar un cable en un pin de un diminuto paquete de CI.

19voto

yeyo123321 Puntos 8

Tienes que "parchear" tu PCB.

Yo haría lo que he intentado dibujar a continuación: colocar dos resistencias pull up (10K) en los pads existentes cortocircuitándolos. Luego un cable desde los otros extremos hasta la conexión 3V3 más cercana.

enter image description here

He dibujado la resistencia SMD pero también puedes usar las axiales "de toda la vida".

5 votos

Sólo quería añadir que me gusta utilizar alambre para estos arreglos, pero cualquier alambre sólido y fino debería servir. También me inclinaría por poner una pequeña gota de pegamento debajo de las resistencias para mantenerlas en su lugar.

3 votos

Una resistencia THT axial puede ser más apropiada ya que no hay una segunda almohadilla para la SMD. Añadir algo de pegamento puede ayudar pero no estoy seguro de que sea la mejor solución. Con un poco de suerte los cables de la resistencia THT serán lo suficientemente largos como para llegar al lugar deseado, evitando el cableado extra.

0 votos

Utilicé resistencias 0603 sí, esas resistencias podrían ser buenas para alcanzar las almohadillas. Gracias.

9voto

Ken White Puntos 73213

Tu tabla tiene más problemas. Por ejemplo, los pines de la fuente de alimentación para U5 tienen un condensador en serie con ellos que supongo que se supone que son los tapones de desacoplamiento entre VCC y GND. Tampoco veo ninguna cápsula de desacoplamiento para el AVR.

Al final podría ser mejor rehacer el tablero correctamente.

1 votos

Sin embargo, ese problema en particular no es difícil de solucionar. Esto debería ser un comentario, no una respuesta.

3 votos

El problema de VCC con U5 puede ser arreglado más o menos de la misma manera que el problema de la resistencia I2C - particularmente porque el otro extremo necesita ir a tierra, y en ese caso el OP puede simplemente raspar un poco de máscara de soldadura del plano de tierra en el lugar correcto, colocar la tapa en forma transversal, y soldar ambos extremos.

2 votos

Vale la pena señalar que la sustitución de estas dos tapas con resistencias de 0 ohmios es probablemente suficiente. También que el cable de puente no debe ser utilizado para conectar los condensadores de desacoplamiento porque su inductancia cancelará la capacitancia - el enfoque de Tim de conectar directamente a un plano de tierra funcionará.

9voto

e100 Puntos 130

El bus I2C se puede arreglar sin cambios en la PCB (los otros problemas que encontró @Unimportant seguirán requiriendo atención).

Simplemente:

  • Sustituye las resistencias en serie (que extrañamente no tienen designaciones ) por un valor bajo adecuado para resistencias en serie, por ejemplo, 22 ohmios.
  • Habilitar las resistencias pull-up internas programables en los correspondientes pines I2C del ATMEGA.

Ten en cuenta que los pullups programables no serán exactamente los valores recomendados para el uso de I2C, por lo que deberás recalcular la velocidad máxima en base a la nueva fuerza de pullup.

0 votos

Merece la pena destacarlo, pero probablemente no funcionará con las tasas de datos que necesitará una IMU.

4 votos

@MattYoung: Esa "IMU" tiene una tasa máxima de 1,6ksps, no necesita ninguna tasa de datos de lujo (y los sensores que sí necesitan altas velocidades no van a usar I2C en primer lugar)

0 votos

He considerado las resistencias pullup internas del atmega, y después de bastante investigación, he descubierto que no es adecuado para I2C. Al menos para este chip, no necesita ninguna tasa de lujo. Gracias por la información :)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X