Innholdsfortegnelse:

Atmega328p Companion: 6 trinn (med bilder)
Atmega328p Companion: 6 trinn (med bilder)

Video: Atmega328p Companion: 6 trinn (med bilder)

Video: Atmega328p Companion: 6 trinn (med bilder)
Video: HOW TO UPLOAD PROGRAM ON ARDUINO | ERROR SOLUTION:PROGRAM UPLOADING TO BOARD| SKETCH UPLOAD ISSUE 2024, Juli
Anonim
Atmega328p Companion
Atmega328p Companion

ATMEGA328P Companion: Bootloader and Programmer Module

Hvis du er som meg, er du avhengig av prosjekter og Arduino. Imidlertid, hvis du har gjort en rekke prosjekter med en Arduino som hjerne, har du sannsynligvis begynt å bli lei av å se på Arduino -brettet som helhet, rotet prosjektet ditt og generelt sett bare sett dårlig ut. Som sådan bestemte jeg meg for at jeg ønsket å gå fra Arduino -kortene til å bruke bare IC.

Skriv inn atmega328p.

Atmega328p er sannsynligvis den mest produktive Arduino -kompatible IC på markedet. Det er på ingen måte den billigste eller kraftigste, men når jeg tar hensyn til begge disse, er det etter min mening den beste ytelsen per dollar. Så er du klar til å begynne å få prosjektene dine til å se mye mer profesjonelle ut og mindre ligne et samling av hyllemoduler? Les i så fall denne instruksjonsboken, så får du nødvendig informasjon for å bygge din egen modul som lar deg blinke en oppstartslaster til målet atmega328p, laste opp blinkskissen for å sikre at ting fungerer, og til slutt laste opp dine egne skisser for dine individuelle prosjekter.

Trinn 1: BOM og verktøy

Første ting først, denne instruerbare kommer ikke til å være et trinn for trinn hvordan du bygger en manuell, men i stedet antar jeg at du vet hvordan du leser en skjematisk og kan oversette det til et tavle. Med det i bakhodet, her er de nødvendige materialene og verktøyene:

Materialer:

  • 1x 40x60mm protoboard eller PCB
  • 1x 6 -pins mannlig overskrift (jeg brukte rettvinklede menn)
  • 2x 14 -pins kvinnelig topptekst
  • 1x 6 -pins kvinnelig topptekst
  • 1x 2 -pins kvinnelig topptekst
  • 2x 22pF kondensator (22)
  • 1x 0.1uF kondensator (104)
  • 1x 10 kOhm motstand
  • 2x 330ohm motstand
  • 1x LED (hvilken som helst farge for strømindikator - 3 mm for PCB -design)
  • 1x LED (hvilken som helst farge for digital pin 13 for blinkskisse - 3 mm for PCB -design)
  • 1x 16MHz krystall
  • 1x skyvebryter
  • 1x kort trykknapp

Verktøy:

  • Arduino Uno
  • Loddejern
  • 6x MM-hoppere
  • FTDI programmerer
  • USB -kabel som matcher din FTDI -programmerer
  • Arduino IDE

Trinn 2: Skjematisk/oppsett

Skjematisk/oppsett
Skjematisk/oppsett
Skjematisk/oppsett
Skjematisk/oppsett

Vedlagt dette trinnet er ørnefilene som jeg brukte. Du står fritt til å endre dem og endre dem som du vil. Jeg har imidlertid designet tavlen slik at alle sporene er på bunnlaget, slik at det er enkelt å lage på en PCB -kvern (hvis du har tilgang til en) med et ensidig brett. Det er også på bunnen, slik at det er enkelt å lodde komponentene sammen.

Hvis du vil ha PCB, er det bare å kjøre CAM for å få de nødvendige gerberfilene til favorittprodusenten din. Jeg liker OSH Park fordi du bare gir dem tavlefilen og de kjører de nødvendige CAM -ene for å få filene de trenger.

Trinn 3: Lodding

Lodding
Lodding
Lodding
Lodding

Så det er tre måter å lage dette brettet på:

  • Befolkning av en PCB
  • Befolkning av et frest brett
  • Befolkning av et protoboard

Å fylle ut PCB er ganske rett frem, og burde ikke gi deg noen problemer, siden alt er merket.

Å fylle et frest brett bør heller ikke være for vanskelig, ettersom det er modellert på nøyaktig samme måte som kretskortet, bortsett fra at du ikke har merkene, så følg med tavlefilen i Eagle for å være sikker på at du legger ting på riktig sted (spesielt polariteten til lysdiodene).

Til slutt er det mest tankekrevende å fylle ut et protoboard, men det er ikke veldig vanskelig. Jeg har noen bilder på dette trinnet som viser protoboardversjonen min og hvordan jeg passer alt. Vær oppmerksom på at LM7805, de to 4.7uF kondensatorene og skrueterminalene ikke vil være på kortet ditt. Jeg lekte med ideen om å ha denne muligheten til å bli eksternt drevet, men når jeg begynte å tenke på det, bestemte jeg meg for at det til slutt var bortkastet bordplass.

Trinn 4: Oppstart

Oppstart
Oppstart

Konfigurere oppstartslaster Arduino:

Så her trenger du din andre Arduino. Gå først hit og last ned filene fra denne fyren. På dette tidspunktet er filene noen år gamle, men de fungerer fortsatt bra. Når du har lastet dem ned, åpner du optiLoader.ino, og Arduino IDE bør be deg om å sette den i en mappe. Gjør det, og legg deretter filen optiLoader.h i mappen med.ino. Nå er du klar til å laste opp skissen til oppstartslaster Arduino. Jeg brukte en Arduino Uno, så jeg vet at den fungerer med det, men jeg er sikker på at den også vil fungere med andre brett.

Når du har lastet opp optiLoader.ino til Arduino, er alt klart for å starte opp mange forskjellige Arduino -brikker. Jeg har bare gjort det med atmega328p, men koden er satt opp for å oppdage mål -MCU og blinke riktig oppstartslaster, noe som er ganske fint. Så nå, når du kobler denne Arduino til Atmega Companion -kortet med en brikke installert og slår den på, vil den automatisk oppdage at målet er en atmega328p og blinke riktig oppstartslaster automatisk. Ingen reset -hopping, ingen rare ting; bare plug and play.

Kabling av oppstartslaster til følgebordet:

[Bootloader Arduino] [Atmega328p Companion Board]

  • D10 Tilbakestill / pin 1
  • D11 MOSI / pinne 17
  • D12 MISO / pinne 18
  • D13 SCK / pinne 19
  • 5V Vcc / pin 20 eller 21
  • GND Gnd / pin 22

Pinnene refererer til bena på selve IC. Hvis dette er forvirrende, kan du se på tavlebildet fra skjematisk/layout trinn som pinnene på ledsagerbordet er merket.

Blinker oppstartslasteren:

Nå som du har Bootloader Arduino -oppsettet med optiLoader.ino -skissen og det nå også er koblet til ledsagerkortet, må du kontrollere at ledsagerbordbryteren er satt til "bootload" i stedet for "last opp", og koble deretter til din Arduino til en datamaskin. Du bør se lysene på både Arduino og Companion Board blinke flere ganger. Etter noen sekunder skulle begge bli mørke og ikke blinke lenger. Dette betyr sannsynligvis at det har lykkes med atmega328p IC med oppstartslasteren. For å sikre at alt gikk bra, koble det til datamaskinen og åpne Arduino IDE og deretter seriell skjerm. Endre overføringshastigheten til 19200. Trykk deretter på tilbakestillingsknappen på Arduino hvis den ikke starter på nytt automatisk. Du bør se en haug med tekst som beskriver hva skriptet gjør. På slutten bør den ikke ha noen feilmeldinger og bør informere deg om at prosessen er ferdig.

Hvis du får en feil, sjekk bryteren og kontroller at du er på "bootload". Hvis du fortsatt får feil på dette tidspunktet, må du kontrollere alle ledningene dine og kontrollere at det er riktig.

Trinn 5: Last opp

Laster opp
Laster opp

Dette er det enkle trinnet.

Koble fra alle ledningene fra forrige trinn, og vri bryteren fra "bootload" til "upload". Koble til FTDI -modulen. Jeg liker Adafruit CP2104 og SparkFun CH340G hovedsakelig fordi de er relativt billige og pinout matcher FTDI -pinnene som kommer ut av ledsagerbordet.

Når du har koblet FTDI til ledsagerkortet, kan du koble den til datamaskinen. Derfra kan du laste opp skisse med blinkeksempel for å sikre at oppstartslasteren ble blinket riktig. Velg Arduino/Genuino Uno fra brettmenyen. Når blinkskissen er lastet opp, bør du se blinklysdioden blinke som forventet. Hvis det fungerer, er du klar til å laste opp dine egne tilpassede skisser til IC, akkurat som med alle andre Arduino.

Trinn 6: Fremtidig arbeid

I fremtiden planlegger jeg å gjøre dette til et Arduino Uno -skjold. Det skal ikke ta lang tid å gjøre det, og hvis folk vil, kan jeg laste opp Eagle -filene for det også her. Dette vil forenkle oppstartstrinnet, ettersom du ikke trenger å bekymre deg for å koble det feil. Jeg er åpen for andre forbedringsforslag også, men jeg mistenker ikke at jeg kommer til å gjøre mye mer med dette, siden det bare var et nødvendig skritt i forberedelsene til mine fremtidige prosjekter.

Gi meg beskjed hvis du vil se flere av mine fremtidige prosjekter, så prøver jeg å holde samfunnet oppdatert.

Anbefalt: