Narzędzia do szybkiego prototypowania z 32-bitowymi mikrokontrolerami Microchipa

Narzędzia do szybkiego prototypowania z 32-bitowymi mikrokontrolerami Microchipa

Microchip jest znanym producentem mikrokontrolerów, ale oferuje również zaawansowane narzędzia programowe oraz bogaty asortyment gotowych rozwiązań sprzętowych. Każda rodzina mikrokontrolerów ma zapewnione projekty przykładowych programów oraz zestawy do prototypowania przeznaczone do takich segmentów przemysłu i technologii, jak łączność i komunikacja, sterowanie obwodami małej mocy, bezpieczeństwo funkcjonalne i nie tylko. Gotowe komponenty sprzętowe i programowe pozwalają szybko tworzyć prototypy aplikacji bez faktycznego projektowania płytek PCB.

W ramach swojej oferty narzędzi sprzętowych firma Microchip oferuje płytki rozwojowe Curiosity Nano i płytki rozwojowe Curiosity. Zestawy rozwojowe Curiosity Nano to niedrogie zestawy rozwojowe o niewielkich rozmiarach z wbudowanymi funkcjami debugowania i programowania. Są dostosowane do adaptera o nazwie Nano Base Board (fotografia 1) i korzystają z dodatkowych płytek Click Board oraz innych profesjonalnych płytek rozszerzeń, które zwiększają możliwości płytek deweloperskich poprzez dodanie czujników, interfejsów dotykowych, wyświetlaczy lub innych interfejsów łączności wymaganych do opracowania dowolnej aplikacji (fotografia 2).

Fotografia 1. Płytka Nano Base Board z zamontowanym modułem serii Nano
Fotografia 2. Różne płytki rozszerzeń

Zestawy Nano mają spójną konstrukcję w całej rodzinie mikrokontrolerów 8-bitowych, 16-bitowych i 32-bitowych firmy Microchip, dzięki czemu aplikacje wszystkich typów są skalowalne w obrębie tych rodzin mikrokontrolerów. Płytki rozwojowe Curiosity są wyposażone w dodatkowe funkcje, takie jak złącza audio, interfejsy graficzne, złącza interfejsów komunikacyjnych i do łączności z Internetem. Oprócz złączy Mikroe dostępne są złącza XPRO, natomiast niektóre płytki Curiosity mają również złącza Arduino, umożliwiające zastosowanie nakładek Arduino do realizacji prototypów aplikacji.

Narzędzia programowe uzupełniające sprzęt

Jeśli chodzi o narzędzia programowe, Microchip oferuje cztery główne rozwiązania. Przede wszystkim MPLAB X IDE – zintegrowane środowisko programistyczne używane do tworzenia aplikacji osadzonych na cyfrowych kontrolerach sygnału i mikrokontrolerach firmy Microchip.

Kolejnym narzędziem są kompilatory MPLAB XC. Kompilator XC umożliwia tłumaczenie kodu języka wysokiego poziomu C lub C++ na język asemblera mikrokontrolera.

Innym ważnym narzędziem jest platforma programistyczna MPLAB Harmony, część większego ekosystemu MPLAB X firmy Microchip, która umożliwia tworzenie aplikacji wbudowanych na 32-bitowych mikrokontrolerach firmy Microchip. Harmony ma kilka cech i funkcjonalności. Zawiera kilka przykładów demonstracyjnych ułatwiających rozpoczęcie tworzenia aplikacji i prototypów, a także zapewnia biblioteki warstwowe i modułowe. Ma również biblioteki peryferyjne, które zapewniają dostęp do rejestrów sprzętowych i oferują biblioteki oprogramowania pośredniego oraz abstrakcyjne sterowniki i usługi systemowe.

Istnieje również kilka narzędzi do tworzenia grafiki, umożliwiających tworzenie projektów i generowanie kodu za pomocą graficznego interfejsu użytkownika. Wszystko to można pobrać za pośrednictwem platformy GitHub, a całe środowisko programistyczne MPLAB Harmony v3 jest dostępne w GitHub.

Jednym z programów do tworzenia grafiki jest MCC – narzędzie konfiguracji kodu firmy Microchip, które obsługuje teraz 32-bitowe mikrokontrolery, zapewniając w ten sposób klientom wspólne narzędzie konfiguracyjne dla wszystkich rodzin mikrokontrolerów. Za pomocą niego możesz skonfigurować swój kod, tworzyć projekty i generować gotowe pliki przy użyciu bibliotek oprogramowania.

Przyjrzymy się trzem przykładowym projektom, ale najpierw musimy poznać kilka zasobów, które są istotne dla tych przykładów. Pierwszym z nich jest pakiet aplikacji MPLAB Harmony Reference Apps, dostępny jako repozytorium w serwisie GitHub. To repozytorium zawiera wiele samodzielnych aplikacji demonstrujących funkcje i możliwości 32-bitowych mikrokontrolerów. Przykłady w naszych aplikacjach referencyjnych obejmują aplikacje dla początkujących i aplikacje demonstracyjne, a także znacznie bardziej złożone i bogate w funkcje projekty oraz przykłady korzystające z płytek MikroElektronika Click Board, płytek XPRO itp. W ramach samego pakietu aplikacji referencyjnych dostępne są także przykłady programów dla MikroElektronika Click Board, które pokazują, jak z nich korzystać w środowisku programistycznym Harmony.

Przykłady szybkiego prototypowania

Naszym pierwszym przykładem jest sterowanie pracą wentylatora na podstawie wartości temperatury w pomieszczeniu, jak pokazano na rysunku 1. Wentylator pracuje z niską, średnią lub dużą prędkością, można go włączać i wyłączać w zależności od temperatury w pomieszczeniu. W tym przykładzie używamy zestawu ewaluacyjnego PIC32CM MC00 Curiosity Nano, który zawiera mikrokontroler Cortex M0+ i łączy się z płytką MikroElektronika Click Board za pomocą linii I²C.

Rysunek 1. Schemat blokowy aplikacji 1 – sterowanie wentylatorem z kontrolą temperatury

Mamy tutaj dwie płytki Click Board – płytkę Click odczytującą parametry pogodowe i płytkę Click do sterowania wentylatorami. Kontrolowane parametry to temperatura, ciśnienie i wilgotność, a elementem wykonawczym będzie podłączony wentylator. Obie płytki połączone są poprzez interfejs I²C z mikrokontrolerem pod dwoma różnymi adresami. Aplikacja inicjuje te płytki, a następnie odczytuje pomiar temperatury w pomieszczeniu. Wartość jest porównywana z wartością zadaną i odpowiednio sterowany jest wentylator – włącza się, wyłącza i pracuje z różnymi prędkościami.

Przykład drugi to aplikacja do monitorowania tętna człowieka, co jest pomocne w analizie wzorców snu lub wyników podczas różnych zajęć sportowych. W tym przykładzie zastosowano płytkę SAM E51 Curiosity Nano, która jest wyposażona w mikrokontroler Cortex M4 i jest połączona z modułami Heart Rate Click i eINK Bundle Click. Płytka Heart Rate 9 podaje dane dotyczące tętna, które są przesyłane przez linie UART. Do prezentacji wyników mamy wyświetlacz o niskim poborze mocy, znany jako eINK Click Bundle, połączony przez linie SPI (rysunek 2).

Rysunek 2. Schemat blokowy aplikacji 2 – pomiar pulsu i wyświetlanie wyniku na wyświetlaczu eINK

Po zainicjowaniu tych modułów i wyświetleniu wartości domyślnej na ekranie eINK Click Bundle użytkownik uruchamia pomiar, naciskając przycisk, a następnie kładąc palec na czujniku tętna. Mikrokontroler odczytuje to, a następnie wyświetla wartość na wyświetlaczu.

Przykład trzeci jest rozszerzeniem przykładu 1, w którym dodajemy możliwość wyświetlania informacji o sterowaniu wentylatorem na podstawie temperatury pokojowej.

Tutaj mamy zakropkowany obszar, który dodano do schematu blokowego z przykładu pierwszego – jest to moduł eINK Click (rysunek 3). Struktura aplikacji pozostaje taka sama. Gdy mamy już temperaturę, wentylator nadal jest ustawiony na niską, średnią lub wysoką prędkość, ale jednocześnie wartość temperatury i prędkość wentylatora są wyświetlane na wyświetlaczu.

Rysunek 3. Schemat blokowy aplikacji 3 – sterowanie wentylatorem z kontrolą temperatury i wyświetlaniem parametrów pracy

Część 2 tego przykładu jest rozbudowana o funkcje bezprzewodowe, dając możliwość sterowania za pomocą aplikacji na smartfona z systemem Android i BLE. Wysyłając polecenia przez telefon, masz możliwość wyłączenia wentylatora lub uruchomienia w trybie kontroli temperatury. Przykład 3, części 1 i 2 można również zintegrować z aplikacją sterowaną inteligentnym urządzeniem, z pełnymi możliwościami zdalnego sterowania i wyświetlania.

Rozwijanie aplikacji

Warto poznać pewne działania, które należy wykonać, aby opracować te aplikacje. Pierwszym krokiem jest utworzenie projektu MPLAB X IDE dla wybranego mikrokontrolera, na przykład SAM E51 przy użyciu MCC. Następnie skonfigurujemy zegar, urządzenia peryferyjne i odpowiednie piny. Jeśli używamy istniejącego przykładu i chcemy go rozszerzyć, to nie tworzymy nowego projektu, ale raczej używamy istniejącego i po prostu otwieramy go w MPLAB X IDE.

Krok 2 to dodanie kodu aplikacji. Wcześniej korzystaliśmy z istniejących przykładów MikroElektronika Click Board. W tych przykładach znajdują się pewne procedury, których można użyć do zaimplementowania funkcji kliknięcia w aplikacjach końcowych – zasadniczo można je dodać do swojej aplikacji, a następnie zaimplementować aplikację zgodnie z wymaganiami.

Rysunek 4. Schemat blokowy aplikacji 4 – sterowanie wentylatorem z kontrolą zdalną

Trzeci krok polega na uruchomieniu aplikacji i ocenie wyników. Aby to zrobić, uruchom aplikację na Androida, znaną jako MBD, a jeśli poprosi Cię o włączenie lokalizacji Bluetooth, zrób to. Wybierz ikonę BLE UART, która pokazuje typ urządzeń, które można skanować. Wybierz skanowanie BM70, a wyświetli się lista wszystkich dostępnych urządzeń z BLE. Zwróć uwagę na urządzenie demonstracyjne UART, a kiedy je zobaczysz, możesz anulować trwające skanowanie i wybrać to urządzenie. Wówczas zostanie nawiązane połączenie z urządzeniem i udostępniona zostanie ścieżka transmisji danych. Wystarczy dotknąć ikony przesyłania danych i włączyć odpowiedni transfer.

Dotarliśmy do ekranu, na którym można wpisać polecenia sterujące urządzeniem – wyłącz wentylator, włącz go lub uruchom z określoną prędkością. Polecenia te są realizowane poprzez wiadomości tekstowe. Jeśli chcesz wyłączyć wentylator, wpisz polecenie BLE control fan off i naciśnij przycisk wysyłania; aby uruchomić go w trybie kontroli temperatury, wpisz polecenie temp control i naciśnij przycisk, a wentylator uruchomi się w zależności od temperatury pokojowej. Można także zmieniać temperaturę, przykładając palec do czujnika, a wentylator odpowiednio zmieni prędkość, pracując z niską, średnią lub dużą prędkością, w zależności od temperatury w pomieszczeniu.

Platforma programistyczna MPLAB Harmony

Microchip oferuje kilka zasobów pomocnych w tworzeniu aplikacji, w tym stosy graficzne, audio, biblioteki kryptograficzne i kilka innych. Oprócz płytek Curiosity i Curiosity Nano do szybkiego prototypowania, Microchip oferuje również kilka znacznie bardziej wszechstronnych platform, takich jak seria płytek rozwojowych Xplained Pro lub XPLORE, a także seria płytek rozwojowych Curiosity Ultra. Więcej informacji na ten temat: http://www.microchip.com/harmony.

Syed Thaseemuddin
inżynier personelu technicznego, Microchip Technology Inc.
Shridhar Channagiri
menedżer ds. marketingu produktów, Microchip Technology Inc.

Artykuł ukazał się w
Elektronika Praktyczna
wrzesień 2023

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje maj 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich czerwiec 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów