2 systémového softwaru
2.1μC / OS-II architektura
μC / OS-II je přenosný, implantabilní jádro operačního systému multitasking v reálném čase s vysokou účinností, malou stopou, dobrým výkonem a škálovatelností v reálném čase. Funkce, nejmenší jádro lze kompilovat na 2 kB. μC / OS-II je napsán v C a montážním jazyce. Většina kódu je napsána v jazyce C. Jen několik kódů úzce souvisejících s procesorem je napsáno v jazyce sestavení. Systém μC / OS-II zahrnuje pouze základní funkce, jako je naplánování úkolů, správa úloh, správa času, správa paměti, komunikace mezi úkoly a synchronizace.
Zadání úkolů v rámci systému 2.2μC / OS-II
Po úspěšném přenosu systému μC / OS-II do programu STM32F107 se programování založené na μC / OS-II provádí rozdělením velké aplikace na relativně nezávislé úkoly. Priorita každého úkolu je definována a jC / OS-II jádro naplánuje a spravuje tyto úlohy.
Námětem návrhu softwaru je poskytnout otáčky motoru a řízení kormidelního zařízení prostřednictvím sériového portu podle skutečného provozu robota. Rychlost motoru je porovnána s nastavenou hodnotou inkrementálního snímače a regulace uzavřené smyčky je implementována algoritmem rychlosti PID. Pozice kormidelního zařízení je hlavně v tom, že kodér absolutní hodnoty napájí zpět aktuální polohu a rychlost kormidelního zařízení je nastavena podle požadavku na čas působení. Funkce, které mají být realizovány softwarem řídicího systému motoru tohoto manipulačního robotu, jsou následující:
◆ Horní stroj udává otáčky motoru, úhel řízení a dobu působení;
◆ Vyžaduje nepřetržité nastavení rychlosti motoru a dobrého statického a dynamického výkonu. Rychlost není počítána algoritmem PI.
◆ Vyžaduje, aby kormidelní zařízení rychle dosáhlo stanoveného úhlu a zpětná poloha polohy se použije jako nastavení dané rychlosti kormidelního zařízení;
• Má určitou funkci ochrany proti poruchám. Když je motor zablokován, proud je příliš velký a kormidelní zařízení se dotýká koncového spínače, je nutné zastavit pohonný modul.
Pro implementaci výše uvedených funkcí lze návrh aplikace rozdělit na následující úkoly:
1 Spusťte úlohu. Inicializujte systém, vytvořte počáteční stav motoru, odstraňte ho a spusťte úlohu spát.
2 úkoly ochrany motoru a řízení. Používá se k reakci na externí přerušení při aktivování nadproudového nebo koncového spínače. Po zadání stavu přerušení se odesílá semafor úkolu. Program úlohy zjistí, že semafor je platný a reaguje na úkol a zastaví výstup. Priorita úlohy je nastavena na úroveň 0.
3 úkoly hostitelského počítače. Používá se pro horní stroj pro ovládání motoru a kormidelního zařízení a priorita úlohy je nastavena na úroveň 1. Když je generován registr datového vstupu hostitelského počítače, vytvoří se přerušení, které odešle přijatý bajt do vyrovnávací paměť a uvolní semafor daného úkolu hostitelského počítače; kdy se detekuje semafor, bude úloha spuštěna a bude proveden odpovídající bajt. Informace jsou analyzovány do odpovídajících otáček motoru a informace o poloze kormidelního zařízení, aby byly přiřazeny hodnoty odpovídajícím proměnným.
4 řízení otáček motoru. Pro regulaci rychlosti motoru s uzavřenou smyčkou je priorita úlohy nastavena na úroveň 2.
5 úkoly řízení kormidelního zařízení. Používá se k ovládání kormidelního mechanismu tak, aby dosáhl určeného místa v určeném čase a priorita úlohy je nastavena na úroveň 3.
2.3 Spusťte úlohu
V hlavním programu před voláním dalších úloh μC / OS-II nejprve volte funkci inicializace systému OSInit () pro inicializaci všech proměnných a datových struktur μC / OS-II; současně nastavit nečinný úkol OS_TaskIdle (), tento úkol je vždy v pohotovostním stavu; volání funkce OSTaskCreate () k vytvoření spouštěcí úlohy; volat OSStart (), přenést řízení do jádra μC / OS-II, spustit spouštění multitaskingu.
Spouštěcí úloha je vytvořena v hlavním programu, který má tři hlavní funkce:
1 pro inicializaci systému (výstupní modul PWM, sériový port, modul ADC, funkce přerušení vstupní úrovně, časovač).
2 Určete množství signálu používaného systémem.
3 stanovit další úkoly systému.
Konečně zavolejte OSTaskDel (OS_PRIO_SELF), abyste jej sám odstranili a spustili úlohu spát. Hlavní tok programu je uveden na obrázku 4.
2.4 úloha řízení otáček motoru
Pokaždé, když inkrementální snímač generuje externí přerušení, je semafor úkolu vydán ve stavu přerušení. Program úloh zjistí, že semafor je platný a reaguje na úkol. Úloha provádí řízení uzavřené smyčky měřením aktuální rychlosti motoru a daného porovnání rychlosti. Úloha pro řízení otáček motoru je znázorněna na obrázku 5.
2.5 Úloha řízení kormidelního zařízení
Servo řízení generuje referenční čas pomocí časovače, posílá semafor každému pevně stanovenému času a úloha bude provedena jednou. Úloha servořízení porovná polohu měřené absolutním enkodérem s danou polohou a nastavuje rychlost servopohonu podle zbývající doby. Průtok úloh servo řízení je zobrazen na obrázku 6.
3 elektromechanické rozhraní systému
Řídicí zařízení robota se skládá z reduktoru 30: 1 připojeného k stejnosměrnému motoru. Kodér absolutní polohy je připojen ke kormidlovacímu zařízení a posílá signál řízení kormidelního kloubu na řídící desku řízení. Dvě hřídele předního kola robota jsou spojeny převodovou tyčí. Jedna z hřídelů je spojena s převodovým mechanismem převodovým řemenem, takže když se kormidlové kolo otáčí, převodový řemen pohání převodovou tyč, aby se zajistilo, že obě přední kola se mohou otáčet synchronně. Motor pohonu zadních kol je stejnosměrný motor, který je přímo připojen k přírůstkovému snímači. Po snížení redukčního poměru o 25: 1 reduktor je zadní kolo poháněno mechanickým diferenciálem. Signály z inkrementálního enkodéru jsou také odesílány na řídicí desce jednotky. Struktura elektromechanického systému je znázorněna na obrázku 7.
Závěr
V tomto článku je realizována konstrukce hardwaru motoru a servoměničů manipulačního robota. Operační systém μC / OS-II v reálném čase je úspěšně vložen do STM32F107 a experiment s uzavřenou smyčkou o otáčkách motoru a kormidelního zařízení je dokončen. S využitím vlastností multifunkčního výkonu v reálném čase Cortex-M3 jádrového řadiče a systému μC / OS-II poskytuje softwarový a hardwarový základ pro následné snímání obrazu robotu a sledování navigace. Je-li existující algoritmus PI vylepšen a regulace rychlosti motoru a proudové dvojité uzavřené smyčky může být realizována, vlastnosti robotového motoru budou lepší a aplikační vyhlídka manipulačního robotu bude širší.





