Quadkopter és a BetaFlight

By , 2018. August 27 13:43

bf_logoSok víz folyt le a Dunána, azóta, hogy szünetelem a modellezést, de a világ nem áll meg. Rengeted fejlődött a modellezők világa, különös tekintettel az elektronikára. Új protokollok, szabványok, és Open Source projektek. Az utóbbiak közül, talán a legnépszerűbb (természetesen OpenTX után :)) a BetaFlight. Mivel hatalmas tudást és ezáltal bonyolultságot a beállításokban hoz magával, készítek egy kis jegyzetet. Lehet másnak is hasznára lesz.

Hogy mi ez egyáltalán? Lényegében egy Cleanflight nevű multikopteres firmware fejlesztését szorgalmazó szabad-forrású projekt tesztága, mely mára önálló, de az eredetivel szoros kapcsolatban fejlődő projekté alakult. Valószínűleg a rengeteg újítás tette annyira vonzóvá, hogy 2017 januárjától #1-nek minősítette a Google Trends. Mivel bonyolult a szerkezet, így a beállítása sem lenne egyszerű Configurator nélkül. Ha meg valaki követni szeretné a fejlesztés minden szösszenetét, látogasson el a GitHub-ra. És hát milyen is lenne az, ha egy repülőgépnek nem lenne fekete doboza? A rögzített adatok elemzésében segít a BlackBox Viewer. És akinek ez sem el elég, más projektek is léteznek, melyek egyes s más aspektusait részesítik előnyben a BF-képes, de ugyanazon vasra telepíthetőek. Ilyen az eredeti CleanFlight és a INAV.
Szamos vezérlő gyártó szintén beszállt a versenybe, és jobbnál jobb eszközöket készítenek, eltérő konfigurációban, hogy élvezni tudjuk a technológia adta lehetőségeket. MatekSys F405

Az én vasam egy MatekSys F4. vezérlő integrált barometrikus érzékelővel. Első lépésként letöltjük a BetaFlight Configurator utolsó verzióját (az én esetemben ez v10.4), telepítjük, rádugjuk az mikroUSB csatlakozóra a vezérlőt. Ha a vezérlő már be van építve, első dolgunk legyen a légcsavarok eltávolítása!

Első nehézségek már a Configurator telepítése után előjöhetnek, és sajnos, a leggyakrabban használt OS-nél, mert csak a Windows érintett a hibában, ugyanis az nem megfelelő meghajtó szoftvert tartalmazz az STM virtuális soros portjához. De sebaj, mert a szoftver első oldala minden olyan hivatkozást tartalmaz, melyek elirányítanak bennünket a megfelelő oldalakra (STM VCP driver, CP210x driver). Még mielőtt tovább megyünk a konfigurációhoz, szükségünk lesz meg egy kis probléma megoldására, ugyanis amikor frissíteni szeretnénk a Firmware-t megint meghajtószoftver problémába ütközünk. Ehhez kapcsoljuk BootLoader üzemmódba (BL). Ezt vagy gombnyomással (benyomott gomb mellett dugjuk rá az USB-re), vagy BL vagy DFU paranccsal tudjuk elért a CLI-be (Comman Line Interface). A művelet eredményességet az állapotjelző LED fog tanúskodni, pontosabban megszünteti pislogását. Az operációs rendszer új eszköz észlel, és nem megfelelő illesztőt telepít, ezt szükségeltetik kicserélni megfelelőre: ImpulseRC erre lett “kiképezve”. Ha valaki bővebb információt szeretne, elolvashatja a GitHub-on. Ezt követően már csak újra kell indítanunk az eszközt és csatlakozni hozza  Configurator-al, és a Firmware Flasher menüben megfelelő céleszköz meghatározása után feltölteni a  bf001 Betaflight CLIlegújabb firmware-t. Ilyenkor a Configurátor automatikusan átkapcsolja az eszközt BL módba. Ajánlott ilyenkor az egész chip memóriát törölni és az eszközt alapbeállításokkal indítani, ugyanis változhatnak változó nevek, és képletek a háttérben, ami eredeti konfiguráció másolásánál még problémát okozhat. Ha kételkedünk a vezérlőnk típusában, csatlakozzunk az eszközhöz, és a CLI-ben adjuk meg a version parancsot.System Configuration

Alapvető beállítások

