SR — Projekt

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 2019:

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

  1. Agata Smoląg — „Robot mobilny typu MicroMouse, RAMZES”, (PDF),
  2. Filip Dyba, Mateusz Pietrzkowski — „Manipulator, Man”, (PDF).

Nagrody pocieszenia:

  1. Jakub Cebulski, Miłosz Chlebowski — „Rozbudowana wersja Prymitywnego Animowanego Wyświetlacza w języku C, PAW 3.14„, (PDF),
  2. Mariusz Perskawiec, Mateusz Śmiechura — „Manipulator, Mani„, (PDF).

Laureaci 2018:

  1. Piotr Gogola — „Grająca płytka — GraP”, (SR_2019_GraP),
  2. Robert Winkler — „Stacja meteorologiczna”, (SR_2019_SM),
  3. Michał Antoszko — 'Prymitywny animowany wyświetlacz 2.0 — PAW 2.0′, (SR_2019_PAW_2_0, kontynuacja projektu PAW).

Laureaci 2017:

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

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

Nagrody pocieszenia:

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

Projekt — Sterowniki robotów: zasady zaliczenia

Projekt realizowany jest na płytkach deweloperskich:

  • STM32L476G-DISCO
    • wyświetlacz segmentowy LCD, układy MEMS, joystick, mikrofon, Audio DAC, micro USB, RTC, zewnętrzna pamięć Flash, diody
  • STM32F429I-DISC1
    • wyświetlacz kolorowy 2.4″, micro USB, żyroskop, SDRAM, diody LED
  • STM32F412G-DISCO
    • wyświetlacz kolorowy 1.54″ z interfejsem dotykowym, micro USB, mikrofon, zewnętrzna pamięć Flash, diody LED, joystick

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.

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 oraz uzgodniona odpowiednio wcześniej.

Wytworzone dokumenty, kod programu (odpowiednio dla etapu) powinny być umieszczone na e portalu. Zarówno dokumentacja jak i archiwum powinno posiadać odpowiednią nazwę.

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 (maksymalnie jedno zadanie na etap może być realizowane wspólnie),
  • wykres Gantta,
  • opis poszczególnych kamieni milowych.

Kurs na eportalu można znaleźć pod nazwą SteRoP (dla projektu, miejsce właściwe wysyłania wytworzonej dokumentacji oraz projektu). Hasło od kursu zostanie podane na pierwszych zajęciach.

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.

Reguły oceniania

Etap I — 20% oceny końcowej

Każdy z członków grupy powinien w każdym etapie mieć wymienione od 2 do 4 zadań. Maksymalnie jedno zadanie na etap może być realizowane jednocześnie przez członków zespołu. Dokument powinien być przygotowany zgodnie z komentarzami z szablonu.

Ocena za etap I
Ocena = k0 + k1 + k2 + k3 + k4 + k5,
gdzie
k1 in [0,1.0] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — przynajmniej dwie pozycje literaturowe traktujące o problematyce projektu,
k3 in [0,0.5] — przynajmniej 2 pozycje ściśle związane z wykorzystanym sprzętem, układami elektronicznymi, modułami, itp.,
k4 in [0,1.5] — merytoryczna część założeń projektowych
k5 in [0,0.5] — podział prac w projekcie na zadania.

Etap II — 30% oceny końcowej

Ocena za etap II
Ocena = k0 + k1 + k2 + k3,
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,1] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 4 commity,
k3 in [0,2.5] — merytoryczna część raportu (realizacja zadań z podziału prac zawartych w założeniach projektowych)

Etap III — 50% oceny końcowej

Ocena za etap III
Ocena = k0 + k1 + k2 + k3
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 8 commitów,
k3 in [0,3.0] — merytoryczna część dokumentacji końcowej (realizacja zadań z podziału prac zawartych w założeniach projektowych),

Uwaga — dotyczy wszystkich etapów:

k0 in [0,1] — 1.0 pkt. oddanie pracy w terminie za pośrednictwem eportalu, na zajęciach danej grupy (nie później niż do końca zajęć), 0.5 pkt. opóźnienie oddania dokumentu nie przekraczające 7 dni (7 * 24 * 60 * 60 sekund) liczone od czasu końca zajęć, na które grupa projektowa uczęszcza,

W przypadku, gdy opóźnienie jest większe niż 14 dni (14 * 24 * 60 * 60 sekund) ocena za etap nie może być wyższa niż 3.5.
W przypadku braku merytorycznej zawartości dokumentu składanego w danym etapie ocena za ten etap nie może być wyższa niż 2.0.

Ramowy plan kursu:

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.

Zajęcia 1:

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

Uwaga! Należy przynieść kartę zobowiązań w celu pobrania płytki, na której będzie realizowany projekt.

Zajęcia 2:

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

Proszę przygotować co najmniej dwie propozycje tematów, jakie będą realizowane w ramach projektu.


Zajęcia 3:

Przedstawienie etapu I (założenia projektowe należy złożyć za pośrednictwem eportalu)

Zajęcia 5:

Przedstawienie etapu II

Zajęcia ostanie:

Przedstawienie etapu III — oddanie projektu oraz wystawienie oceny
Wystawienie ocen.

Pozostałe zajęcia:

Konsultacje projektu i ocena postępu pracy nad projektem.

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 lub skrót 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 należy 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

  • Automatyczna sekretarka (Audio DAC, Mikrofon, LCD, Joystick, Flash) Nagrywanie i odtwarzanie wiadomości głosowych.
  • Myszka USB z akcelerometrem (Akcelerometr, żyroskop, USB, LCD, Joystick)
  • Emulacja urządzenia USB HID przy wykorzystaniu akcelerometru i żyroskopu. Przełączanie trybów pracy.
  • Pamięć USB (USB, Flash) Wykorzystanie pamięci flash, jako nośnika informacji.
  • Logger danych (USB, Flash, termometr, RTC, bateria) Akwizycja danych o temperaturze z potrzymaniem bateryjnym. Komunikacja z komputerem poprzez USB. Zarządzanie danymi.
  • Rozpoznawanie komend głosowych (USB, Flash, mikrofon, LCD, Joystick) Nauka wzorców mowy i ich identyfikacja. Monitor hałasu (Flash, RTC, bateria, LCD, Joystick, mikrofon)
  • Monitorowanie poziomu hałasu oraz zapisywanie zdarzeń do pamięci z czasem jego wystąpienia.
  • Urządzenie MIDI (Flash, USB, Audio DAC, LCD, Flash) Odtwarzanie utworów z pamięci Flash.
  • Oscyloskop (USB, ADC, DMA, Flash) Oscyloskop z pomiarem parametrów sygnału (FFT, częstotliwość, Vpp, itp.)
  • 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.
  • 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.
  • Generator funkcyjny (DAC, Joystick, Flash, USB, DMA) Generowanie różnych parametryzowalnych przebiegów funkcyjnych (PWM, trójkąt, piła, sinus, zdefiniowane przez użytkownika).
  • 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).
  • Animacje na LCD (płytka STM32F429I-DISC1) Prosta gra — piłka odbijająca się od ścian wraz z wykorzystanie żyroskopu.
  • Kontynuacja projektu PAW (wiele wariantów) Biblioteka graficzna dla mikrokontrolerów STM32. Zakres pracy to m.in. dodanie podwójnego bufora, tekstur, przepisanie kodu na język C, dodanie kolorów, itp.

Możliwa jest realizacja własnego projektu. Należy go jednak wcześniej uzgodnić z prowadzącym.

Przykładowe opracowanie projektu

Grupa decyduje się na zadanie związane ze stworzeniem automatycznej sekretarki.
Celem projektu jest stworzenie oprogramowania na system wbudowany, które pozwoli na nagrywanie krótkich wiadomości głosowych na pamięć FLASH, która znajduje się na płytce ewaluacyjnej. Wykorzystując wyświetlacz oraz joystick oferuje się użytkownikowi interfejs za pomocą, którego może zmieniać tryb pracy urządzenia. Wykorzystywany jest Audio DAC do generowania wcześniej zapisanego dźwięku na pamięć, natomiast mikrofon wykonany w technologi MEMS służy do zbierania sygnału z otoczenia. Grupa decyduje się na dodanie funkcjonalności, która polega na ciągłym monitorowaniu poziomu natężenia dźwięku, a następnie w przypadku przekroczenia zadanego progu włącza automatyczne nagrywanie dźwięku.
Istotą projektu jest skupienie się nie tylko na implementacji obsługi peryferiów, ale także na implementacji algorytmów, które służą do przetwarzania sygnałów.

Oczywiście nie są to jedyne aspekty, na które należy zwrócić uwagę! Wymagane jest rozpoznanie tematu, w stopniu, który pozwoli na całościowe ujęcie jego problematyki.

Przydatne materiały

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

Przykładowe projekty dla płytki STM32L476G-DISCO jak i wielu innych można znaleźć w repozytorium biblioteki HAL. Jest ona instalowana wraz z oprogramowaniem STM32CubeMx oraz STM32CubeIDE. Przykłady znajdują się w katalogu domowym użytkownika np.

c:\Users\NazwaUzytkownika\STM32Cube\Repository\STM32Cube_FW_L4_V1.17.2\Projects\32L476GDISCOVERY\