kategorier: Praktisk elektronikk, Mikrokontrollkretser
Antall visninger: 21376
Kommentarer til artikkelen: 0

Typer og arrangement av AVR-mikrokontrollere

 


AVR - Dette er navnet på den populære familien av mikrokontrollere som selskapet produserer. Atmel. I tillegg til ABP under dette merket utstedes mikrokontrollere og andre arkitekturer som ARM og i8051.


Hva er AVR-mikrokontrollere?

Mikrokontrollere AVR

Det er tre typer mikrokontrollere:

  1. AVR 8-bit.

  2. AVR 32-bit.

  3. AVR xMega

I mer enn et tiår er den mest populære 8-bits familien av mikrokontrollere. Mange skinker begynte å studere mikrokontrollere fra ham. Nesten alle lærte verden av programmerbare kontrollere ved å gjøre sitt enkle håndverk, for eksempel LED-blinkende lys, termometre, klokker, samt enkel automatisering, for eksempel kontroll av belysning og varmeutstyr.

Microcontrollers AVR 8-bit, på sin side, er delt inn i to populære familier:

  • ATtiny - navnet viser at de yngste (bittesmå - unge, unge, yngste), i utgangspunktet har 8 pinner eller mer. Volumet på minnet og funksjonaliteten er vanligvis mer beskjedent enn i det følgende;

  • atmega - Mer avanserte mikrokontrollere har mer minne, pinner og forskjellige funksjonelle enheter;

Mikrokontrollere Attiny

Den kraftigste underfamilien til mikrokontrollere er xMega - disse mikrokontrollene er tilgjengelige i tilfeller med et stort antall pinner, fra 44 til 100. Så mye er nødvendig for prosjekter med et stort antall sensorer og aktuatorer. I tillegg gir den økte minnekapasiteten og hastigheten deg høy ytelse.

Mikrokontroller Atmega

transkripsjon: Pin (eng. Pin - nål, pin) er utgangen fra mikrokontrolleren eller, som de sier, benet. Derav ordet "pinout" - dvs. informasjon om formålet med hvert av bena.


Hva er mikrokontrollere for, og hva er de for?

Mikrokontrollere brukes nesten overalt! Nesten alle enheter i det 21. århundre fungerer på en mikrokontroller: måleinstrumenter, verktøy, husholdningsapparater, klokker, leker, musikkbokser og postkort, i tillegg til mye mer; oppregning alene vil ta flere sider med tekst.

Utvikleren kan bruke det analoge signalet fra bunnen av det til inngangen til mikrokontrolleren og manipulere data om verdien. Dette arbeidet utføres av en ADC (analog-to-digital converter). Denne funksjonen gjør det mulig for brukeren å kommunisere med mikrokontrolleren, så vel som å oppfatte ulike parametere i den omliggende verden ved hjelp av sensorer.

AVR mikrokontroller på brødbrett

I vanlige AVR-mikrokontrollere, for eksempel, Atmega328som i 2017 er hjertet til mange kretskort Arduinomen om dem senere. Brukt 8 kanal ADCmed bitdybde 10 bit. Dette betyr at du kan lese verdien fra åtte analoge sensorer. Og digitale sensorer er koblet til de digitale utgangene, noe som kan være åpenbart. Imidlertid kan et digitalt signal bare være 1 (enhet) eller 0 (null), mens et analogt signal kan ta et uendelig antall verdier.

Digitale og analoge signaler

Forklaring:


kapasitet Er en verdi som kjennetegner kvaliteten, nøyaktigheten og følsomheten til den analoge inngangen. Det høres ikke veldig tydelig ut. Litt praksis: en 10-bit ADC, registrerer analog informasjon fra en port i 10 bits minne, med andre ord, et jevnt skiftende digitalt signal blir gjenkjent av en mikrokontroller som en numerisk verdi fra 0 til 1024.

En 12-biters ADC ser det samme signalet, men med høyere nøyaktighet - i form fra 0 til 4096, noe som betyr at de målte verdiene til inngangssignalet vil være 4 ganger mer nøyaktig. For å forstå hvor 1024 og 4096 kom fra, hever du bare 2 til kraften i ADC-bitdybden (2 til kraften på 10, for 10 bit osv.)

For å kontrollere lastkraften er det PWM-kanaler til disposisjon, de kan for eksempel brukes til å justere lysstyrken, temperaturen eller motorhastigheten. I samme 328 kontroller er det seks av dem.

Generelt er strukturen til AVR-mikrokontrolleren avbildet i diagrammet:

Mikrokontroller AVR-struktur

Alle nodene er signert, men noen navn er kanskje ikke så åpenbare. La oss se på notasjonen deres.

  • ALU - aritmetisk-logisk enhet. Nødvendig for å utføre beregningen.

  • Generelle formål register (RON) - Registre som kan motta data og lagre dem mens mikrokontrolleren er koblet til strøm, blir slettet etter omstart. Server som midlertidige celler for dataoperasjoner.

  • avbryter - noe som en hendelse som oppstår på grunn av interne eller eksterne påvirkninger på mikrokontrolleren - timeroverløp, ekstern avbrudd fra pin MK, etc.

  • JTAG - et grensesnitt for programmering i kretsløp uten å fjerne mikrokontrolleren fra brettet.

  • Flash, RAM, EEPROM - minnetyper - programmer, midlertidige arbeidsdata, langtidslagring uavhengig av strømforsyningen til mikrokontrolleren, i henhold til rekkefølgen i navnene.

  • Tidtakere og tellere - de viktigste nodene i mikrokontrolleren, i noen modeller kan antallet være opptil et dusin. De er nødvendige for å rapportere antall tiltak, henholdsvis tidsintervaller, og tellere øker verdien for noen av hendelsene. Arbeidet deres og modus avhenger av programmet, men disse handlingene utføres i maskinvare, dvs. parallelt med hovedteksten til programmet, kan de forårsake avbrudd (ved timeroverløp, som et alternativ) i ethvert stadium av kodeutførelse, på hvilken som helst linje av det.

  • A / D (analog / digital) - ADC, vi har allerede beskrevet dens formål.

  • WatchDogTime (Watchdog Timer) - en RC-oscillator uavhengig av mikrokontrolleren og til og med dens klokkegenerator, som teller en viss tid og genererer et MK-tilbakestillingssignal hvis det fungerte, og våkner hvis det var i hvilemodus (strømsparing). Operasjonen kan deaktiveres ved å sette WDTE-biten til 0.


Utgangene til mikrokontrolleren er ganske svake, noe som betyr at strømmen gjennom dem vanligvis er opptil 20-40 milliamp, noe som er nok til å lyse opp LED- og LED-indikatorene. For en kraftigere belastning trengs strøm- eller spenningsforsterkere, for eksempel de samme transistorer.


Hva trenger du for å begynne å studere mikrokontrollere?

Først må du kjøpe selve mikrokontrolleren. Rollen til den første mikrokontrolleren kan være hvilken som helst Attiny2313, Attiny85, Atmega328 og andre. Det er bedre å velge modellen som er beskrevet i leksjonene du skal være engasjert i.

attiny2313

Det neste du trenger er programmerer. Det er nødvendig å laste ned firmware til minne av MK, det regnes som den billigste og mest populære USBASP.

programmerer

Litt dyrere, men ikke mindre vanlig programmerer AVRISP MKII, som du kan gjøre selv - fra et vanlig styre Arduino

Programmerer AVRISP MKII

Et annet alternativ er å blinke gjennom dem USB UART adapter, som vanligvis gjøres på en av omformerne: FT232RL, CH340, PL2303 og CP2102.

USB-UART-adapter

I noen tilfeller brukes AVR-mikrokontrollere med USB-maskinvarestøtte for en slik omformer; det er ikke så mange slike modeller. Her er noen:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

USB-maskinvarebasert AVR-mikrokontroller

Bare ett “men” - UART-startlasteren må først lastes inn i minnet til mikrokontrolleren. For dette trenger du selvfølgelig fortsatt en programmerer for AVR-mikrokontrollere.


Interessant: Bootloader - Dette er et normalt program for en mikrokontroller, men med en uvanlig oppgave - etter lanseringen (tilkobling til strøm), forventer den i noen tid at firmware kan lastes inn i den. Fordelen med denne metoden er at du kan blinke hvilken som helst USB-UART-adapter, og de er veldig billige. Ulempen er at firmwaren tar lang tid å laste.

For jobb UART (RS-232) grensesnitt i AVR mikrokontrollere tildelt et helt register UDR (UART-dataregister). UCSRA (RX, TX transceiver bit-innstillinger), UCSRB og UCSRС - et sett med registre som er ansvarlige for grensesnittinnstillingene som helhet.


Hvordan kan jeg skrive programmer?

I tillegg til programmereren, for å skrive og laste ned programmet, trenger du et IDE - utviklingsmiljø. Du kan selvfølgelig skrive kode i notisblokk, passere kompilatorer osv. Hvorfor er det nødvendig når det finnes utmerkede ferdige alternativer. Kanskje en av de kraftigste er IAR, men den er betalt.

Den offisielle Atmel IDE er AVR Studio, som ble omdøpt til Atmel studio på versjon 6. Den støtter alle AVR-mikrokontrollere (8, 32, xMega), oppdager automatisk kommandoer og hjelper deg med å komme inn, fremhever riktig syntaks og mye mer.Med sin hjelp kan du blinke MK.

Det vanligste er C AVR, så finn en tutorial på det, det er mange russiskspråklige alternativer, og et av dem er Khartov V.Ya. “AVR-mikrokontrollere. Workshop for nybegynnere. "

Programmering av mikrokontroller

Den enkleste måten å lære AVR på

Kjøp eller gjør det selv Arduino styre. Arduino-prosjektet er designet spesielt for pedagogiske formål. Den har dusinvis av tavler med forskjellige former og antall kontakter. Det viktigste i arduino er at du kjøper ikke bare en mikrokontroller, men et fullverdig avlusningsbrett loddet til et tekstilitttrykt kretskort av høy kvalitet, dekket med en maske og montert SMD-komponenter.

De vanligste er Arduino Nano og Arduino UNO, som i det vesentlige er identiske, bortsett fra at Nano er omtrent 3 ganger mindre enn Uno.

Arduino uno

Noen få fakta:

  • Arduino kan programmeres på et standardspråk - “C AVR”;

  • hans egne - ledninger;

  • standardutviklingsmiljø - Arduino IDE;

  • for å koble til en datamaskin, trenger du bare å koble USB-kabelen til mikro-USB-kontakten på Arduino nano-brettet, installere driverne (mest sannsynlig vil dette skje automatisk, bortsett fra når omformeren på CH340, jeg ikke hadde drivere på Win 8.1, jeg måtte laste ned den, men det Det tok ikke mye tid.) Da kan du laste opp "skissene" dine;

  • “Skisser” er navnet på programmene for arduino.

Eksperimenter med Arduino UNO

funn

Mikrokontrollere vil være en god hjelp i din amatørradiopraksis, som lar deg oppdage verdenen av digital elektronikk, designe dine egne måleinstrumenter og hjemme-automatiseringsutstyr.

Se også på elektrohomepro.com:

  • PIC-mikrokontrollere for nybegynnere
  • Mikrokontrollerprogrammering for nybegynnere
  • Koble til og programmerer Arduino for nybegynnere
  • Programmerbare mikrokontrollere i JavaScript: hvilken du skal velge, egenskaper ...
  • Hva er mikrokontrollere - formål, enhet, programvare

  •