Indholdsfortegnelse:

Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA Online -værktøjer: 12 trin (med billeder)
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA Online -værktøjer: 12 trin (med billeder)

Video: Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA Online -værktøjer: 12 trin (med billeder)

Video: Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA Online -værktøjer: 12 trin (med billeder)
Video: How to create labels in Word 2024, Juni
Anonim
Image
Image
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer
Lær, hvordan du designer et brugerdefineret formet printkort med EasyEDA -onlineværktøjer

Jeg har altid ønsket at designe et brugerdefineret printkort, og med onlineværktøjer og billige PCB -prototyper har det aldrig været lettere end nu! Det er endda muligt at få overflademonteringskomponenterne samlet billigt og let i lille volumen for at spare den vanskelige loddeopgave! Jeg har bestilt 10x PCB'er med samling for mindre end US $ 50. Mens PCB'er tjener en vigtig funktion, er layoutet af komponenterne en vigtig del af, hvordan det ser ud. Jeg har roteret komponenterne på brættet for at flugte med stjernens punkter.

Denne instruktive vil lære dig:

  • Sådan tegnes den brugerdefinerede printkortform i InkScape (gratis, open source grafikværktøj)
  • Sådan bruges EasyEDA kredsløb og PCB -designværktøjer (gratis og online, ingen installation nødvendig!)
  • Sådan importeres SVG'en til EasyEDA til brugerdefineret printkortform og silketryk
  • Sådan designes et enkelt 'Arduino' programmerbart MCU -design
  • Sådan bruges JLCPCB overflademontering til at få brædderne lavet og samlet

Funktioner i "The Star"

  • Brugerdefineret 5-punkts stjerneformet printkort
  • Animeret belysning - 10x LED'er pr. Side, dobbeltsidet
  • arduino programmerbar ATMEGA328P mikrokontroller
  • 2x knapper til interaktivitet - du kan lave et simpelt spil
  • drevet af mikro USB (ekstraudstyr)
  • Netværks -flere stjerner til større animationer (ekstraudstyr) med seriel kommunikation

OPDATERET 02. APR2020 efter, at tavlerne blev modtaget.

Forbrugsvarer

Se BOM (stykliste) fil og skematisk PDF vedhæftet.

Se vedhæftet skema.

Her er et link til EasyEDA -projektet fra et senere trin -

Trin 1: Opret designet i InkScape

Opret designet i InkScape
Opret designet i InkScape
Opret designet i InkScape
Opret designet i InkScape
Opret designet i InkScape
Opret designet i InkScape

Lad os først designe formen på printkortet og enhver silketrykskunst, der skal bruges på printkortet.

  1. Download og installer inkscape
  2. Opret et nyt dokument
  3. Brug rektangelværktøjet til at oprette et 100x100 mm rektangel. JLCPCB tilbyder billigere PCB'er under denne størrelse.
  4. Brug polygonværktøjet til at skabe en stjerneform, der passer inden for rektanglet
  5. Tilføj andre detaljer, f.eks. lille stjernegrafik i omridset, hvor jeg placerer lysdioderne

    1. Start med at tilføje formerne til et punkt i stjernen, f.eks. toppen
    2. Tilføj et afrundet hjørne (for sikkerhed!) Ved hjælp af en bezier -kurve
    3. Vælg alle formerne på dette punkt, og grupper dem sammen
    4. Vi kan derefter kopiere og rotere denne gruppe til stjernens andre punkter

      "Rediger -> Klon -> Opret fliser med kloner"

  6. Hvis du rundede hjørnerne, skal vi fjerne de punkter, der ikke længere er nødvendige

    1. For at gøre dette tegnede jeg manuelt de lige linjer, der forbinder kurverne
    2. Fjern derefter den originale stjerne

Gem 2 versioner af dette billede

  • A: silkscreen - Komplet billede med alle de detaljer, der skal bruges til silkeskærmen
  • B: bordoversigt - som ovenfor, men fjern alle detaljer i midten og efterlad kun konturen. Dette vil definere printkortets form.

Gem. DXF -versioner af begge filer

  • fil -> Gem -som ->.dxf
  • Brug detaults

Eksempel på inkscape.svg- og.dxf -filer vedhæftet.

Trin 2: Importer.dxf til EasyEDA for at oprette den tilpassede form

Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form
Importer.dxf til EasyEDA for at oprette den tilpassede form

Dette trin vil oprette et nyt projekt om EasyEDA online værktøj og importere.dxf for at angive formen på printkortet og silketryk. EasyEDA er en gratis online skematisk og PCB -editor. Jeg valgte dette, da det var lettere end at downloade og installere et af de mange tilgængelige værktøjer. Det ser ud til at være godt til mine behov og integreres godt med JLCPCB til PCB -prototyper og LCSC -dele.

Opret projekt og PCB

  1. Besøg https://easyeda.com/ og opret en gratis konto.
  2. Opret et nyt projekt i dit arbejdsområde

    Gem gem skematisk

  3. Højreklik på projektnavnet og "Nyt printkort"

    1. OK standardindstillingerne (100x100mm)
    2. Bemærk - vi kan vende tilbage og redigere skematikken senere og tilføje komponenter
  4. Importer tavlen

    1. Fil -> importer DXF
    2. Vælg.dxf board outline -fil fra inkscape
    3. Kontroller, at Layer er indstillet til 'BoardOutLine'
    4. Klik på 'Import'
    5. Placer det inden for det eksisterende 100x100 rektangel
    6. Slet rektanglet, den nye stjerneform er BoardOutLine
    7. Kontroller, at det er på det lyserøde BoardOutLine -lag, hvis ikke, vælg det, og skift laget i panelet øverst til højre
  5. Importer silketrykbilledet

    1. Fil -> importer DXF
    2. Vælg.dxf silkscreen -filen fra inkscape
    3. Kontroller, at Layer er indstillet til 'TopSilkLayer'
    4. Klik på 'Import'
    5. Placer den oven på tavlens omrids (zoom ind med musehjul for nøjagtighed)
  6. Kontroller resultaterne ved at forhåndsvise 3D -forhåndsvisningen

    Klik på ikonet 'kamera' og '3d -visning'

Næste trin - tilføj komponenter:)

Trin 3: Planlæg de komponenter, du vil bruge, herunder SMD -samling

Planlæg de komponenter, du vil bruge, herunder SMD -samling
Planlæg de komponenter, du vil bruge, herunder SMD -samling

Nu hvor vi har en brugerdefineret form, kan vi begynde at tilføje komponenter.

Du kan simpelthen placere komponenter direkte i PCB -editoren, men det er bedre at tilføje dem til den skematiske visning og derefter trykke på 'Opdater PCB' for at tilføje dem til printkortet.

