User Tools

Site Tools


project:eaton:proj_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.txt · Last modified: 2018/10/25 10:43 by xkubalik