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

Przykładowy szablon dokumentu dla każdego z etapów dostępny jest pod linkiem: sr_szablon_projekt.zip. Zawiera on szczegółowy opis co powinno się znaleźć w dokumencje dla każdego etapu. Do edytowania dokumentu w systemie LaTeX można posłużyć się oprogramowaniem np. TeXstudio.

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

Również oddając projekt powinien być on spakowany za pomocą archiwizatora zip lub 7-zip. Podczas tworzenia archiwum nalezy usunąć katalog Debug. Nazwa pliku z archiwum powinna być następująca:

SteRoP_ROK_Akronim_AABB_n_projekt.zip lub SteRoP_ROK_Akronim_AABB_n_projekt.7z

Propozycje tematów projektowych

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.

14. Kontynuacja projektu PAW (wiele wariantów)
Dodanie podwójnego bufora, tekstur, przepisanie kodu na język C, dodanie kolorów, itp.

Oceny

sr_oceny_p.pdf

Przydatne materiały

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