Jak naprawić błąd projektowy PCB po wyprodukowaniu?

19

Początkujący ma 16 lat.

Mój projekt to mini robot z płytką drukowaną jako podwoziem, baterią lipo z obwodem ładowarki i czujnikami podczerwieni. Użyłem LSM6DS33TR do mojego akcelerometru I2C i żyroskopu z rezystorem podciągającym 10K zgodnie z arkuszem danych, a ATMEGA328P jako mikrokontrolera.

Po raz pierwszy zaprojektowałem i wyprodukowałem własną płytkę przemysłową. Płytki PCB wyprodukowałem z JLCPCB. Po wysłaniu plików i oczekiwaniu na dostawę zauważę błąd w moim projekcie. Zauważyłem, że nie podłączyłem poprawnie rezystorów podciągających do mojej magistrali I2C, ponieważ powinny być podciągnięte do 3V3.

Moje pytania to:

  1. Jak mogę przekierować połączenia lub dokonać modyfikacji, aby podciągnąć SDA i SCL do napięcia zasilającego przy już wyprodukowanej płytce drukowanej?
  2. Czy powinienem zmienić projekt i wyprodukować inną płytkę drukowaną? (Zepsuł się ):)

Oto cały schemat ideowy projektu, który wykonałem: (linie i2c są otoczone) wprowadź opis zdjęcia tutaj

GÓRNA WARSTWA: (GND Copper Plane) wprowadź opis zdjęcia tutaj

WARSTWA DOLNA: (samolot miedziany 3V3) wprowadź opis zdjęcia tutaj

Dave Benemerito
źródło
3
Dobra robota! Na szczęście dla was wszyscy zrobiliśmy takie rzeczy i przeszliśmy przez proces ich naprawy. Chciałem zasugerować to samo, co @Oldfart. Powodzenia.
Elliot Alderson
10
Gratulacje! Witamy w krainie bodge! :) (nie jesteś prawdziwym projektantem PCB, dopóki nie złamałeś szpuli niebieskiego drutu? XD)
ThreePhaseEel
4
W przypadku przyszłych projektów zalecam dodanie dodatkowych padów do niektórych ważniejszych śladów, nawet jeśli nie zostaną one zapełnione, aby w razie potrzeby można było do nich przymocować przewody i nie trzeba się martwić o lutowanie drutu pin małej paczki IC.
Hearth
6
To, co powiedział @Hearth, można osiągnąć w większości programów EDA / EDM, wykonując komponent punktu testowego, który ma jeden „pin”, a następnie wykonując ślad dla tego punktu testowego, który jest tylko małą podkładką do montażu powierzchniowego. Będziesz miał wszystkie te kropki na całej planszy, oznaczone, których możesz używać do modów lub do podłączania sond zakresu. Istnieje duże prawdopodobieństwo, że twoje narzędzie ma już coś podobnego w bibliotekach.
TimWescott
8
Sugeruję, aby zakupione deski działały, nawet jeśli nie wyglądają tak atrakcyjnie. Następnie, jeśli zdecydujesz się to zrobić ponownie, bardziej prawdopodobne jest, że znajdziesz 100% problemów.
Spehro Pefhany

Odpowiedzi:

19

Musisz „załatać” swoją płytkę drukowaną.

Zrobiłbym tak, jak próbowałem narysować poniżej: umieść dwa oporniki podciągające (10K) na istniejących podkładkach, zwodząc je. Następnie przewód z drugiego końca do najbliższego połączenia 3V3.

wprowadź opis zdjęcia tutaj

Narysowałem rezystor SMD, ale możesz też użyć „staromodnych” osiowych.

