User Tools

Site Tools


project:eaton:proj_eaton

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
project:eaton:proj_eaton [2018/08/20 13:05]
xkubalik created
project:eaton:proj_eaton [2018/10/25 10:43] (current)
xkubalik
Line 1: Line 1:
 ====== Projekty zadané společností EATON ====== ====== Projekty zadané společností EATON ======
 +
 +===== Knihovní funkce pro mikroprocesor =====
 +**Cíle:**
 +• Prozkoumejte,​ jak je naimplementován blok kontrolního součtu, časovače, I2C komunikační sběrnice, pulzně šířkové modulace na zadaném mikrokontroléru.
 +• Zjistěte,​ které části jsou již implementovány (Hardware Abstract Layer) .
 +• Navrhněte seznam knihovních funkcí (Application Programming Interface), které jsou potřeba naimplementovat.
 +• Navržené knihovní funkce naimplementujte v jazyku C.
 +• Výsledné řešení otestujte.
 +• Pro veškeré navržené funkce vytvořte dokumentaci v dOxygen formátu.
 +
 +**Výstupy:​** Knihovní funkce a dokumentace v dOxygen formátu pro:
 +• blok kontrolního součtu (CRC)
 +• časovače (CCTIMER, SWTIMER)
 +• I2C komunikační sběrnice (I2C)
 +• pulzně šířkové modulace (PWM)
 +
 +**Otestovat tyto knihovní funkce :**
 +• Spočítat kontrolní součet celé paměti a porovnat jej s očekávaným výsledkem.
 +• S použitím čítače a sensoru zjistit rychlost a směr otáčení hřídele motoru.
 +• Otestovat komunikaci po sběrnici s obvodem reálného času připojeného přes Arduino shield.
 +• Otestovat řízení motoru pomocí H-můstku připojeného přes Arduino shield.
 +• Otestovat funkčnost dostupných led diod.
 +
 +===== Knihovna logovacích funkcí pro zachycení chyb =====
 +
 +**Cíle:**
 +• Prostudujte způsob řešení pro zpracování chybových výstupu periferií procesoru.
 +• Navrhněte knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup.
 +• Knihovna bude podporovat různé typy výstupů v závislosti na nastavení preprocesorových maker (časová značka, jméno souboru – modulu, který hlásí chybovou hlášku, stupeň důležitosti)
 +• Knihovna bude umožňovat volbu výstupu pro odesílání chybových zpráv (do FLASH paměti, na sériový výstup) v závislosti na nastavení preprocesorových maker.
 +• Při implementaci je nutné brát v úvahu výslednou velikost chybového výstupu, která by měla být optimalizována na co nejmenší velikost. Pro dekódování optimalizovaného výstupu použijte script, který zkomprimovaná data načte a zobrazí je v čitelné podobě + možnost výstupu do JSON formátu.
 +• Navržené řešení implementujte jako knihovní funkce v jazyku C pro zadaný mikrokontrolér.
 +• V jazyce Python napište script pro následné dekódování.
 +• Výsledné řešení otestujte.
 +
 +**Výstupy:​**
 +• Knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup.
 +• Script v jazyce Python pro následné dekódování logu.
 +• Test logovacího systému s pomocí RaspberyPi, které bude řídit testovaný mikrokontrolér.
 +
 +===== Reálný model pásového dopravníku řízený uC =====
 +
 +**Cíle:**
 +• Prozkoumejte,​ jak jsou naimplementované časovače a pulzně šířková modulace na zadaném mikrokontroléru (nastudovat dané části ve specifikaci mikrokontroléru).
 +• Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer).
 +• Navrhněte seznam knihovních funkcí (Application Programming Interface), které jsou potřeba naimplementovat.
 +• Navrženou knihovnu funkcí naimplementovat v jazyku C.
 +• Sestavte pásový dopravník z již hotových součástí stavebnice merkur.
 +• Osaďte pásový dopravník DC motorem a rotačním snímačem.
 +• V jazyce C naimplementujte vyčítání pozice dopravníku a následné řízení motoru s možností přímého řízení pozice dopravníku.
 +• Vyzkoušejte různé typy řízení (PID regulace).
 +• Pro knihovní funkce vytvořte dokumentaci v dOxygen formátu.
 +• Výsledné řešení otestujte.
 +
 +**Výstupy:​**
 +• Funkční model pásového dopravníku sestaveného ze stavebnice merkur.
 +• Knihovní funkce a dokumentace v dOxygen formátu k řízení motoru a optimalizace k omezení času, kdy oba tranzistory v H-můstku jsou aktivní.
 +• Knihovní funkce a dokumentace v dOxygen formátu k vyčítání pozice a rychlosti dopravníku.
 +• Knihovní funkce a dokumentace v dOxygen formátu k PID regulaci.
 +• Test - vstupem bude pozice dopravníku a dopravník musí dané pozice dosáhnout co nejrychleji s danou přesností.
 +
 +===== Grafické uživatelské rozhraní (GUI) pro definování funkcionality vývodů mikrokontroléru a generování kostry kódu v jazyku C =====
 +
 +**Cíle:**
 +• Prozkoumejte,​ jak je implementován blok přiřazení funkce k vývodům mikrokontroléru (nastudovat specifikaci IO_CTRL bloku) pozn.: IO_CTRL - ovládá propojení mezi vývodem na ASICu a periferií uvnitř obvodu (například přiřadí funkci I2C.SDA nebo I2C.SCL k vývodům).
 +• Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer).
 +• Navrhněte implementaci uživatelského rozhraní v jazyce Python (inspirujte se jinými výrobci mikrořadičů - STM32CubeMX).
 +• Všechna možná nastavení přiřazení v mikrořadiči budou popsána v JSON formátu.
 +• Uživatelské rozhraní umožní čtení a zápis uživatelem zvolené konfigurace ve formátu JSON.
 +• Uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (přiřazení funkce k vývodu obvodu), která byla nastavena uživatelem v uživatelském rozhraní.
 +• Navržené řešení implementujte a následně otestujte.
 +
 +**Výstupy:​**
 +• Grafické rozhraní v jazyce Python včetně dokumentace.
 +• Možnost generování C kódu z grafického rozhraní.
 +• Možnost uložení a načtení aktuálního nastavení v grafickém rozhraní.
 +• Možnost načíst definici přiřazení funkcionality specifické pro daný mikrořadič.
 +
 +===== Grafické uživatelské rozhraní (GUI) pro nastavení hodinových stromů v mikrokontroléru a generování kostry kódu v jazyku C =====
 +
 +**Cíle:**
 +• Prozkoumat jak je implementován blok přiřazení hodinových stromů v mikrokontroléru (nastudovat specifikaci CLK_NRES bloku) pozn.: CLK_NRES - ovládá propojení hodinových stromů mezi vstupním hodinovým signálem a periferií, dále umožňuje nastavení hodinového závěsu (PLL) a různé hodinové děličky.
 +• Hodinové stromy jsou popsány v JSON formátu a můžou být tím pádem generické.
 +• Všechny omezující podmínky jsou popsány v JSON formátu.
 +• Prozkoumejte,​ jaké jsou možnosti hodinových cest v mikrokontroléru.
 +• Zjistěte,​ jak jsou implementovány stávající funkce (Hardware Abstract Layer).
 +• Navrhněte implementaci uživatelského rozhraní (inspirujte se jinými výrobci mikrořadičů - STM32CubeMX).
 +• Uživatelské rozhraní umožní čtení a zápis zvolené konfigurace ve formátu XML/​JSON/​jiné.
 +• Uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (nastavení hodin obvodu a periferií),​ která byla nastavena uživatelem v uživatelském rozhraní.
 +• Uživatelské rozhraní kontroluje nastavení, zda-li dává smysl a respektuje pravidla definovaná specifikací (např. že max. výstupní frekvence PLL je 100MHz).
 +• Navržené řešení zrealizujte a řádně otestujte.
 +
 +**Výstupy:​**
 +• Grafické rozhraní v Python včetně dokumentace.
 +• Možnost generování C kódu z grafického rozhraní.
 +• Možnost uložení a načtení aktuálního nastavení v grafickém rozhraní.
 +• Možnost načíst omezující podmínky pro konfiguraci hodinových stromů v grafickém rozhraní.
 +• Možnost načíst definici (topologii) hodinových stromů v grafickém rozhraní
 +
 +===== Sběr dat z elektroměrů pomocí RaspberryPI =====
 +
 +**Cíle:**
 +• Proveďte průzkum trhu elektroměrů používaných pro datová centra.
 +• Nainstalujte a nakonfigurujte NUT (Network UPS Tools) na RaspberryPi.
 +• Navrhněte a naimplementujte podporu Eaton zařízení (resp. zařízení od našich konkurentů) do NUTu.
 +• Při návrhu zohledněte návrhové vzory projektu NUT.
 +• Výsledné zařízení otestujte na reálném hardware a vytvořte několik ukázkových příkladu použití.
 +• Pro výsledné řešení vytvořte dokumentaci.
 +
 +**Výstupy:​**
 +• Předpokládaný výstup práce zahrnuje zprovoznění NUTu na RaspberryPi a rozšíření jeho současné implementace o nová zařízení,​ a to o elektroměry používající SNMP protokol: přidáním SNMP objektů, nezbytné rozšíření kódu NUTu (přidání nového ovladače, popř. nového namespace).
 +• RaspberryPi by mělo být schopné číst data z vybraných zařízení.
 +• Kód bude dokumentován a testován.
 +• Dokumentace k vytvořenému řešení.
 +
 +===== Monitorování dieselového generátoru pomocí RaspberryPI =====
 +
 +**Cíle:**
 +• Proveďte průzkum trhu dieselgenerátorů se zaměřením na jejich dostupné komunikační rozhraní.
 +• Navrhněte a implementujte Modbus TCP a RTU ovladače do NUTu na platformě RaspberryPi.
 +• Implementovanou podporu sběrnice Modbus použijte ke komunikaci s dieselovým generátorem (bude poskytnuta specifikace ke konkrétnímu zařízení) a sběru dat.
 +• Pro výsledné řešení vytvořte několik přikladu pro ověření správné funkce komunikace s dieselagregatem.
 +• Pro realizované řešení vytvořte dokumentaci.
 +
 +
 +**Výstupy:​**
 +Předpokládaný výstup práce zahrnuje zprovoznění NUTu na RaspberryPi a rozšíření jeho současné implementace o nový ovladač Modbusu TCP/RTU.
 +RaspberryPi by mělo být schopné použít Modbus TCP/RTU převodník ke komunikaci s dieselovým generátorem.
 +Výsledné řešení bude dokumentováno a testováno s reálným dieselgeneratorem.
 +
project/eaton/proj_eaton.1534763132.txt.gz · Last modified: 2018/08/20 13:05 by xkubalik