Mini quadkopter építési, repülési, versenyzési tapasztalataim, tippek, tanácsok

Zsolesz FPV

Zsolesz FPV

BetaFlight - az új srác a placcon

2015. október 26. - ZsoleszFPV

Ugye mondtam, hogy néha követhetelen, ahogy ez a hobby/sport fejlődik? Ugye? :)

Április – májusban még lazán az OpenPilot szoftver választottam induláshoz, aztán egyértelművé vált, hogy a CleanFlight az irány. Most pedig már itt van a BetaFlight. De mi a fene ez? Egy új szoftver? Mire jó? Honnan lehet megszerezni? Na ezekre a kérdésekre igyekszem ebben a postban választ adni.

Csak a fejlődés állandó

Ahogy az egész multikopter világ, úgy a vezérlőszoftverek világa is egy dinamikusan fejlődő massza. És ahogy a multikopter világ kezd egyre jobban differenciálódni, az ipari felhaszhnálásoktól a légifotó/videón keresztül az egyre kisebb FPV versenygépekig, úgy a vezérlők és azok szoftverei is egyre jobban specializálódnak.

Az OpenPilotról azért jöttem le – azon kívül, hogy az egész projekt elég ramaty formában van – mert inkább a GPS alapú automata funkciókra mentek rá, mintsem az acro repülési teljesítményre.

A CleanFlight, amely ugye a BaseFlight egy mutációja, ami pedig eredetileg a Multiwii mutációja, egyértelműen az FPV repülési tulajdonságokat helyezi előtérbe, de a GPS és egyéb addicionális funkcionalitások megtartása mellett. Sőt, még megtartott valamit az örökségből is, ezért is van 6 féle PID vezérlési algoritmusa.

A robbanásszerűen fejlődő FPV közösségnek azonban ez sem volt elég. Ők folyamatosan a határokat feszegették. És akkor jött Boris B.

A BetaFlight születése

Boris B., aki az FPV multirotor közösség egy oszlopos tagja, úgy döntött, hogy a CleanFlight legfrissebb változatára alapozva létrehoz egy „homokozót”, vagy kísérleti platformot, amelynek célja elsődlegesen a repülési algoritmusok optimalizálása FPV repülésre. A második prioritás pedig, hogy a beállítást a lehető legjobban leegyszerűsítse és már olyan alapbeállításokat kódoljon a rendszerbe, amely a kopterek széles körében azonnal szuper repülési tulajdonságokat produkál. E nemes cél természetesen azonnal lelkes követőkre talált, akik boldogan jelentkeztek önkéntes tesztelőknek és valamikor 2015 nyarán létre is jött a BetaFlight. Fontos tehát, hogy nem egy teljesen új vezérlő-szoftverről van szó, hanem a CleanFlight egy speciális alváltozatáról

Technikai háttér

A BetaFlight tehát nem egy önálló vezérlő-szoftver. Mindig a legfrissebb CleanFlight build-et igyekszik használni és abba ülteti bele a módosított algoritmusokat. Boris B. gondolt mindazokra, akik az elmúlt 1-2 évben megvásárolták a töméntelen mennyiségű Naze32 és CC3D vezérlőt és a szoftver úgy igyekezett optimalizálni, hogy a régi F1 (gy.k. STM32F01 sorozatú processzor) vezérlőkből is a maximumot hozza ki.

Ennek érdekében például rögtön felturbózta az i2c busz órajelét, így például bekapcsolt accelerometer mellett is maximális sebességgel tud a gyroval kommunikálni a rendszer. Ennél talán fontosabb, hogy kidobta a szinte senki által nem használt PID 0, 3, 4, 5 algoritmusokat és csak az 1-es és 2-es algoritmust tartotta meg.

De az igazi forradalmi újítás a gyro frissítési ráta direkt szinkronizációja gyro ciklusokhoz. A CleanFlightban egy külön looptime paraméterrel lehetett beállítani a vezérlési ciklus idejét (ill. frekvenciáját). Ez alapból azt hiszem 2500us volt, de le lehetett vinni kb. 1200us-ig is. Ez viszont azt jelentette, hogy a vezérlési ciklus nem volt szinkronban a gyroscop 1KHz-es frissítési frekvenciájával, márpedig az egész számítás alapja az aktuális gyro érték.

A BetaFlight-ban a looptime fixen szinkronizálva van a gyro frekvenciájához, azaz looptime = 1000us és ez nem változtatható. Így amint a gyron keletkezik egy új mérési érték, azonnal indul az új PID hurok, ami így mindig a legfrissebb és mindig aktuális értékkel dolgozik.

