Udostępnienie materiałów

Dokumentacja wraz z projektem wytworzone w ramach projektu Sterowniki Robotów będą udostępnione publicznie, chyba, że autorzy nie wyrażą na to zgody w formie pisemnej.

Nagrody

Laureaci 2017:

Nagrody (zestaw deweloperski STM32L476G-DISCO) otrzymują następujące osoby:

  1. Aleksander Bojda i Piotr Stopyra — „Manipulator”, (pdf)
  2. Hubert Grzegorczyk i Sebastian Jamroziński — „Analizator chodu” (pdf).

Nagrody pocieszenia:

  1. Dominik Kędzierski i Piotr Matuszak — „Robot mobilny micromouse — Miki” (pdf),
  2. Dawid Marszałkiewicz i Piotr Portasiak — „Interfejs zdalnego sterowania robotem klasy minisumo — InZdaSter (2,0)” (pdf),
  3. Paulina Porczyńska i Juliusz Tarnawski — ” Prymitywny Animowany Wyświetlacz — PAW” (pdf),
  4. Aleksander Sil — ” Robot Minisumo ze sterowaniem prędkością i momentem obrotowym — Supernova” (pdf).

 

Projekt — Sterowniki robotów: zasady zaliczenia

Projekt realizowany jest na płytkach deweloperskich STM32L476G-DISCO.

W ramach kursu należy napisać program na płytkę deweloperską, gdzie wykorzystywane będą różne peryferia mikrokontrolera, jak i układy zewnętrzne, między innymi:

  • obsługa wyświetlacza segmentowego LCD,
  • przyciski, joystick,
  • diody LED,
  • układy MEMS (akcelerometr, żyroskop, magnetometr, mikrofon),
  • Audio DAC,
  • interfejs USB,
  • RTC (układ zegara czasu rzeczywistego),
  • zewnętrzna pamięć Flash.

Projekt jest realizowany w grupach dwuosobowych przy wykorzystaniu technologii i narzędzi wspomagających pracę zespołową, jak np. git, Latex.
Do tworzenia projektu wykorzystywane są narzędzia STM32CubeMx oraz Atollic TrueSTUDIO for STM32.

Ocenie podlegać będzie:

  • zakres zrealizowanych zadań,
  • wykorzystanie narzędzi do wspomagania pracy zespołowej,
  • dokumentacja techniczna,
  • wiedza studenta na temat zrealizowanego projektu,
  • terminowość oddawanych etapów.

Dopuszcza się realizacje projektów zaproponowanych przez studenta. Propozycja ta powinna być zaakceptowana przez prowadzącego.

Wytworzone dokumenty, kod programu (odpowiednio dla etapu) powinny być umieszczone na eportalu.

Etapy projektu:

Etap I

Przedstawienie założeń projektowych w formie dokumentu elektronicznego (PDF). Należy umieścić go na eportalu przed oddaniem etapu. Dokument powinien zawierać:

  • opis projektu,
  • założenia projektowe,
  • zakres prac,
  • podział pracy pomiędzy członków zespołu,
  • wykres Gantta,
  • opis poszczególnych kamieni milowych.

Etap II

Raport (PDF) z zrealizowanych prac w ramach projektu oraz procentowe określenie realizacji projektu. Należy umieścić go na eportalu przed oddaniem etapu.

Etap III

Oddanie oraz prezentacja wykonanego projektu.
Dostarczenie dokumentacji technicznej w postaci dokumentu elektronicznego (PDF) wraz z plikami projektu, kodem źródłowym oraz innymi niezbędnymi elementami wymaganymi do odtworzenia projektu (archiwum ZIP). Kompletny projekt wraz z dokumentacją należy umieścić na eportalu przed oddaniem etapu.

Ramowy plan kursu (obecność obowiązkowa przynajmniej jednego z członków grupy):

Terminy oddania poszczególnych etapów przedstawione są jako zakres dat; dany etap należy oddać w terminie zajęć, na który student jest zapisany.

