Ukázky práce
Přepis firmwaru robotického manipulátoru pro spolehlivý provoz
Přepis firmwaru dvou řídicích modulů do C na stávajícím hardwaru. Moduly sdílely bootloader a knihovnu pro práci s motory, komunikaci a další společné funkce; každý měl vlastní rutiny pro řízení svých os.
Anonymizovaný profesní projekt · moje role: firmware obou řídicích modulů
- Oblast použití
- Laboratorní automatizace
- Výchozí stav
- Funkční hardware, prototypový firmware
- Rozsah
- Dva interní řídicí moduly
- Zaměření
- firmware, řízení pohybu, konfigurace a diagnostika
Výchozí stav
Robotický manipulátor měl funkční hardware a prototypový firmware v interpretovaném BASICu. Oba řídicí moduly se blížily kapacitě flash paměti a implementace omezovala výkon i přidávání dalších funkcí.
Kalibrace vyžadovala úpravu firmwaru podle mechanických vlastností každého kusu. Vznikaly tak samostatné softwarové varianty, které komplikovaly údržbu. Chybělo systematické zpracování chyb, diagnostika a praktický způsob aktualizace u zákazníka.
Zadání a přístup
Mým úkolem byl přepis firmwaru obou modulů na stávajícím hardwaru. Součástí zadání byla konfigurace, diagnostika, definované chování při poruchách a možnost aktualizace.
Řízení muselo respektovat mechaniku stroje a komunikovat s motorovými drivery přes proprietární protokol. Bylo také potřeba ošetřit jejich občasné chyby, které se obtížně reprodukovaly.
Technické řešení
Firmware jsem přepsal do C. Nová architektura snížila paměťové nároky a uvolnila místo pro další funkce.
Klíčové části řešení:
- Architektura a paměťOba moduly využívaly společný bootloader a sdílenou knihovnu pro motory, komunikaci a další funkce. Každý modul měl vlastní rutiny pro řízení konkrétních os.
- Komunikace s pohonyIntegrace přes proprietární protokol včetně prevence známých problémů driverů a definované reakce, když se jim nelze vyhnout.
- Řízení pohybuParalelní pohyb více os a optimalizace pohybových sekvencí.
- Kalibrace a konfiguracePoloautomatická kalibrace a ukládání parametrů do flash paměti. Rozdíly mezi kusy a variantami zařízení se řešily konfigurací místo samostatných úprav kódu.
- Reakce na mezní stavyReferencování os (homing) s ošetřením mezních stavů, reakce na interlock a řízený pohyb proti překážce s automatickým zastavením.
- ServisBootloader pro aktualizace firmwaru u zákazníka.
Výsledek
Nová implementace umožnila přidávat další funkce a řídit paralelní pohyb více os na původním hardwaru. Kalibrační parametry se ukládaly do flash paměti, takže nastavení jednotlivých kusů již nevyžadovalo vlastní softwarovou variantu.
Firmware obsahoval diagnostiku, definované reakce na poruchy a bootloader pro aktualizace. Tyto funkce vytvořily základ pro údržbu a další rozvoj na původním hardwaru.