webshop menü
Szösszenet #szervizkaland #szoftver #drón

Maguktól tönkremennek a DJI drónok…

Mielőtt bárki is azzal gyanúsítana, hogy a cím csak egy bulváros túlzás, megnyugtatásképpen közölni szeretném, hogy valós problémáról van szó. A Phantom 3 Advanced és Phantom 3 Professional drónok (elsősorban kamera moduljaik) hajlamosak működésképtelenné válni, ha sokáig állnak használatlanul. Furcsán hangzik, de így van, elmesélem, miért!

Phantom 3 kamera hiba

Sokan tapasztalják tavasszal a télen gondosan elcsomagolt Phantom 3 drónjukat elővéve, hogy bekapcsolást követően nem ad élőképet a drón kamerája. A DJI Go applikáció ugyan tud kapcsolódni a távirányítóhoz (néhány esetben még ez sem sikerül, erről később írok), és az alkalmazással még vezérelni is lehet a drónt, de a kamera képe már nem jelenik meg. A gimbal nem vezérelhető, és nem is kalibrálható, illetve képet sem tudunk készíteni vele a behelyezett microSD kártyára.

Az applikáció az állapotsorban azt írja ilyenkor, hogy „No image transmission signal” vagy „Weak image transmission signal”, netán „Gimbal disconnected”.

Érdemes megpróbálkozni egy firmware-frissítéssel, de a legtöbb esetben sajnos ez sem jár sikerrel. Amiatt, mert a kártyára másolt firmware-fájlt nem tudja beolvasni a vezérlőegység.

Mi okozza a hibajelenséget?

A fenti hibajelenséget a gimbalvezérlő egység NAND memóriamoduljában tárolt „operációs rendszer” sérülése okozza. Némelyek szerint az elégtelen hűtés, mások szerint a hibára hajlamos alkatrész miatt a memóriamodul egyes blokkjai olvashatatlanná válnak, és így a benne tárolt programkódok megsérülhetnek. Gyakori használattal a még elindulni tudó operációs rendszer kijavítja, áthelyezi ezeket a hibás blokkokat. Majd feljegyzi magának, hogy mely részekre nem tud írni – jóformán folyamatosan gyógyítja saját magát. Ha nagyon sok idő telik el két használat között, vagy hirtelen hősokk éri a memóriamodult, az nagyobb gond lehet. Akkor már olyan mértékben válhatnak olvashatatlanná blokkok, amik már a rendszer elindulását is megakadályozzák.

A rendszer feladatai

Mi is ez a rendszer? Ez a rendszer a gimbalvezérlő panelen található DaVinci DM36x processzoron fut, és elsősorban képfeldolgozási feladatokért felelős. Ez a rendszer végzi a kamera felől érkező képi adatfolyam feldolgozását és videofájllá vagy képfájllá alakítását. Ez a rendszer továbbítja az élőképet a rádiós ODFM modulnak, hogy az repülés közben lesugározza a földre a távirányítónak és a DJI Go alkalmazásnak. Ez a rendszer felel a microSD kártya kezeléséért, és a filmek, képek kártyára írásáért is. Illetve a kártyán lévő firmware-frissítések beolvasásáért.

Láthatjuk, hogyha ez az alrendszer nem indul el, akkor hiába működnek a drón további alkatrészei. Nem fogjuk tudni érdemben használni azt, és hiába próbálkozunk firmware-helyreállítással, mert nem működik a rendszer, aminek be kellene tudnia olvasnia a firmware-fájlt. Csiki-csuki helyzet alakult ki, de lehet segíteni a dolgon!

Érdekesség: A Phantom 3 Advanced és Phantom 3 Professional kamerája a burkolatuktól eltekintve egy és ugyanaz (egyikre 2,7K van írva, másikra 4K, de belül ugyanaz a hardver). A különbség a két drón között valójában a gimbalvezérlő panelre forrasztott adatfeldolgozó egységekben van csak. Akit érdekelnek a részletek, érdemes böngésznie a közösségi tudásbázist. Itt lelkes felhasználók gyűjtik folyamatosan az információt a DJI drónok lelkivilágáról, alkatrészeiről, javítási módszereikről.

A megoldás

A hibát nem könnyű elhárítani, eléggé komplex eszközkészlet szükséges hozzá. Lássuk is, hogyan javítunk meg egy ilyen hibával érkező drónt!

Teszt

Először is egy tesztelési folyamattal meggyőződünk arról, hogy a fentebb leírt hibajelenséggel állunk szemben, és nem más okozza a hibát. Például szakadt vezeték vagy kontakthibás csatlakozó. (Utóbbira egy Inspire drónban volt példa, ami a fentiekhez hasonló tüneteket produkált, ugyanakkor néha, mozgatás hatására varázslatosan megjavult. Onnantól kezdve csak meg kellett keresni a sérült vezetéket, és tökéletesen működött javítás után.)

Ha a hiba a vezérlőben van

Miután meggyőződtünk róla, hogy a hiba a vezérlőben van, ki kell szerelnünk a gimbal-egységből. Nem is kell mondanom, hogy ezt óvatosan kell elvégeznünk, hogy összeépítést követően minden hibátlanul működhessen.

A kiszerelt vezérlőpanelen meg kell keresnünk néhány tesztpontot: GND, 5V, 368_U0_RX, 368_U0_TX, BT01, BT00, 3v3. Egy USB-FTDI soros adapteren keresztül 5 V-tal meg kell táplálnunk a panelt, és a tápfeszültség ráadása után figyelni kell a soros kommunikáció naplóüzeneteit. Ehhez egy Terminál programra lesz szükségünk, amin 115200 Baud-os sebességet beállítva láthatjuk a processzor bootolási üzeneteit.

Nem tud elindulni a Phantom 3 Professional képfeldolgozó egysége, nem indul a DJI drón, Phantom 3 kamera hiba javítása

Nem tud elindulni a Phantom 3 Professional képfeldolgozó egysége

Illetve nem jutunk el a boot-olásig, mivel nem találja a Boot Image-t, amit el tudna indítani. Ezt követően a processzort át kell kapcsolnunk bootloader üzemmódba. Ezt egy oldható jumpervezetékkel tettem meg. Így elindítva a processzort a konzolban a BOOTME BOOTME BOOTME feliratok jelentek meg másodpercenként. Ebben az üzemmódban lehetett egy Windows-os PC és a Texas Instruments szoftvere segítségével feltölteni a NAND-ba a gyári Boot Image-et és az UBL-t, azaz az Universal Boot Loader-t.

Ezeket a fájlokat azonban előtte meg is kellett szerezni. Itt jön képbe ismét a hihetetlen tudásanyagot felhalmozó DJI hacker közösség. A DJI Firmware Tools csomag segítségével ki kellett bontani egy gyári Phantom 3 Pro firmware csomagot, amit a DJI oldaláról tudtam letölteni.

Flashelés

A modulokra bontott csomagból ki kellett keresni a gimbalvezérlő panel firmware-ét, ez a modul az m800-as névre hallgat. Ez a firmware titkosított, a híres Dji123456 jelszóval van kódolva, így dekódolása egyszerű. A firmware-t kibontva a dji/data mappában ki kell keresni az u-boot.img és a ubl1_297m_1.img fájlt. Több hasonló nevű fájl is van, a processzor órajele szerintit kell kiválasztani. Nekem a 297-es kellett, további infó a dji/etc/updatefinish fájlban. Ezeknek a fájloknak az elejéről valamiért le kell csapnunk egy pár bitet a „dd” paranccsal. A kapott fájlokkal már flashelhetjük is a vezérlőt. A flasheléskor elsőre BOOTME BOOTME hibaüzenetet kapunk, ezért másodszor is meg kell próbálnunk, akkor szokott sikerülni a flashelés.

Újratelepítés után már el tud indulni a rendszer, nem indul a drónom, Phantom 3 kamera hiba

Újratelepítés után már el tud indulni a rendszer

Ez így leírva egyszerűnek hangzik, de a valóságban hosszú időt vett igénybe, mire minden felmerülő köztes hibát elhárítottam, és rájöttem a parancsok működésére, valamint a kapott hibaüzenetek okaira. Ezernyi kis buktató nehezítette a sikeres flasheléshez vezető utat. Van olyan is, hogy nemcsak a bootolási partíció megy tönkre, olyankor még hosszabb folyamat a sikeres helyreállítás. Arról nem is beszélve, ha magát a NAND modult is cserélni kell és új alkatrészt kell felforrasztani a panelre.

Ha a távirányító sem kapcsolódik a telefonhoz

A GL300A típusú távirányítóban szintén egy DM36X típusú processzor végzi el a fogadott képi anyag dekódolását, és bizony előfordul, hogy a távirányítóban lévő USB panelre szerelt processzoron is el kell végezni a fenti műveleteket, némi különbséggel. Más tesztpontokra kell forrasztani a soros-adaptert, mások a flashelendő fájlok, külön kaland volt, mire megtaláltam az m1300-as modult, ami a távirányítót vezérli, mivel az csak régebbi firmware-csomagban volt elérhető, egy idő után már kihagyta a frissítésekből a DJI, és áttért a DJI Go alapú távirányító-frissítésre.

Mire érdemes még figyelni?

Amikor már ismét működik a rendszer, alaposan le kell tesztelni mindent, mielőtt véglegesen összeszereljük a drónt. A biztonság kedvéért frissíteni kell a drónt és a távirányítót is, és a létrehozott log fájlokat megvizsgálva meg kell győződnünk arról, hogy minden ismét hibátlanul üzemel.

Láthatjuk, hogy nem egyszerűen elhárítható problémáról van szó, ezért fontosnak tartom, hogy elmondjam tippjeimet, amivel meg tudjuk akadályozni a Phantom 3 kamera hiba ismételt előfordulását.

Először is ne hagyjuk, hogy túlmelegedjen a drónunk gimbalvezérlő elektronikája. Bekapcsolást követően minél előbb szálljunk fel a drónnal, mert a propellerek által keltett légörvény jótékony hűtést biztosít az elektronika számára.

Érdemes pár havonta legalább egyszer bekapcsolni a drónt! Így az időközben keletkezett pár hibás blokkot a rendszer felismeri és helyettesítheti. Minél több időt hagyjuk kikapcsolva a drónt, annál nagyobb az esélye, hogy a meghibásodott blokkok száma elér egy kritikus értéket. Ekkor a rendszer sajnos már nem tud elindulni.

Firmware-frissítéskor, vagy ha huzamosabb ideig asztalon állva használjuk (például szimulátorozás vagy fájlok másolása) a drónt, mindig állítsunk be alá egy ventilátort, ami a kellő hűtést biztosítani tudja számára.

Találkoztál már ilyen hibával?

Ha Te is találkoztál már ehhez hasonló hibával, írd meg kommentben, és beszélgessünk, hogyan sikerült megoldani! Ha nem bajlódnál a hibafeltárással és elhárítással, keress minket bátran, és segítünk!

Értesítsünk új cikkeinkről?

Ha tetszett a cikkünk, feliratkozhatsz értesítési listánkra.

Nem küldünk semmiféle reklámot, csak újonnan megjelent cikkeinkről értesítünk.

2 hozzászólás

    Vélemény, hozzászólás?

    Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük