Indholdsfortegnelse:

Selvfremstillet Arduino Board: 8 trin
Selvfremstillet Arduino Board: 8 trin

Video: Selvfremstillet Arduino Board: 8 trin

Video: Selvfremstillet Arduino Board: 8 trin
Video: Talk on Perpetual Calendar Mechanism (with subtitles) 2024, Juli
Anonim
Selvfremstillet Arduino Board
Selvfremstillet Arduino Board

Ved at designe dit eget Arduino-board lærer du om nogle nye komponenter og elektroniske kredsløb, herunder nogle avancerede emner som strømforsyning, timing kredsløb og brugen af ATmega IC (Integrated Circuit).

Det vil hjælpe dig i fremtiden med at oprette dine egne projekter som vejrstation, hjemmeautomatiseringsskærme osv.

Fordelen ved den selvfremstillede Arduino er, at den har et lavt energiforbrug og sikrer, at et projekt kan køre i lang tid på et batteri.

Derudover kan du udvide kortet ved at tilføje digital eller analog portudvidelse eller nogle kommunikationsmoduler.

Forbrugsvarer

Hardwareen

For at bygge en minimalistisk Arduino skal du bruge følgende hardware:

1x ATmega328P-PU mikrokontroller med Arduino bootloader

1x 7805 lineær spændingsregulator (5v output, 35v max input)

1x brødbræt (jeg bruger 830 pin board)

Forskellige forbindelsestråde

1x 16 MHz krystaloscillator

1x 28 -polet stikdåse

1x 1 μF, 25 V elektrolytkondensator

1x 100 μF, 25 V elektrolytkondensator

2x 22 pF, 50 V keramiske kondensatorer

2x 100 nF, 50 V keramiske kondensatorer

2x 330 Ohm modstande (R1 og R2)

1x 10 kOhm modstand (R3)

2x LED'er efter eget valg (LED1 og LED2)

1x trykknap

Valgfri 2x 6-benet header og 3x 8-pin header

1x PP3-type batteri snap

1x 9 V PP3-type batteri

1x FTDI -programmeringsadapter

Trin 1: 7805 Lineær spændingsregulator

7805 Lineær spændingsregulator
7805 Lineær spændingsregulator
7805 Lineær spændingsregulator
7805 Lineær spændingsregulator
7805 Lineær spændingsregulator
7805 Lineær spændingsregulator

En lineær spændingsregulator indeholder et simpelt kredsløb, der konverterer en spænding til en anden. 7805-regulatoren kan konvertere en spænding mellem 7 og 30 volt til en fast 5 volt, med en strøm på op til 1 ampere, hvilket er perfekt til vores Arduino-board.

Vi starter med at oprette strømforsyningskredsløbet, der indeholder en 7805 spændingsregulator i TO-220-form og to kondensatorer med 100 μF hver.

Når du ser på forsiden af 7805 -chippen - stiften til venstre er for indgangsspændingen, forbindes midterstiften til GND, og den højre stift er 5 V -udgangsforbindelsen. Jeg vil anbefale at placere en kølelegeme, for når kredsløbet trækker op til maksimalt 1 amp strøm, vil 7805 -chippen være stille varm (du kan brænde din fingerspids, når du rører den).

Placer en 100 μF kondensator mellem IN i regulatoren og jorden og en 100 μF kondensator på højre skinne mellem strøm og jorden. Du skal være forsigtig - den elektrolytiske kondensator er polariseret (sølvstrimlen på kondensatoren angiver jordbenet) og skal placeres nøjagtigt i henhold til skematikken.

Tilføj strøm- og jordledninger til, hvor din spændingsregulator vil være, forbinder hver skinne i midten og i den højre del af tavlen. På denne måde har vi 5 Volt strømforsyning fra top- og bundskinner på brødbrættet. Derudover vil vi inkludere en rød LED, der lyser, når strømmen er tændt, på denne måde kan vi altid se, når vores board er tændt.

En LED er en diode, og den tillader kun elektrisk strøm at strømme i en retning. Elektricitet skal strømme ind i det lange ben og ud af det korte ben. Lysdiodernes katode har også en let flad side, hvilket svarer til LED's korte, negative ben.

Vores kredsløb har en 5 volt strømforsyning og en rød LED er vurderet til omkring 1,5 - 2 volt. For at reducere spændingen skal vi forbinde modstanden i serie med LED'en, der begrænser mængden af strøm, der strømmer for at forhindre LED -ødelæggelse. Noget af spændingen vil blive brugt op af modstanden, og kun en passende andel af den påføres på tværs af LED'en. Indsæt modstanden mellem det korte ben på LED'en og rækken, der indeholder den sorte ledning på højre side af chippen (GND).

De røde og sorte ledninger til venstre for spændingsregulatoren er, hvor din strømforsyning tilsluttes. Den røde ledning er til STRØMMEN, og den sorte ledning er til jorden (GND).

BEMÆRK: Du kan kun tilslutte en strømforsyning, der er mellem 7-16V. Enhver lavere, og du får ikke 5V ud af din regulator, og spænding højere vil 17 V beskadige din chip. Et 9V batteri, 9V DC strømforsyning eller 12V DC strømforsyning er egnet.

Og for nogle flere forhåndskredsløb kan du placere en spændingsregulator med justerbar spænding. På denne måde kan du tilføje nogle 3,3 V sensorer til kortet eller tænde en 9 V DC motor.

Mere om lineære spændingsregulatorer -

www.instructables.com/id/Introduction-to-Linear-Voltage-Regulators

Trin 2: ATmega328P-PU mikrokontroller

ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller
ATmega328P-PU mikrokontroller

For at bygge en Arduino på brødbrættet har du brug for en ATmega328P-PU mikrokontroller, som er hjernen på vores selvfremstillede Arduino-bræt. Placer det som vist i skemaerne og vær forsigtig - benene kan gå i stykker, hvis du tvinger dem ind, eller du kan bruge 28 -benet IC -fatning. IC skal placeres med en måneformet snit orienteret til venstre for brødbrættet (benene er nummereret fra 1 til 28 mod uret).

BEMÆRK: Ikke alle ATmega IC indeholder Arduino bootloader (softwaren, der gør det muligt at fortolke skitser skrevet til en Arduino). Når du leder efter en mikrokontroller til din selvfremstillede Arduino, skal du sørge for at vælge en, der allerede indeholder bootloaderen.

Her lidt af mikrokontroller teori

En mikrokontroller er en lille computer med en processor, der udfører instruktioner. Det har forskellige typer hukommelse til at gemme data og instruktioner fra vores program (skitse); ATmega328P-PU har tre typer hukommelse: 32 kB ISP (in-system programmering) flashhukommelse, hvor skitser gemmes, 1 kB EEPROM (elektrisk sletbar programmerbar skrivebeskyttet hukommelse) til langtidsdatalagring og 2 kB SRAM (statisk tilfældig adgangshukommelse)) til lagring af variabler, når en skitse kører.

BEMÆRK: Det er vigtigt at vide, at data i flash -hukommelse og EEPROM bevares, når strømmen til mikrokontrolleren fjernes.

Mikrocontrolleren har 13 digitale input/output (GPIO) linjer til generelle formål og seks 10-bit (værdier mellem 0 og 1023) analoge med de digitale konverter (ADC) GPIO-linjer for at konvertere spændingen på en pin til en digital værdi. Der er tre timere med to 8-bit timere med værdier mellem 0 og 255 og en 16-bit timer med værdier mellem 0 og 65535, som bruges af forsinkelsen () -funktionen i en skitse eller ved pulsbreddemodulation (PWM).

