Innholdsfortegnelse:

Selvlaget Arduino Board: 8 trinn
Selvlaget Arduino Board: 8 trinn

Video: Selvlaget Arduino Board: 8 trinn

Video: Selvlaget Arduino Board: 8 trinn
Video: Cómo hacer incubadora casera con termostato ZFX W1012 2024, Juli
Anonim
Selvlaget Arduino Board
Selvlaget Arduino Board

Ved å designe ditt eget Arduino-kort vil du lære om noen nye komponenter og elektroniske kretser, inkludert noen avanserte emner som strømforsyning, tidskrets og bruk av ATmega IC (Integrated Circuit).

Det vil hjelpe deg i fremtiden med å lage dine egne prosjekter som værstasjon, hjemmeautomatiseringsskjerm etc.

Fordelen med den selvlagde Arduino er at den har et lavt energiforbruk og sikrer at et prosjekt kan kjøre lenge på et batteri.

I tillegg kan du utvide kortet ved å legge til digital eller analog portutvidelse eller noen kommunikasjonsmoduler.

Rekvisita

Maskinvaren

For å bygge en minimalistisk Arduino trenger du følgende maskinvare:

1x ATmega328P-PU mikrokontroller med Arduino bootloader

1x 7805 lineær spenningsregulator (5v utgang, 35v maks inngang)

1x brødbrett (jeg bruker 830 pins brett)

Ulike tilkoblingsledninger

1x 16 MHz krystalloscillator

1 x 28 -pins IC -kontakt

1x 1 μF, 25 V elektrolytisk kondensator

1x 100 μF, 25 V elektrolytisk kondensator

2x 22 pF, 50 V keramiske kondensatorer

2x 100 nF, 50 V keramiske kondensatorer

2x 330 Ohm motstander (R1 og R2)

1x 10 kOhm motstand (R3)

2x LED etter eget valg (LED1 og LED2)

1x trykknapp

Valgfri 2x 6-pins header og 3x 8-pins header

1x batteripakke av PP3-type

1x 9 V batteri av typen PP3

1x FTDI programmeringsadapter

Trinn 1: 7805 Lineær spenningsregulator

7805 lineær spenningsregulator
7805 lineær spenningsregulator
7805 lineær spenningsregulator
7805 lineær spenningsregulator
7805 lineær spenningsregulator
7805 lineær spenningsregulator

En lineær spenningsregulator inneholder en enkel krets som konverterer en spenning til en annen. 7805-regulatoren kan konvertere en spenning mellom 7 og 30 volt til en fast 5 volt, med en strøm på opptil 1 ampere, noe som er perfekt for vårt Arduino-kort.

Vi starter med å lage strømforsyningskretsen som inneholder en 7805 spenningsregulator i TO-220-form og to kondensatorer med 100 μF hver.

Når du ser på forsiden av 7805 -brikken - pinnen til venstre er for inngangsspenningen, kobles senterpinnen til GND og den høyre pinnen er 5 V -utgangstilkoblingen. Jeg vil anbefale å plassere en varmeavleder, for når kretsen trekker opp til maksimalt 1 amp strøm vil 7805 -brikken være stille varm (du kan brenne fingertuppen når du berører den).

Plasser en 100 μF kondensator mellom IN i regulatoren og bakken og en 100 μF kondensator på høyre skinne mellom strøm og bakken. Du må være forsiktig - den elektrolytiske kondensatoren er polarisert (sølvlisten på kondensatoren betyr bakken) og må plasseres nøyaktig i henhold til skjemaet.

Legg til strøm- og jordledninger for hvor spenningsregulatoren vil være, og koble hver skinne i midten og til høyre på brettet. På denne måten har vi 5 Volt strømforsyning fra topp- og bunnskinnene på brødbrettet. I tillegg vil vi inkludere en rød LED som lyser når strømmen er på. På denne måten kan vi alltid se når brettet er slått på.

En LED er en diode, og den lar bare elektrisk strøm flyte i en retning. Elektrisitet skal strømme inn i det lange benet og ut av det korte benet. LED -katoden har også en litt flat side, som tilsvarer den korte, negative etappen på LED -en.

Kretsen vår har en 5 volt strømforsyning og en rød LED er vurdert rundt 1,5 - 2 volt. For å redusere spenningen må vi koble motstanden i serie med LED -en som begrenser mengden strøm som strømmer for å forhindre ødeleggelse av LED. Noe av spenningen vil bli brukt opp av motstanden, og bare en passende andel av den påføres over lysdioden. Sett inn motstanden mellom det korte benet på LED -en og raden som inneholder den svarte ledningen på høyre side av brikken (GND).

De røde og svarte ledningene til venstre for spenningsregulatoren er der strømforsyningen blir plugget inn. Den røde ledningen er for STRØM og den svarte ledningen er for bakken (GND).

MERK: Du kan bare koble til en strømforsyning som er mellom 7-16V. Enhver lavere, og du får ikke 5V ut av regulatoren din, og spenningen høyere vil 17 V skade brikken din. Et 9V batteri, 9V DC strømforsyning eller 12V DC strømforsyning er egnet.

Og for noen flere forhåndskretser kan du plassere en spenningsregulator med justerbar spenning. På denne måten kan du legge til noen 3,3 V -sensorer på kortet eller slå på en 9 V DC -motor.

Mer om lineære spenningsregulatorer -

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

Trinn 2: ATmega328P-PU mikrokontroller

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

For å bygge en Arduino på brødbrettet trenger du en ATmega328P-PU mikrokontroller som er hjernen til vårt selvlagde Arduino-brett. Plasser den som vist i diagrammet og vær forsiktig - bena kan gå i stykker hvis du tvinger dem inn, eller du kan bruke 28 -pinners IC -kontakt. IC skal plasseres med en måneformet snitt orientert til venstre for brødbrettet (pinner er nummerert fra 1 til 28 mot klokken).

MERK: Ikke alle ATmega IC inneholder Arduino bootloader (programvaren som lar den tolke skisser skrevet for en Arduino). Når du leter etter en mikrokontroller for din egenproduserte Arduino, må du velge en som allerede inneholder bootloader.

Her litt mikrokontroller -teori

En mikrokontroller er en liten datamaskin med en prosessor som utfører instruksjoner. Den har forskjellige typer minne for å lagre data og instruksjoner fra programmet vårt (skisse); ATmega328P-PU har tre typer minne: 32 kB ISP (in-system programmering) flashminne der skisser lagres, 1 kB EEPROM (elektrisk slettbart programmerbart skrivebeskyttet minne) for langsiktig datalagring og 2 kB SRAM (statisk tilfeldig tilgangsminne)) for lagring av variabler når en skisse kjører.

MERK: Det er viktig å vite at data i flash -minne og EEPROM beholdes når strømmen til mikrokontrolleren fjernes.

Mikrokontrolleren har 13 digitale inngang/utgang (GPIO) linjer for generelle formål og seks 10-biters (verdier mellom 0 og 1023) analoge til de digitale omformer (ADC) GPIO-linjene for å konvertere spenningen på en pinne til en digital verdi. Det er tre tidtakere med to 8-bit timere med verdier mellom 0 og 255, og en 16-biters timer med verdier mellom 0 og 65535, som brukes av forsinkelsen () -funksjonen i en skisse eller ved pulsbreddemodulering (PWM).

Det er fem strømsparingsmoduser som kan velges av programvare, og mikrokontrolleren opererer mellom 1,8V og 5,5V. Du kan bruke bildet som en referanse for pin-layouten til ATmega328P-PU.

Det er tre grupper av porter: PB, PC og PD med henholdsvis 8, 7 og 8 pinner, pluss to jordede (GND) pinner, en 5V pinne (VCC) med forsyningsspenning (AVCC) og analog referansespenning (AREF)) pins for analog-til-digital-omformeren (ADC).

Trinn 3: ATmega328P-PU-sammenkobling

ATmega328P-PU-sammenkobling
ATmega328P-PU-sammenkobling

Etter å ha plassert IC, koble pinnene 7, 20 og 21 på ATmega til positivpower -skinnen på brødbrettet, og pinnene 8 og 23 til de negative strømskinnene, bruk jumperkabler for å koble de positive og GND -skinnene på hver side av bord, som vist på figuren.

Pin 7 - Vcc - Digital forsyningsspenning

Pin 8 - GND

Pin 22 - GND

Pin 21 - AREF - Analog referansepinne for ADC

Pin 20 - AVcc - Forsyningsspenning for ADC -omformeren. Må kobles til strøm hvis ADC ikke brukes som i vårt eksempel. Hvis du vil bruke det i fremtiden, må det drives via et lavpassfilter (for å redusere støy).

Etter det plasserer du en fjortenveis header-pin-den vil være lik Arduino GPIO-ene.

Trinn 4: Tilbakestill -knapp

Nullstillknapp
Nullstillknapp
Nullstillknapp
Nullstillknapp

Legg til den lille taktile bryteren slik at du kan tilbakestille Arduino og forberede brikken for å laste opp et nytt program. Et raskt trykk på denne bryteren vil tilbakestille brikken.

Vi setter inn tilbakestillingsknappen i kretsen vår som vist på figuren. Når vi trykker på den vil den elektriske kretsen bli forkortet til GND ved å omgå en 1kOhm motstand og koble ATmega Pin 1 til GND. Deretter legger du til en ledning fra det nedre venstre benet på bryteren til RESET -pinnen på ATmega -brikken og en ledning fra det øverste venstre benet på bryteren til bakken.

