Transkodér (na čo (nám) to je?) a Diferenciálny výškomer

Transkodér je súčasť novej verzie našej PC Telemetrie, ktorá tohto roku „slávi“ svoje už piate narodeniny.

Za tú dobu intenzívneho používania sme na nej nepotrebovali zmeniť takmer nič. Jediné, čo nás trápilo, bolo to, že jej softvér sme tesne naviazali na prevodník USB/RS232 s obvodom CP2101, ktorý sa však už nedá zohnať a máme len dva a v prípade poruchy niektorého z nich by sme boli „nahraní“.

A tak sme si už dávnejšie hovorili, že raz s tým bude treba niečo urobiť, ale stále vyhrávala praxou overená myšlienka: „Kým to bez problémov funguje, netreba do toho babrať!“

Až jedného dňa Miroslav prišiel s tým, že by chcel, aby naša Telemetria (okrem toho, čo robí teraz) robila ešte aj … (a vymenoval asi 10 ďalších funkcií).

autor: Janko O.

 

Ako doteraz vyzerala "tvár" našej PC Telemetrie si môžete pozrieť v úvode vydareného videa, ktoré ešte v zime natočil, umne zostrihal a príhodne ozvučil Stano:

Video: Skipper, Ďatelina, 27-28.1.2017
 

Že sme sa fakt usilovne snažili zohnať prevodníky USB/RS232 s obvodom CP2101, dokazuje aj článok „Kúpime (alebo vymeníme) FrSky – USB kábel“ a aj to, že sme dali inzeráty na rôzne modelárske fóra, dokonca aj na RC-Groups.

 


 

Medzi Miroslavovými požiadavkami, spomenutými v úvode, bola aj možnosť tlačidlami (umiestnenými „niekde“ na vysielači) vyžiadať hlásenia o stave energie, o výške či rýchlosti modelu a pod, mimo „pravidelných“ hlásení.

Miroslavove požiadavky boli logické: pri riadení niektorých modelov nie je vhodné (a niekedy ani možné) „odtrhnúť“ od nich pohľad čo i len na chvíľu a pritom je dôležité vedieť, koľko „šťavy“ mi v batérii ešte zostáva, či aká je rýchlosť (výška) modelu.

Toto všetko vyžadovalo nejako „vstúpiť“ do počítača telemetrie a odovzdať mu požiadavky na hlásenia, lenže …

Takéto mini-počítače (ako náš BenQ S6) majú len jeden USB port. Takže by bolo nutné do „vložky“ pridať USB rozbočovač a ďalší prevodník USB/RS232 (zase: ako by sme nemali dosť starostí s tým prvým ). A samozrejme, musel by sa upraviť program našej PC Telemetrie, čomu sme sa úspešne celých päť rokov bránili.

Ďalšou možnosťou (oným povestným škrabaním sa ľavou rukou za pravým uchom) by bolo: pridať do „vložky“ prídavný modul s PIC mikrokontrolérom, ktorý by do FrSky protokolu „zamontoval“ tie naše signály na požiadavky hlásení stavu energie, rýchlosti, výšky … Nebol by síce potrebný ani USB rozbočovač ani ďalší prevodník USB/RS232, ale tých signálov by mohol byť len neveľký obmedzený počet a opäť by sa musel upraviť program PC Telemetrie .

Namiesto týchto zložitých myšlienkových konštrukcií sme napokon prijali iné – oveľa čistejšie a univerzálnejšie riešenie: Do „vložky“ sa pridá modul s PIC mikrokontrolérom (ktorý sme nazvali Transkodér) a namiesto nezohnateľného USB/RS232 prevodníka s obvodom CP2101 sa použije bežne dostupný novší prevodník s obvodom CP2102 či 2103 (alebo hocijaký iný, napr. aj s obvodom FTDI).

V ľavej časti "vložky" už je umiestnený nový typ prevodníka USB/RS232. Vpravo je samotný modul Transkodéra, ku ktorému je krúteným káblikom pripojená dvojica mikro-tlačidiel, ktoré však lepšie vidno na nasledujúcom obrázku:

Úlohou Transkodéra je: 

  • FrSky protokol „očistiť“ od riadiacich znakov a prekódovať do nášho protokolu, založeného na Dvoj-Bytoch

  • umožniť pridávanie ďalších signálov (požiadavky na hlásenia) a dát (napr. nadmorská „stacionárna“ výška (bude spomenuté nižšie pri popise Diferenciálneho výškomera) a pod.)

  • hore spomenuté dáta „zabaliť“ do dátových paketov a cez USB port odoslať do počítača PC Telemetrie vyššou rýchlosťou (ako FrSky)
     

Je zrejmé, že úprave softvéru počítača PC Telemetrie sa (v žiadnom prípade) nedalo vyhnúť. A tak sme využili dlhé zimné večery a dlhotrvajúce nepriaznivé počasie a niekoľko týždňov sme sa venovali vývoju a výrobe hardvéru (samotný modul - Transkodér, ale ten sa dá vyrobiť za pol dňa), ale najmä vývoju a úprave:

  • softvéru pre mikrokontrolér Transkodéra (ktorý musí spolupracovať s)

  • softvérom pre počítač PC Telemetrie


     

No a keď sme už boli v tom, tak sme sa rozhodli trochu zmeniť - zmodernizovať aj look našej PC Telemetrie: pripravujeme článok s videom, na ktorom bude jej nový vzhľad aj funkcia tlačidiel vyžiadaných hlásení.

Keď sa úpravy softvéru chýlili ku koncu a počasie bolo stále pod psa, rozhodli sme sa „rozchodiť“ výškový/tlakový senzor MPL3115A2 od americkej firmy NXP (predtým Freescale).


 


 

K tomu ale treba rozpovedať aj príbeh, ako k tomu došlo:

Pôvodne sme v niektorých našich modeloch používali (a ešte stále používame) na meranie výšky ich letu tlakový senzor MPX4115A od firmy Freescale (predtým divízia Motoroly). Tento senzor má však analógový výstup a vzhľadom na jeho veľký tlakový rozsah, sú zmeny jeho výstupného napätia pre modelárske účely príliš malé a tak pri použití 10-bitového ADC v mikrokontroléri by rozlišovacia schopnosť výškomera bola nepostačujúcich 30 metrov. My sme sa to pred rokmi rozhodli obísť „fintou“, popísanou v článku „Keď 10 bitov nestačí“.

Neskôr sme sa začali zaoberať tlakovým senzorom BMP085 od firmy Bosch, avšak po zoznámení sa s jeho možnosťami a hlavne neskutočne komplikovaným a neohrabaným spôsobom výpočtu výšky letu modelu (a po niekoľkodňovom experimentovaní) sme ho nazvali „polotovarom“  (pravdu povediac sme mu dali ešte horšie meno: nedorobok  ).

Keď sme si naň občas kade-tade posťažovali, ozval sa nám Andrej B. (autor niekoľkých článkov na našej web-stránke) a poslal nám odkaz na (vtedy) nový senzor MPL3115A2. Po naštudovaní jeho parametrov a spôsobov získavania hodnôt teploty, tlaku či nadmorskej výšky (po zbernici I2C odosiela už spracované a vypočítané hodnoty teploty, tlaku či nadmorskej výšky) sme si povedali: „Toto je iné kafe!“ Takto má vyzerať senzor, ktorý znesie označenie: user friendly .

Následne na to Miroslav vo Farnelli objednal 10 kusov .

A tak sme si pred pár dňami na našej „bastel-doske“ overili funkciu Teplomer + Tlakomer:

no hlavne Teplomer + Výškomer:

Pre lepšiu predstavu, aký "veľký" je senzor MPL3115A2, sme dva z nich položili na displej.

 


 

Povzbudení výsledkami experimentovania (skôr to bolo také príjemné hranie sa) s týmto senzorom sme s Miroslavom začali fantazírovať o jeho širokom využití, výsledkom čoho bolo, že sme navrhli koncepciu tzv. Diferenciálneho výškomera.

Ide o to, že pri použití akéhokoľvek tlakového senzora na zisťovanie výšky letu modelu narazíte na tzv. Driftovanie (kolísanie - atmosférického tlaku). Zmeny atmosférického tlaku v závislosti od počasia sú také (výrazné), že chyba merania nadmorskej výšky je:

  • v priebehu hodiny/hodín rádovo metre až desiatky metrov

  • v priebehu dňa/dní rádovo desiatky až stovky metrov


     

Príklad: v priebehu piatka (17.3.2017) až soboty (18.3.2017) boli zmeny počasia (a teda aj atmosférického tlaku) také, že samotným senzorom (z hodnôt tlaku) vypočítaná nadmorská výška môjho pracovného stola bola v piatok 307 metrov, ale v sobotu už 454 metrov. V nedeľu (19.3.2017) okolo obeda to bolo 389 metrov (viď fotografia vyššie).

Diferenciálny výškomer by však toto driftovanie eliminoval. Ako?

Výškomery by boli dva: jeden (ako normálne) v modeli a druhý by bol vo vysielači (v mojom prípade vo „vložke“), pripojený na Transkodér, ktorý by jeho dáta posielal do počítača PC Telemetrie. Driftovanie tlaku by sa na obidvoch senzoroch prejavovalo rovnako a tak by počítač PC Telemetrie vypočítal rozdiel výšky modelu a "stacionárnej výšky" (nadmorskej výšky vysielača), čím by sa driftovanie tlaku zo vzťahu „vytratilo“. Takto by bolo možné merať aj malé zmeny výšky, ktoré by sa inak (pri meraní jedným senzorom) „utopili“ v „šume“ náhodných (či počasím spôsobených) zmien tlaku.


 


 


 

 

 


<Staršie | tento článok | Novšie>

Napísané: 20. 3. 2017, 07:49 | Prečítané: 844x | Kategórie: Elektronika | Napísal: admin |
Komentáre: 3
Bolo by zaujimave mat tuto ficuuuru pouzitelnu aj s inym variom (napriklad frsky high precision vario).
Mat v T9x zabudovane RTC, GPS a Vario by bol uz iny overkill. :)
Odpoveď | 2017-03-21 15:20:52
.:. J O.
Oli,
to by sa do toho musel chytiť niekto, kto sa vyzná v Open softe pre tieto vysielačky.
Inak ani hardvérovo to nie je zložité: 2 vývody (Scl, Sda) zo senzora do procesora a je to.
Softvérovo: pár riadkov kódu (do 20).
Odpoveď | 2017-03-22 08:49:30
To je mi uplne jasne, aspon cast z toho ale uz existuje. :)
Mozno raz skusim pootravovat s niecim takym tvorcov alternativneho fw.
RTC uz mam, ersky to podporuje a moja nova zakladna doska ar9x tiez, zvysok by nemal byt pre nich zlozity.
Odpoveď | 2017-03-22 12:49:22
Pridaj komentár
Meno
Web
Mail
Kontrola Zadajte číslo päť
Text

:-)
:-D
:-(
|-/
:-[]
;-)
8-|
8-o
Tučné | Podrazené | Kurzíva  | zdroják | odkaz
  • Pre odoslanie správy môžete aj použiť klávesovoú skratku Alt+S. (Podporujú len niektoré prehliadače)
  • HTML znaky budú prevedené na entity.
  • Vyjadrujte sa tu ako doma, aby sme vedeli ako to u Vás vypadá.
  • Odkazy začínajúce http:// budú automaticky prevedené na odkazy , nepoužívajte však v jednom príspevku viac ako 3 - to robia len spam roboti:-)
správca | ICQ-Vaše ICQ | Podpora miniRS | Styl LazyDays | Sk preklad by beekeeper | Veľkosť databázy: 30437.34 kb