Der er fem software-valgbare strømbesparende tilstande, og mikrokontrolleren fungerer mellem 1,8V og 5,5V. Du kan bruge billedet som reference til pinlayoutet på ATmega328P-PU.

Der er tre grupper af porte: PB, PC og PD med henholdsvis 8, 7 og 8 ben plus to jordede (GND) ben, en 5V pin (VCC) med forsyningsspænding (AVCC) og analog referencespænding (AREF)) ben til den analog-til-digitale konverter (ADC).

Trin 3: ATmega328P-PU-forbindelse

ATmega328P-PU-forbindelse
ATmega328P-PU-forbindelse

Efter placering af IC skal du tilslutte stifterne 7, 20 og 21 på ATmega til positivpower -skinnen på brødbrættet og ben 8 og 23 til de negative strømskinner, bruge jumperwires til at forbinde de positive og GND -strømskinner på hver side af bord, som vist på figuren.

Pin 7 - Vcc - Digital forsyningsspænding

Pin 8 - GND

Pin 22 - GND

Pin 21 - AREF - Analog referencestift til ADC

Pin 20 - AVcc - Forsyningsspænding til ADC -konverteren. Skal tilsluttes strøm, hvis ADC ikke bruges som i vores eksempel. Hvis du gerne vil bruge det i fremtiden, skal det drives via et lavpasfilter (for at reducere støj).

Derefter placeres en fjortenvejs header-pin-den ligner Arduino GPIO'erne.

Trin 4: Nulstil -knap

Genstarts knap
Genstarts knap
Genstarts knap
Genstarts knap

Tilføj den lille taktile switch, så du kan nulstille Arduino og forberede chippen til at uploade et nyt program. Et hurtigt tryk på denne kontakt nulstiller chippen.

Vi vil indsætte nulstillingsknappen i vores kredsløb som vist i figuren, når vi trykker på det, vil det elektriske kredsløb blive forkortet til GND ved at omgå en 1kOhm modstand og forbinde ATmega Pin 1 til GND. Tilføj derefter en ledning fra switchens nederste venstre ben til nulstillingstappen på ATmega -chippen og en ledning fra switchens øverste venstre ben til jorden.

Derudover tilføjes en 10 k Ohm pull-up modstand til +5V fra RESET pin for at forhindre chippen i at nulstille sig selv under normal drift. Denne modstand tilsluttes 5 volt strømforsyningen og trækker pin 1 til 5 volt op. Og når du slutter Pin 1 til 0V uden en modstand, genstarter chippen. På genstart-mikrokontrolleren skal du kigge efter et nyt program, der uploades (ved opstart, hvis der ikke sendes noget nyt, kører det det sidste sendte program).

Modstanden har en firefarvet stribe. Læsning af brun = 1, sort = 0, orange = 3 giver os tallet 103. Modstanden i ohm starter '10' med 3 nuller efter - 10.000 ohm eller 10 kilo ohm, og guldstriben er tolerancen (5 %).

For at opgradere vores kredsløb - kan vi placere 'afkobling' kondensator '. Placer en 100 nF (nano Farad) keramisk kondensator. Det er en lille skive med to ledninger med '104 markering', og denne type kondensator er ingen polariseret og kan placeres i enhver retning.

Denne 'afkobling' kondensator udjævner elektriske pigge, så genstartssignalet, der sendes til Pin 1, registreres pålideligt. Cifrene 104 viser dens kapacitans i pico Farad i videnskabelig notation. Den sidste figur '4' fortæller os, hvor mange nuller der skal tilføjes. Kapacitansen starter ‘10’ og fortsætter derefter med yderligere 4 nuller - 100.000 pico Farads, og da 1000 pico Farads er 1 nano Farads, er der 100 nano Farads (104).

Indsæt kondensatoren mellem det øverste venstre ben af chippen (pin 1, mod uret fra halvmåneformen)

Trin 5: Krystaloscillator

Krystaloscillator
Krystaloscillator
Krystaloscillator
Krystaloscillator

Nu laver vi uret til IC. Det er en 16 Mhz kvarts og to keramiske kondensatorer 22pF (piko Farad) hver. Krystaloscillatoren skaber et elektrisk signal med en meget præcis frekvens. I dette tilfælde er frekvensen 16 MHz, hvilket betyder, at mikrokontroller kan udføre 16 millioner processorinstruktioner pr.

Den 16 MHz krystal (figur) gør det muligt for Arduino at beregne tid, og kondensatorerne tjener til at udjævne forsyningsspændingen.

Kvartskrystalbenene er begge ens - du kan ikke føre det baglæns. Tilslut det ene ben af krystallen til pin 9 på ATmega -chippen, og det andet ben til pin 10. Tilslut benene på en af de 22 pF diskkondensatorer til pin 9 og GND, og den anden disk kondensator til pin 10 og GND, som vist i figur.

Bemærk: Disk kondensatorer er upolariserede og kan indsættes på enhver måde.

Det er værd at nævne, at ledningslængderne mellem 22pF kondensatorerne skal være lige lange og bør være så tæt som muligt på controlleren for at undgå interaktioner med andre dele af kredsløbene.

Trin 6: Tilføjelse af LED til pin 13

Tilføjelse af LED til pin 13
Tilføjelse af LED til pin 13
Tilføjelse af LED til pin 13
Tilføjelse af LED til pin 13
Tilføjelse af LED til pin 13
Tilføjelse af LED til pin 13

Nu tilføjer vi den grønne LED (digital pin 13 på Arduino).

Indsæt et lysdioder langt ben til rækken under den røde ledning (på højre side af chippen - strøm eller 5 volt) og det korte ben i den første tomme række under mikrokontrolleren.

Denne 330 Ohm modstand er forbundet i serie med LED'en, hvilket begrænser mængden af strøm, der strømmer for at forhindre ødelæggelse af LED'erne.

Indsæt modstanden mellem det korte ben på LED'en og rækken, der indeholder den sorte ledning på chipens højre side (GND eller 0Volts)

Alle de analoge, digitale og andre stifter, der er tilgængelige på det normale Arduino -bord, er også tilgængelige i vores brødbrætversion. Du kan bruge ATmega -skematisk og pin -tabel som reference.

Trin 7: USB til serielt stik

USB til serielt stik
USB til serielt stik
USB til serielt stik
USB til serielt stik
USB til serielt stik
USB til serielt stik
USB til serielt stik
USB til serielt stik

ATmega 328P-PU mikrokontrolleren har tre kommunikationstilstande: en seriel programmerbar USART (universal synkron og asynkron modtager-sender), en SPI (Serial Peripheral Interface) seriel port og et to-leder serielt interface. USART tager bytes med data og sender de enkelte bits sekventielt, hvilket kræver kommunikationslinjer til transmission (TX) og modtagelse (RX). SPI bruger fire kommunikationslinjer: master-out slave-in (MOSI), master-in slave-out (MISO) og serielt ur (SCK) med en separat slave select (SS) linje for hver enhed. I2C -kommunikationen Two Wire Interface (TWI) bus bruger to signallinjer: serielle data (SDA) og serielt ur (SCL).

For at forbinde vores kort til pc'en med Arduino IDE til download af en skitse, vil vi bruge en USB til seriel UART -grænseflade, såsom FT232R FTDI.

Når du køber et FTDI -kabel, skal du sørge for, at det er 5 V -modellen, fordi 3,3 V -modellen ikke fungerer korrekt. Dette kabel (vist i figur) har et USB -stik i den ene ende og en stikkontakt med seks ledninger i den anden.

Når du tilslutter kablet, skal du sørge for, at siden af stikkontakten med den sorte ledning tilsluttes GND -stiften på brødbrættets hovedstifter. Når kablet er tilsluttet, leverer det også strøm til kredsløbet, ligesom et normalt Arduino -kort ville gøre.

Derefter forbinder vi vores FTDI med vores selvfremstillede Arduino-bord; til reference kan du bruge tabellen og skematikken.

En 0,1 μF elektrolytkondensator er tilsluttet mellem DTR (Data Terminal Ready) -stiften på USB til seriel UART -interface og mikrokontroller Reset, som nulstiller mikrokontrolleren til at synkronisere med USB til det serielle interface.

BEMÆRK: En smart del er, at mikrokontroller RX -pin skal tilsluttes TX'en på USB'en til den serielle adapter og det samme med TX fra den ene enhed til RX på den anden.

CTS -pin (Clear to Send) på USB'en til den serielle UART -grænseflade er ikke forbundet til mikrokontrolleren.

For at downloade en skitse til mikrokontrolleren i Arduino IDE fra menuen Værktøjer ➤ Port, vælg den relevante kommunikationsport (COM), og vælg Arduino/Genuino Uno i menuen Værktøjer ➤ Board. Skitsen er samlet i Arduino IDE og derefter indlæst til mikrokontrolleren med USB til den serielle UART -grænseflade. Når skitsen er downloadet, flimrer de grønne og røde lysdioder på USB-til-serielt UART-interface TXD og RXD.

USB til seriel UART -interface kan fjernes og en 5V strømforsyning tilsluttes mikrokontrolleren. En LED og 220 kΩ modstand er forbundet til mikrokontrollerpinden 19, svarende til Arduino -pin 13, for at køre blinkskitsen.

Trin 8: Upload af skitse eller installation af bootloader

Upload af skitse eller installation af bootloader
Upload af skitse eller installation af bootloader
Upload af skitse eller installation af bootloader
Upload af skitse eller installation af bootloader

Hvis du ikke har en USB til seriel konverter-kan du bruge en anden Arduino (i mit tilfælde Arduino UNO) til at uploade en skitse eller bootloader til det selvfremstillede bord.

ATmega238P-PU mikrokontrollerne kræver en bootloader til upload og kørsel af skitser fra Arduino IDE; når der tilføres strøm til mikrokontrolleren, bestemmer bootloaderen, om en ny skitse uploades, og indlæser derefter skitsen i mikrokontrollerens hukommelse. Hvis du har ATmega328P-PU uden en bootloader, kan du uploade bootloaderen ved hjælp af SPI-kommunikation mellem to kort.

Sådan uploader du en bootloader til ATmega IC.

Lad os først starte med at konfigurere vores Arduino UNO som internetudbyder, dette gøres fordi du vil have Arduino UNO til at uploade skitsen til ATmega IC og ikke sig selv.

Trin 1: Konfiguration af vores Arduino UNO som internetudbyder

Tilslut ikke ATmega IC, mens nedenstående upload kører.

  • Slut arduino til en pc
  • Åbn arduino IDE
  • Vælg det relevante kort (Værktøjer> Kort> Arduino UNO) og COM -port (Værktøjer> Port> COM?)
  • Åbn> Eksempler> ArduinoISP
  • Upload skitse

Derefter kan du forbinde dit eget bord til Arduino UNO ved at følge kredsløbet som vist på skematisk. På dette tidspunkt er det ikke nødvendigt at forsyne dit eget bord, da Arduino ville levere den nødvendige strøm.

Trin 2: Upload af en skitse eller bootloader

Med alt tilsluttet åbner IDE fra den mappe, du lige har oprettet (kopien).

  • Vælg Arduino328 fra Værktøjer> Board
  • Vælg Arduino som internetudbyder fra Værktøjer> Programmerer
  • Vælg Burn Bootloader

Efter en vellykket forbrænding ville du få en "Udført brændende bootloader".

Bootloaderen indlæses nu på mikrokontrolleren, som er klar til at modtage en skitse efter ændring af COM -porten i menuen Værktøjer ➤ Port.

Anbefalede: