Arduino Micro

Arduino Micro

Dzięki łatwości programowania i ogromnej uniwersalności, moduły główne Arduino znalazły zastosowanie w wielu dziedzinach, począwszy od edukacji, a skończywszy na szybkim prototypowaniu urządzeń elektronicznych. W niektórych sytuacjach konieczne jest wbudowanie płytki w strukturę większego urządzenia – wtedy z pomocą przychodzą najmniejsi członkowie mocno już rozbudowanej rodziny Arduino. Jednym z takich przedstawicieli tej linii produktów jest Arduino Micro – niewielka płytka o dużych możliwościach, która dzięki przemyślanej konstrukcji doskonale sprawdzi się nie tylko w podstawowych aplikacjach sterowania czy pomiarów, ale nawet… jako urządzenie peryferyjne, dołączane do komputera za pomocą portu USB. W tym artykule dowiesz się, jakie szczególne cechy wyróżniają Arduino Micro na tle innych modułów głównych włoskiego producenta oraz jak efektywnie wykorzystać je w praktyce.

Konstrukcja programowalnego „malucha”

Całkowite wymiary płytki Arduino Micro są prawie identyczne, jak w przypadku nieco tylko mniejszego Arduino Nano – długość płytki drukowanej wynosi tutaj 48 mm, zaś jej szerokość – 18 mm. W tym modelu projektanci zdecydowali się na zastosowanie złącza micro USB, a nie mini USB, obecnego w wersji Arduino Nano. Taka modyfikacja zmniejsza nieco całkowitą wysokość płytki, gdyż samo złącze USB jest tutaj wyraźnie niższe, niż mini USB – co może mieć znaczenie w niektórych przypadkach (przy szczególnie ograniczonej ilości miejsca w obudowie, gdy gra toczy się o ułamki milimetra). Kable micro USB są też bardziej popularne, niż mini USB – do niedawna większość telefonów komórkowych korzystała przecież z tych pierwszych i dopiero w ostatnich latach są one wypierane przez nowocześniejsze USB C.

Ogólne ułożenie złączy na płytce Arduino Micro wygląda podobnie, jak w Arduino Nano – na obydwu dłuższych brzegach płytki znalazły się dwie 17-torowe listwy goldpin o rastrze 2,54 mm, pełniące rolę złączy systemowych, zaś na krótszych brzegach „wylądowały”: wspomniane już gniazdo micro USB oraz – na przeciwległym końcu PCB – dwurzędowe złącze goldpin 2×3 (skierowane pinami do góry), służące do programowania procesora z użyciem zewnętrznego programatora ISP. Tuż obok gniazda programatora znalazł się przycisk reset. We wszystkich czterech rogach płytki są wykonane niewielkie otwory montażowe, których jednak w większości przypadków się nie wykorzystuje – płytka Arduino Micro, z uwagi na niewielkie rozmiary i masę (13 gramów), z łatwością „trzyma się” jedynie za pomocą złączy systemowych.

Układ elektroniczny Arduino Micro

Płytka Arduino Micro została opracowana wspólnie przez firmy Arduino oraz Adafruit i łączy w sobie zalety większych „kolegów” – Arduino Uno i Leonardo oraz mniejszego – Arduino Nano.

Oprócz mikrokontrolera ATmega32U4 – o nim za chwilę – na płytce znalazł się obwód zasilania z automatycznym przełączaniem źródła napięcia (USB/wejście Vin), przypominający nieco rozwiązanie zastosowane m.in. w Arduino Uno. Tutaj obwód jest nieco inny i zawiera dwa tranzystory polowe z kanałem P, które samoczynnie wybierają właściwe w danym momencie źródło zasilania (port USB bądź zasilanie zewnętrzne, podłączone do wejścia Vin), nie dopuszczając przy tym do zwarcia i uszkodzenia któregokolwiek z elementów. W układzie znajdują się dwa stabilizatory liniowe o napięciach wyjściowych 5 V oraz 3,3 V wraz z solidną filtracją zasilania na każdym stopniu obwodu. Dodatkową redukcję zakłóceń na zasilaniu Arduino Micro zapewniają dławiki, zainstalowane w układzie portu USB oraz na zasilaniu części analogowej procesora.

Procesor ATmega32U4 – czyli wszystko, co niezbędne, w jednym układzie scalonym

