Arduino ATMEGA328 SMD Breadboard Gebruikershandleiding

Overview

De Arduino Uno is een microcontrollerbord gebaseerd op de ATmega328 (datasheet). Het heeft 14 digitale input/output-pinnen (waarvan er 6 gebruikt kunnen worden als PWM-outputs), 6 analoge inputs, een 16 MHz kristaloscillator, een USB-aansluiting, een power jack, een ICSP-header en een resetknop. Het bevat alles wat nodig is om de microcontroller te ondersteunen; Sluit hem eenvoudig aan op een computer met een USB-kabel of voed hem op met een AC-naar-DC-adapter of batterij om aan de slag te gaan. De Uno verschilt van alle voorgaande borden doordat hij geen gebruik maakt van de FTDI USB-naar-serieel driverchip. In plaats daarvan is de Atmega8U2 geprogrammeerd als een USB-naar-serieel-converter. “Uno” betekent één in het Italiaans en is genoemd naar de aankomende release van Arduino 1.0. De Uno en versie 1.0 zullen in de toekomst de referentieversies van Arduino zijn. De Uno is de nieuwste in een serie USB Arduino-kaarten en het referentiemodel voor het Arduino-platform; voor een vergelijking met eerdere versies, zie de index van Arduino-borden.
Samenvatting
- Microcontroller ATmega328
- Bedrijfsvolumetagen 5V
- Ingangsvolumetage (aanbevolen) 7-12V
- Ingangsvolumetage (limieten) 6-20V
- Digitale I/O-pinnen 14 (waarvan 6 voor PWM-uitvoer)
- Analoge ingangspinnen 6
- Gelijkstroom per I/O-pin 40 mA
- Gelijkstroom voor 3.3V Pin 50 mA
- Flash-geheugen 32 KB (ATmega328) waarvan 0.5 KB wordt gebruikt door de bootloader
- SRAM 2 KB (ATmega328)
- EEPROM 1 KB (ATmega328)
- Kloksnelheid 16 MHz
Schematisch en referentieontwerp
ADELAAR files: Arduino-uno-reference-design.zip
Schematisch: arduino-uno-schematic.pdf
Stroom
De Arduino Uno kan worden gevoed via een USB-aansluiting of met een externe voeding. Het vermogen van de bron wordt automatisch geselecteerd. Externe (niet-USB) voeding kan afkomstig zijn van een AC-naar-DC-adapter (muurwrat) of een batterij. De adapter kan worden aangesloten door een 2.1 mm centrale positieve stekker in de voedingsaansluiting van het bord te steken. Kabels van een batterij kunnen in de Gnd- en Vin-pinheaders van de POWER-connector worden gestoken. Het bord kan werken op een externe voeding van 6 tot 20 volt. Als er echter minder dan 7 V wordt geleverd, kan de 5 V-pin minder dan vijf volt leveren en kan het bord instabiel zijn. Als u meer dan 12 V gebruikt, wordt de voltagDe regelaar kan oververhit raken en het bord beschadigen. Het aanbevolen bereik is 7 tot 12 volt.
De stroompinnen zijn als volgt:
- VIN. De invoer voltage naar het Arduino-bord als het een externe stroombron gebruikt (in tegenstelling tot 5 volt van de USB-aansluiting of een andere gereguleerde stroombron). U kunt voltage via deze pin, of, bij levering van voltage via de stroomaansluiting, toegang via deze pin.
- 5V. De gereguleerde voeding wordt gebruikt om de microcontroller en andere componenten op het bord van stroom te voorzien. Dit kan afkomstig zijn van VIN via een ingebouwde regelaar, of worden geleverd via USB of een andere gereguleerde 5V-voeding.
- 3V3. Een voeding van 3.3 volt wordt gegenereerd door de ingebouwde regelaar. Het maximale stroomverbruik is 50 mA.
- GND. Aardpennen.
Geheugen
De ATmega328 heeft 32 KB (waarvan 0.5 KB wordt gebruikt voor de bootloader). Het heeft ook 2 KB SRAM en 1 KB EEPROM (die kan worden gelezen en geschreven met de EEPROM-bibliotheek).
Invoer en uitvoer
Elk van de 14 digitale pinnen op de Uno kan worden gebruikt als invoer of uitvoer, met behulp van de functies pinMode(), digitalWrite() en digitalRead(). Ze werken op 5 volt. Elke pin kan maximaal 40 mA leveren of ontvangen en heeft een interne pull-up-weerstand (standaard uitgeschakeld) van 20-50 kOhm. Bovendien hebben sommige pinnen dat wel
gespecialiseerde functies:
- Serieel: 0 (RX) en 1 (TX). Wordt gebruikt voor het ontvangen (RX) en verzenden (TX) van TTL-seriële gegevens. Deze pinnen zijn verbonden met de overeenkomstige pinnen van de ATmega8U2 USB-naar-TTL seriële chip.
- Externe interrupts: 2 en 3. Deze pinnen kunnen worden geconfigureerd om een interrupt te activeren bij een lage waarde, een stijgende of dalende flank of een verandering in waarde. Zie de functie AttachInterrupt() voor meer informatie.
- PWM: 3, 5, 6, 9, 10 en 11. Zorg voor 8-bit PWM-uitvoer met de analogWrite()-functie.
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Deze pinnen ondersteunen SPI-communicatie met behulp van de SPI-bibliotheek.
- LED: 13. Er is een ingebouwde LED aangesloten op digitale pin 13. Wanneer de pin een HOGE waarde heeft, brandt de LED, wanneer de pin LAAG is, is deze uit.
De Uno heeft 6 analoge ingangen, gelabeld A0 tot en met A5, die elk 10 bits resolutie bieden (dwz 1024 verschillende waarden). Standaard meten ze van aarde tot 5 volt, maar is het mogelijk om de bovenkant van hun bereik te wijzigen met behulp van de AREF-pin en de analogReference()-functie? Bovendien hebben sommige pinnen gespecialiseerde functionaliteit:
- I2C: 4 (SDA) en 5 (SCL). Ondersteun I2C (TWI)-communicatie met behulp van de Wire-bibliotheek. Er staan nog een paar andere pinnen op het bord:
- AREF. Referentie voltage voor de analoge ingangen. Gebruikt met analogReference().
- Opnieuw instellen. Breng deze lijn LAAG om de microcontroller te resetten. Meestal gebruikt om een resetknop toe te voegen aan schilden die die op het bord blokkeren.
- Zie ook de mapping tussen Arduino-pinnen en ATmega328-poorten?.
Mededeling
De Arduino UNO beschikt over een aantal mogelijkheden om te communiceren met een computer, een andere Arduino of andere microcontrollers. De ATmega328 biedt UART TTL (5V) seriële communicatie, die beschikbaar is op digitale pinnen 0 (RX) en 1 (TX). Een ATmega8U2 op het bord kanaliseert deze seriële communicatie via USB en verschijnt als een virtuele com-poort voor software op de computer. De '8U2-firmware gebruikt de standaard USB COM-stuurprogramma's en er is geen extern stuurprogramma nodig. Op Windows kan echter een .inf file Is benodigd. De Arduino-software bevat een seriële monitor waarmee eenvoudige tekstuele gegevens van en naar het Arduino-bord kunnen worden verzonden. De RX- en TX-LED's op het bord knipperen wanneer gegevens worden verzonden via de USB-naar-serieel-chip en USB-verbinding met de computer (maar niet voor seriële communicatie op pin 0 en 1). Een SoftwareSerial-bibliotheek maakt seriële communicatie mogelijk op alle digitale pinnen van Uno. De ATmega328 ondersteunt ook I2C (TWI) en SPI-communicatie. De Arduino-software bevat een Wire-bibliotheek om het gebruik van de I2C-bus te vereenvoudigen; zie de documentatie voor details. Gebruik voor SPI-communicatie de SPI-bibliotheek.
Programmeren
De Arduino Uno kan worden geprogrammeerd met de Arduino-software (download). Selecteer “Arduino Uno in het menu Extra > Bord (afhankelijk van de microcontroller op uw bord). Zie de referentie en zelfstudies voor meer informatie. De ATmega328 op de Arduino Uno wordt voorgebrand geleverd met een bootloader waarmee je er nieuwe code naartoe kunt uploaden zonder het gebruik van een externe hardwareprogrammeur. Het communiceert via het originele STK500-protocol (referentie, C-header fileS). U kunt ook de bootloader omzeilen en de microcontroller programmeren via de ICSP-header (In-Circuit Serial Programming); zie deze instructies voor details. De ATmega8U2-firmwarebroncode is beschikbaar. De ATmega8U2 is geladen met een DFU-bootloader, die kan worden geactiveerd door de soldeerjumper aan de achterkant van het bord (bij de kaart van Italië) aan te sluiten en vervolgens de 8U2 te resetten. U kunt vervolgens de FLIP-software van Atmel (Windows) of de DFU-programmeur (Mac OS X en Linux) gebruiken om nieuwe firmware te laden. Of u kunt de ISP-header gebruiken met een externe programmeur (de DFU-bootloader overschrijven). Zie deze door de gebruiker bijgedragen zelfstudie voor meer informatie.
Automatische (software) reset
In plaats van een fysieke druk op de resetknop te vereisen vóór het uploaden, is de Arduino Uno zo ontworpen dat hij kan worden gereset door software die op een aangesloten computer draait. Een van de hardware flow control-lijnen (DTR) van de ATmega8U2 is via een condensator van 328 nanofarad verbonden met de resetlijn van de ATmega100. Wanneer deze lijn wordt bevestigd (laag genomen), daalt de resetlijn lang genoeg om de chip te resetten. De Arduino-software maakt gebruik van deze mogelijkheid om code te uploaden door simpelweg op de uploadknop in de Arduino-omgeving te drukken. Dit betekent dat de bootloader een kortere time-out kan hebben, omdat het verlagen van de DTR goed kan worden gecoördineerd met het starten van het uploaden.
Deze opstelling heeft andere implicaties. Wanneer de Uno is aangesloten op een computer met Mac OS X of Linux, wordt deze elke keer gereset wanneer er vanuit software (via USB) verbinding mee wordt gemaakt. Ongeveer een halve seconde lang draait de bootloader op de Uno. Hoewel het is geprogrammeerd om verkeerd opgestelde gegevens te negeren (dat wil zeggen alles behalve het uploaden van nieuwe code), onderschept het de eerste paar bytes aan gegevens die naar het bord worden verzonden nadat een verbinding is geopend. Als een schets die op het bord draait, eenmalige configuratie- of andere gegevens ontvangt wanneer deze voor het eerst wordt gestart, zorg er dan voor dat de software waarmee deze communiceert een seconde wacht na het openen van de verbinding en voordat deze gegevens worden verzonden. De Uno bevat een spoor dat kan worden doorgesneden om de automatische reset uit te schakelen. De pads aan weerszijden van het spoor kunnen aan elkaar worden gesoldeerd om het opnieuw in te schakelen. Het heeft het label "RESET-EN". Mogelijk kunt u de automatische reset ook uitschakelen door een weerstand van 110 ohm van 5V op de resetlijn aan te sluiten; zie deze forumthread voor meer informatie.
USB-overstroombeveiliging
De Arduino Uno heeft een resetbare poly-zekering die de USB-poorten van uw computer beschermt tegen kortsluiting en overstroom. Hoewel de meeste computers hun eigen interne bescherming bieden, biedt de zekering een extra beschermingslaag. Als er meer dan 500 mA op de USB-poort wordt toegepast, verbreekt de zekering automatisch de verbinding totdat de kortsluiting of overbelasting is verholpen.
Fysieke kenmerken
De maximale lengte en breedte van de Uno-PCB zijn respectievelijk 2.7 en 2.1 inch, waarbij de USB-connector en de voedingsaansluiting verder reiken dan de vorige afmeting. Dankzij vier schroefgaten kan het bord aan een oppervlak of behuizing worden bevestigd. Merk op dat de afstand tussen digitale pinnen 7 en 8 160 mil (0.16″) is, en niet een even veelvoud van de afstand van 100 mil van de andere pinnen.
Arduino UNO-referentieontwerp
Referentieontwerpen WORDEN GELEVERD “AS IS” EN “MET ALLE FOUTEN”. Arduino WIJST ALLE ANDERE GARANTIES AF, EXPLICIET OF IMPLICIET. Arduino kan op elk moment en zonder voorafgaande kennisgeving wijzigingen aanbrengen in de specificaties en productbeschrijvingen. De Klant mag PRODUCTEN, INCLUSIEF MAAR NIET BEPERKT TOT, ENIGE IMPLICIETE GARANTIES VAN VERKOOPBAARHEID OF GESCHIKTHEID VOOR EEN BEPAALD DOEL, niet vertrouwen op de afwezigheid of kenmerken van functies of instructies die zijn gemarkeerd als ‘gereserveerd’ of ‘ongedefinieerd’. Arduino behoudt deze voor toekomstige definitie en draagt geen enkele verantwoordelijkheid voor conflicten of incompatibiliteiten die voortvloeien uit toekomstige wijzigingen daarin. De productinformatie op de Web Site of materialen kunnen zonder voorafgaande kennisgeving worden gewijzigd. Maak geen ontwerp af met deze informatie.

PDF-download: Arduino ATMEGA328 SMD Breadboard Gebruikershandleiding