I tillegg legger du til en 10 k Ohm opptrekkmotstand til +5V fra RESET-pinnen for å forhindre at brikken tilbakestiller seg selv under normal drift. Denne motstanden vil bli koblet til 5 volt strømforsyning, "trekke opp" pin 1 til 5 volt. Og når du kobler Pin 1 til 0V uten motstand, vil brikken starte på nytt. På omstart-mikrokontrolleren ser du etter et nytt program som lastes opp (ved oppstart hvis det ikke sendes noe nytt, kjører det siste programmet som ble sendt).

Motstanden har en firefarget stripe. Å lese brun = 1, svart = 0, oransje = 3 gir oss tallet 103. Motstanden i ohm starter '10' med 3 nuller etter - 10.000 ohm eller 10 kilo ohm, og gullstripen er toleransen (5 %).

For å oppgradere kretsen vår - kan vi plassere 'frakobling' kondensator '. Plasser en 100 nF (nano Farad) keramisk kondensator. Det er en liten plate med to ledninger med '104 markering', og denne typen kondensatorer er ingen polariserte og kan plasseres i hvilken som helst retning.

Denne "frakobling" -kondensatoren utjevner elektriske pigger, slik at omstartsignalet som sendes til pin 1, blir detektert pålitelig. Sifrene 104 viser sin kapasitans i pico Farad i vitenskapelig notasjon. Den siste figuren '4' forteller oss hvor mange nuller vi skal legge til. Kapasitansen starter ‘10’ og fortsetter deretter med ytterligere 4 nuller - 100 000 pico Farads, og siden 1000 pico Farads er 1 nano Farads, er det 100 nano Farads (104).

Sett kondensatoren mellom det øverste venstre benet på brikken (pin 1, mot klokken fra halvmåneformen)

Trinn 5: Krystalloscillator

Krystalloscillator
Krystalloscillator
Krystalloscillator
Krystalloscillator

Nå skal vi lage klokken til IC. Det er en 16 Mhz kvarts og to keramiske kondensatorer 22pF (piko Farad) hver. Krystalloscillatoren skaper et elektrisk signal med en meget nøyaktig frekvens. I dette tilfellet er frekvensen 16 MHz, noe som betyr at mikrokontrolleren kan utføre 16 millioner prosessorinstruksjoner per sekund.

16 MHz krystallet (figur) lar Arduino beregne tid, og kondensatorene tjener til å jevne forsyningsspenningen.

Kvarts krystallbena er begge like - du kan ikke koble den bakover. Koble det ene benet av krystallet til pinne 9 på ATmega -brikken, og det andre benet til pinne 10. Koble bena til en av de 22 pF -platekondensatorene til pinne 9 og GND, og den andre platenes kondensator til pinne 10 og GND, som vist i figur.

Merk: Skivekondensatorer er upolariserte og kan settes inn på hvilken som helst måte.

Det er verdt å nevne at ledningslengdene mellom 22pF kondensatorene må være like lange og bør være så nær kontrolleren som mulig for å unngå interaksjon med andre deler av kretsene.

Trinn 6: Legge til LED til pin 13

Legger til LED til pin 13
Legger til LED til pin 13
Legger til LED til pin 13
Legger til LED til pin 13
Legger til LED til Pin 13
Legger til LED til Pin 13

Nå vil vi legge til den grønne LED -en (digital pin 13 på Arduino).

Sett inn et langt LED -ben til raden under den røde ledningen (på høyre side av brikken - strøm, eller 5 volt) og det korte benet i den første tomme raden under mikrokontrolleren.

Denne 330 Ohm motstanden er koblet i serie med lysdioden, og begrenser mengden strøm som strømmer for å forhindre ødeleggelse av lysdiodene.

Sett inn motstanden mellom det korte benet på LED -en og raden som inneholder den svarte ledningen på høyre side av brikken (GND eller 0Volts)

Alle de analoge, digitale og andre pinnene som er tilgjengelige på det vanlige Arduino -brettet, er også tilgjengelige i vår breadboard -versjon. Du kan bruke ATmega -skjematisk og pin -tabell som referanse.

Trinn 7: USB til seriell kontakt

USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt
USB til seriell kontakt

ATmega 328P-PU mikrokontroller har tre kommunikasjonsmoduser: en seriell programmerbar USART (universell synkron og asynkron mottaker-sender), en SPI (Serial Peripheral Interface) seriell port og et to-leders serielt grensesnitt. USART tar byte med data og overfører de enkelte bitene sekvensielt, noe som krever overførings (TX) og mottak (RX) kommunikasjonslinjer. SPI bruker fire kommunikasjonslinjer: master-out slave-in (MOSI), master-in slave-out (MISO) og seriell klokke (SCK) med en separat slave select (SS) linje for hver enhet. I2C -kommunikasjonen Two Wire Interface (TWI) -bussen bruker to signallinjer: serielle data (SDA) og seriell klokke (SCL).

For å koble vårt kort til PCen med Arduino IDE for nedlasting av en skisse, bruker vi et USB til serielt UART -grensesnitt, for eksempel FT232R FTDI.

Når du kjøper en FTDI -kabel, må du kontrollere at den er 5 V -modellen, fordi 3,3 V -modellen ikke fungerer som den skal. Denne kabelen (vist på figur) har en USB -kontakt i den ene enden og en kontakt med seks ledninger i den andre.

Når du kobler til kabelen, må du kontrollere at siden av kontakten med den svarte ledningen kobles til GND -pinnen på brødbrettets toppnål. Når kabelen er koblet til, leverer den også strøm til kretsen, akkurat som et vanlig Arduino -kort ville gjort.

Deretter kobler vi vår FTDI med vårt selvlagde Arduino-bord; som referanse kan du bruke tabellen og skjemaet.

En 0,1 μF elektrolytisk kondensator er koblet mellom DTR (Data Terminal Ready) -pinnen på USB til serielt UART -grensesnitt og mikrokontroller Reset, som tilbakestiller mikrokontrolleren til å synkronisere med USB til det serielle grensesnittet.

MERK: En smart del er at mikrokontroller RX -pinne må være koblet til TX på USB til seriell adapter og det samme med TX fra en enhet til RX på den andre.

CTS -knappen (Clear to Send) på USB -en til det serielle UART -grensesnittet er ikke koblet til mikrokontrolleren.

For å laste ned en skisse til mikrokontrolleren i Arduino IDE fra Verktøy ➤ Port -menyen, velg den relevante kommunikasjonsporten (COM) og fra Verktøy ➤ Board -menyen velg Arduino/Genuino Uno. Skissen er samlet i Arduino IDE og deretter lastet til mikrokontrolleren med USB til det serielle UART -grensesnittet. Når skissen er lastet ned, flimrer de grønne og røde lysdiodene til USB-til-serielt UART-grensesnitt TXD og RXD.

USB til serielt UART -grensesnitt kan fjernes og en 5V strømforsyning kobles til mikrokontrolleren. En LED og 220 kΩ motstand er koblet til mikrokontrolleren 19, tilsvarende Arduino pin 13, for å kjøre blinkskissen.

Trinn 8: Last opp skisse eller installer oppstartslaster

Last opp Sketch eller installer Bootloader
Last opp Sketch eller installer Bootloader
Last opp skisse eller installer oppstartslaster
Last opp skisse eller installer oppstartslaster

Hvis du ikke har en USB til seriell omformer-kan du bruke en annen Arduino (i mitt tilfelle Arduino UNO) for å laste opp en skisse eller oppstartslaster til det selvlagde brettet.

ATmega238P-PU mikrokontrollerne krever en bootloader for opplasting og kjøring av skisser fra Arduino IDE; når strøm tilføres mikrokontrolleren, bestemmer oppstartslasteren om en ny skisse blir lastet opp, og laster deretter skissen inn i mikrokontrollerminnet. Hvis du har ATmega328P-PU uten en bootloader, kan du laste opp bootloader ved hjelp av SPI-kommunikasjon mellom to kort.

Slik laster du opp en bootloader til ATmega IC.

La oss først begynne med å konfigurere vår Arduino UNO som ISP, dette er gjort fordi du vil at Arduino UNO skal laste opp skissen til ATmega IC og ikke seg selv.

Trinn 1: Konfigurering av vår Arduino UNO som Internett -leverandør

Ikke koble til ATmega IC mens opplastingen nedenfor kjører.

  • Koble arduinoen til en PC
  • Åpne arduino IDE
  • Velg riktig kort (Verktøy> Brett> Arduino UNO) og COM -port (Verktøy> Port> COM?)
  • Åpne> Eksempler> ArduinoISP
  • Last opp skisse

Etter det kan du koble ditt eget bord til Arduino UNO ved å følge kretsen som vist på skjematisk. På dette stadiet er det ikke nødvendig å forsyne ditt eget bord, siden Arduino ville gi den nødvendige strømmen.

Trinn 2: Last opp en skisse eller oppstartslaster

Med alt tilkoblet åpner du IDE fra mappen du nettopp opprettet (kopien).

  • Velg Arduino328 fra Verktøy> Brett
  • Velg Arduino som ISP fra Verktøy> Programmerer
  • Velg Burn Bootloader

Etter en vellykket brenning vil du få en "Ferdig brennende oppstartslaster".

Oppstartslasteren er nå lastet inn på mikrokontrolleren, som er klar til å motta en skisse etter endring av COM -porten i Verktøy ➤ Port -menyen.

Anbefalt: