Innehållsförteckning:

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

Video: Atmega328p Companion: 6 steg (med bilder)

Video: Atmega328p Companion: 6 steg (med bilder)
Video: 6 steg för att bli fri från magbesvär 2024, Juli
Anonim
Atmega328p Companion
Atmega328p Companion

ATMEGA328P Companion: Bootloader and Programmer Module

Om du är som jag är du beroende av projekt och Arduino. Men om du har gjort ett antal projekt med en Arduino som hjärna har du förmodligen börjat bli trött på att titta på Arduino -brädet som helhet, störa ditt projekt och överlag bara se dåligt ut. Som sådan bestämde jag mig för att jag ville gå från Arduino -korten till att bara använda IC.

Ange atmega328p.

Atmega328p är förmodligen den mest produktiva Arduino -kompatibla IC på marknaden. Det är absolut inte det billigaste eller mest kraftfulla, men när man tar hänsyn till båda dessa är det enligt min mening den bästa prestanda per dollar. Så är du redo att börja få dina projekt att se mycket mer professionella ut och mindre likna en sammanslagning av hyllmoduler? Om så är fallet, läs igenom denna instruerbara och du får nödvändig information för att bygga din egen modul som gör att du kan blinka en startladdare till ditt mål atmega328p, ladda upp blinkskissen för att säkerställa att saker fungerar och slutligen ladda upp dina egna skisser för dina enskilda projekt.

Steg 1: BOM och verktyg

Först och främst, det här instruerbara kommer inte att vara ett steg för steg hur man bygger en manuell, men istället antar jag att du vet hur man läser en schematisk och kan översätta det till en tavla. Med det i åtanke, här är de nödvändiga materialen och verktygen:

Material:

  • 1x 40x60mm protoboard eller PCB
  • 1x 6pin manlig header (jag använde rätvinkliga män)
  • 2x 14pin kvinnlig rubrik
  • 1x 6pin kvinnlig rubrik
  • 1x 2pin kvinnlig rubrik
  • 2x 22pF kondensator (22)
  • 1x 0.1uF kondensator (104)
  • 1x 10kohm motstånd
  • 2x 330ohm motstånd
  • 1x LED (valfri färg för strömindikator - 3 mm för PCB -design)
  • 1x LED (valfri färg för digital stift 13 för blinkskiss - 3 mm för PCB -design)
  • 1x 16 MHz kristall
  • 1x skjutreglage
  • 1x tillfällig tryckknapp

Verktyg:

  • Arduino Uno
  • Lödkolv
  • 6x M-M hoppare
  • FTDI programmerare
  • USB -kabel som matchar din FTDI -programmerare
  • Arduino IDE

Steg 2: Schematisk/layout

Schematisk/layout
Schematisk/layout
Schematisk/layout
Schematisk/layout

Bifogat till detta steg är örnfilerna som jag använde. Du är fri att ändra dem och ändra dem hur du vill. Jag konstruerade dock brädet så att alla spåren ligger på bottenlagret så att det är lätt att tillverka på ett PCB -kvarn (om du har tillgång till ett) med en ensidig bräda. Det är också på undersidan så att det är lätt att lödda komponenterna tillsammans.

Om du vill ha kretskortet är det dock bara att köra CAM för att få de nödvändiga gerberfilerna till din favorittillverkare. Jag gillar OSH Park eftersom du bara ger dem styrfilen och de kör de nödvändiga CAM: erna för att få de filer de behöver.

Steg 3: Lödning

Lödning
Lödning
Lödning
Lödning

Så det finns tre sätt att göra denna tavla:

  • Befolkning av ett kretskort
  • Befolkning av en fräst bräda
  • Befolkning av ett protoboard

Att fylla på kretskortet är ganska rakt fram och borde inte ge dig några problem eftersom allt är märkt.

Att fylla i en fräst bräda borde inte heller vara för svårt, eftersom den är modellerad på exakt samma sätt som kretskortet, förutom att du inte har markeringarna, så följ med kartfilen i Eagle för att se till att du lägger saker på rätt plats (särskilt lysdiodernas polaritet).

Slutligen är det mest tankeintensivt att fylla i ett protoboard, men det är inte särskilt svårt. Jag har några bilder på detta steg som visar min protoboardversion och hur jag passar allt. Observera att LM7805, de två 4.7uF -kondensatorerna och skruvterminalerna inte finns på ditt kort. Jag lekte med tanken på att detta skulle kunna drivas externt, men när jag väl började tänka på det bestämde jag mig för att det i slutändan var slöseri med styrelse.

