ATmega328P este unul dintre cele mai populare microcontrolere DIY din lume. Acest microcontroler cu un singur cip este o alegere bună pentru cei care se aventurează în electronica DIY și se găsește pe cea mai recentă generație de Arduino Unos (împreună cu alte plăci de microcontrolere). Dar ce trebuie să știți despre ATmega328P înainte de a începe să utilizați Arduino?
Ce este un microcontroler ATmega328P?
Creat de Atmel, ATmega328P este un microcontroler cu un singur cip bazat pe un nucleu de procesor RISC pe 8 biți. Acest mic microcontroler are o putere redusă și un preț accesibil, ceea ce îl face o alegere excelentă pentru diverse aplicații, inclusiv proiectele DIY pe care doriți să le realizați.
Cipul ATmega328P a fost prezentat ca o parte proeminentă a Arduino de mulți ani. Arduino Uno folosește acest microcontroler, împreună cu plăcile Arduino Pro Mini și Arduino Nano. Acest lucru îl face extrem de comun în spațiul electronic de bricolaj și merită să aflați despre capacitățile sale dacă intenționați să utilizați aceste plăci.
Plăci Arduino folosind microcontrolerul ATmega328P
ATmega328P se găsește pe plăcile de microcontroler Arduino Uno și Arduino Nano, două dintre cele mai populare produse de la Arduino. De asemenea, puteți cumpăra acest cip ca produs independent dacă doriți să-l testați fără o placă de microcontroler, deși aceasta va fi o modalitate dificilă de a începe. Puteți folosi ghidul nostru la îndemână pentru a afla despre diferite tipuri de plăci de microcontroler Arduino.
Specificații ale fișei de date ATmega328P
ATmega328P are o fișă de date surprinzător de densă pentru un cip atât de mic. Există o serie de specificații de care trebuie să fiți conștienți înainte de a începe să scrieți cod pentru microcontroler. Le-am defalcat pentru a facilita înțelegerea limitărilor și restricțiilor acestui cip. Să începem cu specificațiile de bază pentru a vă oferi o idee despre cum se formează ATmega328P.
- CPU: AVR pe 8 biți cu o viteză maximă de 20 MHz
- Memorie flash: Flash integrat de 32 kB
- SRAM: 2 kB
- EEPROM: 1 kB
- Număr de pin: 28 sau 32 (în funcție de tipul pachetului)
- Canale tactile capacitive: 16
- Pini I/O maxim: 23
- Întreruperi externe: 2
Fiecare dintre aceste specificații diferite își joacă propriul rol în a face ca ATmega328P să fie atât de potrivit pentru a fi utilizat cu plăci de dezvoltare precum un Arduino. Dar ce înseamnă de fapt toate acestea?
- CPU: Procesorul de pe cipul ATmega328P este un procesor AVR RISC pe 8 biți. RISC înseamnă „computer cu set de instrucțiuni redus” și este un tip de procesor conceput pentru a simplifica sarcinile individuale pe care le efectuează un computer. În schimb, procesorul Intel sau AMD al computerului dvs. este probabil un procesor CISC (complex instruction set computer).
- Memorie flash: Flash este un tip de memorie nevolatilă care este utilizată pentru stocarea permanentă. ATmega328P este echipat cu doar 32 kB de memorie flash, deși acest lucru este suficient pentru o mulțime de coduri. Puteți afla despre diferențele dintre memoria volatilă și memoria nevolatilă pe site-ul MUO.
- SRAM: SRAM înseamnă „memorie statică cu acces aleatoriu”. Această memorie joacă același rol ca și memoria RAM din computerul dvs., oferind chipului ATmega328P memorie temporară pentru a stoca date și variabile pe măsură ce rulează prin cod.
- EEPROM: Acesta este un tip de memorie care se poate șterge pe octeți, utilizat pentru a stoca cantități mici de date. Spre deosebire de SRAM, EEPROM este nevolatilă și își va păstra datele atunci când cipul ATmega328P nu este alimentat.
Diagrama de conectare ATmega328P
Diagrama de conectare ATmega328P de mai sus arată diferiții pini de pe cipul ATmega328P DIP și pinii de pe o placă Arduino Uno. Acest lucru ar trebui să vă ofere o idee bună despre modul în care acest cip și placa de microcontroler populară funcționează împreună.
ATmega328P este un cip versatil cu o varietate de aplicații. Ca atare, un număr de pachete diferite sunt disponibile pentru acest cip, toate în diferite forme și cu diferite tipuri de plumb. TQFP (pachetul quad-flat), MLF/VQFN (micro leadframe sau quad-flat no-leads) și DIP (pachetul dual în linie) sunt cele mai comune dintre aceste pachete.
Plăcile Arduino Uno autentice folosesc varianta DIP a cipul ATmega328P (alias ATmega328P-PU), iar asta înseamnă că cipul poate fi îndepărtat și înlocuit (spre deosebire de ATmega328P-AU). Alte tipuri de plăci Arduino folosesc diferite cipuri ATmega de tip quad-flat package și acestea nu pot fi îndepărtate.
Limitări ATmega328P și Arduino Uno
Ca și în cazul oricărui cip de microcontroler, ATmega328P vine cu anumite limitări care trebuie luate în considerare înainte de a decide să lucrezi cu el. Aceste limitări se aplică și plăcilor Arduino care folosesc aceste cipuri.
Buget SRAM scăzut
Cipul ATmega328P vine cu 2 kB de SRAM, iar acest lucru este suficient pentru majoritatea proiectelor. Pentru cei care doresc să utilizeze mai multe biblioteci și coduri cu o mulțime de variabile, totuși, poate fi ușor să rămână fără SRAM, ceea ce duce la eșecul programului.
Programatorii care lucrează cu plăci Arduino au mult control asupra gestionării memoriei datorită utilizării C++. Textul, imaginile și alte elemente prefabricate pot fi stocate în memoria flash ca o modalitate de a elibera memorie suplimentară pentru programele pe care le rulați, îmbunătățind bugetul SRAM.
Putere de procesare limitată
Procesorul de 20 Hz găsit pe cipul ATmega328P este excelent pentru rularea unui cod simplu, dar oferă o putere de procesare limitată pentru aplicații complexe. Aceasta înseamnă că nu este potrivit pentru lucruri precum recunoașterea vorbirii, învățarea profundă sau alte sarcini comune ale microcontrollerului.
Rezolvarea acestei probleme nu este posibilă cu ATmega328P. Dacă aveți nevoie de mai multă putere, va trebui să căutați o placă de microcontroler mai potrivită pentru sarcina dvs ați dori să performați, dar există o mulțime de opțiuni pe piață pentru a vă oferi acces la ceea ce aveți nevoie.
Avantajele ATmega328P și Arduino Uno
Pe lângă limitările ATmega328P, există și avantaje care vin odată cu utilizarea unui cip ca acesta. Acestea vor depăși adesea limitările microcontrollerului pentru proiecte simple, mai ales dacă sunteți nou în lucrul cu microcontrolere.
- Accesibilitate: Cipul ATmega328P este accesibil și ușor de găsit, ceea ce îl face ideal pentru proiecte de bricolaj cu costuri reduse. Datorită valorii mari a acestui cip, Arduino Uno este și o placă foarte accesibilă.
- Ușurință în utilizare: Realizat pentru consumatori, ATmega328P este ușor de utilizat în comparație cu alte cipuri de microcontroler, ceea ce îl face ideal pentru cei care încep cu propriile proiecte de bricolaj.
- Chip autonom: Cipul ATmega328P poate fi folosit singur sau cu o placă de microcontroler precum Arduino Uno.
Aflați despre ATmega328P și Arduino Uno
Există o mulțime de resurse pe web care sunt concepute pentru a vă ajuta să începeți cu Arduino Uno și ATmega328P pe care îl folosește. Merită să petreceți timp învățând despre acest hardware înainte de a începe următorul proiect de microcontroler, oferindu-vă o idee despre limitările și provocările cu care vă puteți confrunta pe parcurs.