(19.02 — 02.03):

Szkolenie BHP
Przedstawienie czego będzie dotyczył projekt.
Zaprezentowanie zasad zaliczenia.
Podział na grupy.

(05.03 — 16.03):

Przydzielenie projektów grupom.
Rozdanie płytek i kabli połączeniowych.

(09.04 — 20.04):

Przedstawienie etapu I

(07.05 — 18.05):

Przedstawienie etapu II

(04.06 — 15.06):

Przedstawienie etapu III — oddanie projektu oraz wystawienie oceny (obecność obowiązkowa dla wszystkich członków grupy).

Założenia projektowe, raport, dokumentacja techniczna

Każdy dokument powinien posiadać stronę tytułową, na której znajdują się poniższe informacje w następującej kolejności:

  • Nazwa kursu
  • Nazwa realizowanego projektu
  • Akronim projektu
  • Termin (dzień, parzystość oraz godzina)
  • Skład grupy wraz z numerami albumu
  • Numer grupy projektowej
  • Prowadzący

Kolejna strona (od nowej strony) powinna zawierać:

  • Spis treści

Ciało dokumentu (od nowej strony).

Ostatnia strona (od nowej strony):

  • Bibliografia

Proszę korzystać z szablonu: sr_szablon_projekt.zip

Raport

Raport powinien być oparty o szablon dostarczony w ramach założeń projektowych. Powinien on zawierać następujące informacje (w formie osobnych rozdziałów/sekcji):

  • strona tytułowa,
  • spis treści,
  • opis zrealizowanych prac — zwięzły opis projektu,
  • konfigurację mikrokontrolera(ów) — zrzut ekranu z aplikacji STM32CubeMX ukazujący konfiguracje portów MCU oraz zegara.
  • konfigurację poszczególnych peryferiów mikrokontrolera — jeśli wykorzystywany jest np. ADC to należy podać jego konfigurację nie zapominając o DMA jeśli jest wykorzystywane. Proszę wzorować się na raporcie wygenerowanym z programu STM32CubeMx (plik PDF i TXT, Project -> Generate Report Ctrl+R). W pliku PDF jest to rozdział IPs and Middleware Configuration. Należy umieścić uproszczoną konfiguracje peryferiów w formie tabelek (najistotniejsze parametry + parametry zmienione). Dodatkowo w pliku tekstowym (TXT) znajduje się konfiguracja pinów mikrokontrolera, którą również należy zamieścić w raporcie.
  • opis wykorzystanych układów zewnętrznych — np. akcelerometr komunikujący się po I2C; opis konfiguracji układu (co zostało zapisane do jakich rejestrów i co oznacza taka konfiguracja),
  • opis działania programu — opis działania programu, mile widziany diagram ukazujący, jak działa cała aplikacja, w tym miejscu można zamieścić również kod programu (TYLKO istotne fragmenty, które należy umieszczać w środowisku lstlisting, bądź verbatim),
  • opis wykonanej mechaniki i/lub elektroniki (opcjonalne), w przypadku schematów elektronicznych należy dołączyć je jako osobna strona w dokumencie, nie należy ich dzielić na osobne rysunki. W przypadku mechaniki wystarczy ograniczyć się do modeli 3D.
  • zadania niezrealizowane,
  • bibliografia.

W przypadku prac sprzętowych powinien być dostarczony schemat, widoki płytek PCB z zachowaniem skali oraz wykaz elementów.

Dokument powinien być podzielony na odpowiednie rozdziały. Przykładowe wykorzystanie różnych rodzai środowisk zostało zaprezentowane w szablonie (sr_szablon_projekt.zip).

Nazwa dokumentu musi być następująca:

SteRoP_ROK_Akronim_AABB_n.pdf

gdzie ROK to rok kalendarzowy, w którym odbywają się zajęcia, Akronim to akronim utworzony z nazwy projektu, AABB to inicjały autorów, n to numer etapu. Np. zajęcia odbywają się w roku 2018, projekt ma nazwę Mikroprocesorowy system przetwarzania, a więc jego akronim to MSP, Autorzy to Jan Abacki oraz Kamil Babacki, raport dotyczy trzeciego etapu, a więc nazwa pliku to: SteRoP_2018_WSP_JAKB_3.pdf

Dokumentacja techniczna

Dokument jest rozszerzoną wersją raportu oddanego w ramach etapu II.

Propozycje tematów projektowych na ocenę 5.0 (bez dodatkowego sprzętu lub jego symulacją)

1. Automatyczna sekretarka (Audio DAC, Mikrofon, LCD, Joystick, Flash)
Nagrywanie i odtwarzanie wiadomości głosowych.

2. Myszka USB z akcelerometrem (Akcelerometr, żyroskop, USB, LCD, Joystick)
Emulacja urządzenia USB HID przy wykorzystaniu akcelerometru i żyroskopu. Przełączanie trybów pracy.

3. Pamięć USB (USB, Flash)
Wykorzystanie pamięci flash, jako nośnika informacji.

4. Logger danych (USB, Flash, termometr, RTC, bateria)
Akwizycja danych o temperaturze z potrzymaniem bateryjnym. Komunikacja z komputerem poprzez USB. Zarządzanie danymi.

5. Rozpoznawanie komend głosowych (USB, Flash, mikrofon, LCD, Joystick)
Nauka wzorców mowy i ich identyfikacja.

6. Monitor hałasu (Flash, RTC, bateria, LCD, Joystick, mikrofon)
Monitorowanie poziomu hałasu oraz zapisywanie zdarzeń do pamięci z czasem jego wystąpienia.

7. Urządzenie MIDI (Flash, USB, Audio DAC, LCD, Flash)
Odtwarzanie utworów z pamięci Flash.

8. Oscyloskop (USB, ADC, DMA, Flash)
Oscyloskop z pomiarem parametrów sygnału (FFT, częstotliwość, Vpp, itp.)

9. Manipulator (USB, PWM, enkoder)
Sterowanie manipulatorem o minimum trzech stopniach swobody wraz z liczeniem zadania kinematyki odwrotnej na mikrokontrolerze. Parametryzacja za pomocą interfejsu użytkownika.

10. Animacje na LCD (płytka STM32F429I-DISC1)
Wykonanie serii animacji (minimum 5) na wyświetlaczu graficznym. Biblioteka obsługująca rysowanie prymitywów (linia, prostokąt, trójkąt, koło, tekst); buforowanie obrazu.

11. Generator funkcyjny (DAC, Joystick, Flash, USB, DMA)
Generowanie różnych parametryzowalnych przebiegów funkcyjnych.

12. Komunikacja master-slave po SPI z wykorzystaniem FreeRTOSa (SPI, akcelerometr, żyroskop, LCD, joystick)
Komunikacja pomiędzy dwoma płytkami — akwizycja danych (slave) oraz ich wizualizacja (master).

13. Animacje na LCD (płytka STM32F429I-DISC1)
Prosta gra — piłka odbijająca się od ścian wraz z wykorzystanie żyroskopu.

Tematy 10 i 13 wyczerpane ze względu na brak zestawów.

Propozycje tematów projektowych na ocenę 4.0 (bez dodatkowego sprzętu lub jego symulacją)

1. Sterownik serw modelarskich (PWM, USB)
Sterowanie minimum ośmioma serwami modelarskimi z interfejsem użytkownika.

2. Inklinometr (akcelerometr, żyroskop, LCD, Joystick)
Odczyt pomiarów i wyświetlanie ich na wyświetlaczu.

3. Pomiar natężenia dźwięku (mikrofon, LCD, Joystick)
Pomiar natężenia dźwięku i jego wyświetlanie.

Oceny

sr_oceny_p.pdf

Przydatne materiały

GH08172T.pdf — dokumentacja wyświetlacza LCD znajdującego się na płytce STM32L476G-DISCO