MOSS – Přesný senzor pohybu
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Blok implementuje pokročilý filtr pro inkrementální (kvadraturní) senzory polohy. Blok
vyžaqduje speciální hardware, neboť pro správnou činnost je nutné znát nejen
aktuální hodnotu z čidla, ale také časovou značku posledního puslu, směr pohybu
při posledním pulzu, časovou značku referenčního okamžiku (ze stejného zdroje
jako časová značka pulzu). Výstupem bloku je nejen filtrovaná poloha, ale
také rychlost a zrychlení. Pro správnou činnost je potřeba vhodně zvolit
parametr alpha. Menší hodnota snižuje šum, ale zvětšuje zpoždění
signálu.
Poznámka 1: Zdánlivě nelze polohu určit přesněji než kvantizační chyba (+-1 pulz) měření, ale znalost rychlosti umožňuje odhadovat polohu přesněji. Dále se může zdát, že nelze určit rychlost přesněji než jako podíl počtu pulzů a rozdílu časových značek, ale vložením obou signálů do grafu je vidět, že MOSS signál zlepšuje. A určovat zrychlení diferencí vede na naprosto nepoužitelné hodnoty.
Poznámka 2: Interně blok realizuje Kalmanův filtr pro systém se 2 integrátory (tj. vstup zrychlení, výstup poloha). Filtr je diskretizován v každé periodě znova, přičemž diskretizační perioda je aktuální rozdíl časových značek. Pro odvození filtru je potřeba znát vstupní a výstupní poruchy. Pokud uvažujeme bílý (gausovský) šum, stačí znát jejich poměr a to je parametr alpha.
Vstupy
tsPulse | Časová značka posledního pulsu | DWord (U32) |
cntPulse | Poslední puls (stav čítače) | DWord (U32) |
tsSync | Časová značka synchronizačního pulsu. Čas synchonizačního pulzu je okamžik, ke kterému je určován výstup (obvykle okamžik spuštění tasku systému REXYGEN) | DWord (U32) |
flags | Vstupní příznaky (1: POS, 2: NEG, 4: RUN) | DWord (U32) |
R1 |
| DWord (U32) |
Parametry
freq | Frekvence zdroje časové značky [Hz] 0.0 100000000.0 | Double (F64) |
stall | Čas detekce zastavení [s]. Pokud nepřijde pulz více než stall sekund, je to vyhodnoceno jako zastavení (tj. výstupní rychlost i zrychlení je 0) 0.0 0.08 | Double (F64) |
alpha | Návrhový parametr kalmanova filtru. Menší hodnota vede na menší šum na výstupu, ale signál je více zpožděn a zprůměrován. Musí se nastavit kompromisně podle aplikace. 0.0 200.0 26.0 | Double (F64) |
maxpos | Parametr pro optimalizaci zaokrouhlovacích chyb. Pokud je poloha velké číslo, dochází při výpočtu k významným zaokrouhlovacím chybám. Aby se tomu zamezilo, tak pokud je poloha větší než maxpos odečte se celočíselný násobek tohoto parametru, s takto sníženou hodnotou se provede výpočet a na konec se odečtená hodnota zase přičte. Parametr by se neměl měnit. 0.0 1e+10 | Double (F64) |
mindivert | Minimální doba pro omezení odchylky [s]. Když puls nepřijde dlouhou dobu, výstupní poloha "driftuje". Aby se tomu zamezilo, tak pokud pulz nepřijde déle než mindivert je kontrolována výstupní poloha a pokud se liší více než +-1 od změřené, použije se náhradní (změřená) poloha. 0.0 0.003 | Double (F64) |
Výstupy
pos | Filtrovaná poloha | Double (F64) |
vel | Filtrovaná rychlost | Double (F64) |
acc | Filtrované zrychlení | Double (F64) |
status | Výstupní stavové příznaky (1: POS, 2: NEG, 4: RUN, 8: INIT, 16: PULSE, 32: STALLED, 64: DIVERT) | Long (I32) |
iE |
| Error |
[Předchozí] [Na začátek] [Výše]
2023 © REX Controls s.r.o., www.rexygen.com