Oldfart
źródło
5
Chciałem tylko dodać, że lubię używać drutu owijanego drutem do tych poprawek, ale każdy cienki drut powinien być odpowiedni. Byłbym również skłonny do umieszczenia niewielkiej kropli kleju pod opornikami, aby utrzymać je na miejscu.
Elliot Alderson
3
Osiowy opornik THT może być bardziej odpowiedni, ponieważ nie ma drugiej podkładki dla SMD. Dodanie kleju może pomóc, ale nie jestem pewien, czy jest to najlepsze rozwiązanie. Przy odrobinie szczęścia przewody rezystora THT będą wystarczająco długie, aby dotrzeć do żądanej lokalizacji, unikając dodatkowego okablowania.
Fredled
Użyłem rezystorów 0603 .. tak, rezystory mogą być dobre, aby dotrzeć do padów. Dzięki!
Dave
9

Twoja tablica ma więcej problemów. Na przykład piny zasilające dla U5 mają szeregowo kondensator, który, jak sądzę, miał być pokrywami odsprzęgającymi VCC i GND. Nie widzę też żadnych pułapów oddzielania dla AVR.

Na koniec może być lepiej poprawnie przerobić planszę.

Nieważny
źródło
1
Ten konkretny problem nie jest jednak trudny do rozwiązania. To prawdopodobnie powinien być komentarz, a nie odpowiedź.
Hearth
2
Problem VCC z U5 można naprawić mniej więcej tak samo jak problem z rezystorem I2C - szczególnie dlatego, że drugi koniec musi zostać uziemiony, w takim przypadku OP może po prostu zeskrobać maskę lutowniczą z płaszczyzny uziemienia w odpowiednim miejscu połóż czapkę na krzyż i przylutuj oba końce w dół.
TimWescott
2
Warto zauważyć, że zastąpienie tych dwóch czapek rezystorami 0 omów jest prawdopodobnie wystarczające. Ponadto nie należy używać przewodu połączeniowego do podłączania kondensatorów odsprzęgających, ponieważ ich indukcyjność anuluje pojemność - podejście Tima polegające na bezpośrednim podłączeniu do płaszczyzny uziemienia będzie skuteczne.
Ben Voigt
3
Niektóre osoby nie dbają o dużo pracy typu bodge na tablicy, a niektóre mogą zobaczyć wiele błędów jako wystarczający powód do ponownego wykonania tablicy. Dlatego uważam, że wskazanie na fakt, że na tablicy jest więcej błędów, które mogą wpłynąć na decyzję PO, jest prawidłową odpowiedzią.
Nieważne
Dziękuję za to! Tak naprawdę, nie zauważyłem błędu WPR do tej odpowiedzi. Nie wiem, co myślałem wtedy XD. Naprawdę wiele mam do zrobienia w związku z moim błędem PCB. Dzięki!
Dave Benemerito
9

Magistrala I2C może zostać naprawiona bez zmian na płytce drukowanej (inne problemy, które @Unimportant znalazł nadal wymagają uwagi).

Po prostu:

  • Zastąp rezystory szeregowe (które dziwnie nie mają oznaczników?) Niską wartością odpowiednią dla rezystorów szeregowych, np. 22 Ω.
  • Włącz programowalne wewnętrzne rezystory podciągające na odpowiednich stykach I2C ATMEGA.

Należy pamiętać, że programowalne podciągnięcia nie będą dokładnie zalecanymi wartościami dla użycia I2C, dlatego należy ponownie obliczyć maksymalną prędkość na podstawie nowej siły podciągania.

Ben Voigt
źródło
Warto zauważyć, ale prawdopodobnie nie będzie działać z szybkościami transmisji danych potrzebnymi przez IMU.
Matt Young
4
@MattYoung: Ten „IMU” ma maksymalną prędkość 1,6 ksps, nie potrzebuje żadnych wymyślnych szybkości transmisji danych (a czujniki, które potrzebują dużych prędkości, nie będą używać I2C w pierwszej kolejności)
Ben Voigt
Rozważyłem wewnętrzne rezystory podciągające atmega i po wielu badaniach odkryłem, że nie nadaje się do I2C. Co najmniej dla tego układu, nie wymaga żadnych fantazyjnych stawek. Dzięki za te informacje :)
Dave Benemerito