ATmega328P on yksi suosituimmista tee-se-itse-ystävällisistä mikro-ohjaimista maailmassa. Tämä yksisiruinen mikro-ohjain on hyvä valinta tee-se-itse-elektroniikkaan uskaltaville, ja se löytyy uusimman sukupolven Arduino Unosista (yhdessä muiden mikro-ohjainkorttien kanssa). Mutta mitä sinun on tiedettävä ATmega328P: stä ennen kuin voit aloittaa Arduinosi käytön?
Mikä on ATmega328P-mikro-ohjain?
Atmelin luoma ATmega328P on yksisiruinen mikro-ohjain, joka perustuu 8-bittiseen RISC-prosessoriytimeen. Tämä pieni mikro-ohjain on pienitehoinen ja edullinen, joten se on erinomainen valinta erilaisiin sovelluksiin, mukaan lukien haluamasi tee-se-itse-projektit.
ATmega328P-siru on ollut näkyvä osa Arduinoa useiden vuosien ajan. Arduino Uno käyttää tätä mikro-ohjainta sekä Arduino Pro Mini- ja Arduino Nano -levyjä. Tämä tekee siitä erittäin yleisen DIY-elektroniikkatilassa, ja sen ominaisuuksiin kannattaa tutustua, jos aiot käyttää näitä levyjä.
Arduino-levyt, joissa käytetään ATmega328P-mikrokontrolleria
ATmega328P löytyy Arduino Uno- ja Arduino Nano -mikrokontrollerilevyistä, jotka ovat kaksi Arduinon suosituinta tuotetta. Voit myös ostaa tämän sirun erillisenä tuotteena, jos haluat testata sitä ilman mikro-ohjainkorttia, vaikka tämä onkin haastava tapa päästä alkuun. Voit käyttää kätevää opastamme oppiaksesi erityyppisiä Arduino-mikrokontrollerilevyjä.
ATmega328P Tekniset tiedot
ATmega328P: ssä on yllättävän tiheä datalehti niin pienelle sirulle. Ennen kuin alat kirjoittaa koodia mikro-ohjaimellesi, sinun tulee olla tietoinen useista eritelmistä. Olemme jakaneet nämä, jotta olisi helpompi ymmärtää tämän sirun rajoituksia. Aloitetaan perustiedoista, jotta saat käsityksen siitä, miten ATmega328P muodostuu.
- PROSESSORI: 8-bittinen AVR maksiminopeudella 20 MHz
- Flash-muisti: 32kB sisäinen salama
- SRAM: 2kB
- EEPROM: 1kB
- Pin-määrä: 28 tai 32 (pakkaustyypistä riippuen)
- Kapasitiiviset kosketuskanavat: 16
- Maksimi I/O-nastat: 23
- Ulkoiset keskeytykset: 2
Jokaisella näistä eri spesifikaatioista on oma roolinsa tehdessään ATmega328P: stä niin hyvin sopivan käytettäväksi kehityslevyjen, kuten Arduinon, kanssa. Mutta mitä mikään niistä oikeastaan tarkoittaa?
- PROSESSORI: ATmega328P-sirun CPU on 8-bittinen AVR RISC -pohjainen prosessori. RISC on lyhenne sanoista "reduced instruction set computer" ja se on eräänlainen prosessori, joka on suunniteltu yksinkertaistamaan tietokoneen suorittamia yksittäisiä tehtäviä. Sitä vastoin tietokoneesi Intel- tai AMD-suoritin on todennäköisesti CISC-prosessori (Complex Instruction Set Computer).
- Flash-muisti: Flash on eräänlainen haihtumaton muisti, jota käytetään pysyvään tallennustilaan. ATmega328P on varustettu vain 32 kt flash-muistilla, vaikka tämä riittää runsaalle koodille. Voit oppia erot haihtuvan ja haihtumattoman muistin välillä MUO: n verkkosivuilla.
- SRAM: SRAM tarkoittaa "staattista hajasaantimuistia". Tällä muistilla on sama rooli kuin tietokoneesi RAM-muistilla, ja se tarjoaa ATmega328P-sirun tilapäisen muistin tietojen ja muuttujien tallentamiseen, kun se kulkee koodin läpi.
- EEPROM: Tämä on eräänlainen tavujen pyyhittävä muisti, jota käytetään pienten tietomäärien tallentamiseen. Toisin kuin SRAM, EEPROM on haihtumaton ja säilyttää tietonsa, kun ATmega328P-siru ei saa virtaa.
ATmega328P Pinout-kaavio
Yllä oleva ATmega328P pinout -kaavio näyttää ATmega328P DIP-sirun eri nastat ja Arduino Uno -levyn nastat. Tämän pitäisi antaa sinulle hyvä käsitys siitä, kuinka tämä siru ja suosittu mikro-ohjainlevy toimivat yhdessä.
ATmega328P on monipuolinen siru useilla sovelluksilla. Sellaisenaan tälle sirulle on saatavana useita erilaisia paketteja, kaikki eri muodoissa ja erityyppisillä lyijyillä. TQFP (quad-flat paketti), MLF/VQFN (micro leadframe tai quad-flat no-leads) ja DIP (dual in-line package) ovat yleisimmät näistä paketeista.
Aidot Arduino Uno -levyt käyttävät ATmega328P-sirun DIP-varianttia (alias ATmega328P-PU), mikä tarkoittaa, että siru voidaan poistaa ja vaihtaa (toisin kuin ATmega328P-AU). Muuntyyppisissä Arduino-levyissä käytetään erilaisia ATmega-siruja, jotka ovat quad-flat-pakettityyppisiä, eikä niitä voi poistaa.
ATmega328P ja Arduino Uno Limitations
Kuten minkä tahansa mikrokontrollerisirun kanssa, ATmega328P: ssä on tiettyjä rajoituksia, jotka on otettava huomioon ennen kuin päätät työskennellä sen kanssa. Nämä rajoitukset koskevat myös näitä siruja käyttäviä Arduino-kortteja.
Alhainen SRAM-budjetti
ATmega328P-sirun mukana tulee 2 kt SRAM-muistia, ja tämä riittää useimpiin projekteihin. Niille, jotka haluavat käyttää useita kirjastoja ja koodia, jossa on paljon muuttujia, SRAM voi kuitenkin loppua helposti, jolloin ohjelma epäonnistuu.
Arduino-levyjen kanssa työskentelevillä ohjelmoijalla on paljon muistinhallintaa C++:n käytön ansiosta. Tekstiä, kuvia ja muita valmiita resursseja voidaan tallentaa flash-muistiin, jotta voit vapauttaa lisää muistia käynnissä oleville ohjelmille, mikä parantaa SRAM-budjettiasi.
Rajoitettu prosessointiteho
ATmega328P-sirun 20 Hz: n suoritin sopii erinomaisesti yksinkertaisen koodin suorittamiseen, mutta se tarjoaa rajoitetun prosessointitehon monimutkaisiin sovelluksiin. Tämä tarkoittaa, että se ei sovellu puheentunnistukseen, syväoppimiseen tai muihin yleisiin mikro-ohjaintehtäviin.
Tämän ongelman ratkaiseminen ei ole mahdollista ATmega328P: llä. Jos tarvitset lisää tehoa, sinun on etsittävä tehtävääsi varten sopivampi mikro-ohjainkortti Haluaisitko suorittaa, mutta markkinoilla on paljon vaihtoehtoja, jotka tarjoavat sinulle pääsyn siihen, mitä tarvitset.
ATmega328P ja Arduino Uno Edut
ATmega328P: n rajoitusten lisäksi tällaisen sirun käyttämisessä on myös etuja. Nämä ylittävät usein mikro-ohjaimen rajoitukset yksinkertaisissa projekteissa, varsinkin jos olet uusi mikro-ohjainten kanssa työskentelyssä.
- Kohtuuhintaisuus: ATmega328P-siru on edullinen ja helppo löytää, joten se sopii ihanteellisesti edullisiin tee-se-itse-projekteihin. Tämän sirun suuren arvon ansiosta Arduino Uno on myös erittäin edullinen levy.
- Helppokäyttöisyys: Kuluttajat ajatellen tehty ATmega328P on helppokäyttöinen muihin mikrokontrollerisiruihin verrattuna, joten se on ihanteellinen niille, jotka aloittavat omien tee-se-itse-projektiensa.
- Itsenäinen siru: ATmega328P-sirua voidaan käyttää yksinään tai mikro-ohjainkortin kanssa, kuten Arduino Uno.
Tietoja ATmega328P: stä ja Arduino Unosta
Verkossa on paljon resursseja, jotka on suunniteltu auttamaan sinua pääsemään alkuun Arduino Unon ja sen käyttämän ATmega328P: n kanssa. Kannattaa käyttää aikaa tämän laitteiston oppimiseen ennen seuraavan mikrokontrolleriprojektin aloittamista, jotta saat käsityksen rajoituksista ja haasteista, joita saatat kohdata matkan varrella.