Układy programowalne do własnych konstrukcji i napraw
Mikrokontroler łączy w jednej obudowie rdzeń obliczeniowy, pamięć programu, pamięć danych oraz układy peryferyjne. Dzięki temu realizuje logikę sterowania, której w innym wypadku trzeba byłoby budować z osobnych układów scalonych, liczników i przerzutników.
W kategorii znajdują się mikrokontrolery rodzin AVR (ATmega, ATtiny), PIC oraz układy zgodne z architekturą 8051 (serie 80 i 89). Są to pojedyncze układy scalone przeznaczone do montażu we własnej płytce lub do wymiany w istniejącym urządzeniu.
Rodziny mikrokontrolerów i różnice między nimi
Wybór rodziny przesądza o narzędziach, a nie tylko o samym układzie. Każda wymaga innego programatora, innego środowiska i innego zestawu bibliotek, dlatego zmiana rodziny w trakcie projektu oznacza przepisanie kodu od nowa.
- mikrokontrolery ATMEGA - rdzeń AVR, większe zasoby pamięci i rozbudowane peryferia, stosowane w projektach wymagających wielu wyprowadzeń
- mikrokontrolery ATTINY - rdzeń AVR w mniejszych obudowach, do zadań o ograniczonej liczbie wejść i wyjść
- mikrokontrolery PIC - architektura Microchip z własnym łańcuchem narzędzi, obecna w automatyce i elektronice przemysłowej
- mikrokontrolery serii 80 - układy wywodzące się z architektury 8051, spotykane w starszych urządzeniach i dokumentacji
- mikrokontrolery serii 89 - odmiana zgodna z 8051 z pamięcią programu kasowalną elektrycznie
- mikrokontrolery AT - pozostałe układy Atmela nieujęte w powyższych grupach
Jak dobrać mikrokontroler do projektu
Liczba wyprowadzeń wejścia i wyjścia
Punktem wyjścia jest zliczenie sygnałów, które układ ma obsłużyć: przycisków, diod, wyświetlacza, czujników i wyjść sterujących. Część wyprowadzeń jest zajęta przez zasilanie, reset i interfejs programowania, więc dostępnych linii jest mniej, niż wynika z liczby nóżek obudowy.
Pamięć programu i pamięć danych
Pamięć Flash ogranicza rozmiar programu, pamięć SRAM - liczbę jednocześnie przechowywanych zmiennych i bufory. Osobną rolę pełni pamięć EEPROM, która zachowuje nastawy po zaniku zasilania. Program mieszczący się w pamięci Flash może mimo to przepełnić SRAM, jeżeli korzysta z rozbudowanych buforów lub bibliotek obsługi wyświetlacza.
Peryferia wbudowane w układ
Liczniki, przetwornik analogowo-cyfrowy, wyjścia PWM oraz interfejsy UART, SPI i I2C decydują o tym, co układ zrobi sprzętowo, bez obciążania rdzenia. Brak przetwornika analogowo-cyfrowego oznacza konieczność zastosowania osobnego układu, a brak sprzętowego UART - obsługi transmisji programowo, kosztem dokładności czasowej.
Napięcie zasilania i taktowanie
Zakres napięcia zasilania trzeba uzgodnić z resztą układu oraz z poziomami logicznymi współpracujących elementów. Częstotliwość taktowania wpływa zarówno na wydajność, jak i na pobór prądu, a maksymalna dopuszczalna częstotliwość bywa niższa przy obniżonym napięciu zasilania.
Obudowa i sposób montażu
Obudowy przewlekane pozwalają pracować na płytce stykowej i w podstawce, co ułatwia wymianę układu podczas prób. Obudowy do montażu powierzchniowego zajmują mniej miejsca, ale wymagają płytki drukowanej oraz odpowiedniego wyposażenia lutowniczego.
Co jest potrzebne poza samym układem
Mikrokontroler kupowany osobno jest układem niezaprogramowanym. Do uruchomienia potrzebny jest programator zgodny z daną rodziną oraz środowisko przygotowujące plik wynikowy. Programator AVR nie obsłuży układu PIC i odwrotnie.
Poprawna praca wymaga też kilku elementów zewnętrznych: kondensatorów odsprzęgających przy wyprowadzeniach zasilania, obwodu resetu oraz - zależnie od modelu i wymaganej dokładności - rezonatora kwarcowego z kondensatorami. Ustawienia konfiguracyjne układu, w rodzinie AVR nazywane fusebitami, wybierają źródło sygnału zegarowego. Błędny wybór potrafi odciąć dostęp do układu przez zwykły programator szeregowy.
Zastosowania
- sterowniki oświetlenia, wentylacji i ogrzewania
- układy pomiarowe z odczytem na wyświetlaczu
- automatyka modelarska i sterowanie makietami
- regulatory obrotów oraz sterowniki silników
- wymiana uszkodzonego układu w istniejącym urządzeniu
- stanowiska dydaktyczne i układy demonstracyjne
Najczęściej zadawane pytania
Czym różni się mikrokontroler od mikroprocesora?
Mikroprocesor wykonuje obliczenia i wymaga zewnętrznej pamięci oraz układów wejścia i wyjścia. Mikrokontroler zawiera te elementy w jednej obudowie, dlatego działa po dołączeniu zasilania i kilku elementów biernych.
Czy mikrokontroler kupowany osobno jest zaprogramowany?
Nie. Układ trafia do sprzedaży z pustą pamięcią programu, a wgranie kodu wymaga programatora zgodnego z daną rodziną. Wyjątkiem są układy z fabrycznie wgranym bootloaderem, co zawsze wynika z opisu konkretnej pozycji.
Czy każdy mikrokontroler wymaga rezonatora kwarcowego?
Wiele układów ma wbudowany generator wewnętrzny wystarczający do zadań, w których dokładność czasu nie jest krytyczna. Rezonator zewnętrzny staje się konieczny przy transmisji szeregowej o wyższych prędkościach oraz przy odmierzaniu czasu.
Czy kod napisany dla ATmega zadziała na ATtiny?
Rdzeń jest wspólny, ale zestaw peryferiów i nazwy rejestrów różnią się między modelami. Przeniesienie programu zwykle wymaga korekty obsługi liczników, przerwań i wyprowadzeń, a czasem ograniczenia funkcji ze względu na mniejszą pamięć.
Który mikrokontroler wybrać na początek?
Dla osoby zaczynającej łatwiejsza jest rodzina o szerokiej bazie materiałów i gotowych bibliotek, ponieważ skraca to czas uruchomienia pierwszego układu. Równie istotna jest dostępność programatora, który będzie używany także w kolejnych projektach.