Spisu treści:

Projektowanie płytki rozwojowej mikrokontrolera: 14 kroków (ze zdjęciami)
Projektowanie płytki rozwojowej mikrokontrolera: 14 kroków (ze zdjęciami)

Wideo: Projektowanie płytki rozwojowej mikrokontrolera: 14 kroków (ze zdjęciami)

Wideo: Projektowanie płytki rozwojowej mikrokontrolera: 14 kroków (ze zdjęciami)
Wideo: Nowy tester układów logicznych 2024, Listopad
Anonim
Projektowanie płytki rozwojowej mikrokontrolera
Projektowanie płytki rozwojowej mikrokontrolera

Czy jesteś twórcą, hobbystą lub hakerem zainteresowanym przejściem od projektów płyt perforowanych, układów DIP i domowych płytek drukowanych do wielowarstwowych płytek drukowanych wytwarzanych przez tablice i opakowań SMD gotowych do masowej produkcji? W takim razie ta instrukcja jest dla Ciebie!

W tym przewodniku szczegółowo opisano, jak zaprojektować wielowarstwową płytkę drukowaną na przykładzie płytki rozwojowej mikrokontrolera.

Użyłem programu KiCAD 5.0, który jest darmowym i otwartym narzędziem EDA, do tworzenia schematów i układu PCB dla tej płyty deweloperskiej.

Jeśli nie jesteś zaznajomiony z KiCADem lub przepływem pracy dla układu PCB, samouczki Chrisa Gamell na YouTube są całkiem dobrym miejscem do rozpoczęcia.

EDYCJA: Niektóre zdjęcia są zbyt duże, wystarczy kliknąć na zdjęcie, aby zobaczyć pełny obraz:)

Krok 1: Pomyśl o pakowaniu komponentów

Pomyśl o pakowaniu komponentów
Pomyśl o pakowaniu komponentów

Urządzenia do montażu powierzchniowego (SMD) mogą być umieszczane na płytce drukowanej za pomocą maszyny typu pick and place, automatyzując proces montażu. Następnie możesz uruchomić płytkę drukowaną przez piec rozpływowy lub maszynę do lutowania na fali, jeśli masz również elementy przewlekane.

Przewody komponentowe dla mniejszych SMD są również redukowane, co skutkuje znacznie niższą impedancją, indukcyjnością i EMI, co jest bardzo dobrą rzeczą, szczególnie w przypadku konstrukcji RF i wysokich częstotliwości.

Trasa montażu powierzchniowego poprawia również wydajność mechaniczną i odporność, co jest ważne przy testach drgań i naprężeń mechanicznych.

Krok 2: Wybierz swój mikrokontroler

Wybierz swój mikrokontroler
Wybierz swój mikrokontroler

Sercem każdej płytki rozwojowej mikrokontrolera, podobnie jak Arduino i jego pochodnych, jest mikrokontroler. W przypadku Arduino Uno jest to ATmega 328P. W przypadku naszej płyty deweloperskiej użyjemy ESP8266.

Jest tani jak barszcz, działa z częstotliwością 80 MHz (i można go przetaktować do 160 MHz) ORAZ ma wbudowany podsystem WiFi. Gdy jest używany jako samodzielny mikrokontroler, może wykonywać pewne operacje do 170 razy szybciej niż Arduino.

Krok 3: Wybierz konwerter USB na szeregowy

Wybierz konwerter USB na szeregowy
Wybierz konwerter USB na szeregowy

Mikrokontroler będzie potrzebował jakiegoś sposobu na połączenie się z komputerem, abyś mógł załadować na niego swoje programy. Jest to zazwyczaj realizowane przez zewnętrzny układ scalony, który zajmuje się translacją między sygnałami różnicowymi używanymi przez port USB w komputerze, a sygnalizacją jednokierunkową dostępną w większości mikrokontrolerów za pośrednictwem ich urządzeń peryferyjnych do komunikacji szeregowej, takich jak UART.

W naszym przypadku użyjemy FT230X firmy FTDI. Układy USB na szeregowe firmy FTDI są zwykle dobrze obsługiwane w większości systemów operacyjnych, więc jest to bezpieczny zakład dla płyty deweloperskiej. Popularne alternatywy (tańsze opcje) obejmują CP2102 firmy SiLabs i CH340G.

Krok 4: Wybierz swój regulator

Wybierz swój regulator
Wybierz swój regulator

Płyta będzie musiała gdzieś uzyskać zasilanie – iw większości przypadków ta moc jest dostarczana przez liniowy regulator IC. Regulatory liniowe są tanie, proste i choć nie tak wydajne jak układy przełączające, oferują czystą moc (mniejszy hałas) i łatwą integrację.

AMS1117 najpopularniejszy regulator liniowy używany w większości płyt deweloperskich, a także całkiem przyzwoity wybór dla naszej płyty deweloperskiej.

Krok 5: Wybierz swój schemat mocy OR-ing

Wybierz swój schemat mocy OR-ing
Wybierz swój schemat mocy OR-ing

Jeśli zamierzasz pozwolić użytkownikowi zasilać płytę programistyczną przez USB, a także oferować wejście napięcia przez jeden z pinów na płycie, będziesz potrzebować sposobu na wybór między dwoma konkurującymi napięciami. Najprościej można to osiągnąć za pomocą diod, które działają tak, aby przepuszczać tylko wyższe napięcie wejściowe i zasilać resztę obwodu.

W naszym przypadku mamy do czynienia z podwójną barierą Schottky'ego, która w tym celu zawiera dwie diody Schottky'ego na jednym opakowaniu.

Krok 6: Wybierz swoje chipy peryferyjne (jeśli występują)

Wybierz swoje chipy peryferyjne (jeśli występują)
Wybierz swoje chipy peryferyjne (jeśli występują)
Wybierz swoje chipy peryferyjne (jeśli występują)
Wybierz swoje chipy peryferyjne (jeśli występują)

Możesz dodać chipy do interfejsu z wybranym mikrokontrolerem, aby zwiększyć użyteczność lub funkcjonalność, którą twoja płyta deweloperska oferuje swoim użytkownikom.

W naszym przypadku ESP8266 ma tylko jeden analogowy kanał wejściowy i bardzo niewiele użytecznych GPIO.

Aby rozwiązać ten problem, dodamy zewnętrzny układ scalony konwertera analogowo-cyfrowego oraz układ scalony ekspandera GPIO.

Wybór ADC jest zazwyczaj kompromisem między współczynnikiem konwersji lub szybkością a rozdzielczością. Wyższe rozdzielczości niekoniecznie są lepsze, ponieważ chipy charakteryzujące się wyższą rozdzielczością, ponieważ używają różnych technik próbkowania, często mają bardzo wolne częstotliwości próbkowania. Typowe przetworniki ADC SAR mają częstotliwość próbkowania przekraczającą setki tysięcy próbek na sekundę, podczas gdy przetworniki Delta Sigma o wyższej rozdzielczości zwykle są w stanie przetworzyć tylko kilka próbek na sekundę, z dala od szybkich przetworników SAR i szybkich jak błyskawica przetworników ADC.

MCP3208 to 12-bitowy przetwornik ADC z 8 kanałami analogowymi. Może pracować w dowolnym miejscu między 2,7 V-5,5 V i ma maksymalną częstotliwość próbkowania 100 ks/s.

Dodanie MCP23S17, popularnego ekspandera GPIO, powoduje, że 16 pinów GPIO staje się dostępnych do użytku.

Krok 7: Projekt obwodu

Projekt obwodu
Projekt obwodu

Obwód zasilania wykorzystuje dwie diody Schottky'ego, aby zapewnić prostą funkcję OR-ing dla wejścia zasilania. To ustawia bitwę między napięciem 5V pochodzącym z portu USB, a tym, co chcesz dostarczyć do pinu VIN - zwycięzca bitwy elektronowej wychodzi na górę i dostarcza zasilanie do regulatora AMS1117. Skromna dioda LED SMD służy jako wskaźnik, że moc jest faktycznie dostarczana do reszty płyty.

Obwód interfejsu USB jest wyposażony w koralik ferrytowy, aby zapobiec zakłóceniom EMI i zaszumionym sygnałom zegara promieniującym w dół w kierunku komputera użytkownika. Rezystory szeregowe na liniach danych (D+ i D-) zapewniają podstawową kontrolę szybkości zbocza.

ESP8266 używa GPIO 0, GPIO 2 i GPIO 15 jako specjalnych pinów wejściowych, odczytując ich stan podczas rozruchu, aby określić, czy uruchomić w trybie programowania, który pozwala komunikować się przez port szeregowy w celu zaprogramowania trybu rozruchowego układu lub flash, który uruchamia program. GPIO 2 i GPIO 15 muszą pozostawać odpowiednio na wysokim i niskim poziomie logicznym podczas procesu rozruchu. Jeśli GPIO 0 jest niski podczas rozruchu, ESP8266 rezygnuje z kontroli i pozwala na przechowywanie programu w pamięci flash połączonej z modułem. Jeśli GPIO 0 jest wysokie, ESP8266 uruchamia ostatni program zapisany we flashu i jesteś gotowy do pracy.