Zalety zastosowania w Arduino Micro procesora ATmega32U4 są liczne i widoczne zarówno na oficjalnym schemacie, udostępnionym na stronie producenta, jak i w praktycznej pracy z modułem. Przede wszystkim, dzięki wykorzystaniu wbudowanego kontrolera warstwy fizycznej USB, stanowiącego jeden z licznych bloków peryferyjnych mikrokontrolera, możliwe jest zastosowanie płytki zarówno w klasycznych sytuacjach projektowych – do komunikacji z komputerem w celu wgrania programu oraz komunikacji szeregowej – jak i w roli nieco bardziej złożonej, w której Arduino jest widziane przez system operacyjny komputera jako urządzenie klasy HID – np. mysz czy klawiatura. Wykorzystanie tych możliwości interfejsu USB znacząco ułatwia tworzenie na bazie Arduino Micro własnych, także tych nietypowych i zaskakujących, kontrolerów. Bez większych trudności można zbudować np. mysz, sterowaną kciukiem za pomocą joysticka, a także bardziej zaawansowane kontrolery, wykorzystujące do pracy gesty dłoni. Budowę mocno złożonych projektów ułatwia fakt, że dostępna do wykorzystania pamięć Flash ma rozmiar aż 28 kB (łącznie ATmega32U4 ma jej 32 kB, ale 4 kB zajmuje fabryczny bootloader), pamięć SRA – 2,5 kB, zaś EEPROM – 1 kB. Taktowanie procesora zapewnia wbudowany w Arduino Micro rezonator kwarcowy, pracujący na częstotliwości 16 MHz, co jest standardem w większości płytek z podstawowej linii produktów Arduino. Procesor udostępnia siedem kanałów PWM, a łączna liczba możliwych do dowolnego wykorzystania linii GPIO wynosi 20 – z czego aż dwanaście może pełnić rolę wejść analogowych przetwornika ADC.

Uwagi praktyczne

Podczas pracy z Arduino Micro, podobnie jak w przypadku wszystkich zestawów uruchomieniowych i modułów, nie należy przekraczać zadeklarowanych przez producenta limitów prądów oraz napięć. Zalecany zakres napięcia zasilającego (Vin) wynosi 7-12 V, choć w niektórych przypadkach można go rozszerzyć maksymalnie do 6-20 V. Napięcie niższe od 7 V może być wykorzystane w przypadku, gdy pobór prądu jest stosunkowo niewielki, gdyż ograniczeniem jest tutaj minimalny spadek napięcia na stabilizatorze (tzw. drop-out voltage), mierzony jako różnica pomiędzy napięciem wyjściowym (równym 5 V) a wejściowym stabilizatora. Także w przypadku napięć wyższych od 12 V ograniczeniem jest wartość prądu pobieranego przez układ, ale tutaj za takim limitem stoi inny powód. Jest nim maksymalna moc strat stabilizatora 5-woltowego (w tej roli NCP1117-5), która warunkuje wzrost temperatury struktury krzemowej stabilizatora podczas pracy. Wraz ze wzrostem napięcia drop-out rośnie proporcjonalnie także wspomniana moc strat – dlatego napięcia powyżej 12 V można stosować jedynie, gdy całkowity pobór prądu jest niewielki, a temperatura otoczenia nie przekracza standardowych wartości temperatury pokojowej.

Warto przy tym pamiętać, że całkowity pobór prądu Arduino Micro to nie tylko (co zależy oczywiście od konstrukcji wykonywanego programu) pobór prądu samego mikrokontrolera, ale także łączny prąd wbudowanych LED i prąd pobierany z wyjść procesora. Ten ostatni natomiast w żadnym wypadku nie powinien przekroczyć 20 mA (dla pojedynczego wyjścia GPIO). Ograniczony jest także pobór prądu z wyjścia o napięciu 3,3 V (do 50 mA). W praktycznych aplikacjach należy też uwzględnić pobór prądu wszystkich elementów i modułów (np. czujników), zasilanych z pinu 5 V Arduino.

Klasyczne Arduino Micro vs Arduino Pro Micro

Podczas zakupu Arduino Micro należy pamiętać, że na rynku są także dostępne płytki o zbliżonej nazwie, ale innej konstrukcji – Arduino Pro Micro, produkowane przez firmę SparkFun. Ta wersja modułu jest znacznie mniejsza od klasycznego Arduino Micro, gdyż wymiary PCB wynoszą w tym wypadku jedynie 33 x 18 mm. Z oczywistych względów nieubłagane ograniczenia wymiarowe wpływają na zmniejszenie liczby pinów – złącza systemowe Arduino Pro Micro mają jedynie po 12 styków, zabrakło też otworów montażowych w rogach płytki. Bardzo istotny jest także fakt, iż SparkFun Pro Micro występuje w dwóch wersjach napięciowych – 5 V oraz 3,3 V, różniących się także częstotliwością taktowania. Pierwsza z wymienionych płytek pracuje z zegarem 16 MHz, podczas gdy wersja niskonapięciowa – 8 MHz. Taka różnorodność pozwala na wybór odpowiedniej płytki do danego zastosowania, gdyż nierzadko potrzebna jest właśnie wersja, w której cały układ (w tym przede wszystkim sam mikrokontroler) pracuje właśnie z napięciem 3,3 V, a nie 5 V, jak ma to miejsce w większości najpopularniejszych modułów Arduino.

Podsumowanie

Płytki Arduino Micro są doskonałą alternatywą dla większych zestawów, np. Arduino Uno czy Arduino Mega. Duża liczba pinów GPIO, które dodatkowo udostępniają aż 12 wejść przetwornika ADC, pozwala na użycie Arduino Micro w wielu zastosowaniach, do których inne modele zwyczajnie się nie nadają. Istotne są także małe wymiary PCB i obecność procesora ATmega32U4 z wbudowanym sprzętowym kontrolerem USB, co umożliwia stosowanie Arduino Micro w projektach, które po podłączeniu do komputera mają spełniać rolę kontrolera o funkcjonalności myszy lub klawiatury (tj. pracować w klasie USB HID).