Akce

Základní pojmy: PPM, CPPM, PWM, PCM a S.BUS

Z Wiki OpenTX

Verze z 12. 10. 2021, 14:13, kterou vytvořil Zdenek (diskuse | příspěvky) (→‎S.BUS)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Snažím se to popisovat pokud možno jednoduše a populárně, tak mne, páni odborníci, prosím nekamenujte :).

PCM   = Pulse Code Modulation (pulsně-kódová modulace)
PPM   = Pulse Position Modulation (pulsně-polohová modulace)
PAM   = Pulse Amplitude Modulation (pulsně amplitudová modulace)
CPPM  = Combined Pulse Position Modulation (firemní označení PPM výstupu přijímačů FrSky)
PWM   = Pulse Width Modulation (pulsně-šířková modulace)
S.BUS = sběrnice pro ovládání serv, vyvinutá firmou Futaba


Tyto zkratky označují způsob zakódování údajů o výchylkách v signálu, přenášeném mezi vysílačem a přijímačem, případně mezi přijímačem a servy.

PAM

Historicky zřejmě prvním způsobem kódování byla PAM. Kódování spočívá v prostém ovzorkování hodnoty přenášeného signálu v pravidelných intervalech. Amplituda přenášených impulsů odpovídá hodnotě přenášené veličiny v době trvání vzorkovacích impulsů. Tento způsob je velmi náchylný na chyby způsobené zkreslením signálu při přenosu. V moderní RC technice se nepoužívá.

PWM

PWM kóduje přenášenou veličinu jako šířku impulsu. Větší hodnotě přenášené veličiny odpovídá větší šířka impulsu. V RC technice je PWM využíváno pro komunikaci se servy a regulátory elektromotorů.

V RC technice se obvykle používá rozsah šířky impulsu od 1ms do 2ms (např. 1ms odpovídá jedné krajní poloze serva, 2ms druhé krajní poloze a 1,5ms je střední poloha). V praxi se někdy používají i rozsahy větší, od cca 0,8ms do 2,2ms. Opakovací perioda tohoto impulsu je obvykle 20ms (to umožňuje do jednoho PPM signálu vložit až 8 kanálů jednotlivých serv). Existují systémy, kde je v zájmu rychlosti odezvy tato perioda zkrácena, ale není to standardizováno. PWM signál pro serva s periodou 20ms a šířkou impulsu 1-2ms naproti tomu zpracují všechna běžná serva a regulátory.

Průběhy PWM ze servotesteru HobbyKing
(Sejmuto pomocí kapesního osciloskopu DSO Nano v2 s firmware BenF v3.64)

Celá perioda signálu - 22,5ms Synchronizační impuls
Minimální hodnota - 0,9ms Střední (neutrální) hodnota - 1,52ms
Celková délka impulsu pro střední polohu kniplu Celková délka impulsu pro střední polohu kniplu
Maximální hodnota - 2,2ms Celková délka jednoho cyklu signálu - cca 15ms
(v RC standardně 22,5ms)

Které části RC výbavy modelu obvykle využívají PWM?

  • Serva
  • Regulátory motorů (ESC - Electronic Speed Controllers)
  • RC přepínače
  • RC osvětlení
  • Záznamníky dat (Data loggers)
  • Samostatné moduly Failsafe
  • Autopiloty/Stabilizační systémy
  • Testery serv


PPM

PPM kóduje hodnotu jako polohu impulsu ve vymezeném časovém intervalu. V PPM signálu může být (a v případě RC souprav je) zakódována hodnota několika veličin (kanálů). Přenáší se postupně po sobě. Opakovací perioda klasického kompletního signálu PPM ("rámce") je zpravidla 22,5ms.

Asi nejpřehlednější obrázek jsem našel na starším německém webu:

Ve spodní části obrázku je znázorněn vliv rušivého impulsu, který "zpřehází" kanály v PPM signálu.

V principu se jedná o až 8 signálů PWM pro jednotlivé kanály, spojených za sebou. Každý interval je zahájen synchronizačním impulsem opačné polarity o šířce cca 0,3ms, jehož trvání se odečítá od délky původního signálu PWM. Signály pro jednotlivé kanály na sebe bezprostředně navazují. Za posledním kanálem je vložen ukončovací impuls rámce o šířce 0,3ms a následuje interval (při obvyklých parametrech signálů min. 3,8ms) bez synchronizačních impulsů. Protože je v šířce závěrečného intervalu rámce jistá rezerva, připouštějí některé přijímače zpracování rámce s impulsy kanálů o max. šířce až 2,2ms.

Takže proč se tomu říká PPM? Když se na signál podíváte, je vidět, že šířka původních PWM impulsů je vymezena polohou synchronizačních impulsů (jejich vzdáleností od sebe). Takže se to celá dá chápat také tak, že hodnota v kanálu je dána vzájemnou polohou dvou následujících synchronizačních impulsů jednotné šířky. Tak také byla (pokud si vzpomínám na školní léta) PPM původně definována.

V RC technice je nejběžnější rozsah intervalu, ve kterém se pohybuje impuls od 1ms do 2ms. Střední hodnota ("0") je 1,5ms.

Ve firmware OpenTx lze nastavovat periodu opakování PPM rámce (implicitně 22,5ms), šířku synchronizačního impulsu jednotlivých kanálů (300μs) a měnit polaritu signálu.



Příklad: Průběhy PPM na Trainer konektoru T9X s OpenTx
(Sejmuto pomocí kapesního osciloskopu DSO Nano v2 s firmware BenF v3.64)

Celá perioda signálu - 22,5ms
Celá perioda signálu - 22,5ms
Průběh je sejmut v klidové poloze ovladačů - všechny
jsou v prostřední poloze, mimo plynu (3. kanál),
který je stažený na minimum.


Synchronizační impuls Celková délka impulsu pro střední polohu kniplu
Synchronizační impuls - cca 0,3ms Celková délka signálu jednoho kanálu pro střední polohu
kniplu - cca 1,5ms
Výchylka -100% -> 1ms Výchylka +100% -> 2.01ms
Výchylka -100% -> 1ms Výchylka +100% -> 2,01ms
Výchylka -125% -> 0,86ms Výchylka +125% -> 2.14ms
Výchylka -125% -> 0,864ms Výchylka +125% -> 2,14ms


Princip dekódování PPM signálu na jednotlivé kanálové PWM impulsy je zřejmý z obrázku - příklad pro 6 kanálů a délku PPM rámce 20ms (převzato z http://paparazzi.enac.fr/wiki/RC_Receivers_and_Radios#Introduction):

Souvislost PPM a PWM

Pokud je zarušený signál PPM, přijímač nadbytečné impulsy chápe jako součást signálu a posílá tedy nesprávné požadavky na serva, která se krátce vychýlí do nesprávné polohy ("škubou") (ukazuje to spodni část obrázku typického průběhu PPM). To může velmi znesnadnit až znemožnit řízení modelu. Nicméně, k tomuto obvykle dochází krátkodobě a postupně, takže pilot může na neobvyklé chování zareagovat, například tak, že přiletí blíž k vysílači.

Jak je zřejmé z principu kódování a vidět z obrázku, nemohou se jednotlivé impulsy pro serva, vycházející z přijímače s přenosem PPM, v čase překrývat. To je důležité zejména pro různé přídavné moduly, které s výstupy přijímače pro serva dále pracují (různé mixery, stabilizační jednotky atp.).

Tohle nemusí platit pro přijímače s PCM, tam mohou (a zpravidla bývají) vysílány signály pro více serv ve stejném čase. To je sice výhodné z hlediska plynulého a konzistentního řízení modelu, ale navazující zařízení, která spoléhají na nepřekrývání kanálů, s tím mívají problémy.

Které části RC vybavení obvykle využívají PPM?

  • RC vysílače
  • RC přijímače
  • Propojení učitel/žák
  • Autopiloty/Stabilizační systémy
  • Moduly pro připojení k počítači (pro simulatory)

Další informace

CPPM

CPPM je firemní označení společnosti FrSky pro PPM signál, vyvedený z přijímače na některý z konektorů. Znamená to Combined Pulse Position Modulation. Podporují jej některé z přijímačů systému FrSky ACCST (Advanced Continuous Channel Shifting Technology).

PCM

(Poměrně dobrý text na toto téma (v ruštině) je PPM или PCM ?)

PCM (Pusně kódová modulace) je způsob kódování hodnoty přenášené veličiny pomocí sériově přenášené posloupnosti binárních čísel. Hodnoty výchylek jednotlivých kanálů jsou zakódovány v binárním kódu. Konkrétní uspořádání celého přenosu se u jednotlivých výrobců liší. Obvykle se přenáší hodnoty výchylek s rozlišením na 10 bitů, což odpovídá 1024 úrovní kvantování (lze např. rozlišit 1024 různých hodnot pro polohu každého serva, což je daleko za obvyklou velikosti pásma necitlivosti a chyby zpracování v servu).

Do signálu PCM bývají obvykle vkládány další informace: jednoznačný kód přijímače (Model Match a podobné funkce, zabraňující ovládání modelu s jiným nastavením přijímače, než mu přísluší), nastavení Fail Safe, kontrolní součty pro odhalení chyby přenosu a služební informace pro udržení spojení.

Na webu http://www.aerodesign.de/peter/2000/PCM/PCM_PPM_eng.html (http://www.aerodesign.de/peter/ v němčině), poměrně dost informací o PCM a PPM a jejich vztazích. Je tam i obrázek, shrnující základní strukturu kódování některých známých PCM sytémů:

Poměrně obvyklá je praxe (zejména u vysílačů 2,4GHz), kdy z počítačové části vysílače je přenášen do vysílacího modulu signál ve tvaru PPM, tam se transformuje na PCM, odvysílá se do přijímače, ve kterém se z něho dekódují signály pro jednotlivé kanály (serva) ve tvaru PWM. Má to výhodu v tom, že vysílací moduly a přijímače mohou být výměnné (PPM je v podstatě standard), takže např. vysílač může vysílat svým nativním modulem a po výměně vysílacího modulu za Orange DSM2 může ovládat přijímače systému DSM2 (Spektrum). Nevýhodou je, že se při tom obvykle přijde o možnost používat Model Match a Fail Safe, protože není definován způsob přenosu v PPM signálu.

Proto se např. v T9X provádějí HW úpravy a úpravy firmware, které umožňují využívat jiné (FrSky,DSM2) moduly plnohodnotně.

Vysílače tzv. značkových výrobců toto obvykle neumožňují, jsou záměrně navrženy tak, aby plné využití možností vysílače bylo možné jen s originálními vysílacími moduly dané firmy a tím i pouze s jejich přijímači.

PCM se od ostatních systémů přenosu (PPM, PWM a PAM) odlišuje mimo jiné způsobem, jak reaguje na zkreslení signálu. Vzhledem k tomu, že PCM umožňuje zajištění správnosti přenesných dat pomocí kontrolního součtu, je schopen odhalit poměrně jednoduše případné porušení přenášených dat.

Na to reagují přijímače obvykle stejně, jako všechny lepší přijímače (i PPM) reagují na ztrátu signálu: pokud výpadek trvá po dobu prvních několik desetin sekundy až sekund ponecháním poslední platné hodnoty výchylek. Pokud trvá výpadek delší dobu, je volitelně buďto použita hodnota, určená uživatelem při nastavení Fail Safe, nebo se prostě přestane vysílat signál pro serva. Je pak na servech, jak na to zareagují. Některá serva mají vlastní Fail Safe, jiná přejdou např. do neutrální polohy. Většina serv prostě uvolní tah a přestanou udržovat výchylku. Regulátory elektromotorů a serva plynu sjedou na minimální hodnotu ("stáhnou plyn").

Pokud je zarušený signál PPM, přijímač nadbytečné impulsy chápe jako součást signálu a posílá tedy nesprávné požadavky na serva, která se krátce vychýlí do nesprávné polohy ("škubou"). To může velmi znesnadnit až znemožnit řízení modelu. Nicméně, k tomuto obvykle dochází krátkodobě a postupně, takže pilot může na neobvyklé chování zareagovat, například tak, že přiletí blíž k vysílači.

Naproti tomu PCM krátkodobá rušení "maskuje", takže pilot do poslední chvíle netuší, že se děje něco špatného. K výpadku pak dojde náhle, když doba rušení překročí dobu, kterou systém toleruje.

Výhody PCM jako přenosového protokolu

Přesnost polohování a žádné chvění serv, dokonce i při velmi velké vzdálenosti. Udržuje polohu serv při krátkých poruchách signálu. Protože není nutno dodržovat délku rámce PPM, je možné zkrátit dobu odezvy. Není tu riziko poškození serv náhodným povelem pro přejezd mimo mechanický rozsah.

Nevýhody PCM jako přenosového protokolu

Vzhledem k různým proprietárním protokolům mohou být přijímače provozovány pouze s vysílačem stejného výrobce.

Testování kvality přenosu je velmi obtížné, protože hold režim skrývá malé odchylky. Toto někdy může nepřímo spoluzavinit nehodu, neboť výpadek je náhlý a bez varování. Tomu lze zabránit využíváním zpětného přenosu informace o kvalitě signálu (RSSI) zpět k vysílači ("telemetrické" systémy 2,4GHz).

S.BUS

Tahle zkratka sem, poctivě řečeno, tak úplně nepatří. Ostatní vysvětlované pojmy jsou způsoby kódování, zatímco S.BUS je celá sběrnice, kde kódování je jen částí celkového návrhu. Ale často bývá v modelářském žargonu S.BUS dáván do souvislosti/protikladu s PWM, tak jsem to dal sem.

Sběrnice pro ovládání serv, vyvinutá firmou Futaba, je moderní alternativou klasického (hvězdicového) rozvodu PWM signálů v modelu. Obdobný systém, s jinou definicí datového protokolu používá i FrSky (někdy je označována jako F-BUS).

Standardní způsob rozvodu signálů od přijímače k servům je hvězdicový - ke každému servu vede z přijímače samostatný kabel se 3 vodiči, po 1 z nich je přiváděn řídicí signál PWM.

Systém S.BUS naproti tomu používá pro rozvod k servům jeden společný kabel, který může procházet přes více serv. Po kabelu je přenášen signál ve tvaru podobném, jako PCM signál u vysílačů. Po 1 kabelu se přenášejí údaje pro max. 18 kanálů (serv). V signálu má každé servo zakódovaný údaj o výchylce, identifikovaný číslem kanálu. Čísla se servům přidělují programově, pomocí speciálního software. Každé servo reaguje pouze na povely, které jsou opatřeny správným číslem kanálu.

Výhody:

  • menší počet kabelů
  • menší hmotnost
  • snažší vedení kabelů
  • jednoduché paralelní zapojování serv

Nevýhody:

  • porucha kabelu nebo rozhraní některého serva může vyřadit z provozu všechna serva, která jsou na něj připojena
  • potřeba převodníků S.BUS na PWM pro standardní serva
  • vyšší cena

Serva S-Bus jsou programovatelná:

  • číslo kanálu
  • nastavení střední polohy
  • nastavení koncové polohy zvlášť vlevo a vpravo
  • reverzování
  • rychlost přeběhu
  • nastavení hystereze (pásma necitlivosti)
  • filtr proti kmitání
  • chování při ztrátě signálu
  • typ serva normál/podvozek
  • rozběh (měký/tvrdý)

Podrobnějsí informace:

Podrobnější popis je např. zde, nebo zde, v němčině zde nebo zde.

Asi nejlepší, poměrně srozumitelný, popis o co jde v S.BUS a F-BUS (včetně popisu "protokolu" Futaba i FrSky a jeho kritiky) je na webu J. Řehůřka.