Innholdsfortegnelse:

Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools: 12 trinn (med bilder)
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools: 12 trinn (med bilder)

Video: Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools: 12 trinn (med bilder)

Video: Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools: 12 trinn (med bilder)
Video: GSM GPRS MODUL SHIELD FABRIKET PCB BOARD DESIGN VED BRUG AF GL865 TIL ELEKTRONISK PROJEKT 2024, November
Anonim
Image
Image
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools
Lær hvordan du designer en tilpasset PCB med EasyEDA Online Tools

Jeg har alltid ønsket å designe en tilpasset PCB, og med elektroniske verktøy og billig PCB -prototyping har det aldri vært enklere enn nå! Det er til og med mulig å få montert overflatemonterte komponenter billig og enkelt i lite volum for å spare den vanskelige loddeoppgaven! Jeg har bestilt 10x kretskort med montering for mindre enn 50 dollar. Mens kretskort har en viktig funksjon, er utformingen av komponentene en viktig del av hvordan det ser ut. Jeg har rotert komponentene på brettet for å justere med stjernens punkter.

Denne instruktive vil lære deg:

  • Hvordan tegne den tilpassede PCB -formen i InkScape (gratis, åpen kildekode -grafikkverktøy)
  • Hvordan bruke EasyEDA krets- og kretskortdesignverktøy (gratis og online, ingen installasjon nødvendig!)
  • Hvordan importere SVG til EasyEDA for tilpasset PCB -form og silketrykk
  • Hvordan lage en enkel 'Arduino' programmerbar MCU -design
  • Hvordan bruke JLCPCB overflatemonteringsenhet for å få brettene laget og montert

Funksjoner i "The Star"

  • Egendefinert 5-punkts stjerneformet kretskort
  • Animert belysning - 10x lysdioder per side, dobbeltsidig
  • arduino programmerbar ATMEGA328P mikrokontroller
  • 2x knapper for interaktivitet - du kan lage et enkelt spill
  • drevet av mikro USB (tilleggsutstyr)
  • Nettverk flere stjerner for større animasjoner (alternativ) med seriell kommunikasjon

OPPDATERT 02. APR2020 etter at tavlene ble mottatt.

Rekvisita

Se BOM (Bill of Materials) -fil og skjematisk PDF vedlagt.

Se hele skjemaet vedlagt.

Her er en lenke til EasyEDA -prosjektet fra et senere trinn -

Trinn 1: Lag designet i InkScape

Lag designet i InkScape
Lag designet i InkScape
Lag designet i InkScape
Lag designet i InkScape
Lag designet i InkScape
Lag designet i InkScape

La oss først designe formen på PCB og eventuell silketrykk for å gå på PCB.

  1. Last ned og installer inkscape
  2. Lag et nytt dokument
  3. Bruk rektangelverktøyet til å lage et rektangel på 100 x 100 mm. JLCPCB tilbyr billigere PCB under denne størrelsen.
  4. Bruk polygonverktøyet til å lage en stjerneform som passer i rektangelet
  5. Legg til andre detaljer, f.eks. liten stjernegrafikk i omrisset, der jeg skal plassere lysdiodene

    1. Start med å legge til figurene for ett punkt på stjernen, f.eks. toppen
    2. Legg til et avrundet hjørne (for sikkerhet!) Ved hjelp av en bezier -kurve
    3. Velg alle figurene på dette punktet og grupper dem sammen
    4. Vi kan deretter kopiere og rotere denne gruppen til de andre punktene i stjernen

      "Rediger -> Klon -> Lag flislagte kloner"

  6. Hvis du rundet hjørnene, må vi fjerne punktene som ikke lenger er nødvendige

    1. For å gjøre dette tegnet jeg manuelt de rette linjene som forbinder kurvene
    2. Fjern deretter den opprinnelige stjernen

Lagre 2 versjoner av dette bildet

  • A: silkscreen - Komplett bilde med alle detaljene som skal brukes til silketrykket
  • B: tavleoversikt - som ovenfor, men fjern alle detaljene i midten slik at det bare er konturen. Dette vil definere formen på kretskortet.

Lagre. DXF -versjoner av begge filene

  • fil -> Lagre -som ->.dxf
  • Bruk detaljene

Eksempel på inkscape.svg- og.dxf -filer vedlagt.

Trinn 2: Importer.dxf til EasyEDA for å lage den egendefinerte formen

Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen
Importer.dxf til EasyEDA for å lage den egendefinerte formen

Dette trinnet vil opprette et nytt prosjekt på EasyEDA online verktøy og importere.dxf for å angi formen på PCB og silket skjerm. EasyEDA er en gratis online skjematisk og PCB -editor. Jeg valgte dette fordi det var enklere enn å laste ned og installere et av de mange tilgjengelige verktøyene. Det ser ut til å være bra for mine behov, og integreres godt med JLCPCB for PCB -prototyper og LCSC -deler.

Lag prosjekt og PCB

  1. Besøk https://easyeda.com/ og opprett en gratis konto.
  2. Lag et nytt prosjekt i arbeidsområdet

    Lagre skjematisk fil

  3. Høyreklikk på prosjektnavnet, og "Ny PCB"

    1. OK standardinnstillingene (100x100mm)
    2. Merk - vi kan komme tilbake og redigere skjemaet senere og legge til komponenter
  4. Importer tavlen

    1. Fil -> importer DXF
    2. Velg disposisjonsfilen for.dxf -kortet fra inkscape
    3. Sjekk at Layer er satt til 'BoardOutLine'
    4. Klikk "Importer"
    5. Plasser den i det eksisterende rektangelet på 100 x 100
    6. Slett rektangelet, den nye stjerneformen er BoardOutLine
    7. Kontroller at det er på det rosa BoardOutLine -laget, hvis ikke, velg det og endre laget i panelet øverst til høyre
  5. Importer silkebildet

    1. Fil -> importer DXF
    2. Velg.dxf silkeskjermfil fra inkscape
    3. Sjekk at Layer er satt til 'TopSilkLayer'
    4. Klikk "Importer"
    5. Plasser den på oversiden av brettet (zoome inn med musehjul for nøyaktighet)
  6. Sjekk resultatene ved å forhåndsvise 3D -forhåndsvisningen

    Klikk på "kamera" -ikonet og "3d -visning"

Neste trinn - legg til komponenter:)

Trinn 3: Planlegg komponentene du vil bruke, inkludert SMD -montering

Planlegg komponentene du vil bruke, inkludert SMD -montering
Planlegg komponentene du vil bruke, inkludert SMD -montering

Nå som vi har en tilpasset form, kan vi begynne å legge til komponenter.

Du kan ganske enkelt plassere komponenter direkte i PCB -editoren, men det er bedre å legge dem til i skjematisk visning og deretter trykke på "Oppdater PCB" for å legge dem til PCB.

Merk - for å dra fordel av PCB -monteringstjenestene som tilbys av JLCPCB (https://jlcpcb.com/smt-assembly), er det viktig å bruke komponenter fra en bestemt liste de har.

  • Last ned XLS -delelisten

    • For øyeblikket -
    • Som er koblet fra:

Valg av deler:

  • utgangspunkt

    Det billigste alternativet er å bruke deler fra deres 'grunn' liste, da disse allerede er lastet inn på plukk -og plasser -maskinene

  • forlenge

    Det er flere "utvidede" deler, men det er en ekstra kostnad for hver enkelt. f.eks. LEDene og ATMEG328P jeg bruker i dette prosjektet er begge utvidet, men alle de diskrete motstandene, kondensatorene og den keramiske resonatoren er standarddeler

  • andre - lagt manuelt til brettet senere

    Jeg valgte å legge til USB -kontakten, trykknapper og programmeringsoverskrift manuelt

Det vedlagte bildet er et skjermbilde av delsettet av deler jeg har brukt i prosjektet. Jeg la til en kolonne "MyProject" for å hjelpe meg med å filtrere ned til komponentene jeg bryr meg om. Jeg valgte for det meste 0805 fotavtrykk for å gjøre lodding enklere. Krystall/keramisk resonator kan være vanskelig å lodde for hånd.

LCSC -delenummeret, f.eks. C14877, kan brukes direkte i skjematisk (og PCB) editor.

Sammendrag av styklisten

  • C84258. - kul hvit LED, veldig lys (selv med 2x LED -er som deler en 150R -motstand på 5v) og en fin diffusor bygget den
  • C7171 - 10uF frakoblingshette x2
  • C17444 - 12K motstand for RESET pin pull -up x1
  • C17471 - 150R motstand i serie med lysdioder x10
  • C21120 - 220nF frakoblingskapsel x2
  • C13738 - 16MHz keramisk resonator med integrerte hetter
  • C14877 - ATMEGA328P MCU

Trinn 4: Bygg skjematisk, gjør det Arduino programmerbart

Bygg skjematisk, gjør det Arduino programmerbart
Bygg skjematisk, gjør det Arduino programmerbart
Bygg skjematisk, gjør det Arduino programmerbart
Bygg skjematisk, gjør det Arduino programmerbart
Bygg skjematisk, gjør det Arduino programmerbart
Bygg skjematisk, gjør det Arduino programmerbart

Kjernen i dette designet er en ATMEGA328P som brukes i mange Arduinos inkludert Uno, Nano og Pro Mini. Dette betyr at det er mulig å bruke Arduino IDE for å skrive koden og programmere brettet.

Jeg har designet dette brettet til å bruke et minimalt antall komponenter for å redusere kostnadene og holde kortet enkelt, men likevel la det bli programmert gjennom ISP 'In System Programming' header som om det er en Arduino Nano.

Forstå pinout

Se pinout -diagrammet vedlagt fra https://github.com/MCUdude/MiniCore for å se hvordan de fysiske pinnene på MCU -kartet til arduino -pinnavn. f.eks. fysisk MCU pin 1, (øverst til venstre) er også arduino pin 3 (merket D3 på en nano), kontrollert av PD3 inne i MCU. Fra et arduino IDE -synspunkt trenger du bare å kjenne arduino -pinnen '3'.

Minimumskomponenter for å etterligne en nano:

  • ATMEGA328P
  • Koble fra kondensatorer for å jevne ut strømforsyningen
  • ISP 'In System Programming' header i stedet for USB -programmering

    • 6-pinners topptekst som kan programmeres fra en annen arduino med ISP-programmererbilde
    • Merk - USB/seriell programmering er ikke mulig uten en USB til serieomformer
  • Se
  • 16MHz keramisk resonator

    • Dette er nødvendig hvis du etterligner en Nano da disse alltid er 5V og 16MHz ekstern resonator
    • Legg merke til at de fleste 3 eller 4 -pinners resonatorer ikke trenger de separate kondensatorene som en krystall krever

Alternativt, enda mer minimalt komponentsett med MiniCore

Hvis du ikke vil, eller ikke har krystall eller resonator, kan du bruke den interne 8MHz osciallatoren i ATMEGA328P. Du må laste en annen oppstartslaster for å aktivere dette, f.eks. MiniCore bootloader, se GitHub for mer informasjon.

https://github.com/MCUdude/MiniCore

Begynn nå å legge til komponentene:

  • Høyreklikk "stedskomponent"
  • Skriv inn delenummeret fra regnearket / LCSC i søkeboksen, f.eks. C14877 for ATMEGA328P-AU
  • Plasser den på skjematikken
  • Gjenta for de andre komponentene - hetter, motstander, lysdioder

    en av hver komponent i utgangspunktet, og kopier og lim dem deretter rundt designet etter behov

Trinn 5: Legg disse komponentene til kretskortet med "Oppdater PCB"

Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With
Legg disse komponentene til PCB With

En fin funksjon i EasyEDA online editor er muligheten til å gjøre endringer i skjematikken og deretter oppdatere PCB.

  • I den skjematiske redigeringsprogrammet trykker du på lagre filen
  • Deretter "Oppdater PCB" -knappen i verktøylinjen

    • Et vindu dukker opp for å fortelle deg hva som er endret
    • 'Bruk endringer'
  • De nye komponentene er nå plassert i nedre høyre hjørne
  • Flytt dem dit du vil ha dem

    • treffer plass for å rotere 90 grader
    • bruk musehjulet for å zoome
  • Legg merke til 'rottelinjene' som viser hvor komponentene må kobles til

    bruk rotasjon av komponenter for å gjøre ledningen enkel

  • Hvis du vil plassere komponenter på undersiden, klikker du på en komponent og i øvre høyre hjørne endrer du topplaget til det nederste laget

Trinn 6: Legg komponentene på kretskortet

Legg komponentene på kretskortet
Legg komponentene på kretskortet
Legg komponentene på kretskortet
Legg komponentene på kretskortet

Koble nå til komponentene som angitt av ratelinjene

  • Bruk "spor" -knappen på verktøylinjen
  • Klikk på en komponent, deretter den neste
  • Bruk vias for å koble mellom lag
  • Legg til et bakkeplan over hele topplaget for å koble alle jordpinnene automatisk

    • Bruk "kobberområdet" -knappen for å tegne et rektangel som dekker hele brettet. Verktøyet vil automatisk fylle ut riktig område og koble til GND -nettet som standard
    • Legg til et annet plan på bunnlaget for VCC
  • Åpne 3D -visningen for å kontrollere fremdriften din

Jeg valgte å beholde ruten veldig direkte og ryddig. Jeg så på PCB -oppsettet for å velge hvilken pin av MCU -en jeg skulle koble til hver LED for å forenkle ruten og gjøre den til en del av designprosessen.

Det er enkelt å bytte tilbake til den skjematiske visningen og legge til et nettnavn på pinnen, f.eks. U1 -pinne 23 kobles til netto LED4. Sett den samme nettetiketten på LED -en, oppdater kretet og legg banen.

** Her er en lenke til prosjektet på EasyEDA -nettstedet:

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

Trinn 7: Legg til flere komponenter til designet er ferdig, roter som nødvendig

Legg til flere komponenter til designet er ferdig, roter som nødvendig
Legg til flere komponenter til designet er ferdig, roter som nødvendig
Legg til flere komponenter til designet er ferdig, roter som nødvendig
Legg til flere komponenter til designet er ferdig, roter som nødvendig
Legg til flere komponenter til designet er ferdig, roter som nødvendig
Legg til flere komponenter til designet er ferdig, roter som nødvendig

Fortsett å legge til lysdioder, knapper, etc.

Du kan skreddersy hver komponent, f.eks. for en 5 -punktsstjerne er hvert punkt 72 grader fra hverandre. For å få de riktige vinklene for lysdiodene og andre komponenter, skriver du 72 inn i rotasjonsboksen, og treffer mellomrom for å rotere 90 grader om gangen til du får resultatet du leter etter. Noen ganger trenger du andre vinkler relatert til 72, f.eks. 90 - 72 = 18. Eller 2x 18 = 36. Med 18/36/72 og 90 graders rotasjoner kan du justere til alle hovedaksene til stjernen.

Se vedlagte PDF for hele skjemaet [merk at dette er en litt annerledes design enn tidligere skjermbilder, men samme prinsipper]

Trinn 8: Bestill PCB og legg eventuelt til SMD Build

Bestill kretskortet og legg eventuelt til SMD Build
Bestill kretskortet og legg eventuelt til SMD Build
Bestill kretskortet og legg eventuelt til SMD Build
Bestill kretskortet og legg eventuelt til SMD Build
Bestill kretskortet og legg eventuelt til SMD Build
Bestill kretskortet og legg eventuelt til SMD Build

Når du har fullført designet, har du vurdert det og sjekket at det ikke er noen feil, fortsett og generer Gerber -filene. Det vil be deg om å utføre designregelkontroller (DRC). Sjekk at det ikke er noen feil og lagre Gerber -filene for produksjon, eller åpne JLCPCB direkte fra redaktøren.

Hvis du vil bruke SMD -produksjonstjenestene, kan du også lagre styklisten (materialliste) og plukke og plassere filen (dette forteller maskinene hvor du skal plassere komponentene)

Gå gjennom bestillingsprosessen og dobbeltsjekk orienteringen til eventuelle polariserte komponenter som lysdioder, kondensatorer, resonatorer og selve MCU!

For 10 brett montert (uten USB- og programmeringshodet) hadde jeg levert en kostnad på rundt GBP £ 35, (ca. USD $ 45 avhengig av valutakurs).

Se etter oppdaterings -e -post, og følg styret ditt, og bygg gjennom JLCPCB -nettstedet.

Trinn 9: Prototyp programvaren (.ino -fil vedlagt)

Prototyp programvaren (.ino -fil vedlagt)
Prototyp programvaren (.ino -fil vedlagt)

Mens du venter på at tavlene skal komme, er det på tide å begynne å skrive programvaren:)

Jeg har plassert en Arduino Nano på et brødbrett og koblet lysdiodene på samme sted, og samme tilkoblinger for å etterligne PCB. Det bør da være mulig å laste den samme programvaren direkte på PCB, men med en ISP -programmerer Arduino.

Koden bruker matriser for å gjøre programmeringen enklere. Jeg har også importert "FastLED.h" -biblioteket siden det har noen nyttige hjelperfunksjoner som sin8 ()

Her er noen høydepunkter:

Denne matrisen kartlegger Arduino -pinnene til LED1 opp til 10. LED1 er koblet til tilsvarende Arduino A2, og LED10 koblet til D4

  • // lag en rekke fysiske pinnavn knyttet til LED1, LED2 etc. til LED10
  • const byte ledpins = {A2, A3, A1, A0, 9, 10, 6, 5, 3, 4};

Hovedløkken er en enkel programvare -PWM -rutine som sjekker 'pwm_now' mot den nåværende 'led_brightness' verdien.

Dette er for øyeblikket testkode for å eksperimentere med noen få belysningsmønstre.

Trinn 10: Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler

Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler
Fjern boksen og beundre de nye PCB-ene! Valgfritt - Loddetilleggsdeler

Nyt un-boxing og beundre din egen tilpassede PCB:)

Med SMD-enheten hadde jeg alle viktige komponenter loddet på en side for å gi meg en fungerende enhet.

Valgfritt - loddetilleggskomponenter:

  • Mikro-USB-kontakt for strøm (ikke programmering)
  • Trykknapper - for å gjøre det interaktivt
  • LED på baksiden - gjør den dobbeltsidig!

Trinn 11: Programmer brettet med en ArduinoISP -programmerer

Image
Image
Programmer styret med en ArduinoISP -programmerer
Programmer styret med en ArduinoISP -programmerer
Programmer styret med en ArduinoISP -programmerer
Programmer styret med en ArduinoISP -programmerer
Programmer styret med en ArduinoISP -programmerer
Programmer styret med en ArduinoISP -programmerer

Dette er det morsomme. Laster Arduino bootloader og koden på PCB!

Et par dager etter at jeg hadde skrevet denne instruksjonsfulle tavlen, kom den! 10x brett, alle fantastisk godt laget, og komponentene loddet pent, og alt fungerte perfekt.

Koble til en ekstra Arduino som en ArduinoISP -programmerer

Jeg bruker en Arduino Nano på et lite brødbrett som er tilkoblet som en ArduioISP -programmerer. Dette betyr at den kobles fra IDE over USB til nano, som deretter kobles til målenheten gjennom den 6-pinners programmeringskontakten.

Pinout er det samme som en nano IP -kontakt, i utgangspunktet bare MISO/MOSI/RST/SCK/5V/GND

Se denne lenken for mer informasjon:

1 - MISO

2 - +5V

3 - SCK

4 - MOSI

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

6 - GND

Legg ArduinoISP -skissen på programmereren

  • Eksempler -> 11. ArduinoISP -> ArduinoISP
  • Merk - når du laster opp dette bildet til programmereren, må kondensatoren mellom pinnene RST og GND fjernes. Sett dette tilbake før du bruker programmereren.

Last opp bootloaded og koden til målbordet

  • Koble programmereren til målet med 6-pinners kontakten

    Du kan bare holde en 6x pins header til kretskortet uten lodding ved å holde den på skrå slik at den får god kontakt

  • Hvis du har 16MHz keramisk resonator på brettet, og du er glad for å kartlegge pinout for å matche arduino nano, så programmer bare kortet som en Arduino nano, men med følgende innstillinger:

    • Brett: "Arduino Nano"
    • Prosessor: "ATmega328P"
    • Programmerer: "Arduino som ISP"
  • Last opp bootloader

    Dette setter sikringene i MCU for å aktivere 16MHz ekstern krystall eller resonator. Hvis du ikke har dette, kan du bruke en alternativ oppstartslaster, f.eks. minicore

  • Last opp koden din

    Viktig - fordi vi laster ned koden med programmereren, må du trykke SHIFT når du trykker på UPLOAD (=>) -knappen. Dette endrer programmeringen fra den normale 'opplasting' over seriell port, til i stedet å bruke 'last opp med programmerer' til ISP -pinnene

Hvis det ovennevnte var vellykket, bør du nå ha mange blinkende lysdioder!:

Trinn 12: Nyt prosjektet ditt

Nyt prosjektet ditt!
Nyt prosjektet ditt!
Nyt prosjektet ditt!
Nyt prosjektet ditt!

Jeg håper du har funnet denne instruksen nyttig. Jeg har brukt mange timer på å eksperimentere med disse verktøyene for å lage interessante PCB-er, og har funnet online-verktøyene veldig praktiske.

Denne spesielle designen er relativt enkel når det gjelder krets, men interessant når det gjelder fysisk layout. Det ville også være en god dekorasjon for høytiden!

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

Andre pris i PCB Design Challenge

Anbefalt: