Innehållsförteckning:

Designa en Microcontroller Development Board: 14 steg (med bilder)
Designa en Microcontroller Development Board: 14 steg (med bilder)

Video: Designa en Microcontroller Development Board: 14 steg (med bilder)

Video: Designa en Microcontroller Development Board: 14 steg (med bilder)
Video: 🥛Water Bottle ரொம்ப Cute-ஆ கேட்ட Ritika 2024, Juni
Anonim
Designa en Microcontroller Development Board
Designa en Microcontroller Development Board

Är du en tillverkare, hobbyist eller hacker som är intresserad av att ta steget från perfboard -projekt, DIP IC och hemmagjorda PCB till flerskiktade PCB tillverkade av styrelsehus och SMD -förpackningar redo för massproduktion? Då är det här instruerbart för dig!

Den här guiden kommer att beskriva hur du går till väga för att designa ett flerskikts -kretskort, med ett mikrokontroller -dev -kort som exempel.

Jag använde KiCAD 5.0, som är ett gratis och open source EDA -verktyg, för att skapa schemat och PCB -layouten för detta dev -kort.

Om du inte är bekant med KiCAD eller arbetsflödet för PCB -layout är Chris Gamells självstudier på YouTube ett ganska bra ställe att börja.

EDIT: Några av bilderna zoomar in för mycket, klicka bara på bilden för att se hela bilden:)

Steg 1: Tänk på komponentförpackningar

Tänk på komponentförpackningar
Tänk på komponentförpackningar

Ytmonteringsenheter (SMD: er) kan placeras på ett kretskort med en plock -och -plats -maskin, vilket automatiserar monteringsprocessen. Du kan sedan köra kretskortet genom en återflödningsugn eller en våglödningsmaskin om du också har genomgående hålskomponenter.

Komponentledningar för mindre SMD reduceras också, vilket resulterar i väsentligt lägre impedans, induktans och EMI, en mycket bra sak, särskilt för RF- och högfrekvensdesign.

Att gå på ytmonteringsvägen förbättrar också mekanisk prestanda och robusthet, vilket är viktigt för vibrationer och mekanisk spänningstestning.

Steg 2: Välj din mikrokontroller

Välj din mikrokontroller
Välj din mikrokontroller

I hjärtat av varje mikrokontrollerutvecklingskort, liksom Arduino och dess derivat, finns en mikrokontroller. När det gäller Arduino Uno är detta ATmega 328P. För vårt dev -kort använder vi ESP8266.

Det är smutsigt billigt, körs på 80MHz (och är överklockningsbart till 160MHz) OCH har ett inbyggt WiFi-undersystem. När den används som en fristående mikrokontroller kan den utföra vissa operationer upp till 170x snabbare än en Arduino.

Steg 3: Välj din USB till seriell omvandlare

Välj din USB till seriell omvandlare
Välj din USB till seriell omvandlare

En mikrokontroller behöver ett sätt att ansluta till din dator, så att du kan ladda dina program på den. Detta uppnås vanligtvis med ett externt chip, som tar hand om översättningen mellan differentialsignalerna som används av USB -porten på din dator, och den enda ändade signalen som är tillgänglig på de flesta mikrokontroller via deras seriella kommunikationsutrustning, som UART.

I vårt fall använder vi en FT230X, från FTDI. USB till seriella chips från FTDI tenderar att stödjas väl i de flesta operativsystem, så det är en säker satsning för ett dev -kort. Populära alternativ (billigare alternativ) inkluderar CP2102 från SiLabs och CH340G.

Steg 4: Välj din regulator

Välj din regulator
Välj din regulator

Kortet kommer att behöva få ström någonstans - och i de flesta fall hittar du denna effekt via en linjär regulator IC. Linjära regulatorer är billiga, enkla, och även om de inte är lika effektiva som ett switchat läge, kommer de att erbjuda ren ström (mindre buller) och enkel integration.

AMS1117 den mest populära linjära regulatorn som används i de flesta dev -kort och ett ganska anständigt val för vår dev -board också.

Steg 5: Välj ditt Power ELLER-schema

Välj ditt Power ELLER-schema
Välj ditt Power ELLER-schema

Om du ska låta användaren driva dev -kortet via USB och även erbjuda spänningsingång genom en av stiften på kortet, behöver du ett sätt att välja mellan de två konkurrerande spänningarna. Detta uppnås enklast genom användning av dioder, som arbetar för att bara låta den högre ingångsspänningen passera och driva resten av kretsen.

I vårt fall har vi en dubbel schottky -barriär, som innehåller två schottky -dioder på ett enda paket för just detta ändamål.

Steg 6: Välj dina perifera chips (om sådana finns)

Välj dina perifera chips (om sådana finns)
Välj dina perifera chips (om sådana finns)
Välj dina perifera chips (om sådana finns)
Välj dina perifera chips (om sådana finns)

Du kan lägga till chips i gränssnittet med din valda mikrokontroller för att förbättra användbarheten eller funktionaliteten som ditt dev -kort erbjuder sina användare.

I vårt fall har ESP8266 bara en enda analog ingångskanal och mycket få användbara GPIO: er.

För att åtgärda detta kommer vi att lägga till en extern analog till Digital Converter IC och en GPIO Expander IC.

Att välja en ADC är vanligtvis en avvägning mellan konverteringsfrekvens eller hastighet och upplösning. Högre upplösningar är inte nödvändigtvis bättre, eftersom chips som har högre upplösningar eftersom de använder olika provtagningstekniker ofta har mycket långsamma samplingshastigheter. Typiska SAR ADC: er har samplingshastigheter som överstiger hundratusentals prover per sekund, medan högre upplösning Delta Sigma ADC vanligtvis bara kan en handfull prover per sekund-en värld bort från de snabba SAR ADC: erna och de blixtsnabba ADC: erna.

MCP3208 är en 12-bitars ADC, med 8 analoga kanaler. Den kan fungera var som helst mellan 2,7V-5,5V och har en maximal samplingshastighet på 100 psps.

Tillägget av en MCP23S17, en populär GPIO -expander, resulterar i att 16 GPIO -stift blir tillgängliga för användning.

Steg 7: Kretsdesign

Kretsdesign
Kretsdesign

Strömförsörjningskretsen använder två schottky-dioder för att tillhandahålla en enkel ELLER-ing-funktion för effektingång. Detta skapar en strid mellan 5V från USB -porten och vad du än vill ge till VIN -stiftet - vinnaren av elektronstriden kommer överst och ger ström till AMS1117 -regulatorn. En ödmjuk SMD -LED fungerar som en indikator på att strömmen faktiskt levereras till resten av kortet.

USB -gränssnittskretsen har en ferritpärla för att förhindra att EMI och de bullriga klocksignalerna strålar ner mot en användares dator. Seriemotstånden på datalinjerna (D+ och D-) ger grundläggande kanthastighetskontroll.

ESP8266 använder GPIO 0, GPIO 2 och GPIO 15 som speciella inmatningsnålar, läser deras tillstånd vid start för att avgöra om de ska starta i programmeringsläge, vilket låter dig kommunicera över serie för att programmera chip- eller blixtstartläget, som startar ditt program. GPIO 2 och GPIO 15 måste förbli på logisk hög respektive logisk låg under startprocessen. Om GPIO 0 är låg vid start, avstår ESP8266 från kontrollen och låter dig lagra ditt program i flashminnet som är anslutet till modulen. Om GPIO 0 är hög startar ESP8266 det senaste programmet som lagrades i blixt och du är redo att rulla.

För detta ändamål tillhandahåller vårt dev -kort start- och återställningsomkopplare, så att användarna kan växla mellan tillståndet för GPIO 0 och återställa enheten för att sätta in chipet i önskat programmeringsläge. Ett uppdragningsmotstånd säkerställer att enheten startar till normalt startläge som standard och startar det senast lagrade programmet.

Steg 8: PCB -design och layout

PCB -design och layout
PCB -design och layout

PCB -layout blir mer kritisk när hög hastighet eller analoga signaler är inblandade. Speciellt analoga IC: er är känsliga för markbuller. Markplan har förmågan att tillhandahålla en mer stabil referens för signalerna av intresse, vilket minskar buller och störningar som vanligtvis orsakas av marköglor.

Analoga spår måste hållas borta från höghastighets digitala spår, till exempel de olika datalinjer som ingår i USB -standarden. Spåren för differentiell datasignal bör göras så korta som möjligt och matcha spårlängden. Undvik vändningar och vias för att minska reflektioner och impedansvariationer.

Att använda en stjärnkonfiguration för att ge ström till enheter (förutsatt att du inte redan använder ett strömplan) hjälper också till att minska brus genom att eliminera nuvarande returvägar.

Steg 9: PCB-stapling

PCB-stapling
PCB-stapling

Vårt dev -kort är byggt på en 4 -lagers PCB -stack med ett dedikerat kraftplan och markplan.

Din "stack-up" är ordningen på lager på ditt kretskort. Arrangemanget av lager påverkar EMI -överensstämmelsen för din design, såväl som signalintegriteten för din krets.

Faktorer att tänka på i din PCB-stapling skulle inkludera:

  1. Antalet lager
  2. Lagarnas ordning
  3. Mellanrum mellan lagren
  4. Syftet med varje lager (signal, plan etc)
  5. Skikttjocklek
  6. Kosta

Varje stack-up har sina egna fördelar och nackdelar. En 4 -lagerskort ger ungefär 15 dB mindre strålning än en 2 -lagersdesign. Flerskiktsskivor är mer benägna att ha ett komplett markplan, minskande markimpedans och referensbrus.

Steg 10: Fler överväganden för PCB -lager och signalintegritet

Fler överväganden för PCB -lager och signalintegritet
Fler överväganden för PCB -lager och signalintegritet

Signallager bör helst ligga bredvid antingen ett kraft- eller markplan, med minimalt avstånd mellan signalskiktet och deras respektive närliggande plan. Detta optimerar signalåtergångsvägen, som går genom referensplanet.