Követretkező lépésben a minimális használható konfigurációt hozunk létre. A Configuratin>System configuration menüben állítsuk be a giroszkóp frissítési rátát és a PID ciklus sebességét. F4. generációjú mikrokontroller esetén Features(STM32F405) ez 8-8 kHz, F3 esetén 4-4 kHz. A lényeg, hogy figyeljük a processzor terhelését az Configurator állapotjelző tálcáján. A CPU Load értéke nem haladhatja meg az 50%-ot. Beállítjuk a rádióvevő egység kommunikációs protokollját (PWM, S.BUS etc.), és kiválasszuk a megfelelő funkciókat. A következőket tudom ajánlani alapnak: AIRMODE, OSD, ANTI_GRAVITY, DYNAMIC_FILTER. Ami még hátra van, az a motorszabályzók protokolljának a beállítása. Mai szabályzók már inkább a DSHOTXXX valamely verzióját használják, de akadnak régebbi kiadások is, ebben segít a szabályzónk specifikációja.ESC Features Ha nincs csipogónk a gépen, érdekesség lehet még a Dshot Beacon Configuration, mely a motor rezegtetésével állítja elő hangot. Összesen 3 opció áll rendelkezésünkre: hangerő, csipogjon-e ha elveszíti a rádiójelet, ill., kapcsolható-e távirányító gombjával/kapcsolójával (set beeper_dshot_beacon_tone = 3).

Következő feladat a rádióvevő egység működésének, a csatornakiosztásnak az ellenőrzése. ReceiverEzt a Receiver menüben tudjuk megtenni. Ugyanitt tudjuk követni a bemeneti jelek alakulását, és az oszlop-diagramok segítségével pontosan beállíthatjuk a potmétereink közép és végállásainak kimenet értékét (a finomhangolást a távirányítón végezzük).

ModesA Modes menüben tudjuk állítgatni a repülési módokat, vagyis egyes funkciók ki/be kapcsolását és vezércsatorna hozzárendelését. Távirányítónk programmixjeit használva elég összetett kombinációkat tudunk létrehozni mindössze 1 csatorna használatával, a lényeg, azonban, hogy ne bonyolítsuk túl, maradjon használható. Fontos tudni, hogy ha egy funkció aktiválva van a System Configuration menüben, de nem rendelünk hozza kapcsolót a Modes menüben, akkor az a funkció folyton aktív.

Failsafe stg. 1Amit ne hagyjunk ki, az a Failsafe megfelelő beállítását. A koncepció a következő: hagyjuk ezt a funkciót a repülésvezérlőre és teljesen kapcsoljuk ki a rádióvevőn. Ebben az esetben a vezérlő azonnal tudomást szerez a jelvesztességről, és a beállításainknak megfelelően vezérli a légi járművünket. Ráadásul 2 szint is beállítható: 1. szint – meghatározzuk, hogy mi az érvényes jel hossza, és ha a bemeneti jelszint nem felel meg, akkor az előző érvényes értéket használja, vagy egy előre megadottat. Mindkét megoldásnak vannak előnyei, hátrányai. Normális körülmények között ezt a szintet csak ideiglenes jelvesztesség Failsafe stg. 2kompenzálására használjuk, így meg lehet tartani az összes csatorna értékét. 2. szinten eldönthetjük, hogy a jelvesztesség kezdetétől mennyi ideig lehet a gépünk 1. szinten, és utána kapcsolja e teljesen a motorokat, vagy próbálja meg letenni finomabban. Egyik út sem tökéletes. (fél másodpercnél ne célszerű forgatni a légcsavarokat irányítás nélkül, a főlőt a jelvesztesség inkább állandónak, mintsem ideiglenesnek tekinthető)

Bár nem esszenciális, bekapcsolhatjuk a fekete-doboz funkciót is, ezt a Blackbox menüben tehetjük meg, állítsuk a mintavételezést 1.5kHz-re.

OSDOSD beállítását mindenki saját ízlése szerint intézze. Egy trükköt szerének megosztani csak: ha végeztünk a beállítással, menyünk a parancssor menübe (CLI) és pötyögjük be a diff parancsot, ezzel minden, alapértéktől eltérő beállítás megjelenik. Keressük meg és másoljuk ki a set osd_ elejű bejegyzéseket és másoljuk át valami biztonságos helyre.

PID Tuning a repülővezérlőnk természetét befolyásoló beállítások. Intenzív viták folynak arról, mi a tökéletes, ért hagyjuk egyenlőre alaphelyzetben. Az RC Rate és a Super Rates álításával a vezérlőn tudjuk megoldani az távirányítóban ismert EXPO beállításokat. Finomhangolással még ráérünk bajlódni, inkább menjünk repíteni egyet, de… .

Bár beállítottuk a Failsafe funkciót, teszteljük le légcsavarok nélkül, hozzárendelve egy csatornát, egy kapcsolót előbb az 1. utána a 2. szinthez. Biztonság mindenek felett!

Nos, akinek ez sem elég, érdemes megismerkedni a következő forrásokkal:

Tuning Tips for Betaflight 3.4

Plasmatree/PID-Analyzer

 

One Response to “Quadkopter és a BetaFlight”

  1. Gondozó says:

    Accelerometer callibration
    Turtle mode
    Setpoint Weight
    Setpoint Transition

    bl
    diff
    status
    version
    resource list

Leave a Reply

You must be logged in to post a comment.

Panorama Theme by Themocracy