Bemærk - for at drage fordel af PCB -samlingstjenesterne, der tilbydes af JLCPCB (https://jlcpcb.com/smt-assemble), er det vigtigt at bruge komponenter fra en bestemt liste, de har.

  • Download XLS -reservedelslisten

    • I øjeblikket -
    • Som er linket fra:

Valg af dele:

  • grundlag

    Den billigste løsning er at bruge dele fra deres 'baseliste', da disse allerede er indlæst på deres pick and place -maskiner

  • forlænge

    Der er yderligere 'udvidede' dele, men der er en ekstra omkostning for hver enkelt. f.eks. LED'erne og ATMEG328P, jeg bruger i dette projekt, er begge udvidede, men alle de diskrete modstande, kondensatorer og den keramiske resonator er standarddele

  • andet - manuelt tilføjet til tavlen senere

    Jeg valgte at tilføje USB -stikket, trykknapper og programmeringsoverskrift manuelt

Det vedhæftede billede er et skærmbillede af delsættet af dele, jeg har brugt i projektet. Jeg tilføjede en kolonne "MyProject" for at hjælpe mig med at filtrere ned til de komponenter, jeg holder af. Jeg valgte mest 0805 fodspor for at gøre lodning lettere. Krystal/keramisk resonator kan være vanskelig at lodde i hånden.

LCSC -varenummeret, f.eks. C14877, kan bruges direkte i den skematiske (og PCB) editor.

Resumé af stykliste

  • C84258. - kølig hvid LED, meget lys (selv med 2x LED'er, der deler en 150R -modstand på 5v) og en flot diffusor bygget den
  • C7171 - 10uF afkoblingsdæksel x2
  • C17444 - 12K modstand til RESET pin pull -up x1
  • C17471 - 150R modstand i serie med lysdioder x10
  • C21120 - 220nF afkoblingsdæksel x2
  • C13738 - 16MHz keramisk resonator med integrerede hætter
  • C14877 - ATMEGA328P MCU

Trin 4: Byg skematisk, gør det Arduino programmerbar

Byg skematisk, gør det Arduino programmerbart
Byg skematisk, gør det Arduino programmerbart
Byg skematisk, gør det Arduino programmerbart
Byg skematisk, gør det Arduino programmerbart
Byg skematisk, gør det Arduino programmerbart
Byg skematisk, gør det Arduino programmerbart

Kernen i dette design er en ATMEGA328P, der bruges i mange Arduinos, herunder Uno, Nano og Pro Mini. Dette betyder, at det er muligt at bruge Arduino IDE til at skrive koden og programmere tavlen.

Jeg har designet dette kort til at bruge et minimalt antal komponenter til at reducere omkostninger og holde kortet enkelt, men stadig tillade det at blive programmeret via ISP 'In System Programming' header, som om det er en Arduino Nano.

Forstå pinout

Se pinout -diagrammet vedhæftet fra https://github.com/MCUdude/MiniCore for at se, hvordan de fysiske pins på MCU -kortet til arduino -pin navne. f.eks. fysisk MCU pin 1, (øverst til venstre) er også arduino pin 3 (mærket D3 på en nano), styret af PD3 inde i MCU'en. Fra et arduino IDE synspunkt behøver du kun at kende arduino pin '3'.

Minimumskomponenter for at efterligne en nano:

  • ATMEGA328P
  • Afkobling af kondensatorer for at udjævne strømforsyningen
  • ISP 'In System Programming' header i stedet for USB programmering

    • 6-benet header, der kan programmeres fra en anden arduino med ISP-programmørbillede
    • Bemærk - USB/seriel programmering er ikke mulig uden en USB til seriel konverter
  • Se
  • 16MHz keramisk resonator

    • Dette er påkrævet, hvis du efterligner en Nano, da disse altid er 5V og 16MHz ekstern resonator
    • Bemærk, at de fleste 3 eller 4 -polede resonatorer ikke har brug for de separate kondensatorer, som en krystal kræver

Alternativt, endnu mere minimalt komponentsæt med MiniCore

Hvis du ikke vil, eller ikke har krystallen eller resonatoren, kan du bruge den interne 8MHz osciallator i ATMEGA328P. Du skal indlæse en anden bootloader for at aktivere dette, f.eks. MiniCore bootloader, se GitHub for mere information.

https://github.com/MCUdude/MiniCore

Begynd nu at tilføje komponenterne:

  • Højreklik på "placer komponent"
  • I søgefeltet indtastes varenummeret fra regnearket / LCSC f.eks. C14877 til ATMEGA328P-AU
  • Placer det på skematisk
  • Gentag for de andre komponenter - hætter, modstande, lysdioder

    en af hver komponent i første omgang, og kopier og indsæt dem derefter efter designet efter behov

Trin 5: Føj disse komponenter til printkortet med "Opdater PCB"

Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With
Tilføj disse komponenter til PCB With

En pæn funktion i EasyEDA online editor er muligheden for at foretage ændringer i skematikken og derefter opdatere printkortet.

  • I den skematiske editor skal du trykke på gem fil
  • Derefter knappen "Opdater PCB" i værktøjslinjen

    • Et vindue dukker op for at fortælle dig, hvad der er ændret
    • 'Anvend ændringer'
  • De nye komponenter er nu placeret i nederste højre hjørne
  • Flyt dem til det sted, du vil have dem

    • ramme rummet for at rotere 90 grader
    • brug musehjulet til at zoome
  • Læg mærke til 'rottelinjer', der viser, hvor komponenterne skal forbindes

    brug komponentrotation for at gøre ledningerne lette

  • For at placere komponenter på undersiden skal du klikke på en komponent og i øverste højre hjørne ændre TopLayer til Bottom Layer

Trin 6: Før komponenterne på printkortet

Før komponenterne på printkortet
Før komponenterne på printkortet
Før komponenterne på printkortet
Før komponenterne på printkortet

Tråd nu komponenterne op som angivet af ratlines

  • Brug knappen 'spor' på værktøjslinjen
  • Klik på en komponent og derefter på den næste
  • Brug vias til at forbinde mellem lag
  • Tilføj et jordplan på tværs af hele det øverste lag for automatisk at forbinde alle jordstifterne

    • Brug knappen 'kobberområde' til at tegne et rektangel, der dækker hele brættet. Værktøjet udfylder automatisk det korrekte område og opretter forbindelse til GND -net som standard
    • Tilføj et andet plan på bundlaget til VCC
  • Åbn 3D -visningen for at kontrollere dine fremskridt

Jeg valgte at holde routingen meget direkte og pæn. Jeg kiggede på PCB -layoutet for at vælge, hvilken pin af MCU'en der skulle tilsluttes hver LED for at forenkle routingen og gøre den til en del af designprocessen.

Det er let at skifte tilbage til den skematiske fremviser og tilføje et netnavn til stiften, f.eks. U1 pin 23 tilsluttes net LED4. Sæt den samme netmærke på LED'en, opdater PCB'en og rute sporet.

** Her er et link til projektet på EasyEDA -webstedet:

easyeda.com/neil.parris/thestar-instructab…

Trin 7: Tilføj flere komponenter, indtil designet er færdigt, roter efter behov

Tilføj flere komponenter, indtil designet er færdigt, roter efter behov
Tilføj flere komponenter, indtil designet er færdigt, roter efter behov
Tilføj flere komponenter, indtil designet er færdigt, roter efter behov
Tilføj flere komponenter, indtil designet er færdigt, roter efter behov
Tilføj flere komponenter, indtil designet er færdigt, roter efter behov
Tilføj flere komponenter, indtil designet er færdigt, roter efter behov

Fortsæt med at tilføje lysdioder, knapper osv.

Du kan tilpasset rotere hver komponent, f.eks. for en 5 -punktsstjerne er hvert punkt 72 grader fra hinanden. For at få de korrekte vinkler til lysdioderne og andre komponenter skal du skrive 72 ind i rotationsboksen, og slå mellemrum for at rotere 90 grader ad gangen, indtil du får det resultat, du leder efter. Nogle gange har du brug for andre vinkler relateret til 72, f.eks. 90 - 72 = 18. Eller 2x 18 = 36. Med 18/36/72 og 90 graders rotationer kan du justere til alle stjernens større akser.

Se vedhæftede PDF af hele skematisk [bemærk, dette er et lidt anderledes design end de tidligere skærmbilleder, men samme principper]

Trin 8: Bestil printkortet og tilføj eventuelt SMD Build

Bestil printkortet og tilføj eventuelt SMD Build
Bestil printkortet og tilføj eventuelt SMD Build
Bestil printkortet og tilføj eventuelt SMD Build
Bestil printkortet og tilføj eventuelt SMD Build
Bestil printkortet og tilføj eventuelt SMD Build
Bestil printkortet og tilføj eventuelt SMD Build

Når du har gennemført designet, har du gennemgået det og kontrolleret, at der ikke er fejl, skal du fortsætte og generere Gerber -filer. Det vil bede dig om at udføre designregelkontrol (DRC'er). Kontroller, at der ikke er nogen fejl, og gem Gerber -filerne til fremstilling, eller åbn JLCPCB direkte fra editoren.

Hvis du vil bruge SMD -fremstillingstjenesterne, skal du også gemme styklisten (materialebekendelse) og vælge og placere filen (dette fortæller maskinerne, hvor du skal placere dine komponenter)

Gennemgå ordreprocessen, og dobbelttjek retning af eventuelle polariserede komponenter som lysdioder, kondensatorer, resonatorer og selve MCU'en!

For 10 plader samlet (uden USB- og programmeringshovedet) havde jeg en omkostning på omkring GBP £ 35 afsendt (ca. USD $ 45 afhængigt af valutakurs).

Hold øje med opdaterings -e -mail, og følg dit board, og opbyg via JLCPCB -webstedet.

Trin 9: Prototype softwaren (.ino -fil vedhæftet)

Prototype softwaren (.ino -fil vedhæftet)
Prototype softwaren (.ino -fil vedhæftet)

Mens du venter på, at tavlerne kommer, er det tid til at begynde at skrive softwaren:)

Jeg har placeret en Arduino Nano på et brødbræt og forbundet LED'erne på samme sted og de samme forbindelser for at efterligne printkortet. Det burde da være muligt at indlæse den samme software direkte på printkortet, dog med en ISP -programmer Arduino.

Koden bruger arrays til at gøre programmeringen enklere. Jeg har også importeret "FastLED.h" -biblioteket, da det har nogle nyttige hjælperfunktioner som sin8 ()

Her er nogle højdepunkter:

Dette array kortlægger Arduino -benene til LED1 op til 10. LED1 er forbundet til ækvivalent med Arduino A2, og LED10 forbundet til D4

  • // opret en matrix med de fysiske pin -navne, der er forbundet til LED1, LED2 osv. til LED10
  • const byte ledpins = {A2, A3, A1, A0, 9, 10, 6, 5, 3, 4};

Hovedløkken er en simpel software PWM -rutine, der kontrollerer 'pwm_now' i forhold til den aktuelle 'led_brightness' værdi.

Dette er i øjeblikket testkode til at eksperimentere med et par belysningsmønstre.

Trin 10: Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør

Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør
Fjern boksen og beundre dine nye printkort! Valgfrit - Loddetilbehør

Nyd un-boksning og beundre din helt egen brugerdefinerede PCB:)

Med SMD-samlingen havde jeg alle de vigtige komponenter loddet på den ene side for at give mig en fungerende enhed.

Valgfrit - loddemetal ekstra komponenter:

  • Micro-USB-stik til strøm (ikke programmering)
  • Trykknapper - for at gøre det interaktivt
  • LED'er på bagsiden - gør det dobbeltsidet!

Trin 11: Programmer tavlen med en ArduinoISP -programmerer

Image
Image
Programmer tavlen med en ArduinoISP -programmerer
Programmer tavlen med en ArduinoISP -programmerer
Programmer tavlen med en ArduinoISP -programmerer
Programmer tavlen med en ArduinoISP -programmerer
Programmer tavlen med en ArduinoISP -programmerer
Programmer tavlen med en ArduinoISP -programmerer

Dette er den sjove smule. Indlæser Arduino bootloader og koden på printkortet!

Et par dage efter første skrivning af denne instruerbare tavler ankom! 10x plader, alle fantastisk godt lavet, og komponenterne loddet pænt, og alle fungerede perfekt.

Tilslut en ekstra Arduino som en ArduinoISP -programmør

Jeg bruger en Arduino Nano på et lille brødbræt, der er forbundet som en ArduioISP -programmør. Dette betyder, at den forbinder fra IDE over USB til nano, som derefter opretter forbindelse til målenheden via det 6-benede programmeringsstik.

Pinout er det samme som et nano IP -stik, stort set bare MISO/MOSI/RST/SCK/5V/GND

Se dette link for flere detaljer:

1 - MISO

2 - +5V

3 - SCK

4 - MOSI

5 - RST => drevet fra Pin 10 på Arduino nano

6 - GND

Indlæs ArduinoISP -skitsen på programmøren

  • Eksempler -> 11. ArduinoISP -> ArduinoISP
  • Bemærk - når du uploader dette billede til programmereren, skal kondensatoren mellem benene RST og GND fjernes. Sæt dette tilbage, før du bruger programmereren.

Upload den bootloadede og kode til målkortet

  • Tilslut programmereren til målet med det 6-benede stik

    Du kan bare holde et 6x pin header til printet uden lodning ved at holde det på skrå, så det får god kontakt

  • Hvis du har 16MHz keramisk resonator på tavlen, og du er glad for at kortlægge pinout, så den matcher arduino nano, skal du blot programmere tavlen som en Arduino nano, men med følgende indstillinger:

    • Board: "Arduino Nano"
    • Processor: "ATmega328P"
    • Programmer: "Arduino som internetudbyder"
  • Upload bootloaderen

    Dette sætter sikringerne i MCU'en for at aktivere 16MHz ekstern krystal eller resonator. Hvis du ikke har dette, så brug en alternativ bootloader, f.eks. minicore

  • Upload din kode

    Vigtigt - fordi vi downloader koden med programmereren, skal du trykke på SHIFT, når du trykker på UPLOAD (=>) knappen. Dette ændrer programmeringen fra den normale 'upload' over seriel port til i stedet at bruge 'upload med programmerer' i ISP -benene

Hvis ovenstående var vellykket, skulle du nu have masser af blinkende lysdioder!:

Trin 12: Nyd dit projekt

Nyd dit projekt!
Nyd dit projekt!
Nyd dit projekt!
Nyd dit projekt!

Jeg håber, at du har fundet denne instruktive nyttig. Jeg har brugt mange timer på at eksperimentere med disse værktøjer til at lave interessante printkort og har fundet online-værktøjerne meget bekvemme.

Dette særlige design er relativt enkelt med hensyn til kredsløb, men interessant med hensyn til fysisk layout. Det ville også være en god dekoration til ferien!

PCB Design Challenge
PCB Design Challenge
PCB Design Challenge
PCB Design Challenge

Anden pris i PCB Design Challenge

Anbefalede: