Zpět na ukázky práce

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
Dva řídicí moduly se sdíleným bootloaderem a knihovnou pro motory a komunikaci. Každý modul má vlastní rutiny pro řízení konkrétních os.
Společné části tvořily bootloader a sdílená knihovna. Rutiny pro řízení konkrétních os implementoval každý modul samostatně. Diagram neukazuje zapojení ani konkrétní přiřazení os.

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.

Podobné zadání

Potřebujete upravit firmware nebo rozšířit funkce stávajícího zařízení?

Napište, na jakém hardwaru zařízení běží a co potřebujete změnit.

Tomáš Vávra · nezávislý vývojář

tomas@vavrasystems.cz