Kraft- och markplan kan användas för att ge avskärmning mellan lagren eller som sköldar för inre lager.

Ett kraft- och markplan, när det placeras bredvid varandra, kommer att resultera i en kapacitans mellan flygplan som vanligtvis fungerar till din fördel. Denna kapacitans skalas med ytan på ditt kretskort, liksom dess dielektriska konstant, och är omvänt proportionell mot avståndet mellan planen. Denna kapacitans fungerar bra för att tjäna IC: er som har flyktiga strömförsörjningskrav.

Snabba signaler lagras helst i de inre lagren av flerskikts -PCB för att innehålla EMI som genereras av spåren.

Ju högre frekvenser som hanteras på tavlan, desto strängare måste dessa idealkrav följas. Låghastighetsdesigner kommer sannolikt att komma undan med färre lager, eller till och med ett enda lager, medan höghastighets- och RF-design kräver mer invecklad PCB-design med en mer strategisk PCB-stapling.

Höghastighetsdesigner är till exempel mer mottagliga för hudeffekten-vilket är iakttagelsen att vid höga frekvenser penetrerar inte strömflödet genom hela en ledares kropp, vilket i sin tur innebär att marginalen minskar för att öka tjockleken på koppar vid en viss frekvens, eftersom den extra volymen av ledare inte kommer att användas ändå. Vid cirka 100 MHz är huddjupet (tjockleken på strömmen som faktiskt flödar genom ledaren) cirka 7um, vilket betyder till och med standard 1oz. tjocka signalskikt är underutnyttjade.

Steg 11: En sidnot på Vias

En sidnot på Vias
En sidnot på Vias

Vias bildar anslutningar mellan de olika skikten i ett flerskikts -kretskort.

De typer av vias som används kommer att påverka kostnaden för PCB -produktion. Blind/burried vias kostar mer att tillverka än genomgående hål. Ett genomgående hål via stansar genom hela kretskortet, som slutar vid det lägsta lagret. Burried vias är gömda inuti och förbinder bara inre lager, medan blinda vias börjar på ena sidan av kretskortet men avslutas före den andra sidan. Vias med genomgående hål är de billigaste och enklaste att tillverka, så om de optimeras för kostnadseffektiva genomgångshål.

Steg 12: Tillverkning och montering av kretskort

PCB -tillverkning och montering
PCB -tillverkning och montering

Nu när brädet har utformats vill du mata ut designen som Gerber -filer från ditt valda EDA -verktyg och skicka dem till ett styrelsehus för tillverkning.

Jag fick mina brädor tillverkade av ALLPCB, men du kan använda vilken brädbutik som helst för tillverkning. Jag rekommenderar starkt att du använder PCB Shopper för att jämföra priser när du bestämmer vilket styrelsehus du ska välja för tillverkning - så att du kan jämföra vad gäller prissättning och kapacitet.

Några av styrelsehusen erbjuder också PCB -montering, som du troligen kommer att behöva om du vill implementera denna design, eftersom den använder mestadels SMD- och till och med QFN -delar.

Steg 13: Det är alla folk

Det är alla folk!
Det är alla folk!

Denna utvecklingskort kallas "Clouduino Stratus", ett ESP8266 -baserat dev -kort som jag designat för att påskynda prototypprocessen för en hårdvara/IOT -start.

Det är fortfarande mycket en tidig iteration av designen, med nya revisioner kommer snart.

Jag hoppas att ni har lärt er mycket av den här guiden!: D

Steg 14: Bonus: Komponenter, Gerbers, designfiler och bekräftelser

[Mikrokontroller]

1x ESP12F

[Kringutrustning]

1 x MCP23S17 GPIO Expander (QFN)

1 x MCP3208 ADC (SOIC)

[Kontaktdon och gränssnitt]

1 x FT231XQ USB till seriell (QFN)

1 x USB-B Mini-kontakt

2 x 16-stifts hona/hanrubrik

[Ström] 1 x AMS1117-3.3 Regulator (SOT-223-3)

[Övriga]

1 x ECQ10A04-F Dual Schottky Barrier (TO-252)

2 x BC847W (SOT323)

7 x 10K 1% SMD 0603 motstånd

2 x 27 ohm 1% SMD 0603 motstånd

3 x 270 ohm 1% SMD 0603 motstånd

2 x 470 ohm 1% SMD 0603 motstånd

3 x 0.1uF 50V SMD 0603 kondensator

2 x 10uF 50V SMD 0603 kondensator

1 x 1uF 50V SMD 0603 kondensator

2 x 47pF 50V SMD 0603 kondensator

1 x SMD LED 0603 Grön

1 x SMD LED 0603 Gul

1 x SMD LED 0603 Blå

2 x OMRON BF-3 1000 THT taktbrytare

1 x Ferritpärla 600/100mhz SMD 0603

[Kvitteringar] ADC -grafer med tillstånd av TI App Notes

Benchmark för MCU:

PCB -illustrationer: Fineline

Rekommenderad: