Jump to content

Search the Community

Showing results for tags 'opentx'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RC Model Technology
    • FrSky
    • OpenTX
    • Other
  • 77Hobby
    • FrSky Workshop
    • FAQ FrSky
  • Forum
    • How to use the Forum?
    • Welcome
    • Test

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


From where

Found 12 results

  1. Cześć, a jam mam taką kwestię do rozwiązania: jak wyświetlić na ekranie (np. ekranie telemetrii) pozycję przełącznika (3-pozycyjnego) obsługującego kanał 10 i 11 do sterowania trybem stabilizacji, ale w formie nadanej przez siebie nazwy ? ... czyli: w poz. dolnej (-100%), żeby wyświetlała mi się na ekranie telemetrii zamiast wartości przełącznika -100% nazwa STABILIZACJA w poz. środkowej (0%), żeby wyświetlała mi się na ekranie telemetrii zamiast wartości przełącznika 0% nazwa AUTO-POZIOMOWANIE w poz. górnej (+100%), żeby wyświetlała mi się na ekranie telemetrii zamiast wartości przełącznika +100% nazwa BRAK STABILIZACJI Nie ma problemu, żeby zrobić to w formie dźwiękowej, ale radio i tak już "dużo gada" przy telemetrii, wiec dobrze byłoby aby na ekranie telemetrii można wyświetlić położenie przełącznika (czyli aktualny tryb stabilizacji) nie w jego wartości, a w nadanej przez siebie nazwie...... nie mogę tego rozgryźć....
  2. artykuł w trakcie redagowania, na bieżąco modyfikowany i uzupełniany... Click here for English translation (Google auto-translation) OpenTX oferuje prawie niczym nieograniczone możliwości konfigurowania modeli. W niniejszym artykule opisuję szczegółową i dosyć zaawansowaną konfigurację OpenTX dla helikoptera nitro, pracującego pod kontrolą Brain 2. Jeśli dopiero zaczynasz przygodę z OpenTX, polecam lekturę artykułu Czym jest OpenTX? Informacje wstępne Celem artykułu jest zaprezentowanie – na przykładzie dosyć skomplikowanego technicznie modelu – kompletnej konfiguracji modelu helikoptera nitro w OpenTX. Jednocześnie zamiarem jest także pokazanie możliwości i potencjału tkwiącego w OpenTX. Dlatego z rozmysłem będę się starał użyć jak najwięcej narzędzi i różnych metod konfiguracji, tak by zaprezentować jak najwięcej z tego, co oferuje OpenTX. Wiele pokazanych funkcjonalności można w OpenTX ustawić w inny sposób. Starałem się wybrać taką metodę konfiguracji danej funkcjonalności, aby przy okazji "przemycić" nieco wiedzy na temat OpenTX ogólnie. Z tego samego powodu niektóre elementy, które nie są obecnie tak często używane w praktyce modelarskiej heli (np. tryb heli tail-free), zostaną jednak skonfigurowane i opisane. Poniższy opis – zapewne z niewielkimi modyfikacjami – będzie adekwatny dla każdego innego modelu helikoptera nitro. W znakomitej większości będzie także użyteczny przy konfigurowaniu helikopterów elektrycznych, czy każdego innego modelu RC. Pokazane przykłady wyzwalania liczników, alarmów, funkcji specjalnych, faz lotu, opis miksera, obsługiwania zmiennych globalnych, etc., zachowują uniwersalny charakter. Zakładam, że czytelnik posiada podstawową wiedzę z zakresu modelarstwa RC, konfiguracji OpenTX oraz jest zaznajomiony ze specyfiką i technicznymi aspektami modelarstwa jako takiego. Pomocna będzie wiedza dotycząca modeli RC helikopterów. Tym niemniej artykuł jest dosyć obszerny i wiele rzeczy wyjaśniam prawie od podstaw. Ze względu na specyfikę opisywanego zagadnienia zdecydowałem się na mieszanie języka polskiego z określeniami angielskimi. Szczególnie w modelarstwie helikopterów RC (choć nie tylko) w powszechnym użyciu są takie terminy jak expo, cyclic, tail, tail-gain, tail-free, heli, governor, etc. Dla niektórych określeń trudno nawet znaleźć polskie odpowiedniki lub są one niepraktyczne w codziennym użyciu. Będę się starał pisać jak najbardziej poprawną polszczyzną, ale nie będę za każdym razem wstawiać "skoku ogólnego łopat wirnika głównego" zamiast "pitch". Konfigurację OpenTX będę prezentował w OpenTX Companion, dzięki czemu będzie ona wyglądała bardzo podobnie dla każdego radia FrSky (polecam lekturę artykułu Czym jest OpenTX?). Będę używał profilu dla aparatury FrSky Horus X12S, ale nie ma to większego znaczenia. Omawiana konfiguracja będzie działała na każdym radiu pracującym pod kontrolą OpenTX, choć może być konieczne jest dostosowanie do danego modelu radia, a ściślej do ilości, rodzaju i nazw przełączników / potencjometrów (bez żadnych zmian działa na X10 / X10S oraz X9D; QX7 nie ma przełącznika SG, wymaga więc przemapowania tego jednego przełącznika) Będę pracował na OpenTX 2.2.3, co również nie ma większego znaczenia. Nie testowałem tego, ale konfiguracja powinna bez większych zmian działać także pod OpenTX serii 2.1. Testowe radio ustawione jest w MODE 2, co ma znaczenie wyłącznie, gdy dalej w tekście odwołuje się do prawego, czy lewego drążka. W dalszej części tekstu często odwołuję się do stanu konkretnych przełączników aparatur FrSky. Oznaczone one są wielkimi literami SA, SB, SC, SD, SE, etc. Ich ilość zależna jest od modelu radia. Przełączniki mogą być trój-pozycyjne (do siebie ↓, pozycja środkowa –, od siebie ↑) lub dwu-pozycyjne (do siebie ↓, od siebie ↑). Zatem np. zapis "SC–" oznacza pozycję środkową przełącznika SA, a zapis "SF↑" pozycję od siebie przełącznika SF). Pozycje "od siebie" i "do siebie" odnoszę do sytuacji, kiedy radio jest normalnie użytkowane (tj. trzymane w rękach lub zawieszone na tzw. "smyczy" czy szelkach, skierowane anteną w kierunku sterowanego modelu). Wszystkie zdjęcia i rysunki w tym artykule są miniaturami. Kliknij w miniaturę, aby zobaczyć obraz w pełnej rozdzielczości. Założenia projektu Przykładowy helikopter jest realnie istniejącym, oblatanym modelem. Wszystkie opisywane funkcjonalności zostały sprawdzone i działają poprawnie (tym niemniej sprawdź uwagę na końcu artykułu). Model wyposażony jest w następującą elektronikę zdalnego sterowania RC: odbiornik FrSky RX4R odbiornik redundantny FrSky XM+ czujnik telemetryczny FrSky Gas Suite z sondą temperatury PT1 czujnik telemetryczny FrSky GPS v2 kontroler flybarless MSH Brain 2 BT HD (dalej nazywanym kontrolerem FBL lub po prostu FBL; kontrolery Brain występuje także pod inną nazwą handlową – Ikon). inwerter sygnału MSH51645 czujnik obrotów silnika Spektrum SPMA9569, typu "backplate", czyli generujący impulsy na podstawie pracy wału korbowego, poprzez tylną pokrywę silnika nitro (czujnik podłączony jest to kontrolera Brain 2) Sygnał sterujący RC Do sterowania helikopterem użyłem ośmiu kanałów RC, podawanych w kolejności zgodnej ze domyślnymi oczekiwaniami kontrolera Brain 2: CH1: Ailerons (lotki) CH2: Elevator (ster wysokości) CH3: Throttle (przepustnica) CH4: Rudder (ster kierunku) CH5: Tail Gain (wzmocnienie P dla regulatora PID wirnika ogonowego) CH6: Pitch (nachylenie ogólne łopat wirnika głównego) CH7: Setup (tryby lotu) CH8: Aux (wykorzystywany do aktywacji tzw. "rescue", czyli trybu awaryjnego auto-poziomowania modelu) (w terminologii modelarstwa helikopterowego Ailerons i Elevator są określane wspólnie jako Cyclic, a Rudder jako Tail). Wartości kanałów sterujących odbiornika RX4R przekazywane są przez port SBUS OUT, podłączony poprzez inwerter MSH51645 do wejścia SAT-1 kontrolera Brain 2, zgodnie ze schematem: Brain 2 na porcie SAT-1 oczekuje nieodwróconego sygnału SBUS. FrSky na wyjściach SBUS swoich odbiorników używa sygnału odwróconego. Aby dostosować sygnał SBUS odbiornika do oczekiwań kontrolera Brain 2, należy go jeszcze raz odwrócić przy pomocy inwertera sygnału MSH51645 (podwójne odwrócenie daje pierwotny sygnał SBUS). Zamiast używać inwertera sygnału można zmodyfikować odbiornik w taki sposób, aby podłączyć się do sygnału SBUS, zanim zostanie on odwrócony i podany na standardowe wyjście SBUS odbiornika. Aby to osiągnąć trzeba się niestety wlutować w odpowiednim miejscu na płytce PCB odbiornika. Jednak dzięki temu eliminuje się konieczność użycia inwertera MSH51645. W przypadku odbiornika RX4R podłączenie się do odpowiedniego pinu na płytce PCB jest wymagające technicznie, ze względu na dużą skalę miniaturyzacji odbiornika RX4R. Dolutowanie się do właściwego pinu nie jest łatwe, choć przy odrobinie wprawy i przy użyciu odpowiednich narzędzi możliwe (podłączenie się do nieodwróconego sygnału SBUS jest o wiele prostsze w takich odbiornikach jak FrSky X4RSB, R-XSR, XSR-M, XM+ i innych). UWAGA: W przypadku stosowania zmodyfikowanego odbiornika lub innego inwertera sygnału, należy pamiętać, aby nie podłączać zasilania do portu SAT-1 kontrolera Brain 2 (na pinie zasilania portu SAT-1 występuje inny, separowany poziom napięcia zasilania). Zapewne z tego powodu oryginalny inwerter MSH51645 także nie przenosi linii zasilania, jest ona domyślnie rozłączona na płytce PCB inwertera MSH51546. Dodatkowo rozstaw pinów portu SAT-1 nie jest standardowy, tzn. pin zasilania nie jest pinem środkowym (tak jak popularnych modelarskich wtyczkach typu JR) – należy zatem zwrócić na to szczególną uwagę przy przygotowywaniu wtyku podłączanego do wejścia SAT-1 kontrolera Brain 2. Redundancja linku RC Odbiornik RX4R umożliwia podłączenie drugiego, zapasowego odbiornika, z którego będzie pobierany sygnał sterujący, w przypadku utraty zasięgu przez własne anteny RX4R. W przypadku modeli helikopterów użycie dodatkowego odbiornika może mieć szczególne znaczenie, gdyż konstrukcja helikoptera – zwykle głównie z włókna węglowego, z dużą ilością metalowych i blisko siebie położonych komponentów – może skutecznie blokować sygnał radiowy w niektórych pozycjach modelu względem nadajnika. Aby skorzystać z redundantnej konfiguracji, wyjście SBUS (OUT) odbiornika zapasowego podłącza się do portu wejścia SBUS (IN) odbiornika podstawowego. Oba odbiorniki binduje się do tego samego modelu w aparaturze – odbiornik podstawowy z obsługą telemetrii, odbiornik zapasowy bez telemetrii. FrSky XM+ jest idealnym odbiornikiem zapasowym ze względu na ultra-miniaturowe rozmiary i brak obsługi telemetrii. Anteny odbiornika głównego (RX4R) zlokalizowane są pod głowicą wirnika, zachowując kąt 90° między pojedynczymi antenami. Anteny odbiornika zapasowego (XM+) umiejscowione są pod belką ogonową helikoptera. Takie ustawienie anten powinno zapewnić znakomity odbiór sygnału RC, niezależnie od pozycji modelu. ... do uzupełnienia schemat połączeń wszystkich elementów Zasilanie Wszystkie komponenty elektryczne użyte w modelu akceptują zasilanie HV (ang. High Voltage), czyli do 8.4V. Dzięki temu instalacja elektryczna modelu może być zasilana bezpośrednio z akumulatora LiPo 2S, z pominięciem układu stabilizującego napięcie, tzw. BEC lub SBEC (w zależności od konstrukcji odpowiednio stabilizatory liniowe lub przełączające). Bezpośrednie zasilanie z baterii 2S eliminuje potencjalny punkt awarii (BEC/SBEC jest jednym z elementów ulegających najczęstszym usterkom) oraz niepożądane zakłócenia radiowe (przetwornice napięcia SBEC często wprowadzają zakłócenia). Bezpośrednie zasilanie oferuje praktycznie nieograniczoną wydajność prądową (zwykle większą niż jest potrzebna do zasilania nawet najmocniejszych serw cyfrowych), a także umożliwia łatwe odczytywanie napięcia zasilania instalacji modelu i przesyłania tej informacji w systemie telemetrii (więcej o tym w dalszej części artykułu). W przykładowym modelu mechanika helikoptera napędzana jest silnikiem nitro, który nie wymaga oddzielnego zasilania (nie ma układu zapłonowego). Można zamontować układ rozżarzający świecę. Nie jest to konieczne, choć na pewno wygodne. W przypadku braku BEC nie jest to wymagane, ale na wszelki wypadek w obwód zasilania podpięty został kondensator 4700µF, którego zadaniem jest filtrowanie ewentualnych, nagłych spadków napięcia. Telemetria Jedną z zalet OpenTX jest zaawansowany system telemetrii. Przykładową konfigurację systemu telemetrii w OpenTX 2.1 i nowszych opisałem w artykule Telemetria OpenTX 2.1. W przykładowym modelu wykorzystywane są następujące czujniki (parametry) telemetryczne: Odczytywane bezpośrednio z odbiornika RxBt – napięcie zasilania odbiornika, w tym przypadku tożsame z napięciem zasilania całej instalacji elektrycznej modelu) RSSI (ang. Received Signal Strenght Indicator) – wskaźnik poziomu odbieranego sygnału RC Odczytywane z czujnika FrSky GPS v2 GPS – współrzędne GPS GSpd – prędkość pozioma względem ziemi GAlt – wysokość względem poziomu morza (modyfikowana tak, aby pokazywać wysokość względem punktu startu) Date – aktualny czas i data (zobacz FAQ naszego Forum – Czas z czujnika telemetrycznego FrSky GPS) Odczytywane z czujnika FrSky Gas Suite GTp1 – temperatura silnika, mierzona na tylnej płycie silnika OS 105HZ-R (czujnik przepływu z Gas Suite nie jest wykorzystywany, gdyż w helikopterach sportowych poziom paliwa w zbiorniku jest doskonale widoczny). Odczytywane z kontrolera Brain 2 RPM – prędkość obrotowa wirnika głównego Wartości poszczególnych parametrów telemetrycznych odczytywane są przez Smart Port odbiornika RX4R, wysyłane zwrotnie do nadajnika i wykorzystywane w OpenTX np. do ustawiania alarmów. Wszystkie czujniki Smart Port – także występujący w tej roli kontroler Brain 2 – podłączone są do tej samej „szyny” Smart Port. Więcej szczegółów na temat różnych rodzajów portów używanych w FrSky i modelarstwie w ogóle znajduje się w artykule Porty nie tylko FrSky. Dzięki temu, że Brain 2 potrafi komunikować się z odbiornikami FrSky Smart Port, możliwe jest odczytywanie bardzo ważnego parametru – prędkości obrotowej wirnika głównego helikoptera (czujnik RPM). W niniejszej konfiguracji parametr ten jest logowany w OpenTX oraz możliwe jest głosowe odczytywanie aktualnej jego wartości, co jest bardzo użyteczne w trybie lotu bez aktywnego governora. Konfiguracja kontrolera flybarless MSH Brain 2 / Ikon 2 W niniejszym artykule używam kontrolera flybarless Brain 2 (sprzedawane także jako Ikon 2), ale co od zasady konfiguracja OpenTX będzie podobna dla dowolnego innego kontrolera FBL z wbudowanym modułem regulującym prędkość obrotową silnika (tzw. governor). Główne różnice względem innego kontrolera FBL będą zapewne związane z ilością i/lub kolejnością kanałów użytych do sterowania modelem oraz wykorzystywanymi funkcjami kontrolera FBL. Celem artykułu nie jest opisywanie konfiguracji kontrolerów flybarless MSH Brain 2, ale dla zrozumienia dalszej części artykułu konieczne jest podanie przynajmniej podstawowych informacji o tym, jak skonfigurowany został kontroler FBL. Postaram się też co jakiś czas wtrącić więcej informacji przydatnych przy konfiguracji kontrolerów Brain 2 / Ikon 2. Podaje informacje będą w znakomitej większości dotyczyły także pierwszych wersji kontrolerów Brain / Ikon (strony konfiguracyjnej wersja 1 nie różni się znacząco od wersji 2). Podstawowe informacje o konfiguracji kontrolera flybarless Brain 2 W menu selekcji typu odbiornika został wybrany „Smart Port / OpenTX / FrSky”. Zostały zdefiniowane trzy tryby (style) lotu, wybierane kanałem CH7: Normalny (governor aktywny, parametry do spokojnego latania lub dla początkujących) Sport (governor aktywny, parametry do latania sportowego lub nawet akrobacyjnego 3D) Normalny bez governora (tryb do docierania silnika nitro lub w razie gdyby zawiódł czujnik RPM podłączony do governora Brain 2) Governor aktywny jest wyłącznie w trybach Normalnym oraz Sport. Docelowe obroty governora w tych trybach sterowane są poziomem kanału Throttle (CH3), zgodnie z dokumentacją Brain 2: 0-24% – bez governora 25-49% – prędkość 1 (ang. Speed 1; zalecane 40%) 50-74% – prędkość 2 (ang. Speed 2; zalecane 60%) 75-100% – prędkość 3 (ang. Speed 3; zalecane 85%) UWAGA: Brain 2 – i zapewne wiele innych kontrolerów FBL – odnosi się tutaj do wartości procentowych w zakresie 0-100%. FrSky używa zakresu od -100% do 100%. Wartości należy zatem odpowiednio przeliczyć. Przeliczenia najprościej dokonać wg wzoru, zakładając: X – zakres od -100% do +100% Y – zakres od 0% do 100% Wzór do przeliczania: X = Y - 100 + Y np. dla zalecanych 40% wartości Throttle w skali od 0-100% X = 40 - 100 + 40 X = -20 Zatem w konfiguracji OpenTX, aby aktywować tryb Speed 1 governora Brain 2, należy użyć wartości minus 20% (lub innej, przeliczonej wg podanego wyżej wzoru, odpowiadającej wymaganemu zakresowi 25-49% w skali 0-100%). W praktyce wartość tę można dobrać doświadczalnie, obserwując jaką wartość pokazuje program do konfiguracji Brain 2 (monitor kanałów Brain 2 w zakładce Transmitter Setup). Wracając do konfiguracji kontrolera Brain 2: Wartości expotential zarówno dla cyclic, tail jak i pitch w kontrolerze Brain 2 ustawione są na zero. Ich wartości są definiowane w OpenTX. Umożliwia to łatwą zmianę tych parametrów z poziomu radia, bez konieczności podłączania się do kontrolera FBL przez Bluetooth czy USB. Z punktu widzenia artykułu istotna jest również konfiguracja funkcji „rescue” oraz „tail gain”: Funkcja „rescue” (awaryjne auto-poziomowanie modelu) aktywowane jest kanałem Aux (CH8). Wartość kanału CH5 określa tzw. „tail gain”, czyli wzmocnienie członu proporcjonalnego P funkcjonalności regulatora PID kontrolera FBL, sterującego skokiem łopat (ang. pitch) wirnika ogonowego. Wartości dodatnie kanału CH5 określają wzmocnienie w trybie „heading lock”, a wartości ujemne w trybie „tail free” (jak łatwo zauważyć w tym miejscu konfiguracji Brain 2 stosuje skalę od -100% do +100%). Oczywiście konfiguracja kontrolerów Brain 2 jest o wiele bardziej złożona. Jednak pozostałe opcje nie mają wpływu na konfigurację OpenTX, a jednocześnie przedmiotem tego opracowania nie jest konfiguracja FBL. Dlatego nie będziemy zagłębiali się w pozostałe parametry konfiguracyjne kontrolera Brain 2. Obsługiwane funkcjonalności Zanim przejdę do szczegółowego opisu realizacji, opiszę jakie funkcjonalności będą przypisane do poszczególnych przełączników i potencjometrów aparatury RC. Oczywiście podane niżej, konkretne przełączniki zostały wybrane wyłącznie na podstawie osobistych preferencji. W OpenTX można przypisać dowolny przełącznik (czy potencjometr) do dowolnej funkcji. Przełącznik SF – tzw. "Kill-switch" Wszystkie modele RC mogą być potencjalnie niebezpieczne. Kill-switch – czyli przełącznik bezpieczeństwa – powinien być elementem konfiguracji każdego większego modelu. Przełącznik SF↓ (do siebie) powoduje bezwarunkowe wyłączenie silnika (bez względu na pozycje innych przełączników). W przypadku silnika nitro realizowane jest to przez całkowite zamknięcie przepustnicy. SF↑ powoduje „uzbrojenie silnika”, w przypadku silnika nitro przestawienie przepustnicy w pozycję biegu jałowego (ang. idle). UWAGA: Przełącznik SF – jako jedyny – jest aktywny w pozycji SF↑ (tj. powoduje zadziałanie, w tym przypadku „uzbrojenie” silnika, w pozycji przełącznika od siebie). Jednocześnie domyślą pozycją SF, sprawdzaną przy aktywacji modelu w OpenTX, jest pozycja do siebie SF↓. Taka konfiguracja zapewnia dodatkowe bezpieczeństwo użytkowania modelu. Odkładając radio na podłoże, aktywny przełącznik SF↑, będący w pozycji od siebie (w przypadku tego przełącznika jest to de-facto pozycja do dołu), zostanie co najwyżej przypadkowo przełączony w pozycję SF↓ (do siebie i w przypadku tego akurat przełącznika do góry). W ten sposób nastąpi jedynie wyłączenie silnika, a nie jest niekontrolowany start (w przypadku helikopterów jest jeszcze przełącznik Throttle-Hold / Spool-Up, ale bezpieczeństwa nigdy za wiele). Przełącznik SA – Throttle-Hold / Spool-Up W pozycji SA↓ powoduje zmianę poziomu kanału Throttle (CH3) do poziomu określonego przełącznikiem Idle-Up. W każdej innej pozycji (SA↓, SA–) powoduje pracę silnika na biegu jałowym, tzw. throttle-hold. Poziom biegu jałowego może być regulowany jest na bieżąco trymem Throttle, ale tylko gdy przełącznik SA jest w pozycjach throttle-hold (trymowanie poziomu biegu jałowego podczas lotu jest nieaktywne, aby uniknąć przypadkowego przestawienia poziomu biegu jałowego). Przełącznik SB – Idle-Up Poszczególne pozycje przełącznika (SB↑, SB–, SB↓) odpowiadają trzem poziomom obrotów silnika, ustawionym w governorze kontrolera Brain 2. Przełącznik SC – Tryby Lotu Poszczególne pozycje przełącznika (SC↑, SC–, SC↓) odpowiadają trzem trybom (stylom) lotu zdefiniowanym w kontrolerze Brain 2. Tryb trzeci zakłada brak governora i sterowanie przepustnicą przy pomocy tradycyjnej krzywej Throttle. Przełącznik SD – Heading Lock W pozycjach SD↑ oraz SD– kontroler FBL działa w tzw. trybie Heading Lock, tj. utrzymywania odchylenia (ang. yaw) modelu. W pozycji SD↓ belka ogonowa helikoptera jest „uwolniona” (ang. Tail Free lub Rate Mode), tj. helikopter obraca się pod wpływem sił aerodynamicznych działających na model. Przełącznik SH – Rescue W pozycji SH↓ aktywowana jest funkcja „rescue” (ang. „ratuj”) kontrolera Brain 2, czyli awaryjne auto-poziomowanie helikoptera. UWAGA: SH to przełącznik chwilowy, a MSH rekomenduje, aby procedura „rescue” kontrolerów Brain 2 została wykonana w całości, do końca. Po aktywacji, przełącznik należy zatem trzymać w pozycji SH↓ aż do momentu całkowitego wypoziomowania helikoptera i nabrania wysokości (jeśli został ustawiony czas z dodatnim skokiem łopat wirnika głównego). Ewentualnie można funkcję „rescue” przypisać do innego wolnego przełącznika, który nie będzie przełącznikiem chwilowym, ale zwykłym, tj. pozostającym w danej pozycji. Przełącznik SG – Odczytywanie wybranych parametrów telemetrycznych W pozycjach SG– i SG↓ co 15 sekund odczytywane są głosowo wartości wybranych parametrów telemetrycznych. W użytym przykładzie odpowiednio prędkość obrotowa wirnika głównego RPM oraz temperatura silnika GTp1. Potencjometr obrotowy S2 – wzmocnienie P dla wirnika ogonowego Parametr wzmocnienia P dla wirnika ogonowego jest tym, od którego zalecane jest rozpoczęcie procesu dostrajania parametrów regulatora PID kontrolera Brain 2. Do potencjometru obrotowego S2 przypisane będą wartości odpowiadające zakresowi żądanej regulacji. Brain 2 zaleca rozpoczęcie dostrajania od wartości 45%, więc zakres można ustawić na np. 35-55%, z wartością 45% przypadającą na środek regulacji. Drążki i trymy Drążki skonfigurowane są w sposób standardowy, a trymy wyłączone. Trym Throttle będzie obsługiwany w specjalny sposób, zapewniający wygodne ustawienie obrotów biegu jałowego silnika nitro. Expo i zakresy maksymalne Parametry expo (czyli zmienna czułość drążków wg krzywej wykładniczej) oraz zakresy maksymalne wychyleń będą regulowane w radiu (nie w kontrolerze Brain 2) i powiązane będą z wyborem trybów lotu (przełącznik SC). Jak pisałem wcześniej, umiejscowienie tych parametrów w konfiguracji OpenTX, a nie w konfiguracji Brain 2, umożliwia łatwą zmianę expo z poziomu radia, bez konieczności podłączania się via Bluetooth lub USB do kontrolera FBL. Taki wybór podyktowany jest wyłącznie wygodą zmiany parametrów expo w trakcie ustawiania helikoptera. Z technicznego punktu widzenia nie ma większego znaczenia, czy expo będą zdefiniowane w radiu, czy kontrolerze FBL. Należy natomiast unikać podwójnego konfigurowania expo (tzn. jednocześnie w radiu i kontrolerze FBL). Failsafe Failsafe odbiornika zostanie skonfigurowany w taki sposób, aby wycentrować drążki, przymknąć przepustnicę do biegu jałowego (Throttle-Hold), aktywować funkcję „rescue” kontrolera Brain 2 oraz ustawić minimalny, dodatni skok łopat. Dzięki temu w razie ewentualnej utraty połączenia RC model ma szansę na stosunkowo łagodne lądowanie (na pewno z mniejszymi szkodami, niż gdyby tylko wyłączyć silnik, albo w ogóle nie skonfigurować failsafe). Co bardzo istotne, takie ustawienie failsafe daje także szansę na odzyskanie kontroli. Inną opcją (na pewno w przypadku modeli z silnikiem elektrycznym) jest całkowite wyłączenie silnika. W przypadku silnika nitro oznacza to jednak brak możliwości ponownego startu w powietrzu i konieczność lądowania auto-rotacyjnego. Z drugiej strony w przypadku kraksy modelu z pracującym silnikiem (nawet na biegu jałowym) istnieje możliwość niekontrolowanego ponownego rozruchu silnika, ze wszystkimi tego konsekwencjami. UWAGA: Pozostawiam do indywidualnej oceny i wyboru, czy dla silnika nitro bezpieczniej jest pozostawić kanał Throttle jako failsafe w pozycji biegu jałowego, czy jego całkowite zgaszenie / wyłączenie. Opisywane wyżej ustawienia failsafe stosuję na własny użytek i mogą one stanowić pewną wskazówkę lub inspirację, ale każdy modelarz musi sam ocenić jakie ustawienia failsafe są właściwe dla danego modelu i miejsca w którym lata. W razie wypadku lub awarii modelu każdy z nas jest indywidualnie odpowiedzialny za spowodowane szkody, a failsafe nie zastępuje zdrowego rozsądku, ani dobrego ubezpieczenia OC. Więcej o funkcjonalności failsafe: Failsafe - niedoceniana funkcjonalność Failsafe odbiorników FrSky Timery Zostaną skonfigurowane dwa liczniki (timery): Flight – odliczający czas trwania lotu, od zera Fuel – odliczający czas w dół, od zadanej ilości minut dobranych tak, by informować o rezerwie paliwa Oba timery będą startowanie automatycznie, ale dopiero w sytuacji, gdy zostanie uzbrojony silnik (przełącznik Kill-switch SF↑) oraz – jednocześnie, ale tylko po raz pierwszy w danym locie – zostanie uruchomiony wirnik główny (przełącznik Spool-Up SA↓). Kolejne przełączanie SA nie będzie powodować zatrzymania liczników. Dzięki temu można wielokrotnie przeprowadzać procedurę auto-rotacji, a timery będą kontynuować odliczanie bez przerw. Timery zostaną zatrzymane dopiero po zgaszeniu silnika (przełącznik Kill-switch SF↓). Alarmy / komunikaty głosowe Do każdego przełącznika zostanie przypisany komunikat głosowy, tak by w opisowy sposób i bez potrzeby spoglądania na ekran, uzyskać potwierdzenie aktywowania żądanej funkcji. Dodatkowo, na przełączniku SG, zostanie podpięte odczytywanie wartości parametrów telemetrycznych RPM i GTp1 (odpowiednio obroty wirnika głównego i temperatura silnika mierzona na tylnej płycie silnika nitro). Dla kluczowych parametrów telemetrycznych zostaną ustawiona alarmy głosowe i wibracyjne: RXBt – gdy napięcie RxBt (zasilania elektroniki i serwomechanizmów) spadnie poniżej 7.4V (mierzone przez więcej niż 3 sekundy, aby uniknąć zbyt wczesnych komunikatów w przypadku chwilowych spadków napięcia lub napięcia oscylującego na granicy 7.4V). Alarm będzie komunikatem głosowym, odczytywanym co 20s, połączonym z alarmem wibracyjnym aktywowanym co 60s. Alarm ten będzie automatycznie kasowany, gdy napięcie wróci do poziomu 8.0V. GTp1 – gdy temperatura na tylnej płycie silnika przekroczy 49°C zostanie aktywowane głosowe odczytywanie temperatury co 10s oraz zostanie zostanie aktywowany alarm wibracyjny co 30s. Jest to szczególnie przydatne w trakcie docierania silnika, chroni przed jego zatarciem. Alarmy wibracyjne są dodatkowym zabezpieczeniem w razie, gdyby regulacja głośności w radiu została ustawiona na minimum lub zbyt cicho. Regulację głośności można przypisać w konfiguracji OpenTX radia (nie modelu) do dowolnego potencjometru, w naszym przypadku do S1. Przy aktywacji modelu będziemy sprawdzać, czy potencjometr S1 jest w pozycji maksymalnej głośności. Logowanie zdarzeń Logowanie wybranych parametrów telemetrycznych będzie włączane tak samo jak timery, tj. kiedy przełączniki Kill-switch oraz jednocześnie Spool-Up – ale Spool-Up tylko po raz pierwszy w danym locie – będą aktywowane. Zatrzymanie logowania nastąpi po zgaszeniu silnika. W momencie aktywacji logowania zostanie także zresetowany parametr GAlt, czyli wysokość GPS względem poziomu morza. Dzięki resetowi, zamiast poziomu morza, jako poziom odniesienia zostanie ustawiona aktualnie odczytywana wysokość GPS. Wszelkie kolejne pomiary będą podawane i logowane względem tej wysokości, w praktyce dając dość dokładny zapis wysokości lotu względem punktu startu. Należy pamiętać, że szczególnie pierwsze uruchomienie czujnika GPS v2 może zając nieco czasu, nawet do kilku minut (zwykle 1-3 min). Warto te kilka minut poczekać, dzięki temu pomiary GPS będą bardziej dokładne. Ekrany telemetryczne Zostanie ustawionych kilka przykładowych ekranów telemetrycznych, pokazujących najważniejsze parametry oraz podgląd kanałów RC. Implementacja Poniżej skoncentruje się już na zaprezentowaniu i dosyć szczegółowym omówieniu konfiguracji OpenTX Companion, realizującej zaprezentowane wcześniej założenia. OpenTX Companion – zakładka Setup (Ustawienia) W zakładce Setup ustawia się podstawowe parametry modelu, takie jak nazwa, zdjęcie, parametry bindowania odbiornika, etc. W artykule skupimy się na sekcjach timerów, ostrzeżeń oraz failsafe. Istotnym parametrem – który nie zawiera się w żadnej z wymienionych wyżej sekcji – jest parametr Extended Limits (Rozszerzone Limity). Do pełnego zrozumienia działania tej opcji niezbędna jest wiedza o tym jak działają reguły zakładek Inputs (Wejścia), Mixes (Miksery) oraz Outputs (Wyjścia), dlatego opcję Extended Limits omawiam dopiero przy okazji omawiania zakładki Outputs. W tej chwili napiszę tylko, że z mojego doświadczenia wynika, że kontroler Brain 2 wymaga zaznaczenia tej opcji. Timery (liczniki) Timery liczą czas, gdy przypisany do nich przełącznik jest aktywny. W najprostszej konfiguracji wystarczy przypisać dowolny przełącznik, np. Kill-switch i timer będzie odliczał czas, kiedy przełącznik pozostanie aktywny, czyli np. w pozycji SF↑, jeśli taka zostanie przypisane do licznika. W naszym przykładzie jednak chcemy, aby timer odliczał czas od chwili, kiedy po raz pierwszy uruchomiony zostanie wirnik główny (Kill-switch + SpoolUp), do momentu wyłączenia silnika przełącznikiem Kill-switch. Jednocześnie licznik na działać bez przerw, nawet gdy w międzyczasie wielokrotnie przełączymy Throttle-Hold / Spool-Up, np. aby ćwiczyć lądowanie auto-rotacyjne. Takiej funkcjonalności nie da się osiągnąć zwykłym przełącznikiem. OpenTX posiada jednak wirtualne przełączniki logiczne, które można użyć w konfiguracji tak samo jak przełączniki fizyczne. Przełącznikami logicznymi można jednak sterować w zaawansowany sposób, używając funkcji logicznych, zależności czasowych, wyzwalania w przypadku zaistnienia określonych warunków i wiele więcej. Przełączniki logiczne oznaczone są wielką literą L i numerem, składającym się z dwóch cyfr, np. L07. OpenTX oferuje 64 przełączniki logiczne. Każdy przełącznik logiczny może przyjmować dwa stany: aktywny / logiczna wartość: prawda nie aktywny / logiczna wartość: fałsz W tym miejscu konieczne jest wyjaśnienie, kiedy przełącznik OpenTX (każdy, fizyczny lub logiczny) będzie uważany za aktywny na potrzeby definiowania reguł na ekranie Logical Switches. Przełącznik fizyczny uważany będzie za aktywny, kiedy będzie pozostawał w określonej (oczekiwanej) pozycji. Np. SF przełączony od siebie, czyli SF↑. Przełącznik logiczny będzie aktywny, gdy zostaną określone warunki zdefiniowane regułami w zakładce Logical Switches, np. gdy jednocześnie dwa przełączniki fizyczne będą w określonych pozycjach, albo gry wartość napięcia będzie poniżej 7.4V dłużej niż 3 sekundy. Do osiągnięcia zamierzonego celu sterowania timerami, używam przełącznika L02, skonfigurowanego w zakładce Logical Switches w następujący sposób: Definiowanie przełącznika logicznego L02 rozpoczyna się od zdefiniowania prostszego przełącznika L01, który będzie aktywny, jeśli jednocześnie będą aktywne (logicznie prawdziwe) przełączniki Kill-switch oraz Spool-Up (odpowiednio SF↑ oraz SA↓). Nie możemy jednak użyć L1 bezpośrednio do sterowania licznikami. Przestanie on być aktywny za każdym razem, gdy aktywujemy funkcję Throttle-Hold (gdyż przełącznik SA przestanie być w pozycji SA↓). Przy każdym uaktywnieniu Throttle-Hold timery zatrzymywałyby się. Dlatego w drugiej linii definiuję przełącznik logiczny L2, korzystając z funkcji specjalnej „sticky” (ang. klejący). Funkcja ta działa w taki sposób, że uaktywnia przełącznik w momencie aktywacji swojego pierwszego parametru (kolumna V1), następnie pozostawia przełącznik aktywny („przyklejony”), do czasu aż prawdziwy stanie się drugi warunek, zdefiniowany w kolumnie V2. W naszym przykładzie mamy następującą definicję L02: L02 Sticky L01 SF↓ W tym przypadku funkcja Sticky powoduje, że przełącznik L02 stanie się aktywny po aktywacji przełącznika L01. Następnie – bez względu na stan L01 (czyli możemy wielokrotnie przełączać Throttle-Hold / Spool-Up) L02 pozostaje aktywny, do czasu gdy aktywny stanie się przełącznik SF↓, czyli innymi słowy do czasu aż zgasimy silnik. Rozumiejąc już jak działa przełącznik S02, możemy wrócić do timerów. Definiujemy dwa timery: Flight – odliczający od 00:00:00 (przy takiej definicji timer będzie odliczał do przodu), podając co minutę głosowy komunikat o upływającym czasie (opcja „Minute call”). Fuel – odliczający od 00:07:00 (czyli 7 minut, przy zdefiniowaniu jakiejkolwiek wartości licznik będzie automatycznie odliczał w dół). Po upływie zadanego czasu timer wyzwoli automatyczny komunikat głosowy powiadamiający o tym, że czas danego licznika upłynął. Oba liczniki zdefiniowane są jako „Non persistent”, tzn. ich wartość nie będzie zapisywana na stałe i będzie resetowana dla każdego lotu. Wartości zapisywane na stałe („Persistent: manual reset”) mogą się przydać np. do mierzenia całkowitego czasu, jaki model spędził w powietrzu. Ich wartości będą zapisywane w pamięci radia, do czasu manualnego i celowego ich zresetowania. Oba liczniki stają się aktywne (zaczynają odliczać) przez cały czas, kiedy przełącznik L02 pozostaje aktywny. Jak zatem widać, cała logika naszej założonej funkcjonalności została tak naprawdę zrealizowana w dwóch liniach definicji przełącznika logicznego L02. Przełączniki logiczne to potężne narzędzie OpenTX, oferujące praktycznie nieskończone możliwości konfiguracyjne. Ostrzeżenia (ang. Warnings) W sekcji ostrzeżeń określamy domyślne położenie przełączników i potencjometrów. W trakcie uruchamiania radia, przy zmianie modelu oraz przy resecie lotu zadane pozycje zostaną sprawdzone z faktycznymi pozycjami przełączników radia. Jeśli przełączniki nie będą w żądanych pozycjach OpenTX wyświetli ostrzeżenie, które zostanie zamknięte po przełączeniu wszystkich przełączników w oczekiwane pozycje lub celowego zignorowaniu ostrzeżenia. Mechanizm ten ma na celu zwiększenie bezpieczeństwa użytkowania modeli, przez uniknięcie przypadkowej aktywacji funkcji, w szczególności przypadkowego rozruchu silnika. Nie ma to może aż takiego znaczenia dla silników spalinowych, ale ma pierwszorzędne znaczenie modeli z silnikami elektrycznymi. W naszym przykładzie chcemy, aby wszystkie przełączniki były w pozycjach od siebie ↑, czyli domyślnie nieaktywne. Wyjątkiem jest SF, którego domyślną pozycją jest SF↓, z powodów, które opisałem wcześniej. Sprawdzamy także położenie dwóch potencjometrów: S1 powinien być w pozycji maksymalnej (upewniamy się, że komunikaty głosowe będą słyszalne), a S2 w pozycji środkowej (odpowiadającej środkowemu zakresowi „tail gain”). Nie jest mi znany sposób ustawienia konkretnych pozycji potencjometrów w OpenTX Companion, ale w OpenTX w radiu można ustawić konkretną pozycję potencjometru poprzez dłuższe przyciśnięcie przycisku ENTER podczas edycji ostrzeżenia dla danego potencjometru. Oczywiście, z punktu widzenia OpenTX, nic się nie stanie, jeśli przełączniki lub potencjometry będą w innych pozycjach, a my zignorujemy ostrzeżenie. Ważne jest jednak, abyśmy byli świadomi jakie funkcje są aktywne lub w jakim są stanie w momencie uruchamiania konfiguracji modelu w OpenTX. Jest jeszcze jedna opcja dot. ostrzeżeń, w sekcji Model zakładki Setup. Chodzi o Throttle warning. Dla większości modeli opcja ta powinna być zaznaczona, gdyż w momencie uruchamiania modelu, ze względów bezpieczeństwa, przepustnica gazu (ang. throttle) powinna być zamknięta. W przypadku omawianej konfiguracji helikoptera pozycja drążka Throttle nie ma jednak najmniejszego znaczenia, gdyż kanał gazu CH3 nie jest sterowany drążkiem. Dlatego opcja Throttle warning jest odznaczona, a OpenTX nie będzie ostrzegał o położeniu drążka Throttle. Failsafe W sekcji failsafe ustawiamy pozycje wszystkich ośmiu kanałów, które odbiornik ustawi w razie gdyby utracił połączenie z nadajnikiem. UWAGA: Chodzi o konkretne wartości kanałów, w skali od -100% do 100%. Kanały Ailerons (CH1), Elevator (CH2) , Rudder (CH4) ustawiamy na zero, czyli pozycję neutralną odpowiadających im drążków. Kanał Throttle (CH3) ustawiamy na wartość odpowiadającą pozycji Throttle-Hold. Dzięki temu wirniki modelu nie będą napędzane, ale w razie odzyskania połączenia model będzie w pełni sterowalny. Kanał TGain (CH5) ustawiamy na wartość, którą normalnie użytkujemy w locie, zwykle jest to wartość środkowa potencjometru S2. Kanał Pitch (CH6) ustawiamy na wartość odpowiadającą kątowi 0° (lub lekko dodatniemu) nachylenia łopat wirnika głównego. Chodzi o to, aby model opadał, ale jednocześnie aby wirnik się obracał, jak długo to możliwe, wytwarzając choć minimalną nośność). Kanał Setup (CH7) ustawiamy na pierwszy tryb lotu. Kanał Aux (CH8) ma chyba najważniejsze zadanie. W kontrolerze Brain 2 odpowiada on za aktywację funkcji „rescue”, czyli awaryjnego auto-poziomowania modelu. W przypadku wystąpienia sytuacji failsafe (czyli utraty połączenia RC), odpowiednie ustawienie tego kanału aktywuje funkcję „rescue” kontrolera Brain 2 i będzie ją utrzymywało do czasu odzyskania połączenia RC lub wyłączenia zasilania. W rezultacie model wypoziomuje się, wykona wznoszenie przez zadany czas (jeśli tak została skonfigurowana funkcja „rescue” w Brain 2, domyślnie jest to 0.6 sek), a następnie Brain 2 będzie starał się utrzymywać pozycję poziomą modelu podczas opadania (funkcja „resue” pozostaje aktywna). W połączeniu z prawie neutralnym kątem nachylania łopat i neutralnymi położeniami drążków mamy szansę: odzyskania połączenie RC, a z nim kontrolę nad modelem i możliwość wykonania auto-rotacji lub nawet – jeśli silnik nie został zgaszony - kontynuowania normalnego lotu (oczywiście i tak zalecane było by jak najszybsze lądowanie i sprawdzenie przyczyny utraty zasięgu) że model będzie opadał w miarę łagodnie i poziomo, w najgorszym razie minimalizując ewentualne straty OpenTX Companion – Zakładka Heli W tej zakładce konfiguruje się opcje wyłącznie, jeśli to OpenTX ma odpowiadać za miksowanie serwomechanizmów głowicy wirnika głównego helikoptera (cyclic), a zatem zwykle dla helikopterów flybar. Przy korzystaniu z kontrolerów flybarless opcje z tej zakładki nie są wykorzystywane (do kontrolerów FBL przesyłane są bezpośrednio wszystkie kanały, także z drążków Ailerons, Elevator, Throttle i Rudder; to kontroler flybarless odpowiedzialny jest za ich odpowiednie miksowanie i oczywiście wiele więcej). Zakładka Heli może być w ogóle nieaktywna (niewidoczna). Zależy to od tego, czy została ona wybrana przy kompilacji i wgrywaniu OpenTX. OpenTX Companion – Zakładka Flight Modes (Fazy lotu) Fazy lotu pozwalają na zdefiniowanie różnych ustawień modelu, które można następnie aktywować przełącznikiem. Zależnie od aktualnie wybranej fazy lotu można także wykonywać różne inne działania, np. aktywować określone reguły w mikserze kanałów. Dana faza lotu może być aktywowana natychmiast, tj. niezwłocznie po przełączeniu, lub może być aktywowana jako płynna transformacja z jednej fazy lotu do innej, zgodnie z zadanymi parametrami Fade In oraz Fade Out (odpowiednio spowolnienie aktywacji, spowolnienie wyłączania faz lotu; parametry te podawane są w sekundach, z dokładnością do dziesiętnej części sekundy). OpenTX pozwala na zdefiniowanie do dziewięciu faz lotu, numerowanych od 0 do 8. w dalszym tekście będę je często określał jako FM0, FM1, FM2, etc. FM0 jest domyślnie aktywowana przy uruchamianiu modelu w OpenTX. FM1-FM8 trzeba aktywować za pomocą przełącznika. Do realizacji założeń projektu zostaną wykorzystane trzy fazy lotu: Flight Mode 0 (Normal) Flight Mode 1 (Sport) Flight Mode 2 (No Gov) W konfiguracji faz lotu definiujemy między innymi nazwę fazy lotu. Nazwa aktywnej fazy lotu wyświetlana jest na ekranie aparatury RC. Dla helikopterów flybarless trymy drążków nie mają praktycznego zastosowania. Dlatego, aby uniknąć przypadkowego ich użycia, zostaną one wyłączone dla wszystkich trzech trybów (and. Trim disabled). Jednym z ciekawszych funkcjonalności trybów lotu są zmienne globalne (ang. global variables), których wartości są wykorzystywane w innych miejscach konfiguracji OpenTX. Każdy tryb lotu oferuje 9 niezależnych zmiennych, numerowanych od 1 do 9, którym można także nadawać trzyliterowe nazwy. Zmienne globalne używane są do definiowania wartości, które wykorzystywane są wielokrotnie, w różnych miejscach konfiguracji. Np. wartość expo można przypisać w mikserze jako konkretną wartość, dla każdego kanału oddzielnie (załóżmy, że jest to takie samo expo dla lotek, stery wysokości i steru kierunku). Jednak gdybyśmy chcieli zmienić wartość tak skonfigurowanego expo, trzeba by było edytować oddzielnie każdą z co najmniej trzech linii konfiguracji miksera. Przy wykorzystaniu zmiennych globalnych zmiany trzeba dokonać tylko w jednym miejscu. Mało tego, można tę wartość powiązać np. z jednym z potencjometrów i płynnie zmieniać wartość expo w locie, dla wszystkich kanałów naraz. Innym zastosowaniem zmiennych globalnych jest określanie wartości, które chcemy następnie dynamicznie zmieniać, bez konieczności wchodzenia do menu konfiguracji OpenTX. Zmienne globalne można zmieniać poprzez przełączanie faz lotu lub za pomocą funkcji specjalnych, np. poprzez przypisanie przełącznika zwiększającego, zmniejszającego lub nadpisującego wartość danej zmiennej. Zdefiniujemy następujące zmienne globalne: GVAR1 – EXC (skrót od ang. expo cyclic, dla kanałów Ailerons oraz Elevator) GVAR2 – EXT (skrót od ang. expo tail, dla kanału Rudder) VAR3 – EXP (skrót od ang. expot pitch, dla kanału Pitch) GVAR4 – TRV (skrót od ang. travel, maksymalny zakres pracy) GVAR5 – TH (skrót od ang. throttle hold, wartość położenia przepustnicy dla throttle hold) Każdej zmiennej przypisujemy wartość numeryczną, którą ta zmienna będzie przechowywała. Wartości expo są oczywiście zależne od osobistych preferencji. W naszym przykładzie (dla fazy FM0) jest to 35 dla Cyclic, 50 dla Tail, oraz 10 dla Pitch. Wartość zmiennej TRV dla fazy lotu nr 0 definiujemy jako 80. Zmienną tę wykorzystamy później przy definiowaniu wejść (ang. inputs) do ograniczenia zakresu pracy Cyclic oraz Tail dla FM0. Dzięki temu w tej fazie lotu model będzie nieco mniej wrażliwy na ruch drążków, co może być pomocne dla początkujących pilotów. Wartość zmiennej TH będzie określała wartość kanału Throttle dla biegu jałowego silnika (ang. throttle-hold) i została dobrana doświadczalnie. Ze względu na swoją naturę (położenie przepustnicy dla biegu jałowego powinno być zawsze takie samo, przynajmniej w danym locie) wartość ta będzie taka sama dla każdej fazy lotu. Dodatkowo dla zmiennej TH zdefiniowane zostały ograniczenia wartości minimalnej i maksymalnej, odpowiednio 0 oraz 30. Dzięki temu zmienna TH nie będzie mogła przyjąć wartości ujemnych (chronimy serwo Throttle) ani większych niż 30 (nie pozwalamy na zbyt wysokie obroty biegu jałowego). Wartość zmiennej TH będzie zmieniana przy pomocy przełącznika trymu Throttle, ale w specjalny sposób, nie za pomocą standardowych mechanizmów trymowania drążków. Trymy drążków mamy zresztą wyłączone, w każdej z faz lotów. Nie oznacza to jednak, że nie możemy z nich korzystać, tak jak z każdego innego przełącznika w OpenTX. Opiszę to szczegółowo w dalszej części artykułu, przy okazji omawiania miksera kanałów. Do zmiennych globalnych w fazie lotu nr 0 można przypisać wyłącznie wartości numeryczne, a także zdefiniować jednostkę, dokładność zmiennej (wartości całkowite "0._", lub do części dziesiętnych "0.0") oraz minimalne i maksymalne zakresy. Wszystko to oddzielnie dla każdej zmiennej: Dla faz lotu 1-8 zmienne mogą mieć oddzielne wartości per faza lotu (ang. Own value), lub mogą przyjmować wartości zdefiniowane w innych fazach lotu. W przykładzie poniżej w fazie lotu nr 1, zmienna TH ma wartość, którą zdefiniowaliśmy w domyślnej fazie lotu (FM0). Pozostałe zmienna mają swoje wartości, inne niż w pozostałych fazach lotu: Jeśli wartości zmiennych będą zmieniane w trakcie użytkowania (np. ustawianie poziomu obrotów biegu jałowego), zostaną one zapamiętane i przy ponownym włączeniu radia zostaną odczytane ich ostatnie wartości. Fazy lotu, inne niż domyślna FM0, aktywuje się za pomocą przełącznika. W naszym przykładzie SC– dla FM1: oraz SC↓ dla FM2: Jak widać na ekranach powyżej, w fazie lotu Sport definiujemy nieco bardziej czułe wartości EXC, EXT oraz EXP. Ustawiamy także pełny zakres (100 zamiast 80) dla zmiennej TRV, co przełoży się sposób, w jaki będzie pracowały kanały Cyclic i Tail. W fazie lotu No Gov, używamy tych samych wartości expo i zakresu, jak dla FM0, choć zdefiniowanych wprost, jako wartości liczbowe. Reasumując, aktywując poszczególne fazy lotu, możemy zmieniać wartości przechowywane w zmiennych globalnych. Zmienne te możemy potem używać w różnych miejscach konfiguracji, zamiast podawania konkretnych wartości. Umożliwia to zmianę wartości w jednym miejscu, ale efekt ten zmiany będzie widoczny wszędzie tam, gdzie dane zmienna została użyta. Zdefiniowane zmienne można także zmieniać dynamicznie, bez potrzeby wchodzenia w menu konfiguracji, za pomocą funkcji specjalnych. Zmienne globalne będziemy wykorzystywać już w następnej zakładce konfiguracji OpenTX Companion. OpenTX Companion – Zakładka Inputs (Wejścia) Filozofia OpenTX opiera się na przetwarzaniu sygnałów wejściowych, powodujących określone działania na wyjściach systemu. W uproszczeniu można powiedzieć, że OpenTX odczytuje wartości wejść (np. pozycję drążka sterującego), następnie wykonuje działania zgodnie z zadaną konfiguracją (fazy lotu, wejścia, mikser, przełączniki logiczne, funkcje specjalne, telemetria), aby na końcu tego procesu wysterować w żądany sposób kanały wyjściowe. Wyjściami w OpenTX są kanały wysyłane jako sygnały sterujące do odbiornika RC. OpenTX potrafi wysterować aż do 32 kanałów. Przy czym np. protokół FrSky ACCST ogranicza tę liczbę do 16 dla jednego modułu nadawczego (co i tak jest całkiem sporą ilością kanałów). Gdyby potrzeba było wykorzystać więcej niż 16 kanałów, można użyć dwóch modułów nadawczych (np. wewnętrzny moduł XJT wbudowany w każdego Taranisa czy Horusa, plus zewnętrzny moduł nadawczy XJT, montowany w gnieździe rozszerzeń z tyłu obudowy – razem 32 kanały). Wejściem w OpenTX może być praktycznie wszystko, oczywiście w ramach dostępnych w systemie komponentów: drążki sterujące trymy przełączniki fizyczne (zwykle dwu lub trzy pozycyjne) potencjometry (obrotowe lub suwakowe, regulowane płynnie lub np. 6-pozycyjne) przełączniki logiczne wyjścia (wartości kanałów wyjściowych) inne wejścia parametry telemetryczne (np. RSSI, popularnie wykorzystywany do wysyłania wartości wskazania siły odbieranego sygnału RC, z powrotem do odbiornika, jako jeden z kanałów, do wykorzystania przez kontrolery lotu w modelu) parametry Cyclic (jeśli zakładka heli jest aktywna) wyjścia skryptów LUA (język programowania do pisania prostych programów, które mogą być uruchamiane w OpenTX) wartość specjalna "MAX" Każde zdefiniowane wejście staje się parametrem, który może być następnie wykorzystany w innych miejscach konfiguracji OpenTX. W szczególności w mikserze, który będę opisywał w następnej sekcji artykułu. Wejścia OpenTX oznaczane są wielką literą I (od ang. Input) oraz numerem, np. I3. OpenTX obsługuje maksymalnie do 32 wejść. W zakładce Inputs definiujemy reguły (jedna linia to jedna reguła) przypisane do danego wejścia. Do jednego wejście można przypisać wiele reguł, ale w przykładowej konfiguracji nie korzystam z tej możliwości, pozostając przy jednej regule per wejście: Definiujemy zatem sześć reguł wejść, którym nadajemy nazwy (max. czteroliterowe): I1 (Ail) – źródłem dla tego wejścia jest fizyczny drążek Ailerons (lotki), a mówiąc ściślej wartość od -100% do +100% powiązana proporcjonalnie z ruchem w osi poziomej prawego drążka sterującego (zakładając, że radio pracuje w MODE 2). Celowo używam tutaj określenia „fizyczny drążek”. Będzie to istotne później, gdy będę omawiał różnice między zdefiniowanym wejściem, a fizycznym „źródłem” z tym wejściem powiązanym. I2 (Ele) – fizyczny drążek Elevator (ster wysokości). I3 (Thr) – fizyczny drążek Throttle (przepustnica gazu). I4 (Rud) – fizyczny drążek Rudder (ster kierunku). I5 (Gain) – ang. wzmocnienie, fizyczny potencjometr obrotowy S2, którym będziemy dynamicznie (tj. w trakcie lotu) regulować wzmocnienie P dla wirnika ogonowego. I6 (Ptch) – źródłem dla tego wejście jest drążek Throttle (tak samo jak dla wejścia I3). Wejście I6 będzie jednak użyte do regulacji skoku (ang. pitch) łopat wirnika głównego helikoptera, dlatego definiujemy je jako zupełnie oddzielne, niezależne wejście. Każda linia zakładki Inputs zawiera regułę przypisaną do danego wejścia, zapisaną w skróconej postaci. Dla reguły I4 jest to: I4:Rud Rud Weight(+GV4:TRV) Expo(GV2:EXT) Po dwukrotnym kliknięciu w linię tej reguły otwiera się okno dialogowe, w którym można ustawić szczegółowe parametry danej reguły: Nazwa wejścia (ang. Input name) wykorzystywana potem w mikserze, zamiast lub obok identyfikatorów wejść (np. zamiast I4 mamy Rud). Nazwa linii (nazwa reguły; ang. Line name) wyświetlana jest przy danej linii w zakładce Inputs. Może być użyteczna jako notka lub komentarz, szczególnie gdy mamy przypisanych więcej reguł do jednego wejścia i chcemy sobie jakoś oznaczyć na przyszłość , co która reguła de-facto robi. Źródło (ang. Source) definiuje skąd dane wejście ma pobierać wartość. W powyższym przykładzie źródłem jest drążek Rudder. Jeśli trymy są włączone, w opcji Uwzględnij trymer (ang. Include Trim) możemy wybrać, czy dla danego źródła odpowiadający mu trym ma być brany pod uwagę. Waga (ang. Weight) określa procentowo, w skali od -100% do 100%, jaka część wartości źródła ma zostać przypisane do danego wejścia, np.: waga 100 oznacza, że wartość źródła będzie przypisana 1:1, np. drążek w pozycji 50% da na wejściu te same 50%. waga -100 oznacza, że wartość źródła zostanie zachowana, ale z odwróconym znakiem, np. drążek w pozycji 50% da na wejściu -50% waga 70 oznacza, że wartość źródła zostanie pomnożona przez 0.7 (70%), np. drążek w pozycji 50% da na wyjściu 35%. waga -30 oznacza, że wartość źródła zostanie pomnożone przez -0.3 (-30%), np. drążek w pozycji 50% da na wyjściu -15% etc. Waga może być wartość numeryczną, ale może być także zmienną globalną (GV, ang. Global Variable). W przykładzie używamy zmiennej GV4 (TRV). W ten sposób zmieniamy wartość zakresu pracy wejścia Rud (I4) w zależności od aktualnej wartości zmiennej TRV. Jak pamiętamy z poprzedniej części artykułu, zmienna ta zmienia swoją wartość wraz z wyborem fazy lotu (przybiera wartości 80 lub 100). Dzięki temu, że tej samej zmiennej używamy jako wagi (zakresu) także dla wejść Ail oraz Ele, w efekcie uzyskujemy zmienny zakres pracy dla cyclic i wirnika ogonowego, przełączane naraz, wraz z przełączaniem faz lotu. Jednocześnie konfiguracja wejść pozostaje bardzo prosta i klarowna, bez dużej ilości reguł. Dalej w oknie dialogowym konfiguracji reguły mamy przesunięcie (ang. Offset), z którego nie korzystamy. W skrócie przesunięcie powoduje dodanie wartości numerycznej (lub wartości przechowywanej w zmiennej globalnej) do wartości źródła, np. jeśli wartością źródła jest 30%, to po dodaniu przesunięcia 20, wartością wejścia będzie 50%. Następnie do reguły wejścia Rud przypisujemy krzywą (ang. Curve) typu Expo, o wartości przechowywanej w zmiennej EXT. Przypisanie zmiennej globalnej działa tak samo jak w przypadku wcześniej opisywanej wagi: wartość expo będzie zmieniała się wraz ze zmianami wartości zmiennej globalnej GV2 (EXT), co w naszym przykładzie następuje wraz ze zmianami faz lotu. W sekcji Fazy lotu (ang. Flight modes) określamy, w jakich fazach lotu dana reguła (linia w zakładce Inputs) ma być aktywna. W tym przypadku zaznaczamy, że ta reguła ma być aktywna we wszystkich dziewięciu fazach lotu (numerowanych 0-8). Widać tutaj, jak przydatne i użyteczne są zmienne globalne. Gdyby nie one, do osiągnięcia zakładanych funkcjonalności (np. zakresy i expo zmienne z fazami lotu) musielibyśmy zdefiniować trzy reguły dla każdego z wejść (Ail, Ele, Rud), przypisać im indywidualne wartości wagi i expo, a następnie zaznaczyć w których fazach loty dane reguły mają być aktywne. Dzięki użyciu zmiennych mamy tylko jedną regułę per wejście, a waga i expo zmieniane są niejako w tle, przez zmienne globalne. W oknie dialogowym definicji reguły Rud są jeszcze dwie opcje, których nie wykorzystujemy. Można daną regułę uczynić aktywną tylko wtedy, gdy aktywny jest przypisany do niej przełącznik (ang. Switch; przy czym definicja przełącznika jest dosyć szeroka, nie chodzi tylko o fizyczne przełączniki radia). Można także przypisać efekt działania reguły tylko do dodatniej lub ujemnej części osi danego drążka (ang. Stick Side), np. reguła dla drążka Throttle będzie aktywne, ale tylko powyżej 0% (czyli od pozycji środkowej w górę). Zakładka Inputs to dobre miejsce, aby zdefiniować wartości expo i zakresy pracy drążków sterowych. Dobrą praktyką jest też zdefiniowanie tutaj innych istotnych wejść. W naszym przykładzie jest to reguła I5, której źródłem jest potencjometr S2 służący do regulacji wzmocnienia P dla regulatora PID wirnika ogonowego; a także reguła I6, która będzie służyła jako wejście do sterowania ogólnym skokiem łopat wirnika głównego. Dzięki tak zdefiniowanym wejściom znacząco uprościmy reguły w zakładce miksera, a całość konfiguracji OpenTX będzie bardzo przejrzysta, z jasno rozdzielonymi blokami funkcyjnymi. OpenTX Companion – Zakładka Mixes (Miksery) Zamknięte systemy operacyjne aparatur RC tradycyjnych firm modelarskich zwykle bazują na pre-definiowanych szablonach konfiguracji modelu, w których wybiera się potem różne opcje, dostosowując funkcjonalność wybranego szablonu konfiguracyjnego do wymagań konkretnego modelu. Wszystko odbywa się jednak w ramach szablonów i opcji przewidzianych przez producenta. Często zdefiniowana jest nawet kolejność kanałów w odbiorniku, a serwomechanizmy trzeba podłączać do odpowiednio oznaczonych portów odbiornika (np. Ail, Ele, Thr, Rud, Aux, Gear, etc.). OpenTX działa inaczej. Szablonów nie ma wcale, a logika konfigurowania modelu polega na definiowaniu tego, co chcemy osiągnąć na wyjściach (portach) odbiornika RC. Niejako odwrotnie, niż w przypadku zamkniętych systemów, gdzie zaczyna się od zdefiniowania typu modelu i przez konfigurację kolejnych opcji osiąga się bardzo określony efekt końcowy. Jak działa mikser OpenTX? Mikser jest „sercem” OpenTX. Planowanie konfiguracji modelu w OpenTX rozpoczynamy właśnie od miksera, a konkretnie od ustalenia, w jaki sposób mają się zachowywać kanały wyjściowe (porty) odbiornika, np.: wartość kanału CH4 ma być proporcjonalna do ruchu drążka steru kierunku wartość kanału CH2 ma być proporcjonalna do ruchu drążka steru wysokości wartość kanału CH8 ma być przyjmować wartość 0%, gdy przełącznik SA jest w pozycji środkowej; oraz wartość 100% gdy przełącznik SA jest w dowolnej innej pozycji wartość kanału CH16 ma być proporcjonalna do parametru telemetrycznego RSSI (-100% dla wartości 0% RSSI oraz +100%, gdy RSSI wynosi 100%). etc. (powyższe przykłady są wyłącznie poglądowe i nie mają związku z założeniami projektu, który realizujemy) W uproszczeniu kanały wyjściowe to nic innego jak porty odbiornika, do których przyłącza się serwomechanizmy lub które łączy się z kontrolerem lotu. Nowoczesne odbiorniki mogą także wysyłać wartości kanałów przez specjalny port – CPPM lub SBUS – i wysyłać je jednym kablem do np. kontrolera flybarless. Znacznie ogranicza to ilość kabli pomiędzy odbiornikiem a kontrolerem lotu. Więcej informacji o różnych typach portów stosowanych w modelarstwie RC opisałem w artykule Porty nie tylko FrSky. Normalnie wartość każdego kanału wyjściowego w OpenTX może zawierać się w granicach od -100% do +100%. Oznacza to, że np. drążek lotek wychylony całkowicie w lewo ustala wartość kanału na -100%, drążek w neutrum to 0%, a drążek wychylony maksymalnie w prawo to +100%. Informacja dodatkowa: W rzeczywistości wartość każdego kanału reprezentowana jest przez czas trwania impulsu (tzw. modulacja PWM). Czas trwanie impulsu w modelarstwie zawiera się zwykle w granicach od 1000µs (-100%) to 2000µs (+100%), z neutrum przypadającym na 1500µs (0%). Różni producenci stosują jednak nieco inne wartości graniczne (np. zakres 988-2012µs, lub neutrum w 1520µs; więcej informacji na ten temat znajduje się w przytoczonym już artykule Porty nie tylko FrSky). Z tego powodu czasem trzeba ustalać wartości wyjść kanałów na więcej niż +100% lub mniej niż -100%. Aby OpenTX zezwalał na operowanie rozszerzonym zakresem wartości, musi być zaznaczona opcja Extended Limits w zakładce Setup (Ustawienia), co rozszerza dostępny zakres do ±150%. W zakładce Mikser – podobnie jak w zakładce Inputs – definiowane są reguły (każda linia w zakładce Mixes to jedna reguła), określające w jaki sposób będą zachowywały się kanały wyjściowe. Reguły przypisane do danego kanału (jedna lub więcej reguł) definiują jakie parametry mają wpływ na wartość wyjściową miksera dla danego kanału. Mogą to być reguły bardzo proste (np. mapowanie 1:1 drążka sterującego) lub skomplikowane, z przypisanymi różnymi wagami, przesunięciem, krzywymi, aktywne tylko w określonych fazach lotu, etc. Parametry konfiguracyjne reguł omówię niżej. Do jednego kanału można przypisać więcej niż jedną regułę. Każda z nich może być w danym momencie aktywna lub nieaktywna, w zależności od stanu jednego z przełączników (fizycznych lob logicznych) i / lub w zależności od aktualnie wybranej fazy lotu. Jeśli w danym momencie, dla danego kanału, jest aktywna więcej niż jedna reguła, wtedy następuje ewaluacja reguł, linia po linii, w kolejności od góry do dołu listy mikserów. Efekt kolejno aktywnych reguł może być do siebie dodawany, mnożony lub nadpisywany. Początkowo może brzmieć to nieco skomplikowanie, ale tak naprawdę zasady są proste i wystarczy je poznać i zrozumieć, aby z powodzeniem stosować w praktyce. Postaram się to wyjaśnić na przykładach. OpenTX obsługuje do 32 kanałów wyjściowych, numerowanych od CH1 do CH32. Skrócony opis parametrów reguł miksera Tak wygląda zakładka Mixes, z regułami realizującymi założenia naszego projektu: W mikserze OpenTX każda lina jest regułą przypisaną do kanału wyjściowego. Do jednego kanału można przypisać jedną regułę, np. tak jak do kanału CH1: CH1:Ail I1:Ail Weight (+100%) ale można także do jednego kanału przypisać wiele reguł, np. do kanału CH6 przypisane są dwie reguły: CH6:Ptch I6:Ptch Weight (+100%) Flight mode (FM0:Normal) Curve (CV5:PT1) := I6:Ptch Weight (+100%) Flight mode (FM1:Sport, FM2:No Gov) Curve (CV6:PT2) Wartość wyjściowa każdego kanału ustalana jest na podstawie przypisanych do kanału i aktywnych w danej chwili reguł. Reguły można aktywować przełącznikami lub fazami lotu. Przyjrzyjmy się nieco bliżej dwóm kanałom, które przed chwileczką pokazaliśmy jako linie reguł zakładki Mixes. CH1:Ail I1:Ail Weight (+100%) co po podwójnym kliknięciu w regułę rozwija się jako okno dialogowe: Do kanału CH1 przypisane jest wejście I1 (Ail), czyli innymi słowy drążek sterowy lotek. Przypisane waga to 100% (wagi działają tak jak we wcześniejszym przykładzie, kiedy opisywałem zakładkę Inputs). Reguła nie ma przypisanego przełącznika (ang. Switch), ma za to ma przypisane fazy lotu (ang. Flight modes) i jest aktywna we wszystkich dziewięciu fazach lotu (FM0-FM8). Jako, że waga to 100%, zatem ruch drążka lotek jest 1:1 mapowany na wartość kanału. W efekcie uzyskamy -100% dla całkowitego wychylenia drążka w lewo, 0% dla pozycji neutralnej drążka i +100% kiedy drążek będzie wychylony zupełnie w prawo. Oczywiście wartość kanału będzie przybierała wszystkie wartości pośrednie między -100% do +100%, proporcjonalnie do pozycji drążka, biorąc jednak pod uwagę expo i zakresy, które zdefiniowaliśmy dla wejście I1 w zakładce Inputs (dzięki temu nie musimy określać wartości expo ani zakresów tutaj, co upraszcza konfigurację miksera, czyni ją bardziej przejrzystą i łatwiejszą do późniejszego czytania). CH6:Ptch I6:Ptch Weight (+100%) Flight mode (FM0:Normal) Curve (CV5:PT1) := I6:Ptch Weight (+100%) Flight mode (FM1:Sport, FM2:No Gov) Curve (CV6:PT2) po podwójnym kliknięciu w każdą z linii otwiera następujące okna dialogowe: Obie reguły przypisane do kanału CH6 definiują I6 (Ptch) jako wejście, którego wartość będzie brana pod uwagę przy ustalaniu wartości wyjścia CH6. Jak pamiętamy z poprzedniej sekcji (zakładka Inputs) wejścia I6 (Ptch) uzależnione jest od ruchu drążka Throttle, który w helikopterach steruje także (czasem nawet tylko) skokiem łopat wirnika głównego (ang. pitch), a nie przepustnicą gazu. W obu regułach zastosowano wagę 100%, zatem drążek Throttle będzie 1:1 mapowany na wartość kanału CH6 – w efekcie dając 0° pitch dla drążka w neutrum, -12° pitch dla drążka w położeniu dolnym, oraz +12° pitch dla górnego położenia drążka. Przy czym przykładowe ±12° nie ma nic wspólnego z OpenTX. Wartości graniczne skoku łopat ustala się w Brain 2, w trakcie ustawiania zakresów pracy głowicy helikoptera. Rolą OpenTX jest wyłącznie odpowiednie wysterowanie kontrolera FBL. Tym razem dla reguł kanału CH6 zdefiniowane są dodatkowe warunki: reguła pierwsza aktywna jest tylko dla fazy lotu nr 0 (FM0, ang. Flight Modes) reguła druga aktywna jest dla FM1 oraz FM2 Sterowanie tym, która reguła jest aktywna odbywa się poza mikserem, poprzez wybór faz lotu. Do obu reguł przypisane są krzywe (ang. curve): do pierwszej reguły krzywa CV5 (krzywa nr 5, o nazwie PT1), ograniczająca zakres skoku łopat wirnika głównego do 85% (do około ±10°). do reguły drugiej krzywa CV6 (PT2), dająca pełen zakres skoku łopat ±12° Krzywe omówię szczegółowo w dalszej części artykułu. W tym momencie ważne jest tylko, że przez taką konfigurację reguł przypisujemy dwie różne krzywe, do tego samego kanału wyjściowego, zależnie od wybranej fazy lotu, czyli de-facto od aktywnej reguły. Efekt działania takiego miksowania reguł dla CH6 można podejrzeć w symulatorze radia: Nie jest to idealnie widoczne, ale aktualnie aktywne reguły są zaznaczone wytłuszczoną czcionką wartości procentowych w drugiej kolumnie (na rysunku aktywne są CH4, CH5, pierwsza reguła CH6, pierwsza reguła CH7, oraz CH8 – pozostałe kanały są poza widokiem). W naszym przypadku, ponieważ aktywna jest domyślna faza lotu FM0 (przełącznik SC w pozycji ↑), dla kanału CH1 aktywna jest tylko pierwsza reguła. Reguła ta nakłada na kanał krzywą, która ogranicza zakres wartości kanału CH6 do ±85%. Drążek Throttle jest w pozycji do dołu, zatem wartość kanału na wyjściu miksera wynosi -85%. Rzeczywista wartość wyjściowa kanału wynosi -87% i wynika to z fizycznych zakresów wartości wyjściowych kanałów zdefiniowanych w zakładce Wyjścia (ang. Outputs; omówię to przy okazji opisywania zakładki Outputs). Ponieważ fazy lotu aktywujące reguły się nie pokrywają (poszczególne reguły dla tego samego kanału są aktywowane innymi fazami lotu), nie ma komplikacji spowodowanej jednocześnie aktywnymi kilkoma regułami dla tego samego kanału. Taką sytuację omówię jednak później, przy okazji omawiania reguł dla kanału CH3. Wejścia I1-I32 vs. bezpośrednie odczytywanie fizycznych manipulatorów W regułach miksera, jako źródło (ang. source) możemy wybrać różne parametry dostępne w OpenTX. Mogą to być położenia fizycznych manipulatorów radia (drążków, trymów, potencjometrów, przełączników), wartości przełączników logicznych, parametrów telemetrycznych, wartości innych kanałów, etc. OpenTX jest tutaj bardzo elastyczny, praktycznie każdy parametr – fizyczny lub wirtualny – może być wykorzystany jako źródło. W mikserze szczególnie ważnym źródłem są wejścia, oznaczone w OpenTX jako I1-I32. Są to te same wejścia, które konfigurowaliśmy w zakładce Inputs. W powyższych przykładach używaliśmy już wcześniej zdefiniowanych wejść, np. wejścia I1 o nazwie Ail: Bardzo podobnie wyglądała by definicja tej samej reguły, ale wykorzystująca jako źródło bezpośrednio drążek Ailerons (lotki): (zauważ brak "I1:" w definicji źródła) Może się wydawać, że nie ma większego znaczenia, czy użyje się zdefiniowanego wcześniej wejscia I6:Ail czy bezpośrednio Ail. Jest wręcz przeciwnie. Po pierwsze jeśli zdefiniowaliśmy wejścia w zakładce Inputs, prawdopodobnie chcieliśmy ich użyć w mikserze. W przeciwnym razie zdefiniowane tam parametry (np. expo, zakresy) nigdy nie będą wzięte pod uwagę, bo w mikserze odczytujemy "surowe" wartości źródła (w typ przypadku drążka Ailerons). Po drugie użycie zdefiniowanych wcześniej wejść znacząco upraszcza reguły miksera, które dzięki temu łatwiej się tworzy i potem czyta (szczególnie po jakimś czasie). Dobrą praktyką jest funkcjonalne rozdzielanie miejsc, w których konfiguruje się model. Główną rolą miksera jest miksowanie kanałów, zatem co się da, skonfigurujmy gdzie indziej. Po trzecie w skomplikowanych konfiguracjach użycie zarówno reguł wejść jak i reguł miksera, daje nam zwiększone możliwości. Np. można przypisać krzywą expo na wejściu i potem – dodatkowo, w zależności od innych parametrów – inną krzywą w mikserze. Po czwarte użycie zakładki Inputs daje możliwość kreowanie wirtualnych wejść, takich jak CH6 (Ptch) z naszego przykładu. Zwiększa to możliwości konfiguracyjne, a także czytelność reguł miksera. Parametr MAX Parametr MAX jest specjalnym parametrem, który ma zawsze wartość logiczną 1 lub 100%, w zależności od kontekstu użycia. Wykorzystuje się go wtedy, gdy chcemy ustawić jakąś wartość niezależnie od położenia przełączników, czy innych zmiennych wejść (zmiennych w sensie takich, które mogą przyjmować zmieniające się wartości; nie mylić ze zmiennymi globalnymi). Przyjrzyjmy się regule dla kanału CH8 z naszego projektu: Używamy tutaj zmiennej MAX jako źródła, a następnie aplikujemy wagę -100%. Wykonując prostą operację mnożenia MAX * -100% otrzymujemy minus 100% na wyjściu kanału CH8. Dzięki temu kanał AUX w Brain 2 pozostaje stanie nieaktywnym, a przypisana do niego funkcja Rescue czeka w pogotowiu. Będziemy ją aktywować w inny sposób, który opiszę w sekcji o zakładce Funkcje Specjalne. Następstwo i nadpisywanie reguł Do tej pory opisywałem reguły, które były aktywowane przez różne zdarzenia, ale były skonfigurowane w taki sposób, że niemożliwym było aby w tym samym czasie więcej niż jedna reguła była aktywną lub potencjalnie aktywną – dla pojedynczego kanału oczywiście. W naszym projekcie nie wykorzystujemy reguł, które będą faktycznie aktywne w tym samym czasie. Taką konfigurację opiszę może w innym artykule, np. przy okazji konfigurowania miksera dla samolotu, w którym ster kierunku wychyla się nieznacznie także przy operowaniu drążkiem lotek (np. 15% wychylenia drążka lotek jest przypisywane do kanału steru kierunku, by poprawić prowadzenie modelu w skrętach). W przykładzie wykorzystujemy za to reguły, które byłyby jednocześnie aktywne, gdyby nie następstwo i nadpisywanie reguł. Zacznijmy od przyjrzenia się temu ekranowi symulatora: SF↑ – silnik jest "uzbrojony" SA↓ – Spool-Up, czyli nie jest aktywny Throttle-Hold SB↓ – wybieramy Idle-Up 3, czyli trzecią prędkość obrotów wirnika głównego modelu, zdefiniowaną w governorze Brain 2 Na ekranie powyżej widać, że dla kanału CH3 aktywna jest reguła trzecia, aktywowana przełącznikiem SB↓. Silnik modelu obraca się zatem z prędkością ustawioną jako Idle-Up 3 w governorze Brain 2. Co się jednak stanie, gdy przesuniemy przełącznik SA w pozycję SA– lub SA↑, czyli Throttle-Hold? Mimo, że nie zmieniliśmy pozycji przełącznika SB (pozostaje on w pozycji SB↓), nie jest już aktywna reguła trzecia kanału CH3. Aktywowana za to została reguła ostatnia (piąta) dla kanału CH3, która aktywowana jest gdy przełącznik SA jest w pozycji Throttle-Hold (pozycji nie do siebie, co zapisywane jest !SA↓ – znak wykrzyknika oznacza logiczne zaprzeczenie). Żeby zrozumieć się stało potrzebne są jeszcze dwie informacje: Reguły przypisane do danego kanału przetwarzane są kolejno, tak jak są wyświetlane na liście zakładki Mixes, od góry do dołu. Każda kolejno przetwarzana reguła zmienia wynik końcowy, dodając (ang. add), mnożąc (ang. multiple) lub zastępując (ang. replace) wartość wynikającą z przetwarzania poprzedzających ją reguł. To czy dana reguła dodaje, mnoży czy zastępuje dotychczasową wartość, zależy od ustawienia parametru Połączenie (ang. Multiplex) ustawianego w oknie dialogowym danej reguły: W listingu reguł zakładki miksera operacja zamiany (REPLACE) oznaczana jest znakiem dwukropka i równości: Dla pierwszej reguły każdego kanału nie ma znaczenia jaka operacja jest ustawiona jako Multiplex, gdyż nie ma poprzedzających ją reguł, zatem nie ma do czego dodawać, czego mnożyć, ani zastępować. W szczególności nie ma to znaczenia, gdy dana reguła jest jedyną przypisaną do kanału. Dlatego na liście reguł miksera, dla pierwszych reguł każdego kanału, OpenTX Companion nawet nie pokazuje, jaka operacja jest wybrana. Wracając do głównego wątku... W naszym przykładzie ostatnia reguła kanału CH3 zastępuje (ang. replace) poprzednie wartości. Dlatego mimo, że mamy aktywny przełącznik SB↓ (Idle-Up 3, maksymalne obroty wirnika głównego), to tak naprawdę wartość końcową kanału w mikserze determinuje ostatnia reguła, czyli Throttle-Hold, aktywowana przez pozycję przełącznika !SA↓ (inną niż do siebie). W efekcie silnik nitro będzie bezpiecznie chodził na biegu jałowym, czyli będzie aktywny Throttle-Hold. Analiza reguł miksera Mamy już prawie kompletną wiedzę, aby przeanalizować wszystkie reguły miksera, które realizują założenia naszego projektu. Wyjątkiem są krzywe, które dokładnie opiszę w dalszej części artykułu. W tej części artykułu będę się zatem ograniczał do wskazania, że dana krzywa jest aktywna oraz będę pokrótce opisywał, jaki wywiera efekt na wyjście kanału. Przypomnijmy, jak wygląda zakładka Mixes z regułami realizującymi założenia naszego projektu: Definiujemy w niej osiem kanałów (CH1-CH8), w kolejności zgodnej z oczekiwaną przez kontroler Brain. Oczekiwaną kolejność kanałów Brain 2 można podejrzeć (a nawet zmodyfikować) w Advanced Menu / Receiver konfiguratora Brain 2: Ponieważ dla OpenTX kolejność kanałów nie ma znaczenia, dostosujemy się do standardowej kolejności oczekiwanej przez Brain 2 (którą można w razie potrzeby zmienić). Reguły kanałów CH1, CH2, CH4 (Ail, Ele, Rud) Są to standardowe kanały do obsługi lotek, steru wysokości oraz steru kierunku (odpowiednio Ail, Ele oraz Rud): W helikopterze lotki oraz ster wysokości odpowiadają za sterowanie pochylaniem głowicy wirnika głównego (cyclic), czyli de-facto za pochylanie (ang. pitch) i przechylanie (ang. roll) całego modelu. Ster kierunku odpowiada za odchylanie modelu (ang. yaw), co w helikopterach realizowane jest za pomocą zmiany skoku łopatek wirnika ogonowego. Notka: angielski termin „pitch” używany jest zarówno do określania stopnia pochylenia modelu jak i do określania skoku łopat wirników helikoptera lub śmigieł samolotu. W regułach miksera dla kanałów CH1, CH2 oraz CH4 nie dzieje się nic specjalnego. Każdy z wymienionych kanałów przyjmuje wartości przypisanego do siebie i zdefiniowanego wcześniej w zakładce Inputs wejścia, czyli odpowiednio drążka lotek (I1:Ail), drążka steru wysokości (I2:Ele) oraz drążka steru kierunku (I4:Rud). Pamiętamy, że używamy tutaj wcześniej zdefiniowanych w zakładce Inputs wejść, nie bezpośrednio wartości odczytywanych z fizycznych drążków. Zatem brane są pod uwagę expo i zakres pracy tych wejść (zależnie od aktualnie wybranej fazy lotu, ustalane za pomocą zmiennych globalnych). Reguły kanału CH3 (Thr) Kanał CH3 steruje przepustnicą gazu (ang. Throttle). Pierwsze trzy reguły przypisują do kanału CH3 jedną z trzech krzywych CV2, CV3 lub CV4 (o nazwach odpowiednio UP1, UP2 lub UP3) w zależności od położenia przełącznika SB. W ten sposób realizujemy jedno z założeń projektu, tzn. przypisanie trzech prędkości Idle-Up do przełącznika SB: Aktywowane przełącznikiem SB krzywe powodują, że wartość kanału CH3 przybiera jedną z trzech wartości sterujących governorem kontrolera Brain 2, ustawiając prędkość obrotową wirnika głównego na określonych poziomach: Warto zwrócić uwagę, że druga i trzecia reguła kanału CH3 (czwarta i piąta też) posiadają atrybut REPLACE (zamień). W efekcie, jeśli któraś z tych reguł jest aktywna, tylko ta jedna reguła jest brana pod uwagę przy ustalaniu wartości wyjściowej kanału CH3 (jej działanie całkowicie nadpisuje poprzednią wartość): Innym założeniem projektu było, że przełącznik SC w pozycji do dołu wyłącza governor i włącza sterowanie obrotami silnika w tradycyjny sposób, za pomocą krzywej gazu. Drugą część tego założenia (sterowanie obrotami za pomocą krzywej NGV) realizuje następna (czwarta) reguła kanału CH3: Dla wygody regułę tę nazwaliśmy zgodnie z pełnioną funkcją, tzn. "NoGov". Nazwa reguły, jeśli jest zdefiniowana, widoczna jest na końcu linii, w nawiasach kwadratowych. Nazwa nie pełni żadnej funkcji, poza ułatwieniem czytania reguł. Jeśli reguła czwarta dla kanału CH3 staje się aktywna (przełącznik SC zostaje przełączony w pozycję „do siebie” SC↓) nadpisuje ona pierwsze trzy reguły (atrybut REPLACE + reguły są interpretowane w kolejności od pierwszej u góry do ostatniej na dole). Zatem niezależnie od stanu przełącznika SB, jeśli reguła czwarta jest aktywna, kanał CH3 zacznie przyjmować wartości zgodne z krzywą CV9 o nazwie NGV (ang. No GoVernor). Notka: Pierwszą część założenia projektowego (dezaktywacja governora przy SC↓) częściowo już zrealizowaliśmy za pomocą faz lotu, od których będziemy uzależniać wartość kanału CH7. Reguły dla kanału CH7 będą wyjaśnione niżej. W opisanych do tej pory pierwszych czterech regułach kanału CH3 używamy wejścia I3:Thr jako źródła: Jak zobaczymy przy okazji omawiania krzywych, nie ma to w zasadzie znaczenia dla trzech pierwszych reguł (tych realizujących trzy kolejne stopnie Idle-Up). Tym niemniej będzie miało to istotne znaczenie dla reguły czwartej (No Governor). Omówię to bardziej szczegółowo przy zakładce Curves. Ostatnia (piąta) reguła przypisana do kanału CH3 realizuję funkcję Throttle-Hold. Także tę regułę nazwaliśmy – ThHold – tak by w przyszłości ułatwić sobie czytanie konfiguracji. Jako, że reguła ThHold jest ostatnią przypisaną do kanału CH3, w momencie aktywacji nadpisuje ona wszystkie poprzednie reguły (jest zawsze interpretowana na samym końcu). Zatem niezależnie od pozycji przełączników SB czy SC, jeśli przełączymy SA w pozycję !SA↓ (Throttle-Hold), silnik zacznie pracować na obrotach jałowych. Notka: pozycja Throttle-Hold przełącznika SA to pozycja środkowa SA– lub pozycja „od siebie” SA↑, co w skrócie zapisujemy jako "nie do siebie” !SC↓ (używają wykrzyknika jako znanego już zaprzeczenia logicznego). Throttle-Hold oznacza, że silnik pracuje na biegu jałowym. Aby to osiągnąć musimy wymusić na kanale CH3 jakąś niską wartość, odpowiadającą takiej pozycji orczyka serwa przepustnicy gaźnika, która zapewni stabilną pracę silnika na biegu jałowym. Jak wspominałem przy okazji omawiania zakładki Flight Modes, odpowiednią wartość (dobraną doświadczalnie) przechowujemy w zmiennej globalnej TH. Aby ustawić wartość przechowywaną w zmiennej globalnej TH jako wartość kanału CH3, w definicji reguły Throttle-Hold używamy wartości specjalnej MAX jako źródła i odwracamy ją przy użyciu wagi -100%. Następnie stosujemy offset (przesunięcie) o wartość TH właśnie. Tak wygląda ta reguła po podwójnym kliknięciu w linię na liście reguł: Jako wartości wyjściowej używamy MAX, gdyż jest ona stała i pozwoli nam ustawić wartość Throttle-Hold niezależnie od położenia drążka Throttle czy pozycji innych przełączników lub potencjometrów. Dla lepszego zrozumienia zapiszmy to jako swego rodzaju wzór, zakładając: źródło: MAX (czyli wartość logiczna 1 lub 100%) waga (ang. weight): -100% przesunięcie (ang. offset): TH (czyli wartość przechowywana w zmiennej globalnej TH, w naszym przykładzie zdefiniowana jako 22) Przy powyższych założeniach nasz pseudo-wzór i obliczenia wykonywane przez mikser, będą wyglądały następująco: CH3 = MAX * WEIGHT + OFFSET CH3 = 1 * (-100%) + 22 CH3 = -100% + 22 CH3 = -78% Zatem w naszym przykładzie to -78% będzie wartością kanału CH3 ustawianą poprzez aktywację reguły Throttle-Hold. Pozycję serwa dla Throttle-Hold (a dokładniej wartość zmiennej globalnej TH) będziemy potem modyfikować używając funkcji specjalnych (ang. Special Functions). Reguły kanału CH5 (TGain) W kontrolerze Brain 2 kanał CH5 steruje wzmocnieniem (ang. gain) komponentu P (regulatora PID) sterowania skokiem wirnika ogonowego. Wartości dodatnie kanału CH5 (zakres od 0% do +100%) ustalają poziom wzmocnienia w tzw. trybie Tail Lock – żyroskopowego utrzymywania odchylenia modelu. Wartości ujemne kanału CH5 (zakres od 0% do -100%) ustalają poziom wzmocnienia w tzw. trybie Tail Free – w którym model poddaje się siłom aerodynamicznym i odchyla (obraca w osi wirnika głównego) zgodnie z nimi. Przełączenie trybów odbywa się za pomocą przełącznika SD. Przy czym w pierwszej regule – nazwanej TaLock – nie musimy nawet definiować przełącznika. Reguła TaLock jest aktywna domyślnie, do czasu aż zostanie aktywowana reguła TaFree, co dzieje się po ustawieniu przełącznika SD w pozycję SD↓. Po aktywacji reguła TaFree nadpisuje działanie reguły TaLock. Opiera się to na zasadzie opisanej już zasadzie zastępowania reguł (opcja REPLACE). Dla obu reguł kanału CH5 źródłem jest wcześniej zdefiniowane wejście I5:Gain, czyli w uproszczeniu potencjometr S2. Normalnie wzmocnienie byłoby regulowane w zakresie ±100%. W praktyce wzmocnienie reguluje się w o wiele węższym zakresie, np. 40-60%. Dodatkowo musimy rozdzielić dodatnie i ujemne zakresy. Dlatego do obu reguł przypisano krzywe, które ograniczaja zakres, a jednocześnie ustalają dodatni zakres dla reguły TaLock (od +40% do +60%), oraz odpowiadający mu zakres ujemny dla reguły TaFree (od -40% do -60%). Zatem w skrajnie lewym położeniu potencjometru S2 wartość kanału przyjmuje ±40%, a w skrajnie prawym ±60% (plus lub minus w zależności od położenia przełącznika SD). Zwiększa to znacząco rozdzielczość potencjometru S2, co umożliwia precyzyjne regulowanie wzmocnieniem. Ograniczenie wartości sterowanych potencjometrem S2 zapobiega także przypadkowemu ustawieniu skrajnych wartości wzmocnienia, przez które model zachowywałby się bardzo niestabilnie. Dzięki zastosowaniu oddzielnych krzywych można – gdyby zaszła taka potrzeba – przypisać dwa różne zakresy: inny dla reguły TaLock, a inny dla reguły TaFree. Gdyby okazało się, że zdefiniowane krzywymi zakresy nie są odpowiednie dla danego modelu (gdyż zachodzi konieczność ustawienia wzmocnienia spoza zakresu początkowo ustalonego zakresu), należy zmienić krzywe tak, by pokrywały odpowiedni zakres np. ±30-50% (dla przewidywanej wartości wzmocnienia równej 40%). Krzywe przypisane do reguł kanału CH5 omówię szczegółowo przy okazji omawiania zakładki Curves (Krzywe). Reguły kanału CH6 (Pitch) Kanał CH6 steruje skokiem ogólnym łopat wirnika głównego modelu. W przykładowym modelu pełen zakres skoku to -12° / +12°, przy czym 0° przypada na pozycję środkową drążka Throttle (pamiętamy, że w modelach helikopterów drążek gazu steruje także (a często wyłącznie) skokiem łopat wirnika głównego), co jest typowe dla modeli akrobacyjnych 3D (w uproszczeniu umożliwia lot odwrócony). Do kanału CH6 są przypisane dwie reguły, uaktywniane poprzez zmianę aktywnej fazy lotu: W obu regułach źródłem jest zdefiniowane wcześniej wejście I6:Ptch (drążek gazu z przypisanym expo zależnym od zmiennej globalnej EXP). Ruch drążka jest zatem wstępnie filtrowany przez wejście (dodajemy niewielkie expo, tak by mieć nieco lepszą precyzję sterowania blisko centrum drążka), a następnie w mikserze przypisywane są krzywe zależne od aktualnie aktywnej fazy lotu. Pierwsza reguła, powiązana z fazą lotu FM0 (Normal), przypisuje do kanału CH6 krzywą CV5 (krzywa nr 5, o nazwie PT1). Krzywa PT1 powoduje, że ujemny skok łopat zostaje ograniczony (nie pracuje w pełnym zakresie od 0° do -12°, ale od 0° do około -8°). Reguła druga, aktywowana fazami lotu FM1 (Sport) oraz FM2 (No Gov) przypisuje do kanału CH6 krzywą o nazwie PT2 (krzywa nr 6). W efekcie ruch drążka gazu będzie odzwierciedlony w pełnym zakresie skoku łopat, od -12° do 12°. Jest to kolejny przykład na to, ile rzeczy dzieje się w zależności od wybranej fazu lotu, a jednocześnie jak dzięki przemyślanemu użyciu faz lotu (i wcześniej zdefiniowanym wejściom) logiczne i przejrzyste stają się reguły miksera. Więcej o przypisanych do kanału CH6 krzywych PT1 oraz PT2 napiszę w dalszej części artykułu. Reguły kanału CH7 (Setup) Kanał CH7 steruje wyborem trybu lotu (stylu lotu, ang. Flying Style) w kontrolerze Brain 2: CH7 = -100% – tryb lotu 1 (Setup 1) CH7 = 0% – tryb lotu 2 (Setup 2) CH7 = +100% – tryb lotu 3 (Setup 3) Notka: w rzeczywistości do każdego trybu przypisany jest jakiś zakres (np. wartość 15% prawdopodobnie również wybrała by Setup 2 kontrolera Brain 2), ale dla uproszczenia przyjmijmy konkretne wartości -100% / 0% / +100%. To samo tyczy się innych kanałów, gdzie dokonuje się wyboru pewnych opcji, np. kanału CH8. W mikserze OpenTX wybór trybów lotu kontrolera Brain 2 zrealizowany jest to za pomocą następujących trzech reguł: Ponownie wykorzystujemy tutaj wartość specjalną MAX, jako stałą wartość bazową, modyfikowaną następnie za pomocą wagi (ang. weight), tak by po wykonaniu możenia wartości specjalnej MAX przez wagę uzyskać pożądaną wyjściową wartość kanału CH7. Na przykład dla reguły drugiej: CH7 = MAX * WEIGHT CH7 = 1 * 0% CH7 = 0% W efekcie przypisanie wagi 0% zeruje wartości kanału. Waga -100% lub +100% dałaby na wyjściu kanału CH7 odpowiednio te same -100% i +100%. Poszczególne reguły przypisane do kanału CH7 aktywowane są za pomocą faz lotu – każda reguła inną fazą lotu. W ten sposób w danej chwili aktywna jest tylko jedna reguła i to jej wartość wyjściowa wysyłana jest do kontrolera FBL. Reguły kanału CH8 (Aux) Kanał CH8 aktywuje funkcję "rescue" kontrolera Brain 2. Na razie w mikserze konfigurujemy jednak tylko jedną regułę: Ustawia ona wartość kanału na -100%. Dzięki temu funkcja "rescue" pozostaje nieaktywna. Funkcję "rescue" kontrolera Brain 2 będziemy aktywować poza mikserem, z zakładce Special Functions (Funkcje Specjalne), o czym napiszę w dalszej części artykułu. OpenTX Companion – Zakładka Outputs (Wyjścia) W zakładce Outputs (Wyjścia) ustala się parametry powiązane bezpośrednio z fizycznymi urządzeniami wyjściowymi, na przykład takimi jak serwomechanizmy lub wyjścia kanałów przesyłane portem SBUS lub CPPM z odbiornika do kontrolera lotu. W OpenTX przetwarzanie sygnałów od wejść (między innymi fizyczne drążki, przełączniki i potencjometry radia) do wyjść (wartości kanałów wysyłanych przez moduł nadawczy radia) odbywa się kolejno w zakładkach Inputs (opcjonalnie), Mixes i Outputs. Dobrą praktyką jest rozpoczęcie od zakładki Inputs jako pierwszego stopnia przynajmniej dla najważniejszych wejść. Następnie sygnały przetwarzane są w zakładce Mixes, aby zakończyć proces w zakładce Outputs: Inputs (Wejścia) -> Mixes (Miksery) -> Outputs (Wyjścia) -> moduł nadawczy aparatury RC ... do uzupełnienia graficzny schemat przetwarzania sygnałów w OpenTX Przy definiowaniu reguł dla wejść i mikserów, posługujemy się zakresem ±100%. Są to wartości używane do wykonywania obliczeń na regułach wejść i mikserów, przy założeniu, że urządzenia wyjściowe są idealne i wszystkie takie same. Takie założenie jest oczywiście błędne. Serwomechanizmy produkowane są przez różnych producentów, pracują z różną rozdzielczością, mogą posiadać nieco inne centrum, inne maksymalne zakresy, etc. To samo dotyczy parametrów wejść oczekiwanych i odczytywanych przez kontrolery lotu / flybarless. Zatem bardzo często będziemy mieli do czynienia z sytuacją, w której sygnał wychodzący z miksera, o teoretycznej wartości np. 100%, nie odpowiada dokładnie temu co chcielibyśmy osiągnąć na urządzeniu wyjściowym, np. wychylenie orczyka serwomechanizmu będzie nieco zbyt duże lub zbyt małe. Moglibyśmy dostosowywać wartości w mikserze, tak by osiągnąć pożądane skrajne położenie. Byłoby to jednak bardzo nieeleganckie i w praktyce kłopotliwe rozwiązanie. Wyobraźmy sobie wyjścia dwóch lotek, dla których należałoby dostosować indywidualne wartości centrum oraz maksymalne wychylenia w każdą stronę (lotka do góry, lotka do dołu). Reguły miksera stały by się skomplikowane. Trzeba by dla każdej lotki używać indywidualnych przesunięć, krzywych, wag; prawdopodobnie tworzyć oddzielne reguły dla wychylenia w każdą ze stron. Takie podejście nie ma sensu. W mikserze chcemy centrum definiować zawsze jako 0%, a wartości maksymalne zawsze jako ±100%. Dlatego potrzebna jest zakładka Outputs (Wyjścia), w której następuje finalne dostosowanie wysyłanych sygnałów sterujących do fizycznych urządzeń je wykonujących: np. serwomechanizmów czy kontrolerów lotu / flybarless. W naszym przykładzie kontrolerem flybarless jest Brain 2, którego konfiguracja kanałów wejściowych (wyjściowych z OpenTX) wygląda tak: Jednym z pierwszych czynności wykonywanych przy konfiguracji każdego kontrolera lotu / flybarless jest dostosowanie zakresów, w szczególności dla drążków sterujących i potencjometrów (jeśli przypisane do nich funkcja wymaga precyzyjnego sterowania). Chodzi o to, aby faktyczny zakres wartości kanałów wyjściowych (porty PWM lub kanały SBUS / CPPM odbiornika) idealnie odpowiadał zakresom odczytywanym przez kontroler lotu / flybarless. Innymi słowy, aby -100%, 0% i +100% wysyłane przez moduł nadawczy radia, był przez kontroler lotu / flybarless odczytywany jako dokładnie taka sama wartość, a nie np. -99%, 1% i 102% (odpowiednio). Do takiego dostosowania zakresów sygnałów służy właśnie zakładka Outputs: Parametry zdefiniowane w zakładce Outputs będą „nakładane” na poszczególne kanały wyjściowe na samym końcu, po regułach miksera, przed samym wysłaniem tak obrobionych sygnałów przez moduł nadawczy radia do odbiornika. Bardzo ładnie widać to w zakładce Mixes, podczas konfigurowania modelu bezpośrednio w radiu (nie w OpenTX Companion) lub w symulatorze OpenTX Companion: W symulatorze widać, że drążek lotek jest wychylony maksymalnie w prawo, co przekłada się na wartość 100% na wyjściu miksera kanału CH1 (zaznaczone na żółto). Jednocześnie faktyczna wartość kanału, wysyłana przez moduł nadawczy radia, wynosi 109% (zaznaczone na zielono). Wynika to z tego, że maksymalna wartość kanału CH1 została w zakładce Outputs skorygowana do 108.6% (w zaokrągleniu, aby oszczędzić miejsce na ekranie, pokazywane jako 109%). Znając już podstawy działania zakładki Outputs możemy przystąpić do kalibracji wyjść, zgodnie z oczekiwaniami kontrolera flybarless. W naszym przykładzie jest to Brain 2, ale ta sama zasada będzie dotyczyła także innych kontrolerów lotu. Kalibrujemy przede wszystkim wyjścia tych kanałów, których działanie musi być precyzyjne. W naszym przykładzie są to drążki sterujące (CH1-4 oraz CH6): Aby skalibrować dany kanał, uruchamiamy program konfiguracyjny Brain 2 w zakładce Transmitter Setup i dla każdego kanału przeprowadzamy następującą procedurę: wychylamy drążek danego kanału do pozycji -100% (w lewo lub w dół) obserwujemy wartość kanału odczytywaną przez Brain 2; powinna ona być bliska -100% (z wyjątkiem Throttle, gdzie stosowana jest skala od 0% do 100%, więc oczekiwana tutaj wartość to 0%) w OpenTX (w radiu, nie w Companion) w zakładce Outputs regulujamy wartość Min danego kanału, tak aby Brain 2 pokazywał dokładnie -100% (lub 0% dla kanału Throttle) wychylamy drążek danego kanału do pozycji +100% (w prawo lub do góry) obserwujemy wartość kanału odczytywaną przez Brain 2; powinna ona być bliska +100% w OpenTX (w radiu, nie w Companion) w zakładce Outputs regulujamy wartość Max danego kanału, tak aby Brain 2 pokazywał dokładnie +100% Kalibrację należy przeprowadzić jeszcze bez przypisanych do kanałów wag lub krzywych ograniczających zakres, bez przesunięć, etc. Oczywiście do przeprowadzenia kalibracji konieczne jest podłączenie odbiornika, zbindowanie go, wstępne ustawienie typu odbiornika w Brain 2, etc. Kalibrację przeprowadzamy w OpenTX w radiu (nie w OpenTX Companion). Po tak przeprowadzonej kalibracji powinniśmy mieć idealnie zestrojone kanały wyjściowe z miksera OpenTX z wejściami kontrolera Brain 2 (lub innego). Zestrojone, tzn. że gdy mikser OpenTX pokazuje ±100% (na ekranie symulatora powyżej zaznaczone na żółto), to kontroler powinien pokazywać to samo ±100% (lub 0% dla minimalnej pozycji kanału Throttle). To w zasadzie wyczerpuje opis konfiguracji wyjść naszego przykładowego modelu, ale dla porządku omówię jeszcze kolejne pola możliwe do zdefiniowania w zakładce OpenTX Outputs: Name (Nazwa) – Nazwa wyświetlana w zakładce Mixes radia, w monitorze kanałów oraz przy ustawianiu failsafe. Subtrim – Wartość, która przesuwa faktyczne centrum danego kanału, tak by dostosować np. pozycję neutrum orczyka serwomechanizmu, do 0% wartości kanału w mikserze. Zwykle w to pole nie wpisuje się wartości bezpośrednio, ale bo wytrymowaniu modelu w locie kopiuje się wartość trymu do sub-trymu danego kanału, za pomocą opcji Copy trims to subtrim: Dzięki temu trymy można z powrotem ustawić w zerze lub nawet wyłączyć, a korekta zostanie zapamiętana i zaaplikowana przez sub-trym. (ewentualnie można skopiować do subtrim wartości odpowiadające aktualnemu położeniu drążków Copy sticks to subtrim, co można także zrobić za pomocą funkcji specjalnej Instant Trim) Przesunięcie centrum kanału przy pomocy sub-trym nie powoduje adekwatnej zmiany wartości skrajnych kanału (wartości skrajne +/- 100% pozostają na tym samym poziomie; linia czerwona na wykresie poniżej). Min / Max – korekta faktycznych wartości skrajnych danego kanału. To właśnie tutaj wpisujemy wartości nieco większe lub mniejsze od 100%, tak by dla wartości 100% w mikserze, osiągnąć żądaną pozycję skrajną serwomechanizmu lub wartości kanału wysyłanego do kontrolera lotu / flybarless. W naszym przykładzie zrobiliśmy to dla kanałów CH1-4 oraz CH6. Wartości Subtrim / Min / Max mogą być także ustawiane przy pomocy zmiennych globalnych. Wystarczy zaznaczyć opcję GV znajdującą się przy każdym z pól i wybrać odpowiednią zmienną globalną. Direction (Kierunek) – służy do odwrócenia kierunku pracy serwomechanizmu lub kanału wysyłanego do kontrolera lotu / flybarless. Dzięki temu w mikserze możemy stosować intuicyjne wartości, np. 100% oznaczające maksymalne dodatnie wychylenie (to oczywiście umowne, ale np. w prawo), podczas gdy tak naprawdę serwo wychyla się w kierunku ujemnym (np. w lewo). Aby takie zachowanie skorygować nie musimy zmieniać wartości w mikserze na -100%, co mogłoby być mylące z punktu widzenia implementowanej logiki działania. Zamiast zmieniać kierunki w mikserze, po prostu odwracamy działanie serwomechanizmu w zakładce Outputs. Oczywiście do samo dotyczy wartości kanałów wysyłanych przez SBUS / CPPM do kontrolerów lotu czy flybarless. Curve (Krzywa) – jest to po prostu jeszcze jedno miejsce (poza zakładką Inputs oraz Mixes), w którym można przypisać krzywą do kanału. PPM Center (Środek PPM) – definiuje centrum kanału, w notacji czasu trwania impulsu PWM określającego centrum (czyli w mikro-sekundach oznaczanych µs). Domyślnie OpenTX stosuje 1500µs oraz zakres 988-2012µs dla wartości kanałów odpowiednio -100% i +100%. Zmiana opcji PPM Center działa podobnie jak Subtrim, z tą różnicą, że wartości skrajne zostaną również odpowiednio przesunięte. Na przykład zmieniając PPM Center z 1500µs na 1520µs, wartości skrajne zostaną także przesunięte o 20µs, czyli odpowiednio do 1009µs oraz 2032µs. Przykład zastosowania PPM Center (przesunięcie centrum PPM w dół) pokazany jest żółtą linią na wykresie poniżej). Linear Subtrim (Liniowy Subtrim) – wpływa na to, w jaki sposób zachowują się wartości skrajne przy zmianie Subtrim. Bez zaznaczenia opcji Linear Subtrim (domyślnie opcja ta nie jest zaznaczona) wartości skrajne nie są zmieniane, pozostają takie same. Zmienia się tylko położenie centrum kanału, w wyniku czego kanał pracuje asymatrycznie, ale ciągle osiąga te same wartości skrajne (linia czerwona na wykresie). Jeśli opcja Linear Subtrim zostanie zaznaczona, wartości skrajne dane kanału zostaną adekwatnie przesunięte i z jednej strony obcięte, a z drugiej strony wartość maksymalna będzie osiągana wcześniej (linia niebieska na wykresie). Extended Limits (Rozszerzone Limity) W tym miejscu warto wspomnieć o opcji Extended Limits, którą można zaznaczyć w zakładce Setup (Ustawienia). Normalnie OpenTX na wyjściach stosuje 1500µs jako neutrum oraz 512µs w każdą stronę ±100%, czyli efektywnie zakres 988-2012µs (jeśli nic Ci to nie mówi, ponownie odsyłam do artykułu Porty nie tylko FrSky). Zaznaczenie opcji Extended Limits powoduje zwiększenie możliwego zakresu wyjść (zakładka Outputs) do ±150% (czyli ±768µs, co daje bardzo szeroki zakres 732-2268µs). Maksymalne wagi w zakładkach Inputs (Wejścia) oraz Mixes (Miksery) nie są zależne od opcji Extended Limits. W opcjach wejść można wprowadzać wartości do 100%, a w opcjach miksera do 500%. Tym niemniej wyjścia reguł obu zakładek (Input i Mixes) będą zawsze ograniczane do 100%. UWAGA: Wbudowane w OpenTX ograniczenia zakresów mają za zadanie uniknięcie wysyłania przez odbiornik RC sygnałów PWM / CPPM / SBUS, które przekraczałyby fizyczne możliwości elementów wykonawczych, w szczególności serwomechanizmów. Większość serw akceptuje co najmniej zakres 900-2100µs, choć i tu mogą zdarzyć się wyjątki. Dlatego należy zawsze upewnić się, że gdy opcja Extended Limits jest włączona, urządzenia wykonawcze (w szczególności serwomechanizmy) akceptują maksymalne wartości, jakie mogą pojawić się na portach odbiornika RC sterowanego przez OpenTX. W skrajnym przypadku przekroczenie dopuszczalnych wartości może doprowadzić nawet do fizycznego uszkodzenia serwomechanizmu. OpenTX Companion – Zakładka Curves (Krzywe) Zanim przejdę do opisu konfiguracji konkretnych krzywych realizujących założenia naszego projektu omówię pokrótce, jak działają krzywe (ang. curves) w ogóle. Jak działają krzywe? Krzywe są potężnym narzędziem, dostępnym praktycznie w każdym systemie aparatur RC. Warto wiedzieć jak działają i do czego można je wykorzystać. Mówiąc w skrócie krzywe wykorzystujemy jako swego rodzaju filtr, przez który możemy przepuszczać wartości wejść kanałów, tak by osiągnąć skomplikowany efekt, niemożliwy do uzyskania w inny sposób. W poniższych przykładach zakładamy, że wejściem krzywej jest ruch drążka, a wyjściem ruch serwomechanizmu (wartość wyjściowa kanału RC). Nie musi tak jednak być, krzywe można wykorzystać do pracy z dowolnymi wejściami i wyjściami OpenTX. Poniższe trzy przykłady nie mają związku z realizowanym projektem. Służą wyłącznie celom edukacyjnym i poglądowym. Przykład 1 Zacznijmy od najprostszej krzywej liniowej. Krzywa ta zdefiniowana jest następująco: W OpenTX oś X odpowiada za wejście krzywej, np. drążek lotek. Oś Y reprezentuje wyjście, np. serwomechanizm jednej z lotek. Krzywa realizuje liniową funkcję Y=X. Ponieważ krzywa jest w pełni liniowa, każdej wartości X, odpowiada dokładnie taka sama wartość Y, np. drążek w pozycji -50% da na wyjściu -50%. Krzywa zatem nic nie robi i tak naprawdę nie ma żadnego sensu używania takiej krzywej. Tym niemniej dla celów edukacyjnych warto zacząć od tak prostego przykładu. Przykład 2 W tym przykładzie drążek w pozycji -50% (oś X), na wyjściu krzywej (oś Y) da wartość -25%; dla wartości X = 100%, na wyjściu Y pojawi się 50%. Zatem tak zdefiniowana krzywa ogranicza zakres działania drążka lotek o połowę. W efekcie serwomechanizm podłączony do kanały wyjściowego miksera, do którego przypisano by taką krzywą, poruszałby się tylko w połowie zakresu w każdą stronę. Tak zdefiniowaną krzywą można wykorzystać np. do realizacji tzw. dual-rates, czyli ograniczenie zakresu działania danej powierzchni sterowej. Także w tym przypadku ten sam efekt można osiągnąć prościej, po prostu przypisując wagę 50% do kanału. Efekt na wyjściu będzie ten sam. Ale co w sytuacji, kiedy chcemy zrealizować na przykłąd tzw. funkcję expo, tj. aby drążek był mniej czuły w swoim środkowym zakresie, pozwalając na precyzyjne sterowanie modelem, ale jednak aby serwo pracowało w pełnym zakresie, płynnie przyspieszając ruch poza obszarem środkowym działania drążka? Taką funkcjonalność można zrealizować tylko przy pomocy krzywych i tutaj z pomocą przychodzą tzw. krzywe Expo: Nie dosyć, że powyższa krzywa nie jest liniowa, to jeszcze jest wygładzona (ang. smooth), tzn. krzywa przechodzi przez pewne zdefiniowane punkty, ale pomiędzy nimi przyjmuje płynnie zmieniające się wartości. Dzięki temu kontrola serwa będzie precyzyjna w okolicy centrum drążka (np. dla wychylenia drążka do 20%, na wyjściu pojawia się tylko 10%), ale jednocześnie będzie możliwe wykorzystanie pełnego zakresu pracy serwa / kanału, tzn. dla wychyleń skrajnych, wartości wyjściowe osiągną odpowiednio ±100%. Przejścia pomiędzy poszczególnymi punktami będą płynne, tj. w żadnym momencie nie wystąpi skokowa zmiana wychylenia orczyka serwa, aczkolwiek reakcja serwa będzie szybsza wraz ze zbliżaniem się granic wychyleń drążka. Notka: krzywe expo są w OpenTX (i wielu innych systemach) pre-definiowane, tzn. nie trzeba ich „ręcznie” konfigurować w zakładce Curves. Można po prostu wybrać krzywą typu expo jako przypisaną do reguły w zakładkach Inputs lub Mixes, a następnie zadać wartość numeryczną określającą jak bardzo krzywa expo ma modyfikować swoje wejście. Im większa wartość numeryczna expo, tym większa modyfikacja. Poniżej przykładowa krzywa dla Expo 40: W porównaniu do krzywej Expo 20, krzywa Expo 40 jest jeszcze bardziej precyzyjna w okolicach centrum, zatem ruchy drążka w okolicy centrum będą przekładały się na jeszcze bardziej delikatne zmiany na wyjściu krzywej (dla X=20, Y to tylko 6). Tym niemniej wyjście każdej pre-definiowanej krzywej expo będzie pracowało w pełnym zakresie, tj. dla skrajnych położeń drążka będzie osiągało ±100%. Trzeba przy tym uważać, gdyż dla wysokich wartości expo (np. 70-80) w centrum drążek będzie pracował bardzo precyzyjnie i łagodnie, ale poza centrum gwałtownie przejdzie do wartości bliskich ±100%. Takie zachowanie spowoduje nagłą reakcję modelu, co niekoniecznie musi być spodziewane, ani pożądane. Przykład 3 Rozważmy trzeci i ostatni przykład, w którym zdefiniujemy krzywą, realizującą funkcjonalność klap samolotu. Załóżmy, że klapy podniesione są realizowane w pozycji centralnej serwomechanizmu (czyli wartość kanału 0%), a maksymalne wypuszczenie klap wymaga obrotu orczyka serwa maksymalnie w lewo (wartość kanału -100%). Jednocześnie chcemy, aby sterowanie odbywało się potencjometrem suwakowym, od pozycji górnej suwaka (klapy podniesione), do pozycji dolnej (klapy w pełni wypuszczone). Przekładając to na konkretne wartości osi krzywej: na wejściu krzywej (oś X) mamy potencjometr pracujący od +100% (pozycja górna suwaka, klapy podniesione) do -100% (pozycja dolna suwaka, klapy w pełni wypuszczone) na wyjściu krzywej (oś Y) chcemy osiągnąć odpowiednio wartości od 0% (serwo jest w pozycji centralnej, klapy podniesione) do -100% (serwo w skrajnie lewym położeniu, klapy w pełni wypuszczone) Pokazana wyżej krzywa, przypisana do kanału sterującego klapami, zrealizuje zakładaną zależność między ruchem suwaka, a ruchem orczyka serwomechanizmu klapy. Żeby to sprawdzić, wystarczy prześledzić wartości na osi X (ruchy drążka) i odpowiadające im wartości na osi Y (wyjście krzywej / kanału / ustawienie orczyka serwomechanizmu). Warto dobrze zrozumieć, jak działają krzywe, gdyż wiele funkcjonalności można zrealizować wyłącznie używając krzywych, albo użycie krzywych jest prostsze niż używanie innych metod (zwykle kombinacje wag, przesunięć, odwróceń, etc.). ... ciąg dalszy już wkrótce Dołożyłem wszelkich starań, aby artykuł był profesjonalnie i rzetelnie przygotowany. Korzystasz jednak na własną odpowiedzialność. Artykuł umieszczony na forum 77Hobby – FrSky Premier Dealer i propagatora systemu OpenTX. Wszelkie prawa zastrzeżone. Kopiowanie lub rozpowszechnianie, w całości lub części, jest dozwolone wyłącznie za zgodą autora.
  3. Witam, mam problem ze zmianą firmware w Horus na OpenTx. Jeśli jest włączony to w kompie jest widoczny jako dysk, przy wyłączonym tak jak powinno się zrobić zmianę firmware za nic w świecie go nie widać w managerze. Companion pyta czy wgrać firmware do radia teraz, potwierdzam, wyskakuje okno sflashuj firmware, klikam zapisz do radia i wyskakuje jak na załączonym obrazku. Może ma ktoś Horusa w okolicach Pabianic czy Łodzi i mógłby mi pomóc, chętnie nawiążę też kontakt w innych sprawach technicznych bo widzę, że duuuużo się zmieniło.
  4. Witam Do mojego Horusa wgrałem OpenTX 2.2.1 Mam polskie komunikaty i polskie menu, lecz nie mam polskich znaków. Zamiast pl znaków, są różne znaczki (krzaczki). W czym mogłem popełnić błąd? Co powinienem zrobić, aby polskie znaki były wyświetlane poprawnie?
  5. Poniższa instrukcja zakłada, że odbiornik pracuje w trybie normalnym, nie w Quick mode (nazywany także simple lub convenient). Od jakiegoś czasu Quick mode jest domyślnym trybem, w jakim dostarczane są odbiorniki serii S. Zalecamy używanie trybu normalnego, gdyż jest znacznie bardziej przejrzysty (dedykowany kanał dla aktywacji self-check) i daje możliwość konfiguracji wszystkich opcji odbiornika serii S. W celu przestawienia odbiornika w tryb normalny, należy odznaczyć opcję Quick mode w oprogramowaniu konfiguracyjnym pod PC: lub przy pomocy skryptów LUA w przypadku konfigurowania odbiornika przez aparaturę RC (OpenTX). Po odznaczeniu opcji trzeba zapisać konfigurację odbiornika (przycisk "Write" w oprogramowaniu konfiguracyjnym PC). Odbiorniki S6R / S8R oferują funkcje stabilizacji lotu oraz wspomagania wykonywania niektórych figur akrobacyjnych. Przed lotem wymagają one jednak kalibracji, konfiguracji odbiornika, wykonania procedury self-check oraz odpowiedniej konfiguracji OpenTX w nadajniku. Konfigurację odbiorników serii S należy rozpocząć od pobrania najnowszej wersji firmware (ze stron FrSky) i uaktualnienia posiadanego odbiornika. Jest to szczególnie ważne w przypadku tych odbiorników, jako że są one obecne w sprzedaży od stosunkowo niedawna, a dodatkowo ich specyfika (funkcje stabilizacji) powodują, że FrSky wypuszcza nowe wersje firmware znacznie częściej niż dla innych odbiorników. Opis przeprowadzenia uaktualnienia firmware znajdziecie w niniejszych artykułach Warsztatu FrSky: http://77hobby.pl/uaktualnienie-firmware-urzadzen-smart-port-n-15.html http://77hobby.pl/uaktualnienie-firmware-urzadzen-smart-port-przez-opentx-21-n-20.html Możecie mieć też dylemat, czy użyć wersji firmware międzynarodowej, czy EU-LBT. Tutaj pomocny będzie ten artykuł: http://77hobby.pl/firmware-nadajnikow-i-odbiornikow-frsky-kompendium-n-21.html W Europie należy oczywiście używać firmware EU-LBT. Uaktualniony odbiornik jest gotowy do kalibracji, konfiguracji i wykonania procedury self-check. Opiszę to w innym poście / artykule Warsztatu FrSky, jako że tutaj skupiam się na konfiguracji OpenTX. Nie zapomnijcie jednak o kalibracji i self-check – bez tego nie wolno Wam wystartować modelu! Zgodnie z instrukcją obsługi, kanały 9, 10, 11 i 12 służą do sterowania funkcjami odbiornika. W OpenTX można ustawić je na wiele sposobów. Tutaj pokażę najprostszą konfigurację, w której wszystkie kombinacje funkcji będą dostępne. Ilość kanałów Przede wszystkim należy ustawić ilość kanałów, jaka będzie wysyłana z nadajnika do odbiornika. Domyślnie jest to 8 kanałów, co nie zapewni przekazywania kanałów 9-12. W konsekwencji niezależnie od tego, co ustawimy w mikserze kanałów, i tak nie będzie to wysyłane do odbiornika (bo będą wysyłane tylko kanały 1-8). Zmieniamy zatem ilość wysyłanych kanałów do dwunastu: Dla pewności dopiero teraz bindujemy odbiornik. Kanał 9 Służy do ustawienia czułości aplikowanej korekty (stabilizacji), oczywiście jeśli stabilizacja została aktywowana kanałami 10 i 11. Wartość kanału 0% odpowiada całkowitemu brakowi stabilizacji (czułość zero), a wartości +100% lub -100% wymuszają maksymalną czułość. W praktyce sensowne wartości czułości są od 10% do powiedzmy 90%. Taki zakres umożliwi testowanie praktycznie całego zakresu czułości i dobranie najbardziej odpowiedniej wartości dla danego modelu. Problemem pozostaje, że czułość minimalna jest w "środku" kanału, a maksymalne wartości osiągane są na obu skrajach kanału (+100% lub -100%). Znacznie fajniej byłoby mieć ustawienie minimalnej czułości (w naszym przypadku 10% czułości) przy wychyleniu -100% kanału, a maksymalnej czułości (90%) przy maksymalnej wartości kanału +100%. Dzięki temu moglibyśmy przyporządkować do kanału 9 jeden z potencjometrów i płynnie regulować zakres czułości 10-90% w pełnym zakresie obrotu potencjometru. (nic nie stoi na przeszkodzie, aby regulować zakres czułości do pełnych 100%, ale w tym przykładzie lepiej jest mi posłużyć się zakresem do 90% - aby odróżnić go od wartości +100% kanału) Do "zmapowania" pełnego zakresu obrotu potencjometru z zakresem 10-90% czułości posłuży nam krzywa: Wystarczy krzywa dwu-punktowa, standardowa liniowa, o nazwie "GN", gdzie wartości -100 kanału (oś X) odpowiada wartość 10 czułości (oś Y); natomiast wartości 100 kanału odpowiada wartość 90 czułości. W ten sposób mapujemy wartości kanału do pożądanych wartości czułości. Następnie przypisujemy potencjometr S1 do kanału nr 9: Zwróćcie uwagę na krzywą GN przypisaną w konfiguracji kanału (Curve Cstm GN). Sprawdzamy w monitorze kanałów OpenTX, czy wszystko działa jak powinno. Potencjometr S1 obrócony maksymalnie w lewo powinien wymuszać wartość kanału nr 9 na 10%, obrócony maksymalnie w prawo na 90%, a w trakcie obrotu przechodzić płynnie w zakresie 10-90%. (monitor kanałów uaktywnia się w dowolnym momencie konfiguracji modelu w OpenTX, przytrzymując przez chwilę przycisk MENU nadajnika) W tym przykładzie zwróćcie uwagę na wartość kanału 9 (nazwanego dla wygody S6GAIN) - wartość kanału wynosi 10%, podczas gdy potencjometr S1 obrócony był maksymalnie w lewo. Kanały 10 i 11 Kombinacja wartości ustawiona na tych kanałach aktywuje poszczególne tryby pracy odbiornika. Szczegóły znajdziecie w tabelce naszej polskiej instrukcji do odbiorników S6R / S8R. Na przykład kanał 10 ustawiony na +100% i jednocześnie kanał 11 ustawiony na 0% powodują aktywowanie trybu stabilizacji. Pamiętajcie, że czułość tej stabilizacji będzie ciągle regulowana wartością kanału nr 9. Nie zostawiajcie go zatem na 0% (co równe jest 0% czułości = brak stabilizacji). Podstawowa konfiguracja w OpenTX będzie zatem bardzo prosta. Przypiszemy kanały 10 i 11 bezpośrednio do dwóch przełączników trój-pozycyjnych, powiedźmy odpowiednio SB i SC: Szczegóły kanału 10: Szczegóły kanału 11: W takiej konfiguracji możemy łatwo wymuszać dowolne kombinacje kanałów 10 i 11, gdzie każdy z kanałów może przyjmować wartości -100%, 0% i +100% w zależności od położenia trój-pozycyjnych przełączników SB i SC. Znowu warto sprawdzić w monitorze kanałów, czy wszystko działa jak zakładaliśmy: Przełączniki w pozycjach: SB↓ SC– co odpowiada wartościom kanałów -100% i 0%, odpowiednio dla kanału 10 i 11. Potencjometr w środku, co ustawia wartość kanału 9 na 50%. W zasadzie jesteśmy gotowi do testowania odbiornika. Kanał 12 Do skonfigurowania pozostaje nam jednak kanał 12. Służy on do uaktywnienia procedury self-check. Kanału 12 można w nadajniku nie konfigurować wcale. Procedurę self-check należy aktywować wyłącznie na ziemi i można to zrobić przy pomocy przycisku F/S odbiornika. Tak też zalecamy to zrobić. Jednak gdyby konfiguracja kanału 12 była jednak potrzebna (np. odbiornik zamontowany w trudno dostępnym miejscu modelu) po prostu przypiszcie kanału 12 do jakiegoś trój-pozycyjnego przełącznika, podobnie jak dla kanałów 10 i 11. Pamiętajcie jednak, że trzykrotne "przejście" kanału przez wartość 0% (w nowszych firmware odbiornika) lub ustawienie go na wartość +100% lub -100% (dla starszych wersji firmware) spowoduje aktywowanie procedury self-check. Jeśli stanie się to w locie, stracicie kontrolę nad modelem! To tylko przykład podstawowej konfiguracji. W praktyce pewnie skonfigurujecie kanały 10 i 11 tylko dla trybów, których używacie. Może na jednym tylko przełączniku, wyzwalającym konkretne tryby pracy nadajnika (ustawiając naraz dwa kanały). Jak to w OpenTX – możliwości jest mnóstwo. Mam jednak nadzieję, że niniejszy opis przyda się Wam jako punkt startowy dla własnej konfiguracji, dostosowanej do konkretnego modelu. To wszystko w tym krótkim FAQ. Raz jeszcze powtórzę, żeby wgrać najnowszy firmware odbiornika, skalibrować go, skonfigurować i przeprowadzić procedurę self-check – koniecznie przed lotem . W FAQ używałem ekranów Taranisa X9D+ jako przykładu. Ekrany X9D dają niewielkie obrazki, a sam X9D jest najpopularniejszym radiem FrSky. W OpenTX dla Taranisa Q X7 albo Horusa ekrany będą nieco inne, ale ciągle bardzo podobne. Może lepiej jednak używać ekranów z OpenTX Companion? Dajcie znać co sądzicie. Jeśli macie jakieś pytania, piszcie poniżej.
  6. Moduły nadawcze i odbiorniki serii R9 to najnowsza linia produktów FrSky, zapewniająca link RC dalekiego zasięgu w paśmie 868MHz. Linia produktów R9 jest obecnie intensywnie rozwijana przez FrSky. W związku z tym szczególnie często pojawiają się uaktualnienia firmware, np. w najnowszych wersjach firmware EU-LBT pojawiła się obsługa 16-stu kanałów w trybach z telemetrią (wcześniej dostępne tylko w wersjach międzynarodowych FCC). stan aktualny 1. lipca 2018 Włączenie trybu telemetrycznego w pigułce: uaktualnić firmware modułu nadawczego i odbiornika serii R9 w aparaturze RC zainstalować OpenTX 2.2.2 albo FrOS 1.2.05/1.5.05 (lub nowsze) wyłączyć (OFF) wewnętrzny moduł nadawczy skonfigurować parametry pracy modułu nadawczego zbindować odbiornik wykrycie czujników telemetrycznych Poniżej znajduje się więcej informacji na temat poszczególnych kroków. Uaktualnienie firmware modułu nadawczego i odbiornika Pliki firmware dla produktów FrSky serii R9 dostępne są na stronie producenta, w zakładce Download danego produktu. Procedury uaktualniania firmware mamy szczegółowo opisane w artykułach naszego Warsztatu FrSky: Uaktualnienie firmware urządzeń Smart Port Uaktualnienie firmware urządzeń Smart Port przez OpenTX 2.1 UWAGA: W przypadku serii R9 szczególnie ważne jest, aby wgrywać firmware EU-LBT (868MHz). Częstotliwość 900MHz jest zarezerwowana dla telefonii komórkowej. Uaktualnienie wersji OpenTX do 2.2.2 lub nowszej Obecnie ze stron OpenTX można ściągnąć wersję 2.2.2RC2 (RC, czyli Release Candidate, jeszcze nie w wersji oficjalnie stabilnej). OpenTX Companion może standardowo nie proponować wgrania wersji Release Candidate. Aby taką wersję wgrać należy w opcjach ustawień aplikacji wybrać opcję Use releases and release candidates (testing): Alternatywnie można ściągnąć wersję OpenTX 2.2.2 przygotowaną przez FrSky – w zakładce Download dla danej aparatury RC (w przykładzie poniżej dla X9D+): W chwili pisania niniejszego FAQ nie ma to większego znaczenia, ale za jakiś czas najbardziej aktualne wersje OpenTX będą dostępne ze stron projektu i najlepiej stamtąd je pobierać. Procedury aktualizacji OpenTX opisujemy tutaj: Uaktualnienie OpenTX w Taranis Uaktualnienie OpenTX w trybie STM32 (metoda polecana; w przypadku używania plików OpenTX z FrSky wgrywa się plik .BIN) Konfiguracja modułu nadawczego w OpenTX dla FrOS analogicznie Konfigurację modułu nadawczego należy rozpocząć od wyłączenia wewnętrznego modułu nadawczego XJT aparatury RC (Internal RF Mode: OFF): Konfigurujemy moduł nadawczy serii R9: External RF Mode: R9M, LBT (EU) Channel Range: CH1-16 (lub wg potrzeb) S.Port Link: Enabled (przestawi się automatycznie po wyłączeniu wewnętrznego modułu nadawczego XJT) RF Power: 25mW 16ch / 25mW 8ch Bindowanie odbiornika Wykonujemy wg instrukcji opisanej tutaj, tak jak dla odbiornika serii X: Bindowanie odbiorników FrSky serii LR, X, XM, S, D oraz V W przypadku problemów z bindowaniem pomocny będzie ten post: Konfiguracja telemetrii W ostatnim kroku wykrywamy czujniki telemetryczne i ogólnie konfigurujemy telemetrię tak jak dla pozostałych odbiorników telemetrycznych FrSky. Szczegółowa instrukcja konfiguracji telemetrii w OpenTX 2.1 i nowszych dostępna jest tutaj: Telemetria OpenTX 2.1 Mam nadzieję, że powyższe informacje okazały się pomocne. Piszcie poniżej, gdyby pojawiły się jakieś pytania.
  7. Satelitarny system GPS stosuje Coordinated Universal Time (UTC), w terminologii wojskowej i awiacji znany także jako czas Zulu. https://pl.wikipedia.org/wiki/Uniwersalny_czas_koordynowany W UTC nie ma stref czasowych, na całym świecie obowiązuje ta sama godzina. Każdy odbiornik GPS – także czujnik FrSky GPS v2 – natywnie wskazuje godzinę wg. czasu UTC właśnie. Polska znajduje się w strefach czasowych: UTC+01:00 – czas środkowoeuropejski (CET), w okresie zimowym UTC+02:00 – czas środkowoeuropejski letni (CEST), w okresie letnim Aby w OpenTX lub FrOS była poprawnie podawana aktualna godzina w danej strefie czasowej, należy ustawić przesunięcie względem czasu UTC. Robi się to w konfiguracji radia (nie per model), np: przykład dla Taranisa X9D Plus z OpenTX 2.2.1 – w innych modelach nadajników i wersjach OpenTX będzie bardzo podobnie W podanym przykładzie (Time zone: 2) wskazane jest przesunięcie UTC+2, czyli czas środkowoeuropejski letni. Przesunięcie to nie jest automatycznie zmieniane z letniego na zimowe. Trzeba robić to ręcznie.
  8. OpenTX jest oprogramowaniem systemowym aparatur RC, umożliwiającym praktycznie nieograniczone możliwości konfigurowania modeli. Jest to otwarty projekt społecznościowy, co oznacza, że za OpenTX nie stoi żadna duża (ani nawet niewielka) firma. OpenTX jest pisany i rozwijany przez pasjonatów programistów-modelarzy z całego świata. Kody źródłowe programu są dostępne wszystkich, bez opłat... Artykuł dostępny tutaj: Czym jest OpenTX? Masz pytania lub komentarze? Zapraszamy do dyskusji :).
  9. Konfiguracja wariometru FrSky (vario) w OpenTX składa się z trzech kroków: Wykrycia czujników Przypisania wykrytego czujnika VSpd jako źródła wariometru Przypisania przełącznika uaktywniającego funkcję wariometru i/lub odczytywania wysokości podawanej przez wariometr Opcjonalnie można zmienić tony dźwięków wskazujących wznoszenie, opadanie, czy brak zmiany wysokości. W poniższym FAQ zakładam, że używany jest OpenTX 2.1 lub nowszy (wykrywane czujniki telemetryczne faktycznie podłączone do odbiornika, a nie zdefiniowane na stałe, jak było to w OpenTX 2.0 i starszych). Konfigurację przeprowadza się tak samo dla wariometru czujnika Smart Port, jak i dla wariometru wbudowanego np. w odbiornik G-RX8. KROK 1: Wykrycie czujników Przeprowadzamy zgodnie z artykułem Telemetria OpenTX 2.1. Powinny zostać wykryte dwa czujniki: VSpd oraz Alt: Po wykryciu obu czujników można zatrzymać funkcję wykrywania przez wybranie "Stop discovery". VSpd to czujnik reprezentujący prędkość wznoszenia lub opadania modelu, wyrażoną w m/s (jeśli wybrano metryczne jednostki miary). Alt to wskaźnik wysokości względem punktu, w którym nastąpiło włączenie wariometru, mierzony na podstawie pomiaru ciśnienia atmosferycznego. Ze względu na metodę pomiaru (pomiar ciśnienia atmosfery) zmiana tego wskaźnika w czasie jest normalnym zachowaniem wariometru – nie należy traktować wskazania wysokości wariometru jako dokładnego pomiaru. Dokładną i niezmienną w czasie wysokość w przestrzeni podaje czujnik GPS. KROK 2: Przypisanie czujnika VSpd jako źródła danych dla wariometru Na tym samym ekranie telemetrii, nieco poniżej, znajduje się opcja wskazująca, który czujnik ma być brany pod uwagę jako źródło danych dla wariometru. Należy wybrać VSpd: Zmiana wartości przypisanego czujnika będzie sygnalizowana dźwiękami o różnych tonach. Domyślnie są to wysokie tony przy zmianie dodatniej (wznoszenie), tony niskie przy zmianie ujemnej (opadanie). W przypadku braku zmiany można wybrać ton ciągły "Tone" lub brak dźwięków "Silent". KROK 3: Przypisania przełącznika uaktywniającego funkcję wariometru i/lub odczytywania wysokości podawanej przez wariometr W tym momencie wariometr jest już skonfigurowany, trzeba go jednak uaktywnić, aby zaczął wskazywać zmiany wysokości. Robi się to na ekranie funkcji specjalnych: W powyższym przykładzie w pozycji środkowej przełącznika SD funkcja wariometru jest aktywowana (powinny być słyszalne dźwięki, o tonach zmieniających się wraz ze zmianą wertykalnego położenia czujnika). Natomiast w pozycji dolnej przełącznika co 10 sekund odczytywana jest aktualna wysokość podawana przez wariometr. Opcjonalnie można zmienić parametry sygnałów dźwiękowych wariometru. Robi się to w menu konfiguracji radia (nie w menu modelu):
  10. Witam. Posiadam radio Taranis Plus i chciałem włączyć polskie menu. Jak to zrobić Mam OpenTx w wersji 2.1.9, a na komputerze mam zainstalowany program OpenTX Companion 2.1 i gdy kliknę na sprawdź aktualizacje, to pokazuje, że nie ma nowszej.
  11. Horus fabrycznie dostarczany jest z firmowym oprogramowaniem systemowym FrSky – FrOS. Nadajniki FrSky cenione są jednak – między innymi – za możliwość instalacji OpenTX, które to oprogramowanie daje praktycznie nieograniczone możliwości programowania modeli. Instalację OpenTX należy przeprowadzić zgodnie z procedurą opisaną w tym artykule naszego Warsztatu FrSky: https://77hobby.pl/uaktualnienie-opentx-w-trybie-stm32-n-14.html Należy ją wykonać praktycznie 1:1, po prostu podmieniając słowo "Taranis" na "Horus" . Taranis przechowuje konfigurację modeli w swojej wewnętrznej pamięci, więc teoretycznie nie ma konieczności używania karty SD. Nie będą co prawda działały komunikaty głosowe ani logowanie telemetrii, ale poza tym wszystko będzie w jak najlepszym porządku. Jednak Horus – pracując pod OpenTX – zapisuje wszystkie informacje (także konfigurację modeli) na zewnętrznej karcie SD. Dlatego po zamianie FrOS na OpenTX należy upewnić się, że w gnieździe znajduje się odpowiednio przygotowana karta SD. Ze stron projektu OpenTX należy ściągnąć zawartość karty SD, pasującą do właśnie zainstalowanej w Horusie wersji oprogramowania OpenTX. Obraz karty – jako skompresowane archiwum ZIP – dostępny jest w dziale Downloads stron projektu. W tym celu trzeba wejść w link odpowiadający konkretnej wersji (np. 2.2.0) i ściągnąć plik ZIP znajdujący się pod linkiem "SD card content for 2.2.0" (dla wersji OpenTX 2.2.0), w katalogu odpowiadającym modelowi posiadanej aparatury (np. dla Horusa X12S jest to plik sdcard-horus-2.2V0010.zip z katalogu /2.2/sdcard/opentx-x12s. UWAGA: Bardzo ważne jest, aby ściągnąć archiwum obrazu karty SD do konkretnej wersji OpenTX i na konkretny sprzęt. Kartę – praktycznie dowolnej wielkości – należy sformatować w systemie plików FAT32. Następnie należy rozpakować archiwum ZIP i skopiować je na kartę. Po tej operacji zawartość karty powinna wyglądać podobnie, jak w poniższym okienku: Tak przygotowaną kartę można włożyć to Horusa, odłączyć nadajnik od komputera, włączyć go i już od tej chwili można cieszyć się najnowszą wersją OpenTX na Horusie . W chwili pisania tego artykułu polskie pliki komunikatów dźwiękowych nie są jeszcze opublikowane na stronach OpenTX. Jak tylko się pojawią, będzie można je ściągnąć, rozpakować i skopiować do katalogu SOUNDS/pl (należy go założyć) karty SD. Nadajniki Horus X10 i X10S nie są wspierane przez OpenTX 2.2.0. Wsparcie tych nadajników rozpocznie się od wersji 2.2.1.
  12. Przełącznik 6-pozycyjny FrSky jest akcesoryjnym przełącznikiem, który można zamontować w radiach FrSky, w ramach "tuningu" aparatury. Jako, że przełącznik ma aż sześć możliwych położeń, idealnie nadaje się jako przełącznik trybów lotu, bardzo często stosowany z kontrolerami APM / Pixhawk i ich oprogramowaniem Mission Planner. Choć oczywiście nie tylko. https://77hobby.pl/frsky-przelacznik-6-pozycyjny-obrotowy-p-18.html Po zamontowaniu przełącznika w aparaturze, zwykle okazuje się, że przełączanie trybów nie działa prawidłowo – np. niektóre tryby są pomijane podczas ich przełączania. Wynika to z nieliniowej charakterystyki tego przełącznika (jest to cecha, nie wada). Nieliniowość charakterystyki polega na tym, że kolejnym położeniom przełącznika odpowiadają wartości, które nie są wprost proporcjonalne do odpowiadającym im pozycjom przełącznika. Gdyby przełącznik miał charakterystykę liniową, wartości na wyjściu przypisanego do niego kanału wyglądałyby tak: Tymczasem rzeczywista charakterystyka tego przełącznika wygląda w taki sposób: (oczywiście pomijając drobne różnice per konkretny egzemplarz) W rezultacie w pozycji 2. charakterystyki rzeczywistej mamy wartość zero kanału, co odpowiada pozycji 3 / 4 charakterystyki liniowej. Właśnie to powoduje nieprawidłowe działanie przełącznika np. w Mission Planner. Rozwiązaniem jest przypisanie do kanału krzywej, która skoryguje przełączane wartości tak, by były jak najbliższe charakterystyce liniowej: Po podłączeniu tej krzywej w mikserze OpenTX (do kanału, gdzie wejściem jest przełącznik 6-pozycyjny), podawane wartości kanału będą bardzo zbliżone do charakterystyki liniowej. Dzięki temu tryby w Mission Planner – lub w innym podobnym zastosowaniu – będą przełączały się poprawnie.
×
×
  • Create New...