MOSS – Přesný senzor pohybu
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Blok MOSS implementuje pokročilý filtr pro inkrementální (kvadraturní) senzory polohy.
Blok vyžaduje 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 pulsu, 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.
Pokud není zaznamenán nový pulz po dobu stall, je senzor považován za zastavený a výstupy pos, vel, acc jsou nastaveny na 0. Je-li pos > maxpos, je vnitřní pozice zpracovaná Kalmanovým filtrem dekrementována o celočíselný násobek maxpos a inkrementována zpět pro výstup. To způsobí, že algoritmus filtru vypočítá dostatečně malá čísla a nesníží přesnost kvůli chybám zaokrouhlování. Výchozí hodnota by se normálně neměla měnit. Pokud není po dlouhou dobu přijat žádný impuls, výstup prediktoru začne driftovat. Pro překonání tohoto driftu, pokud není detekován žádný puls po dobu delší než mindivert, je výstupní pozice změněna o puls od vstupní (měřené) pozice.
Poznámka 1: Zdánlivě nelze polohu určit přesněji než je 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. Určování 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ý (gaussovský) šum, stačí znát jejich poměr a to je parametr alpha.
Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
tsPulse | Časová značka posledního pulsu | DWord (U32) |
cntPulse | Poslední stav čítače pulsů | DWord (U32) |
tsSync | Časová značka synchronizačního pulsu | DWord (U32) |
cntCorr | Odchylka aktuálního pulsu od ideální polohy | Double (F64) |
flags | Vstupní stavové příznaky (1: POS, 2: NEG, 4: RUN) | DWord (U32) |
R1 | Reset bloku | DWord (U32) |
Parametr
freq | Frekvence zdroje časové značky [Hz] 0.0 100000000.0 | Double (F64) |
stall | Čas pro aktivaci zastavení [s] 0.0 0.08 | Double (F64) |
alpha | Návrhový parametr Kalmanova filtru 0.0 200.0 26.0 | Double (F64) |
maxpos | Optimalizace zaokrouhlovacích chyb Kalmanova filtru 0.0 1e+10 | Double (F64) |
mindivert | Čas pro aktivaci omezení odchylky prediktoru [s] 0.0 0.003 | Double (F64) |
Výstup
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 | Kód chyby | Error |
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com