W tym celu nasza płyta deweloperska zapewnia przełączniki rozruchu i resetowania, umożliwiając użytkownikom przełączanie stanu GPIO 0 i resetowanie urządzenia, aby wprowadzić układ w żądany tryb programowania. Rezystor podciągający zapewnia, że urządzenie domyślnie uruchamia się w normalnym trybie rozruchu, uruchamiając ostatnio zapisany program.

Krok 8: Projekt i układ PCB

Projektowanie i układ PCB
Projektowanie i układ PCB

Układ PCB staje się bardziej krytyczny, gdy w grę wchodzą szybkie lub analogowe sygnały. W szczególności analogowe układy scalone są wrażliwe na problemy z szumem gruntu. Płaszczyzny uziemienia mają zdolność zapewniania bardziej stabilnego odniesienia dla sygnałów zainteresowania, redukując szum i zakłócenia zwykle powodowane przez pętle uziemienia.

Ścieżki analogowe muszą być trzymane z dala od szybkich ścieżek cyfrowych, takich jak różnicowe linie danych, które są częścią standardu USB. Ścieżki sygnału danych różnicowych powinny być możliwie najkrótsze i powinny być dopasowane do długości śladu. Unikaj skrętów i przelotek, aby zredukować odbicia i wahania impedancji.

Korzystanie z konfiguracji gwiazdy do zasilania urządzeń (zakładając, że nie korzystasz już z płaszczyzny zasilania) pomaga również zredukować szumy poprzez wyeliminowanie ścieżek powrotnych prądu.

Krok 9: Układanie płytek PCB

Układanie płytek PCB
Układanie płytek PCB

Nasza płyta deweloperska jest zbudowana na 4-warstwowym stosie PCB, z dedykowaną płaszczyzną zasilania i płaszczyzną uziemienia.

Twój „stack-up” to kolejność warstw na twojej płytce drukowanej. Układ warstw wpływa na zgodność projektu z EMI, a także na integralność sygnału w obwodzie.

Czynniki, które należy wziąć pod uwagę przy układaniu płytek PCB, obejmują:

  1. Liczba warstw
  2. Kolejność warstw
  3. Odstępy między warstwami
  4. Cel każdej warstwy (sygnał, samolot itp.)
  5. Grubość warstwy
  6. Koszt

Każdy stack-up ma swoje zalety i wady. 4-warstwowa płyta wytworzy około 15dB mniej promieniowania niż konstrukcja 2-warstwowa. Płyty wielowarstwowe są bardziej skłonne do posiadania kompletnej płaszczyzny uziemienia, zmniejszającej impedancję uziemienia i szum odniesienia.

Krok 10: Więcej rozważań na temat warstw PCB i integralności sygnału

Więcej uwag dotyczących warstw PCB i integralności sygnału
Więcej uwag dotyczących warstw PCB i integralności sygnału

Warstwy sygnałowe powinny w idealnym przypadku znajdować się obok płaszczyzny zasilania lub uziemienia, z minimalną odległością między warstwą sygnałową a odpowiednią pobliską płaszczyzną. Optymalizuje to drogę powrotną sygnału, która przechodzi przez płaszczyznę odniesienia.

Płaszczyzny zasilania i uziemienia mogą być używane do zapewnienia ekranowania między warstwami lub jako osłony dla warstw wewnętrznych.

Płaszczyzna zasilająca i uziemiająca, umieszczone obok siebie, spowoduje powstanie pojemności międzypłaszczyznowej, która zazwyczaj działa na twoją korzyść. Ta pojemność skaluje się z powierzchnią płytki PCB, jak również jej stałą dielektryczną i jest odwrotnie proporcjonalna do odległości między płaszczyznami. Ta pojemność dobrze sprawdza się w przypadku układów scalonych, które charakteryzują się niestabilnymi wymaganiami dotyczącymi prądu zasilania.

Szybkie sygnały są idealnie przechowywane w wewnętrznych warstwach wielowarstwowych płytek drukowanych, aby pomieścić EMI generowane przez ścieżki.

Im wyższe częstotliwości są obsługiwane na płycie, tym surowsze muszą być te idealne wymagania. Projekty o niskiej prędkości prawdopodobnie ujdą na sucho z mniejszą liczbą warstw, a nawet z pojedynczą warstwą, podczas gdy projekty o wysokiej prędkości i RF wymagają bardziej skomplikowanego projektowania PCB z bardziej strategicznym układem PCB.

Na przykład konstrukcje o dużej prędkości są bardziej podatne na efekt naskórkowości, który polega na obserwacji, że przy wysokich częstotliwościach przepływ prądu nie przenika przez cały korpus przewodnika, co z kolei oznacza, że maleje marginalna użyteczność do zwiększenia grubość miedzi przy określonej częstotliwości, ponieważ dodatkowa objętość przewodnika i tak nie zostanie wykorzystana. Przy około 100MHz głębokość skóry (grubość prądu przepływającego przez przewodnik) wynosi około 7um, co oznacza nawet standardowe 1 uncję. grube warstwy sygnału nie są w pełni wykorzystywane.

Krok 11: Uwaga poboczna na Vias

Dodatkowa uwaga na Vias
Dodatkowa uwaga na Vias

Przelotki tworzą połączenia między różnymi warstwami wielowarstwowej płytki drukowanej.

Rodzaje zastosowanych przelotek wpłyną na koszt produkcji PCB. Przelotki ślepe/zakopane kosztują więcej w produkcji niż przelotki przelotowe. Otwór przelotowy przez dziurkacze przez całą płytkę drukowaną, kończący się na najniższej warstwie. Zagrzebane przelotki są ukryte wewnątrz i łączą tylko wewnętrzne warstwy, podczas gdy przelotki Blind zaczynają się po jednej stronie PCB, ale kończą się przed drugą. Przelotki przelotowe są najtańsze i najłatwiejsze w produkcji, więc jeśli zoptymalizujemy je pod kątem kosztów wykorzystania przelotek przelotowych.

Krok 12: Produkcja i montaż PCB

Produkcja i montaż PCB
Produkcja i montaż PCB

Teraz, gdy tablica została zaprojektowana, będziesz chciał wyprowadzić projekt jako pliki Gerber z wybranego narzędzia EDA i wysłać je do zarządu w celu wykonania.

Moje deski zostały wyprodukowane przez ALLPCB, ale możesz użyć dowolnego sklepu z płytami do produkcji. Gorąco polecam skorzystanie z PCB Shopper do porównania cen przy podejmowaniu decyzji, który dom z płyt wybrać do produkcji - dzięki czemu można porównać ceny i możliwości.

Niektóre domy z płytami oferują również montaż PCB, którego prawdopodobnie będziesz potrzebować, jeśli chcesz zaimplementować ten projekt, ponieważ wykorzystuje on głównie części SMD, a nawet QFN.

Krok 13: To wszyscy ludzie

To wszyscy ludzie!
To wszyscy ludzie!

Ta płyta rozwojowa nazywa się „Clouduino Stratus”, płytą deweloperską opartą na ESP8266, którą zaprojektowałem w celu przyspieszenia procesu prototypowania przy uruchamianiu sprzętu/IOT.

To wciąż bardzo wczesna iteracja projektu, a wkrótce pojawią się nowe poprawki.

Mam nadzieję, że wiele się nauczyliście z tego przewodnika!:D

Krok 14: Bonus: komponenty, Gerbery, pliki projektowe i podziękowania

[Mikrokontroler]

1x ESP12F

[Peryferia]

1 x ekspander GPIO MCP23S17 (QFN)

1 x ADC MCP3208 (SOIC)

[Złącza i interfejsy]

1 x FT231XQ USB do portu szeregowego (QFN)

1 x złącze mini USB-B

2 x 16-pinowe żeńskie/męskie nagłówki

[Moc] 1 x regulator AMS1117-3.3 (SOT-223-3)

[Inni]

1 x ECQ10A04-F Podwójna bariera Schottky'ego (TO-252)

2 x BC847W (SOT323)

Rezystory 7x10K 1% SMD 0603

Rezystory 2 x 27 ohm 1% SMD 0603

Rezystory 3 x 270 ohm 1% SMD 0603

Rezystory 2 x 470 ohm 1% SMD 0603

3 x 0.1uF 50V SMD 0603 Kondensator

2 x 10uF 50 V SMD 0603 Kondensator;

1 x kondensator 1 uF 50 V SMD 0603;

2 x 47pF 50V SMD 0603 Kondensator

1 x dioda LED SMD 0603 zielona

1 x dioda LED SMD 0603 żółta

1 x dioda LED SMD 0603 niebieska

2 x przełącznik taktyczny OMRON BF-3 1000 THT

1 x koralik ferrytowy 600/100mhz SMD 0603

[Podziękowania]Wykresy ADC dzięki uprzejmości TI App Notes

Benchmark MCU:

Ilustracje PCB: Fineline

Zalecana: