categorii: Electronică practică, Circuite de micro-controler
Număr de vizualizări: 21376
Comentarii la articol: 0

Tipuri și aranjament de microcontrolere AVR

 


AVR - Acesta este numele familiei populare de microcontrolere pe care compania le produce. Atmel. În plus față de ABP sub acest brand sunt emise microcontrolere și alte arhitecturi precum ARM și i8051.


Ce sunt microcontrolerele AVR?

Microcontrolere AVR

Există trei tipuri de microcontrolere:

  1. AVR pe 8 biți.

  2. AVR pe 32 de biți.

  3. AVR xMega

De mai bine de un deceniu, cea mai populară este familia de microcontrolere pe 8 biți. Mulți hams au început să studieze microcontrolerele de la el. Aproape toți au învățat lumea controlerelor programabile, făcând manualele lor simple, precum luminile intermitente cu LED-uri, termometre, ceasuri, precum și o simplă automatizare, cum ar fi controlul aparatelor de iluminat și de încălzire.

Microcontrolerele AVR pe 8 biți, la rândul lor, sunt divizate în două familii populare:

  • ATtiny - Din numele este clar că cei mai tineri (minusculi - tineri, tineri, mai tineri), au practic de la 8 pini sau mai mult. Volumul memoriei și funcționalității lor este de obicei mai modest decât în ​​cele ce urmează;

  • ATmega - Microcontrolerele mai avansate au mai multă memorie, pini și diverse unități funcționale;

Microcontrolere Attiny

Cea mai puternică subfamilie de microcontrolere este xMega - aceste microcontrolere sunt disponibile în cazuri cu un număr foarte mare de pini, de la 44 la 100. Atât este nevoie pentru proiecte cu un număr mare de senzori și actuatoare. În plus, capacitatea crescută de memorie și viteza vă permit să obțineți performanțe ridicate.

Microcontroller Atmega

Transcriere: Pinul (eng. Pin - ac, pin) este ieșirea microcontrolerului sau, așa cum se spune, a piciorului. De aici și cuvântul „pinout” - adică. informații despre scopul fiecăruia dintre picioare.


Pentru ce sunt microcontrolerele și pentru ce sunt ele?

Microcontrolerele sunt folosite aproape peste tot! Aproape fiecare dispozitiv din secolul XXI funcționează pe un microcontroler: instrumente de măsurare, instrumente, electrocasnice, ceasuri, jucării, cutii muzicale și cărți poștale, precum și multe altele; enumerarea va lua mai multe pagini de text.

Dezvoltatorul poate utiliza semnalul analog de la partea inferioară a acestuia la intrarea microcontrolerului și să manipuleze datele cu privire la valoarea sa. Această lucrare este realizată de un convertor analog-digital (ADC). Această funcție permite utilizatorului să comunice cu microcontrolerul, precum și să perceapă diverși parametri ai lumii înconjurătoare folosind senzori.

Microcontroler AVR de pe panou

În microcontrolerele AVR comune, de exemplu, Atmega328care în 2017 este inima multor plăci de circuite Arduinodar despre ei mai târziu. Folosit 8 canale ADCcu adâncime de biți 10 biți. Aceasta înseamnă că puteți citi valoarea de la 8 senzori analogici. Și senzorii digitali sunt conectați la ieșirile digitale, ceea ce poate fi evident. Cu toate acestea, un semnal digital poate fi doar 1 (unitate) sau 0 (zero), în timp ce un semnal analog poate lua un număr infinit de valori.

Semnalele digitale și analogice

explicaţie:


capacitate Este o valoare care caracterizează calitatea, precizia și sensibilitatea intrării analogice. Nu sună foarte clar. Un pic de practică: un ADC de 10 biți, înregistrează informații analogice dintr-un port în 10 biți de memorie, cu alte cuvinte, un semnal digital care se schimbă fără probleme este recunoscut de un microcontroller ca valoare numerică de la 0 la 1024.

Un ADC pe 12 biți vede același semnal, dar cu o precizie mai mare - sub forma de la 0 la 4096, ceea ce înseamnă că valorile măsurate ale semnalului de intrare vor fi de 4 ori mai precise. Pentru a înțelege de unde provin 1024 și 4096, trebuie doar să ridicați 2 la o putere egală cu adâncimea de biți ADC (2 la o putere de 10, pentru 10 biți etc.)

Pentru a controla puterea de încărcare, există canale PWM la dispoziția dvs., acestea pot fi utilizate, de exemplu, pentru a regla luminozitatea, temperatura sau turația motorului. În același controler 328 există 6.

În general, structura microcontrolerului AVR este prezentată în diagrama:

Structura AVR pentru micro-controler

Toate nodurile sunt semnate, dar totuși unele nume nu pot fi atât de evidente. Să ne uităm la notația lor.

  • ALU - dispozitiv aritmetic-logic. Necesar pentru a efectua calculul.

  • Registre de scop general (RON) - Registrele care pot primi date și le pot stoca în timp ce microcontrolerul este conectat la alimentare, sunt șterse după o repornire. Serviți ca celule temporare pentru operațiunile de date.

  • întrerupe - ceva ca un eveniment care se datorează influențelor interne sau externe asupra microcontrolerului - revărsare a temporizatorului, întrerupere externă de la pinul MK etc.

  • JTAG - o interfață pentru programarea în circuit fără a scoate microcontrolerul de pe placă.

  • Flash, RAM, EEPROM - tipuri de memorie - programe, date de lucru temporare, stocare pe termen lung independent de sursa de alimentare la microcontroler, conform ordinului din nume.

  • Cronometre și contoare - cele mai importante noduri din microcontroler, la unele modele numărul lor poate fi de până la o duzină. Sunt necesare pentru a raporta numărul de măsuri, respectiv intervale de timp, iar contoarele își cresc valoarea pentru oricare dintre evenimente. Munca lor și modul său depind de program, cu toate acestea, aceste acțiuni sunt efectuate în hardware, adică. paralel cu textul principal al programului, acestea pot provoca întreruperea (prin revărsarea cronometrului, ca opțiune) în orice etapă de execuție a codului, pe orice linie a acestuia.

  • A / D (Analog / Digital) - ADC, am descris deja scopul său.

  • WatchDogTime (Timp de veghe) - un oscilator RC independent de microcontroler și chiar de generatorul său de ceas, care contează o anumită perioadă de timp și generează un semnal de resetare MK dacă a funcționat și se trezește dacă a fost în modul de repaus (economisire de energie). Funcționarea sa poate fi dezactivată prin setarea bitului WDTE la 0.


Ieșirile microcontrolerului sunt destul de slabe, ceea ce înseamnă că curentul prin ele este de obicei de până la 20-40 de milimetri, ceea ce este suficient pentru a aprinde indicatoarele LED și LED. Pentru o încărcare mai puternică, sunt necesare amplificatoare de curent sau de tensiune, de exemplu, aceiași tranzistori.


Ce aveți nevoie pentru a începe studiul microcontrolerelor?

Mai întâi trebuie să cumpărați microcontrolerul în sine. Rolul primului microcontroler poate fi orice Attiny2313, Attiny85, Atmega328 și altele. Este mai bine să alegeți modelul descris în lecțiile în care veți fi angajați.

ATTiny2313

Următorul lucru de care ai nevoie este programator. Este necesar să descărcați firmware-ul în memoria MK, este considerat cel mai ieftin și cel mai popular USBASP.

programator

Un program mai puțin scump, dar nu mai puțin obișnuit AVRISP MKII, pe care îl puteți face singur - de la un consiliu obișnuit Arduino

Programator AVRISP MKII

O altă opțiune este să le flash USB UART adaptor, care se face de obicei la unul dintre convertoare: FT232RL, CH340, PL2303 și CP2102.

Adaptor USB-UART

În unele cazuri, microcontrolerele AVR cu suport USB sunt utilizate pentru un astfel de convertor, nu există prea multe astfel de modele. Iată câteva:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

Microcontroler AVR bazat pe hardware USB

Doar un „but” - încărcătorul de încărcare UART trebuie mai întâi încărcat în memoria microcontrolerului. Desigur, pentru asta, mai aveți nevoie de un programator pentru microcontrolerele AVR.


Interesant: Bootloader - Acesta este un program normal pentru un microcontroller, dar cu o sarcină neobișnuită - după lansarea sa (conectarea la putere), se așteaptă de ceva timp că firmware-ul poate fi încărcat în el. Avantajul acestei metode este că puteți bloca orice adaptor USB-UART și sunt foarte ieftine. Dezavantajul este că firmware-ul necesită mult timp la încărcare.

Pentru muncă UART (RS-232) interfața din microcontrolerele AVR a alocat un registru întreg UDR (Registrul de date UART). UCSRA (RX, TX transceiver bit settings), UCSRB și UCSRС - un set de registre responsabile pentru setările interfeței în ansamblu.


Cum pot scrie programe?

Pe lângă programator, pentru scrierea și descărcarea programului aveți nevoie de un mediu de dezvoltare IDE. Desigur, puteți scrie cod în bloc, să treceți prin compilatoare etc. De ce este necesar atunci când există opțiuni gata făcute. Poate unul dintre cele mai puternice este IAR, dar este plătit.

Atmel IDE oficial este AVR Studio, care a fost redenumit Atmel studio pe versiunea 6. Suporta toate microcontrolerele AVR (8, 32, xMega), detectează automat comenzile și ajută la introducere, evidențiază sintaxa corectă și multe altele.Cu ajutorul său, puteți bloca MK.

Cel mai des întâlnit este C AVR, deci găsește un tutorial despre el, există tone de opțiuni în limba rusă, iar una dintre ele este Khartov V.Ya. „Microcontrolere AVR. Atelier pentru începători. "

Programarea microcontrolerului

Cel mai simplu mod de a învăța AVR

Cumpără sau fă-o singur Bordul Arduino. Proiectul arduino este conceput special în scopuri educaționale. Are zeci de placi cu diverse forme și număr de contacte. Cel mai important lucru în arduino este că cumpărați nu doar un microcontroler, ci și o placă de depanare completă, lipită pe o placă de circuit imprimat textolit, de înaltă calitate, acoperită cu o mască și componente SMD montate.

Cele mai frecvente sunt Arduino Nano și Arduino UNO, sunt esențial identice, cu excepția faptului că „Nano” este de aproximativ 3 ori mai mic decât „Uno”.

Arduino uno

Câteva fapte:

  • Arduino poate fi programat într-un limbaj standard - „C AVR”;

  • al său - cablare;

  • mediu de dezvoltare standard - Arduino IDE;

  • pentru a vă conecta la un computer, trebuie doar să conectați cablul USB la priza micro-USB de pe placa nano Arduino, să instalați driverele (cel mai probabil acest lucru se va întâmpla automat, cu excepția când convertorul de pe CH340, nu am avut drivere pe Win 8.1, a trebuit să îl descarc, dar Nu a durat mult timp.) Apoi puteți încărca „schițele” dvs.;

  • „Schițe” este numele programelor pentru arduino.

Experimente cu Arduino UNO

constatări

Microcontrolerele vor fi un ajutor excelent în practica dvs. de radio amatori, care vă va permite să descoperiți lumea electronică digitală, să vă proiectați propriile instrumente de măsurare și echipamente de automatizare casnică.

Consultați și la i.electricianexp.com:

  • Microcontrolere PIC pentru începători
  • Programarea microcontrollerului pentru începători
  • Conectarea și programarea Arduino pentru începători
  • Microcontrolere programabile în JavaScript: care dintre ele să aleagă, caracteristici ...
  • Ce sunt microcontrolerele - scop, dispozitiv, software

  •