6714334c-3c19-11e5-922c-1f70d46d29ac.png

Gyro-szinkronizált vezérlési hurok (Forrás: Boris B.)

Emellett Boris B. még optimalizált és fixált néhány szűrési paramétert és lényegében egyetlen dolgot hagyott meg, a dterm_cut_hz paramétert, amit szintén a legoptimálisabb 40-es értékre deafult-olt.

Az eredmény a Blackbox adatok alapján a PID értékek és a vezérlési jelek hihetetlen kisimulása és végeredményben nagyon szép, sima repülési élmény. Az alap PID értékek is jól sikerültek, szinten mindenki pozitív tapasztalatokról számolt be.

Megjegyzés: BLHeli ESC firmware esetén legalább BLHeli 14/14.1 kell. Emellett persze a KISS és SimonK ESC-kkel is fut a dolog.

Honnan lehet beszerezni?

 

FIGYELEM!!!

A BetaFlight, ahogy a neve is mondja, egy Béta, azaz kísérleti szoftver. A különböző verziók, frissítések iszonyatos ütemben (sokszor néhány nap, vagy akár óra alatt) jönnek ki hozzá. Semmilyen garancia nincs rá, hogy egy új módosítás nem hoz be valamilyen hibát, ami a kopterünk zuhanását, sérülését okozhatja. A BetaFlight lényegében nem dokumentált, illetve az „élő” dokumentáció ez az RCGROUPS szál, amelynek követése mindenki részére erősen ajánlott, aki a BetaFlightot fel szeretné telepíteni.

Szintén nem biztos, hogy a BetaFlight az ideális a GPS vagy egyéb „haladó” funkciót használó koptereknek. Ez a szoftver elsősorban az acro repülésre van optimalizálva. A terv szerint a letesztelt és bevált funkciók visszavezetésre kerülnek a CleanFlightba, tehát aki nyugisabb, annak érdemes inkább azt megvárni és továbbra is a CleanFlightnál maradni.

BetaFlight telepítése

Akit a fenti figyelmeztetés nem rettentett el, az először is szerezze be a CleanFlight Configurator 0.66-os fejlesztői változatát. Ennek letöltéséhez itt találtok utasítást, a lap alsó felén az "Alternative Way"-ben leírtak szerint.

Ezután a GitHub-on meg kell látogatni a BetaFlight tárházat. Itt a vezérlőnknek megfelelő linkre kell kattintani, majd balra felül a „Raw” gombot megnyomásával előjövő, a Mátrixra emlékeztető karakterhalmazt a böngésző „Save Page As...” gombjának megnyomásával elmenteni. Ha jól csináltuk, a kiterjesztése .hex lesz, de lehet, hogy a böngésző hozzátesz még egy „.txt”-t is, amit az intézőben kézzel törölni kell.

Ezek után a Configurator Firmware Flasher fülében a Load Firmware (Local) gomgra kattintva válasszuk ki a mentett .hex filet. Ha jól csináltuk alul a szürke csíkban a Loaded Local Firmware (xxxxxx bytes) felirat jelenik meg. (Ugye mostanra már mindenki csinált az aktuális CleanFlight konfigurációjáról egy biztonsági mentést a „dump” parancs segítségével!?!)

Nincs más hátra, mint USB-n csatlakoztatni a vezérlőt a géphez (a Configuratorhoz azonban ne csatlakozzunk, vagy ha Auto-Connectált, akkor egy gyors Disconnect), majd Flash Firmware. Újraindítás után már meg kell, hogy jelenjen a vezérlő. A CLI-ben a „version” parancsot begépelve kidobja a fimware verziót. A BetaFlightot nem is annyira verziózzák inkább csak az aktuális build dátumára hivatkoznak.

Nem érdemes egy az egyben betölteni a CleanFlight paramétereket, bár elviekben lehetséges (a BetaFlightban nem létező paramétereket a rendszer figyelmen kívül fogja hagyni). Én azt javaslom, hogy elsőre szánjuk rá azt a 10 percet, hogy az alapokat újra beállítsuk kézzel. Aztán pedig mindenkinek az alap PID-ek kipróbálását javaslom.

Források:

BetaFlight RCGroups Thread: http://www.rcgroups.com/forums/showthread.php?t=2464844

OscarLiang Blogbejegyzése a telepítésről: http://blog.oscarliang.net/betaflight-firmware-setup/

Jó kísérletezést!

A bejegyzés trackback címe:

https://zsoleszfpv.blog.hu/api/trackback/id/tr118024736

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása