Jak zacząć przygodę z minikomputerami?

0

Minikomputer jest systemem wbudowanym – to znaczy, że wykonuje ściśle określony zestaw instrukcji w celu wykonania konkretnego zadania, które zwykle jest fizycznym procesem. Zwykle w swojej konstrukcji systemy wbudowane wykorzystują mikrokontroler bądź mikroprocesor, który poprzez wgrany do jego pamięci program oraz komunikację z zewnętrznym sprzętem, w skład którego wchodzą m.in. urządzenia wejścia/wyjścia, realizuje konkretny proces. Przykładami systemów wbudowanych w praktyce mogą być m.in. kamery cyfrowe, telefony, sterowniki robotów i maszyn CNC, a także systemy antywłamaniowe. W tym poradniku przedstawiamy, w jaki sposób krok po kroku rozpocząć przygodę z systemami wbudowanymi, oraz o czym musi wiedzieć każdy początkujący w tej dziedzinie, zanim przystąpi do tworzenia swoich projektów.

Poznanie składni i elementów języków programowania

Drugim elementem, który jest zdecydowanie nieodzowny przy obcowaniu z systemami wbudowanymi, jest umiejętność pisania programów. Najczęściej w programowaniu systemów wbudowanych używa się języków C, C++, Python czy także nieśmiertelny Assembler. Najlepszym wyborem na język programowania systemów wbudowanych, jest jednak język C i jego się najczęściej używa także w produktach o charakterze komercyjnym. Ponadto język C jest prosty w nauce również dla osób początkujących, które z programowaniem nie miały wcześniej nic wspólnego. Składnia programów w tym języku charakteryzuje się bardzo dobrą czytelnością, dzięki czemu szybko można znaleźć potencjalne błędy w kodzie, za sprawą których skompilowanie programu może się nie udać, bądź przez które program po udanym skompilowaniu nie będzie działał prawidłowo. Używając języka C do aplikacji wbudowanych, możemy łatwo dostrzec, jak działa strona programowa aplikacji w odniesieniu do interakcji z urządzeniami podłączonymi pod wejścia i wyjścia mikrokontrolera oraz jaka jest rola poszczególnych zmiennych, warunków, pętli, funkcji i innych elementów kodu źródłowego.

Zapoznanie z mikrokontrolerem

Mikrokontroler lub mikroprocesor stanowi serce każdego systemu wbudowanego, a więc jego najważniejszy element. Mikrokontroler to tak naprawdę procesor, jaki znamy z komputerów klasy PC, ale w bardziej kompaktowym wydaniu, który często ma wbudowaną pamięć RAM, pamięć ROM, a także układy peryferyjne takie jak timery, liczniki, przetwornik analogowo-cyfrowy, układ watchdog i inne. Do popularnie stosowanych mikrokontrolerów w systemach wbudowanych należą m.in. Atmega328p i Intel 8051. Poznanie charakterystyki sprzętowo-programowej mikrokontrolera na podstawie noty aplikacyjnej, umożliwia uzyskanie potężnej ilości informacji, które podczas tworzenia projektu znacznie ułatwią jego wykonanie od początku do końca, a przede wszystkim będą wyznacznikiem określającym, czy mikrokontroler spełnia wymagania aplikacji pod kątem zarówno osprzętu, jak i oprogramowania, np. ze względu na pojemność pamięci FLASH, częstotliwość zegara taktującego, czy rozdzielczość bitową przetwornika ADC.

Poznaj podstawy elektroniki

Tworzenie systemów wbudowanych, to nie jest zwykłe pisanie kodu programu. Kod programu jest pisany specjalnie pod osprzęt zewnętrzny, który realizuje konkretny proces fizyczny, np. rozświetlanie diod LED, wykonywanie pomiaru jakości powietrza czy sterowanie położenia kątowego wału serwomechanizmu. W tym miejscu, w celu kompletnego zrealizowania projektu, obok umiejętności programowania, niezbędnym wymaganiem przy tworzeniu aplikacji wbudowanych jest praktyczna znajomość podstaw elektroniki, tj. jak działają podstawowe elementy elektroniczne, i którymi ich parametrami należy się kierować, podczas ich dobierania do projektu. Aby sprawnie posługiwać się rezystorami, kondensatorami, tranzystorami, diodami, cewkami, układami scalonymi, przełącznikami i innymi elementami, niezbędne jest, abyś rozróżniał podstawowe wielkości elektryczne, np. prąd, napięcie, rezystancja, impedancja, moc, pojemność i inne. Wszystkie te treści najlepiej poznasz w praktyce, zaczynając od budowania prostych obwodów elektrycznych obrazujących podstawy działania poszczególnych elementów elektronicznych, aż po bardziej złożone obwody składające się ze współpracujących ze sobą bloków w ściśle określony sposób, w oparciu o wsad mikrokontrolera, tj. kod źródłowy programu.

Zadbaj o wyposażenie w niezbędne narzędzia

Podczas nauki obsługi i prototypowania systemów wbudowanych, niezbędne będzie posiadanie pod ręką narzędzi warsztatowych, które ułatwią Ci wszelkie prace montażowe, a także diagnostykę poprawnego funkcjonowania systemu. Nie zawsze elementy systemów wbudowanych dają się ze sobą łączyć za pomocą złączy JST, czy portów GPIO. W tym celu warto dokonać zakupu stacji lutowniczej, za pomocą której będziesz mógł wykonać połączenia lutowane przewodów i innych elementów elektronicznych, które będą użyte w Twoim projekcie. Spoiwo lutownicze w postaci cyny ołowiowej jest tutaj składnikiem nieodzownym. W przypadku problemów z lutowaniem elementów przewlekanych (THT) dobrze jest sięgnąć po roztwór kalafonii w alkoholu etylowym, a podczas wykonywania montażu elementów montowanych powierzchniowo (SMD), pomocny będzie topnik w żelu. 

W czasie budowania projektu może zajść konieczność sprawdzenia sprawności niektórych elementów, a podczas uruchamiania projektu, prawie na pewno zajdzie konieczność sprawdzenia napięć w określonych punktach obwodu elektrycznego. W tym celu należy wyposażyć się w multimetr cyfrowy. Większość takich urządzeń ma funkcję pomiaru napięcia, prądu, rezystancji, testu ciągłości obwodu, a nawet możliwość sprawdzania diod i tranzystorów. Natomiast do bardziej wymagających zadań, nieocenioną pomocą będzie oscyloskop, za pomocą którego będziesz mógł dokonać obserwacji przebiegów elektrycznych, a przy poszukiwaniu przyczyny nieprawidłowego działania projektu łatwiej ją odnaleźć. Dobre oscyloskopy zawierające najbardziej potrzebne funkcje pomiarowe, są już dostępne w cenie poniżej 1000zł i umożliwiają wykonywanie pomiarów na dwóch kanałach, a ich parametry w zupełności wystarczają przy diagnostyce prostych systemów wbudowanych.

Dobór akcesoriów i elementów zewnętrznych

Dobór odpowiednich elementów elektronicznych, mechanicznych i innych, jest bardzo ważnym etapem podczas zapoznawania się z systemami wbudowanymi. W tym celu należy zwrócić szczególną uwagę na naturę sprzętową platformy bazowej, mikrokontrolera oraz elementów współpracujących – np. przez dobranie do diody LED odpowiedniego rezystora ograniczającego pobór prądu, czy standardu poziomów logicznych napięć, np. często występujących 3,3V i 5,0V. Podobnie jak w przypadku mikrokontrolerów, również w przypadku innych elementów elektronicznych – zwłaszcza w dalszym ciągu półprzewodnikowych – warto wypracować sobie umiejętność czytania not aplikacyjnych (ang. Datasheet), z których możemy dowiedzieć się praktycznych informacji o konkretnym elemencie oraz czy na pewno sprawdzi się w naszej aplikacji – taką informacją może być np. prąd spoczynkowy wzmacniacza operacyjnego, czy też rezystancja kanału tranzystora MOSFET w stanie przewodzenia, a przede wszystkim – jakie wymagania sprzętowe musi spełniać aplikacja, aby zastosowany komponent prawidłowo w niej spełniał swoją funkcję, np. zwracając uwagę na zakres dopuszczalnych wartości napięcia zasilania. 

Zacznijcie od prostych projektów!

Najlepszą metodą nauki projektowania i budowania projektów wykorzystujących minikomputery, jest przystąpienie do ich praktycznej realizacji. Zanim rozpoczniecie wykonywanie dużych, rozbudowanych projektów takich jak np. roboty przemysłowe, zacznijcie od małych prostych projektów – choćby od zaświecenia diody LED. Zdobywanie doświadczenia na takich aplikacjach, pozwoli Wam lepiej poznać wszelkie praktyczne aspekty obsługi mikrokontrolera, zewnętrznych elementów z nim współpracujących oraz ich zasady działania. W ten sposób uzyskacie soildne podstawy praktyczne i teoretyczne z zakresu elektroniki i programowania, których ugruntowanie okaże się niesamowicie pomocne podczas tworzenia projektów o wyższym stopniu trudności.

Symulacje programowe

Projektowanie urządzeń często staje się problematyczne, zwłaszcza na etapie czysto sprzętowym, kiedy może okazać się, że nasza aplikacja nie działa prawidłowo, ponieważ nie została sprawdzona na etapie projektu przed montażem i uruchomieniem. Jednym z pomocnych i użytecznych narzędzi przy tworzeniu systemów wbudowanych, jest ich implementacja w formie symulacji komputerowej. Takie narzędzie umożliwia dokładne sprawdzenie najdrobniejszych szczegółów projektu w jego warstwie sprzętowej i programowej. Jest to także bardzo korzystne rozwiązanie z punktu widzenia kosztów części składowych projektu i zapobiega przed niepotrzebnym montażem projektu (łącznie z lutowaniem, podczas którego nieprawidłowo dobrana temperatura grotu lub dyszy gorącego powietrza może uszkodzić element, wskutek jego wielokrotnego lutowania i rozlutowywania), przy braku pewności całkowicie prawidłowego jego działania.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *