Mga kategorya: Praktikal na Elektronika, Mga circuit ng Microcontroller
Bilang ng mga tanawin: 21376
Mga puna sa artikulo: 0
Mga uri at pag-aayos ng mga AVR microcontroller
AVR - Ito ang pangalan ng tanyag na pamilya ng mga microcontroller na ginagawa ng kumpanya. Atmel. Bilang karagdagan sa ABP sa ilalim ng tatak na ito ay inisyu mga microcontroller at iba pang mga arkitektura tulad ng ARM at i8051.
Ano ang mga AVR microcontroller?

Mayroong tatlong uri ng mga microcontroller:
-
AVR 8-bit.
-
AVR 32-bit.
-
AVR xMega
Para sa higit sa isang dekada, ang pinakatanyag ay ang 8-bit na pamilya ng mga microcontroller. Maraming mga hams ang nagsimulang mag-aral ng mga microcontroller mula sa kanya. Halos lahat ng mga ito ay natutunan ang mundo ng mga maaaring ma-program na mga Controller sa pamamagitan ng paggawa ng kanilang mga simpleng likhang sining, tulad ng mga LED flashing lights, thermometer, clocks, pati na rin ang simpleng pag-aautomat, tulad ng pagkontrol sa mga ilaw sa pag-iilaw at pag-init.
Ang Microcontrollers AVR 8-bit, naman, ay nahahati sa dalawang tanyag na pamilya:
-
Attiny - ipinapakita ng pangalan na ang bunso (maliit - bata, bata, bunso), talaga ay may 8 pin o higit pa. Ang dami ng kanilang memorya at pag-andar ay karaniwang mas katamtaman kaysa sa mga sumusunod;
-
Atmega - Ang mas advanced na mga microcontroller ay may mas maraming memorya, mga pin at iba't ibang mga functional unit;

Ang pinakamalakas na subfamily ng mga microcontroller ay xMega - ang mga microcontroller na ito ay magagamit sa mga kaso na may isang malaking bilang ng mga pin, mula 44 hanggang 100. Kaya marami ang kinakailangan para sa mga proyekto na may maraming bilang ng mga sensor at actuators. Bilang karagdagan, ang pagtaas ng kapasidad ng memorya at bilis ay nagbibigay-daan sa iyo upang makakuha ng mataas na pagganap.

Pag-decode: Ang pin (eng. Pin - karayom, pin) ay ang output ng microcontroller o, tulad ng sinasabi nila, ang binti. Samakatuwid ang salitang "pinout" - i.e. impormasyon tungkol sa layunin ng bawat binti.
Ano ang mga microcontroller para sa at ano ang mga ito?
Ang mga Microcontroller ay ginagamit halos lahat ng dako! Halos bawat aparato sa ika-21 siglo ay gumagana sa isang microcontroller: pagsukat ng mga instrumento, tool, gamit sa sambahayan, relo, laruan, mga kahon ng musika at mga postkard, pati na rin; isang listahan lamang ang kukuha ng maraming pahina ng teksto.
Maaaring gamitin ng nag-develop ang signal ng analog mula sa ilalim nito hanggang sa pag-input ng microcontroller at pagmamanipula ng data sa halaga nito. Ang gawaing ito ay isinasagawa ng isang analog-to-digital converter (ADC). Ang pagpapaandar na ito ay nagpapahintulot sa gumagamit na makipag-usap sa microcontroller, pati na rin upang makita ang iba't ibang mga parameter ng nakapalibot na mundo gamit ang mga sensor.

Sa karaniwang mga AVR microcontroller, halimbawa, Atmega328na sa 2017 ay ang puso ng maraming mga circuit board Arduinongunit tungkol sa kanila mamaya. Ginamit na 8 channel ADCna may kaunting lalim 10 bit. Nangangahulugan ito na mababasa mo ang halaga mula sa 8 na mga sensor ng analog. At ang mga digital sensor ay konektado sa mga digital na output, na maaaring maging halata. Gayunpaman, ang isang digital signal ay maaari lamang 1 (yunit) o 0 (zero), habang ang isang analog signal ay maaaring tumagal ng isang walang hanggan bilang ng mga halaga.

Paliwanag:
Kapasidad Ay isang halaga na nagpapakilala sa kalidad, kawastuhan at pagiging sensitibo ng analog input. Hindi malinaw ang tunog nito. Kaunting kasanayan: isang 10-bit ADC, record ang impormasyon ng analog mula sa isang port sa 10 bits ng memorya, sa madaling salita, isang maayos na pagbabago ng digital signal ay kinikilala ng isang microcontroller bilang isang numerical na halaga mula 0 hanggang 1024.
Ang isang 12-bit ADC ay nakikita ang parehong signal, ngunit may mas mataas na katumpakan - sa anyo mula 0 hanggang 4096, na nangangahulugan na ang sinusukat na mga halaga ng signal signal ay magiging 4 na beses na mas tumpak. Upang maunawaan kung saan nagmula ang 1024 at 4096, simpleng itaas ang 2 sa lakas ng lalim ng ADC bit (2 sa kapangyarihan ng 10, para sa 10 bit, atbp.)
Upang makontrol ang lakas ng pag-load, may mga PWM na mga channel sa iyong pagtatapon, maaari silang magamit, halimbawa, upang ayusin ang ningning, temperatura, o bilis ng engine. Sa parehong 328 magsusupil mayroong 6 sa kanila.
Sa pangkalahatan, ang istraktura ng AVR microcontroller ay inilalarawan sa diagram:

Ang lahat ng mga node ay naka-sign, ngunit ang ilang mga pangalan ay maaaring hindi masyadong halata. Tingnan natin ang kanilang notasyon.
-
ALU - Aritmetika-lohikal na aparato. Kinakailangan upang maisagawa ang pagkalkula.
-
Pangkalahatang Mga Rehistro ng Pangkalahatang (RON) - Ang mga rehistro na maaaring makatanggap ng data at mag-imbak ng mga ito habang ang microcontroller ay konektado sa kapangyarihan, mabubura pagkatapos ng pag-reboot. Maglingkod bilang pansamantalang mga cell para sa pagpapatakbo ng data.
-
Mga pagkagambala - isang bagay tulad ng isang kaganapan na nangyayari dahil sa panloob o panlabas na impluwensya sa microcontroller - pag-apaw ng timer, panlabas na makagambala mula sa pin MK, atbp.
-
Jtag - isang interface para sa in-circuit programming nang hindi inaalis ang microcontroller mula sa board.
-
Flash, RAM, EEPROM - mga uri ng memorya - mga programa, pansamantalang data ng pagtatrabaho, pangmatagalang imbakan na independiyenteng ng suplay ng kuryente sa microcontroller, ayon sa pagkakasunud-sunod sa mga pangalan.
-
Timer at counter - ang pinakamahalagang node sa microcontroller, sa ilang mga modelo ang kanilang bilang ay maaaring hanggang sa isang dosenang. Kinakailangan sila upang maiulat ang bilang ng mga hakbang, ayon sa pagkakabanggit, mga agwat ng oras, at pinataas ng kanilang mga counter ang kanilang halaga para sa alinman sa mga kaganapan. Ang kanilang trabaho at mode nito ay nakasalalay sa programa, gayunpaman, ang mga pagkilos na ito ay isinasagawa sa hardware, i.e. kahanay sa pangunahing teksto ng programa, maaari silang maging sanhi ng pagkagambala (sa pamamagitan ng pag-overlay ng timer, bilang isang pagpipilian) sa anumang yugto ng pagpapatupad ng code, sa anumang linya nito.
-
A / D (Analog / Digital) - ADC, na namin na inilarawan ang layunin nito.
-
WatchDogTime (Timong Tagamasid) - isang RC oscillator na independyente ng microcontroller at kahit na ang generator ng orasan nito, na binibilang ang isang tiyak na tagal ng oras at bumubuo ng isang signal ng pag-reset ng MK kung ito ay nagtrabaho, at nagising kung ito ay nasa mode ng pagtulog (pag-save ng kuryente). Ang operasyon nito ay maaaring hindi paganahin sa pamamagitan ng pagtatakda ng WDTE bit sa 0.
Ang mga output ng microcontroller ay sa halip mahina, nangangahulugan na ang kasalukuyang sa pamamagitan ng mga ito ay karaniwang hanggang sa 20-40 milliamp, na sapat upang magaan ang mga tagapagpahiwatig ng LED at LED. Para sa isang mas malakas na pag-load, kinakailangan ang kasalukuyang o boltahe na mga amplifier, halimbawa, ang parehong mga transistor.
Ano ang kailangan mo upang simulan ang pag-aaral ng mga microcontroller?
Una kailangan mong bumili mismo ng microcontroller mismo. Ang papel ng unang microcontroller ay maaaring maging anumang Attiny2313, Attiny85, Atmega328 at iba pa. Mas mainam na piliin ang modelo na inilarawan sa mga aralin na makikilahok ka.

Ang susunod na kailangan mo ay programmer. Kinakailangan upang mag-download ng firmware sa memorya ng MK, ito ay itinuturing na pinakamurang at pinakasikat USBASP.

Ang isang maliit na mas mahal, ngunit hindi gaanong karaniwang programista AVRISP MKII, na maaari mong gawin ang iyong sarili - mula sa isang regular na board Arduino

Ang isa pang pagpipilian ay ang pag-flash ng mga ito USB UART adapter, na karaniwang ginagawa sa isa sa mga nag-convert: FT232RL, CH340, PL2303 at CP2102.
Sa ilang mga kaso, ang mga AVR microcontroller na may suporta sa USB hardware ay ginagamit para sa tulad ng isang converter; hindi masyadong maraming tulad ng mga modelo. Narito ang ilan:
-
ATmega8U2;
-
ATmega16U2;
-
ATmega32U2.

Isa lamang "ngunit" - ang UART bootloader ay dapat munang mai-load sa memorya ng microcontroller. Siyempre, para dito, kailangan mo pa rin ng isang programmer para sa mga AVR microcontroller.
Kagiliw-giliw na: Bootloader - Ito ay isang normal na programa para sa isang microcontroller, ngunit may isang hindi pangkaraniwang gawain - pagkatapos ng paglulunsad nito (pagkonekta sa kapangyarihan), inaasahan ito para sa ilang oras na ang firmware ay maaaring mai-load dito. Ang bentahe ng pamamaraang ito ay maaari kang mag-flash ng anumang USB-UART adapter, at ang mga ito ay napaka-murang. Ang kawalan ay ang firmware ay tumatagal ng mahabang oras upang mai-load.
Para sa trabaho UART (RS-232) interface sa mga microcontroller ng AVR na inilalaan ang isang buong rehistro ng UDR (Rehistro ng data ng UART). UCSRA (RX, TX transceiver bit setting), UCSRB at UCSR - isang hanay ng mga rehistro na responsable para sa mga setting ng interface sa kabuuan.
Paano ako magsusulat ng mga programa?
Bilang karagdagan sa programmer, para sa pagsulat at pag-download ng programa kailangan mo ng isang IDE - kapaligiran sa pag-unlad. Maaari mong siyempre isulat ang code sa notepad, dumaan sa mga compiler, atbp. Bakit kinakailangan kapag mayroong napakahusay na handa na mga pagpipilian. Marahil ang isa sa pinakamalakas ay ang IAR, ngunit binabayaran ito.
Ang opisyal na Atmel IDE ay AVR Studio, na pinalitan ng pangalan ng Atmel studio sa bersyon 6. Sinusuportahan nito ang lahat ng mga AVR microcontroller (8, 32, xMega), awtomatikong nakakakita ng mga utos at nakakatulong na ipasok, i-highlight ang tamang syntax at marami pa.Sa tulong nito, maaari mong i-flash ang MK.
Ang pinaka-karaniwang ay C AVR, kaya't makahanap ng isang tutorial dito, mayroong mga tonelada ng mga pagpipilian sa wikang Ruso, at ang isa sa kanila ay si Khartov V.Ya. "Mga microcontroller ng AVR. Workshop para sa mga nagsisimula. "

Ang pinakamadaling paraan upang malaman ang AVR
Bumili o gawin ito sa iyong sarili Board ng Arduino. Ang proyektong arduino ay partikular na idinisenyo para sa mga hangarin sa edukasyon. Mayroon itong dose-dosenang mga board na may iba't ibang mga hugis at bilang ng mga contact. Ang pinakamahalagang bagay sa arduino ay ang pagbili hindi lamang isang microcontroller, ngunit isang buong debug board na puno ng kalidad na naka-print na boardol na nakalimbag, na sakop ng isang maskara at naka-mount na mga bahagi ng SMD.
Ang pinakatanyag ay ang Arduino Nano at Arduino UNO, ang mga ito ay mahalagang magkapareho, maliban na ang "Nano" ay halos 3 beses na mas maliit kaysa sa "Uno".

Ilang mga katotohanan:
-
Ang Arduino ay maaaring ma-program sa isang pamantayang wika - "C AVR";
-
kanyang sariling - mga kable;
-
karaniwang kapaligiran sa pag-unlad - Arduino IDE;
-
upang kumonekta sa isang computer, kailangan mo lamang ikonekta ang USB cable sa micro-USB socket sa Arduino nano board, i-install ang mga driver (malamang na ito ay mangyayari awtomatikong, maliban kung ang converter sa CH340, wala akong mga driver sa Win 8.1, kailangan kong i-download ito, ngunit ito Hindi ito tumagal ng maraming oras.) Pagkatapos ay maaari mong mai-upload ang iyong "sketch";
-
Ang "Sketch" ay ang pangalan ng mga programa para sa arduino.

Konklusyon
Ang mga Microcontroller ay magiging isang mahusay na tulong sa iyong kasanayan sa radio sa amateur, na magpapahintulot sa iyo na matuklasan ang mundo ng digital electronics, idisenyo ang iyong sariling mga kasangkapan sa pagsukat at kagamitan sa bahay automation.
Tingnan din sa electro-tl.tomathouse.com
: