Indholdsfortegnelse:
- Trin 1: Tænk på komponentemballage
- Trin 2: Vælg din mikrokontroller
- Trin 3: Vælg din USB til seriel konverter
- Trin 4: Vælg din regulator
- Trin 5: Vælg din Power OR-ing-ordning
- Trin 6: Vælg dine perifere chips (hvis nogen)
- Trin 7: Kredsløbsdesign
- Trin 8: PCB -design og layout
- Trin 9: PCB Stack-Up
- Trin 10: Flere overvejelser for PCB -lag og signalintegritet
- Trin 11: En sidebemærkning om Vias
- Trin 12: Fremstilling og montering af printkort
- Trin 13: Det er alle folkens
- Trin 14: Bonus: Komponenter, Gerbers, designfiler og anerkendelser
Video: Design af et Microcontroller Development Board: 14 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Er du producent, hobbyist eller hacker, der er interesseret i at træde op fra perfboard -projekter, DIP IC'er og hjemmelavede PCB'er til flerlags -PCB fremstillet af bestyrelseshuse og SMD -emballage, der er klar til masseproduktion? Så er denne instruktive noget for dig!
Denne vejledning beskriver detaljeret, hvordan du designer et flerlags -printkort ved hjælp af et mikrokontrollerudviklingskort som eksempel.
Jeg brugte KiCAD 5.0, som er et gratis og open source EDA -værktøj, til at oprette skemaer og PCB -layout til dette dev -kort.
Hvis du ikke kender KiCAD eller arbejdsgangen til PCB -layout, er Chris Gamells tutorials på YouTube et ret godt sted at starte.
EDIT: Nogle af billederne zoomer for meget ind, bare klik på billedet for at se det fulde billede:)
Trin 1: Tænk på komponentemballage
Surface Mount Devices (SMD'er) kan placeres på et printkort ved hjælp af en pick and place -maskine, hvilket automatiserer monteringsprocessen. Du kan derefter køre printkortet gennem en reflow -ovn eller en bølgelodningsmaskine, hvis du også har gennemgående hulkomponenter.
Komponentledninger til mindre SMD'er reduceres også, hvilket resulterer i væsentligt lavere impedans, induktans og EMI, en meget god ting, især for RF- og højfrekvente designs.
At gå på overflademonteringsruten forbedrer også mekanisk ydeevne og robusthed, hvilket er vigtigt for vibrationer og mekanisk belastningstest.
Trin 2: Vælg din mikrokontroller
I hjertet af hvert mikrokontrollerudviklingskort, som Arduino og dets derivater, er en mikrokontroller. I tilfælde af Arduino Uno er dette ATmega 328P. Til vores dev -bord bruger vi ESP8266.
Det er snavs billigt, kører ved 80MHz (og kan overklokkes til 160MHz) OG har et indbygget WiFi-undersystem. Når den bruges som en selvstændig mikrokontroller, kan den udføre visse operationer op til 170x hurtigere end en Arduino.
Trin 3: Vælg din USB til seriel konverter
En mikrokontroller skal bruge en eller anden måde til at kommunikere med din computer, så du kan indlæse dine programmer på den. Dette opnås typisk ved en ekstern chip, der sørger for at oversætte mellem de differentielle signaler, der bruges af USB -porten på din computer, og den endelige signalering, der er tilgængelig på de fleste mikrokontrollere via deres serielle kommunikationsudstyr, som UART.
I vores tilfælde vil vi bruge en FT230X, fra FTDI. USB til serielle chips fra FTDI har en tendens til at blive godt understøttet på tværs af de fleste operativsystemer, så det er et sikkert bud på et dev -board. Populære alternativer (billigere muligheder) inkluderer CP2102 fra SiLabs og CH340G.
Trin 4: Vælg din regulator
Brættet skal få strøm igennem et eller andet sted - og i de fleste tilfælde finder du denne effekt via en lineær regulator IC. Lineære regulatorer er billige, enkle, og selvom de ikke er så effektive som et skiftet skema, vil de tilbyde ren strøm (mindre støj) og let integration.
AMS1117 den mest populære lineære regulator, der bruges i de fleste dev boards, og et ganske anstændigt valg også til vores dev board.
Trin 5: Vælg din Power OR-ing-ordning
Hvis du vil lade brugeren drive dev -kortet via USB og også tilbyde spændingsindgang via en af benene på kortet, skal du vælge mellem de to konkurrerende spændinger. Dette opnås mest enkelt ved brug af dioder, der arbejder for kun at lade den højere indgangsspænding passere og drive resten af kredsløbet.
I vores tilfælde har vi en dobbelt schottky -barriere, som indeholder to schottky -dioder på en enkelt pakke til netop dette formål.
Trin 6: Vælg dine perifere chips (hvis nogen)
Du kan tilføje chips til grænsefladen med din valgte mikrokontroller for at forbedre brugervenligheden eller funktionaliteten, dit dev -board tilbyder sine brugere.
I vores tilfælde har ESP8266 kun en enkelt analog inputkanal og meget få brugbare GPIO'er.
For at løse dette tilføjer vi en ekstern analog til Digital Converter IC og en GPIO Expander IC.
At vælge en ADC er typisk en afvejning mellem konverteringsfrekvens eller hastighed og opløsning. Højere opløsninger er ikke nødvendigvis bedre, fordi chips, der har højere opløsninger, fordi de bruger forskellige prøvetagningsteknikker, ofte vil have meget langsomme samplingshastigheder. Typiske SAR ADC'er har samplingshastigheder på mere end hundredtusinder af prøver pr. Sekund, hvorimod Delta Sigma ADC'er med højere opløsning normalt kun er i stand til en håndfuld prøver pr. Sekund-en verden væk fra de hurtige SAR ADC'er og de lynhurtige pipelinerede ADC'er.
MCP3208 er en 12-bit ADC med 8 analoge kanaler. Det kan fungere overalt mellem 2,7V-5,5V og har en maksimal samplingshastighed på 100 psps.
Tilføjelsen af en MCP23S17, en populær GPIO -ekspander resulterer i, at 16 GPIO -pins bliver tilgængelige til brug.
Trin 7: Kredsløbsdesign
Strømforsyningskredsløbet bruger to schottky-dioder til at give en enkel OR-ing-funktion til strømindgang. Dette skaber en kamp mellem 5V, der kommer fra USB -porten, og hvad du end ønsker at give til VIN -stiften - vinderen af elektronstriden kommer oven på og leverer strøm til AMS1117 -regulatoren. En ydmyg SMD LED fungerer som en indikator på, at der faktisk bliver leveret strøm til resten af brættet.
USB -interfacekredsløbet har en ferritperle for at forhindre, at EMI og de støjende ursignaler stråler ned mod en brugers computer. Seriemodstandene på datalinjerne (D+ og D-) giver grundlæggende kanthastighedskontrol.
ESP8266 bruger GPIO 0, GPIO 2 og GPIO 15 som specielle indgangsstifter og læser deres tilstand ved opstart for at afgøre, om der skal startes i programmeringstilstand, som lader dig kommunikere over seriel for at programmere chip- eller flashstarttilstanden, som starter dit program. GPIO 2 og GPIO 15 skal forblive på henholdsvis logisk høj og logisk lav under opstartsprocessen. Hvis GPIO 0 er lav ved opstart, opgiver ESP8266 kontrollen og giver dig mulighed for at gemme dit program i flashhukommelsen, der er tilsluttet modulet. Hvis GPIO 0 er høj, starter ESP8266 det sidste program, der er gemt i flash, og du er klar til at rulle.
Til dette formål giver vores dev -kort opstarts- og nulstillingsafbrydere, der lader brugerne skifte GPIO 0 -tilstand og nulstille enheden for at sætte chippen i den ønskede programmeringstilstand. En pull-up-modstand sikrer, at enheden som standard starter til normal boot-tilstand og starter det senest gemte program.
Trin 8: PCB -design og layout
PCB -layout bliver mere kritisk, når høj hastighed eller analoge signaler er involveret. Især analoge IC'er er følsomme over for problemer med jordstøj. Jordfly har evnen til at give en mere stabil reference til signalerne af interesse, hvilket reducerer støj og interferens, der typisk skyldes jordsløjfer.
Analoge spor skal holdes væk fra digitale højsporingsspor, f.eks. De forskellige datalinjer, der er en del af USB -standarden. De differentielle datasignalspor skal gøres så korte som muligt og skal være sporlængde tilpasset. Undgå sving og vias for at reducere refleksioner og impedansvariationer.
Brug af en stjernekonfiguration til at levere strøm til enheder (forudsat at du ikke allerede bruger et strømplan) hjælper også med at reducere støj ved at eliminere nuværende returveje.
Trin 9: PCB Stack-Up
Vores dev -bord er bygget på en 4 -lags PCB -stak med et dedikeret kraftplan og jordplan.
Din "stack-up" er rækkefølgen af lag på dit printkort. Arrangementet af lag påvirker EMI -overholdelsen af dit design samt signalintegriteten af dit kredsløb.
Faktorer, der skal overvejes i din PCB-stacking, omfatter:
- Antallet af lag
- Lagens rækkefølge
- Mellemrum mellem lagene
- Formålet med hvert lag (signal, plan osv.)
- Lag tykkelse
- Koste
Hver stack-up har sit eget sæt fordele og ulemper. Et 4 -lags bræt vil producere cirka 15 dB mindre stråling end et 2 -lags design. Flerlagsplader har større sandsynlighed for et komplet jordplan, faldende jordimpedans og referencestøj.
Trin 10: Flere overvejelser for PCB -lag og signalintegritet
Signallag bør ideelt set være ved siden af enten et kraft- eller jordplan med minimal afstand mellem signallaget og deres respektive nærliggende plan. Dette optimerer signalreturvejen, som går gennem referenceplanet.
Power- og jordplaner kan bruges til at tilvejebringe afskærmning mellem lag eller som skjold til indre lag.
Et kraft- og jordplan, når det placeres ved siden af hinanden, vil resultere i en mellemplan kapacitans, der typisk virker til din fordel. Denne kapacitans skaleres med arealet af dit printkort, såvel som dets dielektriske konstant, og er omvendt proportional med afstanden mellem flyene. Denne kapacitans fungerer godt til at betjene IC'er, der har flygtige forsyningskrav.
Hurtige signaler gemmes ideelt i de indre lag af flerlags -PCB'er for at indeholde EMI genereret af sporene.
Jo højere frekvenser der behandles på tavlen, jo strengere skal disse ideelle krav følges. Lavhastighedsdesign slipper sandsynligvis væk med færre lag eller endda et enkelt lag, mens højhastigheds- og RF-design kræver mere indviklet PCB-design med en mere strategisk PCB-opstart.
Højhastighedsdesign er for eksempel mere modtagelige for hudeffekten-hvilket er observationen af, at strømstrømmen ved høje frekvenser ikke trænger gennem hele en leders krop, hvilket igen betyder, at der er en faldende marginal nytteværdi til stigende tykkelsen af kobber ved en bestemt frekvens, da lederens ekstra volumen alligevel ikke vil blive udnyttet. Ved omkring 100MHz er huddybden (tykkelsen af strømmen, der faktisk strømmer gennem lederen) omkring 7um, hvilket betyder endda standard 1oz. tykke signallag er underudnyttet.
Trin 11: En sidebemærkning om Vias
Vias danner forbindelser mellem de forskellige lag i et flerlags -printkort.
De anvendte typer af vias vil påvirke omkostningerne ved PCB -produktion. Blinde/begravede vias koster mere at fremstille end gennem huller. Et gennemgående hul via slag gennem hele printkortet, der ender ved det laveste lag. Burried vias er skjult inde og forbinder kun indre lag, mens Blinde vias starter på den ene side af printkortet, men slutter før den anden side. Gennemgangshuller er de billigste og nemmeste at fremstille, så hvis de optimeres til omkostningsforbrug gennem huller.
Trin 12: Fremstilling og montering af printkort
Nu hvor tavlen er designet, vil du gerne sende designet som Gerber -filer fra dit valgte EDA -værktøj og sende dem til et bestyrelseshus til fremstilling.
Jeg havde mine brædder fremstillet af ALLPCB, men du kan bruge enhver tavlebutik til fremstilling. Jeg vil meget anbefale at bruge PCB Shopper til at sammenligne priser, når man beslutter, hvilket bestyrelseshus man skal vælge til fremstilling - så man kan sammenligne hvad angår pris og kapacitet.
Nogle af tavlehusene tilbyder også printkortmontering, som du sandsynligvis har brug for, hvis du vil implementere dette design, da det hovedsageligt bruger SMD- og endda QFN -dele.
Trin 13: Det er alle folkens
Dette udviklingsbord kaldes "Clouduino Stratus", et ESP8266 baseret dev -kort, jeg designet til at fremskynde prototypeprocessen til en hardware/IOT -opstart.
Det er stadig meget en tidlig iteration af designet, med nye ændringer snart.
Jeg håber, at I har lært meget af denne guide!: D
Trin 14: Bonus: Komponenter, Gerbers, designfiler og anerkendelser
[Mikrokontroller]
1x ESP12F
[Periferiudstyr]
1 x MCP23S17 GPIO Expander (QFN)
1 x MCP3208 ADC (SOIC)
[Stik og grænseflade]
1 x FT231XQ USB til seriel (QFN)
1 x USB-B mini-stik
2 x 16-benede hun-/hanoverskrifter
[Strøm] 1 x AMS1117-3.3 regulator (SOT-223-3)
[Andre]
1 x ECQ10A04-F Dual Schottky Barrier (TO-252)
2 x BC847W (SOT323)
7 x 10K 1% SMD 0603 modstande
2 x 27 ohm 1% SMD 0603 modstande
3 x 270 ohm 1% SMD 0603 modstande
2 x 470 ohm 1% SMD 0603 modstande
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 taktkontakt
1 x ferritperle 600/100mhz SMD 0603
[Anerkendelser] ADC -grafer med tilladelse fra TI App Notes
MCU Benchmark:
PCB -illustrationer: Fineline
Anbefalede:
DIY ESP32 Development Board - ESPer: 5 trin (med billeder)
DIY ESP32 Development Board - ESPer: Så for nylig havde jeg læst om mange IoT'er (Internet of Things) og stol på mig, jeg kunne bare ikke vente med at teste en af disse vidunderlige enheder med mulighed for at oprette forbindelse til internettet, mig selv og få fingre i arbejdet. Heldigvis muligheden for
JALPIC One Development Board: 5 trin (med billeder)
JALPIC One Development Board: Hvis du følger mine Instructables -projekter, ved du, at jeg er en stor fan af JAL -programmeringssproget i kombination med PIC Microcontroller. JAL er et Pascal-lignende programmeringssprog udviklet til 8-bit PIC-mikrokontrollerne i Microchip. Mo
PIC Microcontroller Development Board System: 3 trin
PIC Microcontroller Development Board System: Dette projekt er til design og brug af et PIC -udviklingsværktøj, der er fleksibelt til at passe til en lang række PIC -baserede elektroniske projekter. Det er ofte lettere at udvikle mikrokontrollerprojekter med brug af udviklingsværktøjer; som tillader brugerbaseret
WIDI - Trådløs HDMI ved hjælp af Zybo (Zynq Development Board): 9 trin (med billeder)
WIDI - Trådløs HDMI ved hjælp af Zybo (Zynq Development Board): Har du nogensinde ønsket, at du kunne slutte dit tv til en pc eller bærbar som en ekstern skærm, men ønskede ikke at have alle de irriterende ledninger i vejen? I så fald er denne tutorial lige noget for dig! Selvom der er nogle produkter ude, der opnår dette mål, er en
ESP-12E og ESP-12F Programming and Development Board: 3 trin (med billeder)
ESP-12E og ESP-12F Programmerings- og udviklingsbestyrelse: Opgaven for dette kort var enkel: Vær i stand til at programmere ESP-12E og ESP-12F-moduler lige så let som NodeMCU-kortene (dvs. ingen grund til at trykke på knapper). Har brødbræt venlige stifter med adgang til den brugbare IO. Brug en separat USB til seriel konvertering