Steg 4: Bootloading

Bootloading
Bootloading

Konfigurera Bootloading Arduino:

Så här kommer du att behöva din andra Arduino. Gå först hit och ladda ner filerna från den här killen. Vid denna tidpunkt är filerna några år gamla, men de fungerar fortfarande bra. När du har laddat ner dem, öppna optiLoader.ino och din Arduino IDE bör uppmana dig att lägga den i en mapp. Gör det och lägg sedan filen optiLoader.h i mappen med.ino. Nu är du redo att ladda upp den skissen till din Arduino som laddas upp. Jag använde en Arduino Uno, så jag vet att det fungerar med det, men jag är säker på att det kommer att fungera med andra brädor också.

När du väl har laddat upp optiLoader.ino till din Arduino är allt klart för att starta många olika Arduino -chips. Jag har bara gjort det med atmega328p, men koden är inställd för att upptäcka mål -MCU och blinka rätt bootloader, vilket är ganska trevligt. Så nu, när du ansluter denna Arduino till Atmega Companion -kortet med ett chip installerat och slår på det, kommer det automatiskt att upptäcka att målet är en atmega328p och blinka lämplig bootloader automatiskt. Ingen återställningshoppning, inga konstiga saker; bara plugga och spela.

Anslutning av startladdaren till följeslagarkortet:

[Bootloader Arduino] [Atmega328p Companion Board]

  • D10 Återställ / stift 1
  • D11 MOSI / stift 17
  • D12 MISO / stift 18
  • D13 SCK / stift 19
  • 5V Vcc / pin 20 eller 21
  • GND Gnd / pin 22

Stiften hänvisar till benen på själva IC: n. Om detta är förvirrande, titta på tavlan bilden från schemat/layout steg som stiften på följeslagare kortet är märkta.

Blinkar startladdaren:

Nu när du har Bootloader Arduino -installationen med optiLoader.ino -skissen och den nu också är ansluten till ditt följeslagarkort, se till att omkopplaren för följeslagare är inställd på "bootload" istället för "ladda upp" och anslut sedan din Arduino till en dator. Du bör se lamporna på både din Arduino och Companion Board blinka ett antal gånger. Efter några sekunder ska båda bli mörka och inte blinka längre. Detta betyder förmodligen att det har lyckats blinka din atmega328p IC med startladdaren. För att se till att allt gick bra, anslut det till din dator och öppna Arduino IDE och sedan den seriella bildskärmen. Ändra överföringshastigheten till 19200. Om den inte startar om automatiskt trycker du på återställningsknappen på din Arduino. Du bör se en massa text som beskriver vad manuset gör. I slutet ska det inte ha några felmeddelanden och bör informera dig om att processen är klar.

Om du får ett fel, kontrollera din switch och se till att du har "bootload". Om du fortfarande får fel vid denna tidpunkt, kontrollera alla dina ledningar och se till att det är korrekt.

Steg 5: Uppladdning

Uppladdning
Uppladdning

Detta är det enkla steget.

Koppla bort alla ledningar från föregående steg och vrid omkopplaren från "bootload" till "upload". Anslut din FTDI -modul. Jag gillar Adafruit CP2104 och SparkFun CH340G främst för att de är relativt billiga och pinout matchar FTDI -stiften som kommer från följeslagartavlan.

När du har anslutit din FTDI till ditt följeslagarkort, fortsätt och anslut den till din dator. Därifrån, ladda upp blinksexempel för att se till att startladdaren blinkade korrekt. Välj Arduino/Genuino Uno från kortens meny. När blinkskissen har laddats upp bör du se blinklampan blinka, som förväntat. Om det fungerar är du redo att ladda upp dina egna anpassade skisser till IC, precis som med alla andra Arduino.

Steg 6: Framtidsarbete

I framtiden planerar jag att göra detta till en Arduino Uno -sköld. Det borde inte ta lång tid att göra det, och om folk vill kan jag ladda upp Eagle -filerna för det här också. Detta skulle förenkla startladdningssteget, eftersom du inte behöver oroa dig för att koppla in det felaktigt. Jag är öppen för andra förbättringsförslag också, men jag misstänker inte att jag kommer att göra mycket mer med detta, eftersom det bara var ett nödvändigt steg för att förbereda mina framtida projekt.

Om du vill se fler av mina framtida projekt, meddela mig så ska jag försöka hålla gemenskapen uppdaterad.

Rekommenderad: