Kategorie: Praktyczna elektronika, Obwody mikrokontrolera
Liczba wyświetleń: 21376
Komentarze do artykułu: 0

Rodzaje i rozmieszczenie mikrokontrolerów AVR

 


AVR - To nazwa popularnej rodziny mikrokontrolerów produkowanych przez firmę. Atmel. Oprócz ABP wydawane są pod tą marką mikrokontrolery oraz inne architektury, takie jak ARM i i8051.


Co to są mikrokontrolery AVR?

Mikrokontrolery AVR

Istnieją trzy rodzaje mikrokontrolerów:

  1. AVR 8-bit.

  2. AVR 32-bitowy

  3. AVR xMega

Od ponad dekady najbardziej popularna jest 8-bitowa rodzina mikrokontrolerów. Wiele szynek zaczęło uczyć się od niego mikrokontrolerów. Prawie wszyscy nauczyli się świata programowalnych sterowników, wykonując proste rzemiosła, takie jak lampy błyskowe LED, termometry, zegary, a także prostą automatyzację, np. Sterowanie urządzeniami oświetleniowymi i grzewczymi.

Z kolei mikrokontrolery AVR 8-bitowe są podzielone na dwie popularne rodziny:

  • Attiny - nazwa pokazuje, że najmłodsi (malutcy - młodzi, młodzi, najmłodsi) mają w zasadzie 8 pinów lub więcej. Wielkość ich pamięci i funkcjonalności jest zwykle bardziej skromna niż poniżej;

  • Atmega - Bardziej zaawansowane mikrokontrolery mają więcej pamięci, pinów i różnych jednostek funkcjonalnych;

Attiny mikrokontrolerów

Najpotężniejszą podrodziną mikrokontrolerów jest xMega - te mikrokontrolery są dostępne w obudowach z ogromną liczbą pinów, od 44 do 100. Tak wiele jest potrzebnych w projektach z dużą liczbą czujników i elementów wykonawczych. Ponadto zwiększona pojemność i szybkość pamięci pozwalają uzyskać wysoką wydajność.

Mikrokontroler Atmega

Dekodowanie: Pin (ang. Pin - igła, pin) to wyjście mikrokontrolera lub, jak mówią, nogi. Stąd słowo „pinout” - tj. informacje o celu każdej nogi.


Do czego służą mikrokontrolery i do czego służą?

Mikrokontrolery są używane prawie wszędzie! Prawie każde urządzenie w XXI wieku działa na mikrokontrolerze: przyrządy pomiarowe, narzędzia, sprzęt gospodarstwa domowego, zegarki, zabawki, pozytywki i pocztówki, a także wiele innych; samo wyliczenie zajmie kilka stron tekstu.

Deweloper może wykorzystać sygnał analogowy od spodu do wejścia mikrokontrolera i manipulować danymi o jego wartości. Ta praca jest wykonywana przez przetwornik analogowo-cyfrowy (ADC). Ta funkcja pozwala użytkownikowi komunikować się z mikrokontrolerem, a także odbierać różne parametry otaczającego świata za pomocą czujników.

Mikrokontroler AVR na płycie tartej

W typowych mikrokontrolerach AVR, na przykład, Atmega328który w 2017 roku jest sercem wielu płytek drukowanych Arduinoale o nich później. Używany 8 kanałów ADCz niewielką głębokością 10 bitów. Oznacza to, że możesz odczytać wartość z 8 czujników analogowych. I cyfrowe czujniki są podłączone do wyjść cyfrowych, co może być oczywiste. Jednak sygnał cyfrowy może wynosić tylko 1 (jednostka) lub 0 (zero), podczas gdy sygnał analogowy może przyjmować nieskończoną liczbę wartości.

Sygnały cyfrowe i analogowe

Objaśnienie:


Pojemność Jest wartością, która charakteryzuje jakość, dokładność i czułość wejścia analogowego. To nie brzmi bardzo wyraźnie. Trochę praktyki: 10-bitowy ADC, zapisuj informacje analogowe z portu w 10 bitach pamięci, innymi słowy, płynnie zmieniający się sygnał cyfrowy jest rozpoznawany przez mikrokontroler jako wartość liczbowa od 0 do 1024.

12-bitowy ADC widzi ten sam sygnał, ale z większą dokładnością - w formie od 0 do 4096, co oznacza, że ​​zmierzone wartości sygnału wejściowego będą 4 razy bardziej dokładne. Aby zrozumieć, skąd pochodzą 1024 i 4096, wystarczy podnieść 2 do potęgi głębi bitowej ADC (2 do potęgi 10, dla 10 bitów itp.)

Do kontroli mocy obciążenia dostępne są kanały PWM, które można wykorzystać na przykład do regulacji jasności, temperatury lub prędkości obrotowej silnika. W tym samym kontrolerze 328 jest ich 6.

Ogólnie, struktura mikrokontrolera AVR jest przedstawiona na schemacie:

Struktura mikrokontrolera AVR

Wszystkie węzły są podpisane, ale niektóre nazwy mogą nie być tak oczywiste. Spójrzmy na ich notację.

  • ALU - urządzenie arytmetyczno-logiczne. Potrzebne do wykonania obliczeń.

  • Rejestry ogólnego przeznaczenia (RON) - Rejestry, które mogą odbierać dane i przechowywać je, gdy mikrokontroler jest podłączony do zasilania, są kasowane po ponownym uruchomieniu. Podaj jako tymczasowe komórki dla operacji danych.

  • Zakłócenia - coś w rodzaju zdarzenia, które występuje z powodu wewnętrznych lub zewnętrznych wpływów na mikrokontroler - przepełnienie timera, zewnętrzne przerwanie od styku MK itp.

  • Jtag - interfejs do programowania w obwodzie bez wyjmowania mikrokontrolera z płytki.

  • Flash, RAM, EEPROM - rodzaje pamięci - programy, tymczasowe dane robocze, długoterminowe przechowywanie niezależne od zasilania mikrokontrolera, zgodnie z kolejnością w nazwach.

  • Zegary i liczniki - najważniejsze węzły w mikrokontrolerze, w niektórych modelach ich liczba może wynosić nawet kilkanaście. Są one niezbędne do zgłaszania odpowiednio liczby pomiarów, przedziałów czasowych, a liczniki zwiększają swoją wartość dla dowolnego ze zdarzeń. Ich praca i tryb zależą od programu, jednak akcje te są wykonywane sprzętowo, tj. równolegle do głównego tekstu programu, mogą powodować przerwanie (w wyniku przepełnienia timera, opcjonalnie) na każdym etapie wykonywania kodu, w dowolnym jego wierszu.

  • A / D (analogowy / cyfrowy) - ADC, już opisaliśmy jego cel.

  • WatchDogTime (Watchdog Timer) - oscylator RC niezależny od mikrokontrolera, a nawet jego generatora zegarowego, który zlicza pewien okres czasu i generuje sygnał resetowania MK, jeśli zadziałał, i budzi się, gdy był w trybie uśpienia (oszczędzanie energii). Jego działanie można wyłączyć, ustawiając bit WDTE na 0.


Wyjścia mikrokontrolera są raczej słabe, co oznacza, że ​​prąd przez nie przepływa zwykle do 20-40 miliamperów, co wystarcza, aby zapalić diody LED i wskaźniki LED. Aby uzyskać mocniejsze obciążenie, potrzebne są wzmacniacze prądu lub napięcia, na przykład te same tranzystory.


Czego potrzebujesz, aby rozpocząć naukę mikrokontrolerów?

Najpierw musisz kupić sam mikrokontroler. Rolą pierwszego mikrokontrolera może być dowolny Attiny2313, Attiny85, Atmega328 i inne. Lepiej wybrać model opisany na lekcjach, w które będziesz zaangażowany.

Attiny2313

Następną rzeczą, której potrzebujesz, jest programista. Konieczne jest pobranie oprogramowania układowego do pamięci MK, jest uważany za najtańszy i najpopularniejszy USBASP.

Programista

Nieco droższy, ale nie mniej powszechny programista AVRISP MKII, co możesz zrobić sam - ze zwykłej planszy Arduino

Programator AVRISP MKII

Inną opcją jest ich flashowanie USB UART adapter, który zwykle wykonuje się na jednym z konwerterów: FT232RL, CH340, PL2303 i CP2102.

Adapter USB-UART

W niektórych przypadkach do takiego konwertera wykorzystywane są mikrokontrolery AVR ze wsparciem USB; takich modeli nie ma zbyt wiele. Oto niektóre:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

Sprzętowy mikrokontroler AVR USB

Tylko jedno „ale” - bootloader UART musi zostać najpierw załadowany do pamięci mikrokontrolera. Oczywiście do tego nadal potrzebujesz programatora dla mikrokontrolerów AVR.


Interesujące: Bootloader - Jest to normalny program dla mikrokontrolera, ale z nietypowym zadaniem - po uruchomieniu (podłączenie do zasilania) przez pewien czas oczekuje na załadowanie oprogramowania układowego. Zaletą tej metody jest to, że można sflashować dowolny adapter USB-UART, a są one bardzo tanie. Wadą jest to, że ładowanie oprogramowania układowego zajmuje dużo czasu.

Do pracy UART Interfejs (RS-232) w mikrokontrolerach AVR przydzielił cały rejestr UDR (Rejestr danych UART). UCSRA (ustawienia bitów nadajnika-odbiornika RX, TX), UCSRB i UCSRС - zestaw rejestrów odpowiedzialny za ustawienia interfejsu jako całości.


Jak pisać programy?

Oprócz programisty, do pisania i pobierania programu potrzebujesz środowiska programistycznego IDE. Możesz oczywiście pisać kod w notatniku, przekazywać kompilatory itp. Dlaczego jest to konieczne, gdy istnieją doskonałe, gotowe opcje. Być może jednym z najpotężniejszych jest IAR, ale jest płatny.

Oficjalnym Atmel IDE jest AVR Studio, które zostało przemianowane na Atmel Studio w wersji 6. Obsługuje wszystkie mikrokontrolery AVR (8, 32, xMega), automatycznie wykrywa polecenia i pomaga wejść, podkreśla poprawną składnię i wiele więcej.Za jego pomocą możesz sflashować MK.

Najpopularniejszym jest C AVR, więc znajdź samouczek na ten temat, jest mnóstwo opcji w języku rosyjskim, a jedną z nich jest Chartum V.Ya. „Mikrokontrolery AVR. Warsztaty dla początkujących ”.

Programowanie mikrokontrolera

Najłatwiejszy sposób na naukę AVR

Kup lub zrób to sam Tablica Arduino. Projekt arduino został zaprojektowany specjalnie do celów edukacyjnych. Ma dziesiątki desek o różnych kształtach i liczbie kontaktów. Najważniejszą rzeczą w arduino jest to, że kupujesz nie tylko mikrokontroler, ale pełnoprawną płytkę debugującą wlutowaną do wysokiej jakości tekstolitowej płytki drukowanej, pokrytą maską i zamontowanymi komponentami SMD.

Najpopularniejsze to Arduino Nano i Arduino UNO, są one zasadniczo identyczne, z tym wyjątkiem, że „Nano” jest około 3 razy mniejszy niż „Uno”.

Arduino uno

Kilka faktów:

  • Arduino można zaprogramować w standardowym języku - „C AVR”;

  • jego własne - okablowanie;

  • standardowe środowisko programistyczne - Arduino IDE;

  • aby połączyć się z komputerem, wystarczy podłączyć kabel USB do gniazda micro-USB na płycie Arduino nano, zainstalować sterowniki (najprawdopodobniej stanie się to automatycznie, z wyjątkiem sytuacji, gdy konwerter na CH340 nie miał sterowników w Win 8.1, musiałem go pobrać, ale to Nie zajęło to dużo czasu.) Następnie możesz przesłać swoje „szkice”;

  • „Szkice” to nazwa programów dla arduino.

Eksperymenty z Arduino UNO

Wnioski

Mikrokontrolery będą doskonałą pomocą w amatorskiej praktyce radiowej, która pozwoli ci odkryć świat cyfrowej elektroniki, zaprojektować własne przyrządy pomiarowe i sprzęt automatyki domowej.

Zobacz także na e.imadeself.com:

  • Mikrokontrolery PIC dla początkujących
  • Programowanie mikrokontrolera dla początkujących
  • Podłączanie i programowanie Arduino dla początkujących
  • Programowalne mikrokontrolery w JavaScript: który wybrać, cechy ...
  • Czym są mikrokontrolery - przeznaczenie, urządzenie, oprogramowanie

  •