Witajcie moi drodzy.
Dziś pokażę projekt który powstał zasadniczo dlatego, że chciałem sprawdzić czy uda mi się przylutować element w obudowie QFN w warunkach domowych.
Projekt ten stanowi odświeżenie mojej płytki z MCP2221 którą wykonałem kilka lat temu i różni się od niej zasadniczo tym, że stara wersja była zrobiona w THT (montaż przewlekany; duże elementy) a nowa wersja przedstawiona tutaj zrobiona jest w SMD (montaż powierzchniowy; najmniejsze elementy jakie były w moim zasięgu).
Tutaj opiszę całość, dam zdjęcia z lutowania i udostępnię źródła płytki i Gerbery.
MCP2221 w obudowie QFN
MCP2221 to konwerter USB-UART, czyli wirtualny port COM. Dodatkowo oferuje konfigurowalne piny którymi też możemy sterować z komputera, do których funkcjonalności należą:
- komunikacja I2C
- tryb wejścia cyfrowego
- tryb wyjścia cyfrowego
- tryb ADC (Analog to Digital Converter)
- tryb DAC (Digital to Analog Converter)
- CLKOUT (wyjście sygnału zegara z wewnętrznego oscylatora)
- i inne, w tym diody sygnalizujące komunikację UART/I2C
MCP2221 występuje w różnych obudowach, od przyjaznego każdemu DIP8 (którego łatwo używa się z płytką stykową), przez SOIC aż po malutkie QFN (Quad Flat NoLeads package).
Obudowa QFN pokazana poniżej ma wymiary tylko 4mm x 4mm!
Dokładne wymiary QFN są dostępne w nocie katalogowej MCP2221:
Na koniec warto zaznaczyć, że zwykły MCP2221 jest określany przez Microchipa już jako przestarzały ("not recommended for new designs"), natomiast w produkcji jest jego nowa, ulepszona wersja - MCP2221A, która różni się jedynie od poprzednika maksymalną wartością baud rate.
Cytat:
The MCP2221A is identical to the MCP2221 in all aspects except for the maximum supported baud rate of the UART, which has been increased from 115200 (MCP2221) to 460800 (MCP2221A). All MCP2221 USB Drivers and Software can be used for the MCP2221A.
Sterowniki od MCP2221 są kompatybilne z MCP2221A.
Schemat i projekt płytki
Schemat płytki zasadniczo miałem gotowy już z poprzedniej, przewlekanej wersji. Zmieniłem tylko wyprowadzenie pinów.
Uznałem, że nie potrzebuję wszystkich GPIO i linii I2C, i wyprowadzę ich tylko tyle ile się zmieści na małej płytce.
Pełny schemat:
Przed projektowaniem płytki dałem sobie następujące założenia:
- MCP2221 w obudowie QFN
- pozostałe elementy w obudowie 0603
- użyć dobrego, solidnego złącza Mini USB z czterema padami lutowniczymi do obudowy, gdyż ono zawsze solidnie trzyma się płytki i nie ma możliwości wyrwania go tak jak w przypadku innych złącz (zwłaszcza Mini USB)
- sygnały wyprowadzić na piny tak by móc całość wsadzić do płytki stykowej
- preferować mały rozmiar płytki względem wyprowadzenia wszystkich sygnałów (jak dla jakiegoś GPIO braknie miejsca to pominąć)
Ostatecznie powstała taka płytka:
Wymiary płytki:
Lutowanie tanią lutownicą grotową
Samego PCB pod ten projekt oczywiście nie wykonałem sam, tylko zleciłem taniej płytkarni z Chin. Sam jedynie tylko wszystko zlutowałem.
Tak wyglądało PCB bez elementów:
Płytki z takimi drobnymi elementami SMD z reguły lutuje się z pomocą droższego sprzętu, np. stacji lutowniczej hot air, ale ja postanowiłem użyć jednej z tańszych lutownic z Aliexpress:
Oferuje ona prostą regulację temperatury oraz łatwą możliwość wymiany końcówki. Końcówki do niej są łatwo dostępne i tanie. W tym przypadku też musiałem wymienić końcówkę bo stara była naprawdę bardzo mocno zużyta:
Wybrałem prostą końcówkę, ponieważ uznałem że będzie ona miała większą powierzchnię kontaktu z płytką/pinami więc też skuteczniej będzie wymieniać z nimi ciepło.
Przygotowałem sobie potrzebne elementy:
Przygotowałem też topnik, którego duża ilość jest raczej bardzo wskazana przy lutowaniu SMD:
Z pomocą bardzo małej ilości spoiwa lutowniczego i topnika pobieliłem piny:
Nałożyłem więcej topnika. Układ w obudowie QFN podniosłem pesetą, jego pole na płytce wstępnie nagrzałem grotem lutownicy. Delikatnie potem go tam umiejscowiłem i docisnąłem.
Dodatkowo przejechałem wzdłuż wszystkich pinów układu lutownicą, jednocześnie dawkując po troszkę cyny.
Następnie przylutowałem pozostałe drobne elementy:
Na koniec w podobny sposób przylutowałem złącze USB. Nadmiar cyny usunąłem plecionką.
Ostatecznie przylutowałem jeszcze oczywiście goldpiny, dla odmiany z zielonym plastikiem:
Po zlutowaniu całości od razu wziąłem się za testowanie na płytce stykowej. Niestety co najmniej dwa piny musiałem poprawić. Wyszło to dopiero gdy zorientowałem się, że jedno GPIO nie ma kontaktu. Dlatego jeszcze też nie zmyłem topnika.
Po naprawieniu wszystkich lutów oczyściłem całość z topnika:
Do czyszczenia z topnika użyłem:
Gotowa płytka, wraz ze złotówką dla poczucia skali:
Po dodatkowych poprawkach:
Potem zostało tylko wszystko przetestować czy działa poprawnie.
Wykonałem kilka takich modułów, zwłaszcza że z płytkarni dostaję po min. 5-10 płytek.
Test działania - sterowniki Windows 10
Sterowniki pod MCP2221 miałem już od dawna zainstalowane, więc zasadniczo mogę powiedzieć tylko że całość działa na pewno pod Windows 10, bez żadnych problemów.
Po podłączeniu do komputera konwerter jest widoczny w "Urządzenia i drukarki":
Widoczny też jest w Menedżerze urządzeń:
Test działania - UART echo
Najprościej UART można przetestować poprzez spięcie razem pinów RX i TX. Wtedy po prostu odbieramy to co wyślemy, czyli uzyskujemy efekt prostego echo. Tak zrobiłem w tym przypadku, by sprawdzić luty i działanie konwertera. Do zwarcia pinów RX i TX użyłem zworki:
Po stronie komputera użyłem RealTerm. Otrzymałem taki rezultat:
Test działania - kontrola pinów GPIO
Na płytce oprócz pinów RX/TX wyprowadzone są też piny GP2 i GP3, które można kontrolować z komputera przez USB z dowolnej aplikacji za pomocą odpowiednich sterowników.
Microchip oferuje prosty, gotowy program do testowania funkcjonalności tych pinów - MCP2221 Utility.
Z jego pomocą przetestowałem działanie pinów GP2/GP3 w trybie wyjścia - w celu sprawdzenia podłączyłem do nich diody LED. Wszystko na płytce stykowej.
Zrzut ekranu pokazuje, którą opcje przestawiałem w programie:
Poniżej umieszczam filmik z testów GP2/GP3:
Filmik powyżej przedstawia jak steruję stanem pinów GP2/GP3 w trybie wyjścia poprzez USB z pomocą MCP2221 Utility. Diody są podłączone przez rezystory 1k do odpowiednich pinów. Można tego użyć np. do zdalnego resetowania mikrokontrolera na płytce stykowej.
Porównanie nowej płytki ze starą wersją
Tak jak wcześniej wspomniałem - ten projekt stanowi odświeżenie czegoś, co zrobiłem kilka lat temu.
Wersja z grudnia 2016:
Wszystkie elementy przewlekane, w dużych obudowach. Dodatkowo jeden kondensator niezbyt zgodny z notą katalogową (ten elektrolit blisko układu scalonego). Płytka duża i nieporęczna, ale zrobiona metodą 'żelazkową'.
Wersja z tego tematu:
Mała i poręczna, wcale też nie aż taka trudna do zlutowania jakby się mogło zdawać.
Załączniki
Schemat i płytka w formacie Eagle (.sch i .brd):
PCB wyeksportowane do formatu Gerber (paczka zip, którą wysłałem do płytkarni). Bez panelizacji:
MCP2221 Utility:
MCP2221 sterowniki Windows:
Biblioteka w C autorstwa zkemble do obsługi MCP2221 (licencja GPL):
MCP2221 nota katalogowa:
Co można by ulepszyć?
Raczej nie będę robić kolejnej wersji tego projektu, ale jest tu parę rzeczy co można by ulepszyć:
- można by zmieścić na płytce jakąś diodę LED informującą o tym, że układ działa
- można by dodać drugi kondensator na linię VBUS, by lepiej filtrować zasilanie, ale nie jest to dla mnie bardzo potrzebne bo i tak wpinać moduł będę w płytkę stykową która będzie brać z niej 5V z USB i jeśli będę potrzebować to dam na płytce stykowej kondensator...
- można by jeszcze zmniejszyć wymiary płytki (pewnie kosztem usunięcia jednego goldpina od GPIO)
- można by zmienić złącze USB na mniejsze rozmiarowo (ale pewnie nie trzymałoby się aż tak solidnie)
Podsumowanie
To było moje pierwsze starcie z lutowaniem elementu w obudowie QFN z pomocą 'budżetowego' sprzętu i nie poszło aż tak źle. Zlutowałem już dwie sztuki mojego konwertera USB<->UART i na pewno będę z niego korzystać.
Nie wiem na ile opisana tutaj moja metoda jest dobra, ale przynajmniej przekonałem się, że zadziałała. Nie musiałem załatwiać sobie stacji lutowniczej by ogarnąć tą płytkę, starczyła zwykła lutownica grotowa.
A czy Wy macie jakieś doświadczenia z lutowaniem QFN bądź porady, którymi możecie się podzielić? Zapraszam do dyskusji.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.