Mikrokontrolery

W tym dziale można znaleźć szerg różnych projektrów elektronicznych, które wykonałem. Głównie zamieszczone są tu projekty dotyczące układów mikroprocesorowych. Mikrokontrolery programowane są głównie w języku C, do niektórych projektów napisane są makra w asemblerze. Najciekawsze moje projekty to: Rozproszony system zbierania danych oraz Moje Urządzenie USB.

Moje projekty z mikrokontrolerami


1. Rozproszony system zbierania danych


2. Urządzenie wejściowe USB (HID class)


3. Programowalny sterownik PWM


4. Urządzenie USB plus wyświetlacz LCD


5. Enumeracja urządzenia USB


6. Układy do komunikacji poprzez SPI i I2C

Rozproszony system zbierania danych

Rozproszony system zbierania danych ZigBee USB2.0 SPI

Rozproszony system zbierania danych jest bezprzewodowym system pomiarowym. W skład systemu wchodzą trzy urządzenia, które komunikują się z sobą za pomocą sieci bezprzewodowej w paśmie 2,4[GHz]. Sieć bezprzewodowa jest w pełni kompatybilna z standardem IEEE 802.15.4 oraz standardem ZigBee. Jeden z modułów pracuje jako koordynator sieci bezprzewodowej (english → PAN Coordinator – Personal Area Network Coordinator). Pozostałe dwa moduły pracują jako końcowe urządzenia ZigBee. Każde z urządzeń w systemie zbudowane jest z mikrokontrolera i modułu radiowego. W projekcie zastosowane są mikrokontrolery PIC, oprogramowanie dla nich napisane jest w języku C. Koordynator sieci jest odpowiedzialny za tworzenie i diagnostykę sieci bezprzewodowej. Koordynator posiada także dodatkową funkcję jaką jest komunikacja poprzez USB. Od strony komputera koordynator „widziany” jest jako urządzenie klasy HID (english → HID – Human Interface Device), oznacza to że nie jest potrzebny żaden dodatkowy sterownik do obsługi urządzenia USB. Urządzenia końcowe ZigBee są wyposażone w dwa wejścia analogowe o rozdzielczości 10 bitów, dwa wejścia cyfrowe oraz cztery wyjścia cyfrowe. Koordynator sieci wymienia dane poprzez USB z dedykowanym programem operatorskim. Aplikacja operatorska jest interfejsem użytkownika. Aplikacja operatorska PC jest odpowiedzialna za: wyświetlanie pomiarów z urządzeń ZigBee, wyświetlanie statusu urządzeń sieciowych, sterowanie wyjściami cyfrowymi urządzeń ZigBee. Cała aplikacja PC napisana jest w języku C#, jej dodatkową funkcją jest możliwość zapisywania online pomiarów z urządzeń bezprzewodowych. Dane pomiarowe zapisywane są do plików „.csv”.

Rozproszony bezprzewodowy system zbierania danych

Urządzenie wejściowe USB (HID class)

Moje urządzenie USB - schemat elektryczny.

Moje urządzenie wejściowe USB jest układem pozwalającym na zrozumienie zasad działania interfejsu USB. Większość mikrokontrolerów dostępnych na rynku posiada wbudowany moduł UART (english → Universal Asynchronous Receiver Transmitter). Obecnie w większości komputerów podstawowym interfejsem jest USB, kiedyś był nim RS232C. Wykorzystując moduł UART możliwe jest stworzenie komunikacji z komputerem poprzez RS232C. Tworząc układ mikroprocesorowy niezbędne jest wyposażenie go w interfejs umożliwiający mu współpracę z komputerem PC. Jeżeli jednak nasz komputer nie posiada łącza RS232C to aby komunikować się z mikrokontrolerem poprzez UART potrzebny jest dodatkowy konwerter USB/RS232C. Jak można zauważyć rozbudowuje to sprzęt oraz powoduje wzrost jego ceny. Producenci mikrokontrolerów produkują je z wbudowanymi modułami do komunikacji USB. Moje urządzenie USB zostało wykonane całkowicie przeze mnie. Własnoręcznie wykonałem płykę drukowaną oraz montaż wszystkich niezbędnych na niej elementów. Najważniejszą cechą układu jest oprogramowanie firmware, które zostało napisane przeze mnie od podstaw. Oprogramowanie to zawiera kod obsługi komunikacji poprzez USB. Poznanie możliwości USB wymagało poświecenia sporej ilości czasu. Uważam że było warto, bo tylko poprzez samodzielne zrealizowanie projektu od podstaw krok po kroku pozwala na dobre zrozumienie standardu USB2.0. Moje urządzenie USB jest kompatybilne z USB2.0 Full Speed.

Moje urządzenie USB

Programowalny sterownik PWM

Sterownik PWM - schemat elektryczny.

Programowalny sterownik PWM (english PWM → Pulse Width Modulation) jest miniaturowym układem sterującym pozwalającym użytkownikowi na zaprogramowanie czasu włączenia TON oraz czasu wyłączenia TOFF wybranego elementu wykonawczego. Po pierwszym uruchomieniu układu konieczne jest zaprogramowanie jego pierwszych nastaw. Po ich zaprogramowaniu zostaną one umieszczone w pamięci EEPROM mikrokontrolera, dzięki czemu przy następnym użyciu układ od razu przejdzie w tryb pracy. Jednym z zastosowań układu może być sterowanie dozowaniem oleju smarującego łańcuch w motorze. Zastosować go można w każdym układzie regulacji gdzie wymaga jest cykliczna regulacja typu ON/OFF o z góry znanych interwałach czasowych włączenia/wyłączenia. Zaprojektowany układ przystosowany jest do pracy z napięciem zasilania Uzas=12[VDC]. Maksymalny prąd pobierany przez urządzenie wykonawcze (np. elektrozawór) wynosi Imax=650[mA].

Programowalny sterownik PWM

Urządzenie USB plus wyświetlacz USB

Urządzenie USB współpracujące z wyświetlaczem LCD.

Urządzenie USB posiada dodatkowo zaprogramowane funkcje do obsługi wyświetlacza LCD. Rozwiązanie takie pozwala na przesyłanie informacji z komputera na wyświetlacz LCD. W wymianie danych pośredniczy mikrokontroler, który pełni funkcję mostka komunikacyjnego. Wysłanie danych z komputera do wyświetlacza LCD możliwe jest poprzez HID terminal. HID terminal jest programem, który wykrywa urządzenia klasy HID podłączone do komputera oraz pozwala na komunikację z nimi. Terminal pozwala także odczytać informacje zawarte w urządzeniu USB, które są przesyłane do komputera podczas procesu enumeracji urządzenia USB. Kanał przebiegu informacji w tym projekcie wygląda następująco: HID terminal(komputer PC/host USB) → urządzenie USB → wyświetlacz LCD. Wyświetlacz LCD pozwala na wyświetlenie maksymalnie dwóch wierszy po szesnaście znaków.

Urządzenie USB plus LCD

Enumeracja urządzenia USB

Urządzenie USB posiada dodatkowo zaprogramowane funkcje do obsługi wyświetlacza LCD. Rozwiązanie takie pozwala na przesyłanie informacji z komputera na wyświetlacz LCD. W wymianie danych pośredniczy mikrokontroler, który pełni funkcję mostka komunikacyjnego. Wysłanie danych z komputera do wyświetlacza LCD możliwe jest poprzez HID terminal. HID terminal jest programem, który wykrywa urządzenia klasy HID podłączone do komputera oraz pozwala na komunikację z nimi. Terminal pozwala także odczytać informacje zawarte w urządzeniu USB, które są przesyłane do komputera podczas procesu enumeracji urządzenia USB. Kanał przebiegu informacji w tym projekcie wygląda następująco: HID terminal(komputer PC/host USB) → urządzenie USB → wyświetlacz LCD. Wyświetlacz LCD pozwala na wyświetlenie maksymalnie dwóch wierszy po szesnaście znaków.

Enumeracja urządzenia USB

Układy do komunikacji poprzez SPI i I2C

SPI/I2C board top side
Układy do komunikacji poprzez SPI/I2C są płytkami uruchomieniowymi z przygotowanymi do komunikacji szeregowej portami. Dodatkowaymi opcajmi
jest wykorzystywanie wejść/wyjść cyfrowych. Do dyspozycji są także wejścia analogowe.
SPI/I2C board bottom side

Dodaj komentarz