MOSS – Přesný senzor pohybu

Symbol blokuPotřebná licence: ADVANCED
PIC

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

2023 © REX Controls s.r.o., www.rexygen.com